@charset "UTF-8";
@font-face {
  font-family: "Quicksand";
  src: url("/lib/fonts/comfortaa/Comfortaa-Cyrillic-Ext.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0460-052F, U+1C80-1C8A, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: "Quicksand";
  src: url("/lib/fonts/comfortaa/Comfortaa-Cyrillic.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Quicksand";
  src: url("/lib/fonts/comfortaa/Comfortaa-Cyrillic-Ext.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0460-052F, U+1C80-1C8A, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: "Quicksand";
  src: url("/lib/fonts/comfortaa/Comfortaa-Cyrillic.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
.ft-maintenance {
  margin: 0;
  min-width: 0;
  color: #fff;
  background: #062f48;
  font: 400 17px/1.65 "Quicksand", "FT Text Fallback", Arial, sans-serif;
  -webkit-text-size-adjust: 100%;
}
.ft-maintenance, .ft-maintenance *, .ft-maintenance *::before, .ft-maintenance *::after {
  box-sizing: border-box;
}
.ft-maintenance a {
  font-family: inherit;
  text-decoration: none;
  cursor: pointer;
}
.ft-maintenance h1, .ft-maintenance p {
  margin: 0;
}
.ft-maintenance img {
  display: block;
  max-width: 100%;
}
.ft-maintenance__shell {
  display: grid;
  grid-template-rows: auto 1fr auto;
  width: min(100%, 1240px);
  min-height: 100vh;
  min-height: 100dvh;
  margin-inline: auto;
  padding: 32px 48px 24px;
}
.ft-maintenance__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px 32px;
}
.ft-maintenance__logo {
  width: auto;
  height: 136px;
}
.ft-maintenance__languages {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.ft-maintenance__languages a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 64px;
  min-height: 44px;
  padding: 8px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  transition: background-color 180ms ease, border-color 180ms ease;
}
.ft-maintenance__languages a:hover {
  background: #17394e;
}
.ft-maintenance__languages a[aria-current] {
  background: #0678b4;
  border-color: #0678b4;
}
.ft-maintenance__languages a:focus-visible {
  border-color: #fff078;
  outline: none;
}
.ft-maintenance__languages img {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  object-fit: cover;
}
.ft-maintenance__main {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: 48px;
  padding-block: 48px;
}
.ft-maintenance__copy {
  position: relative;
  z-index: 1;
  max-width: 660px;
  min-width: 0;
}
.ft-maintenance h1 {
  max-width: 18ch;
  font-size: clamp(34px, 4.4vw, 56px);
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: -0.025em;
  text-wrap: balance;
}
.ft-maintenance h1 span {
  color: #fff078;
}
.ft-maintenance__copy > p {
  max-width: 46ch;
  margin-top: 24px;
  color: #d7e8f4;
}
.ft-maintenance__photo {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 20px;
  background: #17394e;
}
.ft-maintenance__photo img {
  width: 100%;
  height: auto;
}
.ft-maintenance__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 32px;
  padding-block: 20px 4px;
  border-top: 1px solid #17394e;
  color: #d7e8f4;
  font-size: 13px;
  line-height: 1.6;
}
.ft-maintenance__footer p {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
}
.ft-maintenance__footer strong {
  color: #fff;
  font-weight: 700;
}
.ft-maintenance__skip {
  position: fixed;
  z-index: 2;
  top: 12px;
  left: 16px;
  padding: 10px 18px;
  border: 1px solid #fff078;
  border-radius: 999px;
  color: #062f48;
  background: #fff078;
  transform: translateY(calc(-100% - 20px));
}
.ft-maintenance__skip:focus {
  transform: none;
  outline: none;
  border-color: #0678b4;
}
.ft-maintenance__main:focus {
  outline: none;
}
@media (prefers-reduced-motion: reduce) {
  .ft-maintenance__languages a {
    transition: none;
  }
}
@media (max-width: 900px) {
  .ft-maintenance__shell {
    padding-inline: 32px;
  }
  .ft-maintenance__main {
    gap: 24px;
  }
}
@media (max-width: 640px) {
  .ft-maintenance__shell {
    padding: 20px;
  }
  .ft-maintenance__header {
    gap: 16px;
  }
  .ft-maintenance__logo {
    height: 112px;
  }
  .ft-maintenance__languages {
    gap: 2px;
  }
  .ft-maintenance__languages a {
    min-width: 44px;
  }
  .ft-maintenance__language-code {
    display: none;
  }
  .ft-maintenance__main {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
    padding-block: 40px 24px;
  }
  .ft-maintenance h1 {
    max-width: 19ch;
    font-size: 34px;
  }
  .ft-maintenance__copy > p {
    margin-top: 20px;
    font-size: 16px;
  }
  .ft-maintenance__footer {
    align-items: flex-start;
    gap: 6px;
  }
}

.ft-maintenance-preview {
  padding: 10px 24px;
  border-bottom: 1px solid #e5b665;
  color: #67420b;
  background: #fff1d7;
  font: 700 13px/1.6 "Quicksand", "FT Text Fallback", Arial, sans-serif;
}
.ft-maintenance-preview p {
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 640px) {
  .ft-maintenance-preview {
    padding-inline: 20px;
  }
}

.ft-site-root {
  --ft-section-title-size: 32px;
  --ft-subtitle-size: 22px;
}
@media (max-width: 600px) {
  .ft-site-root {
    --ft-section-title-size: 28px;
    --ft-subtitle-size: 20px;
  }
}
.ft-site-root {
  background: #fff;
}
.ft-site-root .soft-rose {
  background: #ffe0e6;
}
.ft-site-root .soft-lilac {
  background: #e9def3;
}
.ft-site-root .eyebrow {
  font-size: 14px;
  font-weight: 700;
  color: #526674;
  margin-bottom: 15px;
}
.ft-site-root .page-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 60px;
  align-items: center;
}
.ft-site-root .page-hero h1 {
  color: #062f48;
  font-size: clamp(38px, 3.75vw, 54px);
}
.ft-site-root .page-hero .lead {
  margin-top: 23px;
  font-size: 20px;
  line-height: 1.6;
  max-width: 580px;
}
.ft-site-root .page-hero .btn {
  margin-top: 27px;
}
.ft-site-root .page-hero .breadcrumb {
  color: #526674;
  flex-wrap: wrap;
}
.ft-site-root .page-hero .breadcrumb a {
  color: #062f48;
}
.ft-site-root .page-hero-image img {
  width: 100%;
  aspect-ratio: 1.4;
  object-fit: cover;
  border-radius: 22px;
}
.ft-site-root .page-hero-image figcaption {
  margin-top: 12px;
  font-size: 13px;
  color: #526674;
}
.ft-site-root .page-hero.narrow {
  display: block;
}
@media (min-width: 601px) {
  .ft-site-root .editorial-hero > .page-hero {
    align-items: end;
  }
}
@media (min-width: 701px) {
  .ft-site-root .event-hero > .page-hero {
    align-items: end;
  }
}
.ft-site-root .tour-hero .eyebrow {
  color: #c8ddea;
}
.ft-site-root .meeting-photo {
  margin-top: 22px;
}
.ft-site-root .meeting-photo img {
  width: 100%;
  border-radius: 12px;
}
.ft-site-root .meeting-photo figcaption {
  color: #526674;
  font-size: 13px;
  margin-top: 10px;
}
.ft-site-root .narrow {
  max-width: 760px;
}
.ft-site-root .narrow > p {
  margin-top: 17px;
}
.ft-site-root .narrow > .btn {
  margin-top: 25px;
}
.ft-site-root .prose p {
  margin-top: 16px;
}
.ft-site-root .prose h2 + p {
  margin-top: 20px;
}
.ft-site-root .prose h3, .ft-site-root .prose .heading-tertiary {
  margin-top: 32px;
}
.ft-site-root .prose ul, .ft-site-root .prose ol {
  padding-left: 24px;
}
.ft-site-root .prose li + li {
  margin-top: 8px;
}
.ft-site-root .contact-source-prose .heading-tertiary + p {
  margin-top: 16px;
}
.ft-site-root .content-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 60px;
  align-items: start;
}
.ft-site-root .content-split > div > h2 + p {
  margin-top: 20px;
}
.ft-site-root .feature-panel {
  padding: 32px;
  border-radius: 20px;
}
.ft-site-root .feature-panel p {
  margin-top: 15px;
  max-width: 800px;
}
.ft-site-root .feature-panel .btn, .ft-site-root .feature-panel .text-link {
  margin-top: 22px;
}
.ft-site-root .feature-panel h2 {
  font-size: 30px;
}
.ft-site-root .feature-panel .route-details div {
  grid-template-columns: minmax(135px, 0.9fr) minmax(0, 1.1fr);
}
.ft-site-root .availability-note {
  background: #fff;
  border: 1px solid #c7d6e0;
  border-radius: 14px;
  padding: 22px 25px;
  margin-bottom: 30px;
}
.ft-site-root .availability-note strong {
  color: #062f48;
}
.ft-site-root .availability-note p {
  margin-top: 8px;
  max-width: 790px;
}
.ft-site-root .availability-note .text-link {
  margin-top: 15px;
}
.ft-site-root .booking-step .availability-note {
  margin: 25px 0 0;
  background: #e9def3;
  border-color: #ae98be;
}
.ft-site-root .inline-note {
  color: #526674;
  font-size: 14px;
  margin-top: 17px;
}
.ft-site-root .event-products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}
.ft-site-root .event-product {
  overflow: hidden;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
}
.ft-site-root .event-product-image {
  aspect-ratio: 1.85;
  overflow: hidden;
}
.ft-site-root .event-product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ft-site-root .event-product-body {
  padding: 28px;
  display: flex;
  flex-direction: column;
  align-items: start;
  flex: 1;
}
.ft-site-root .event-product-body > p {
  margin-top: 13px;
}
.ft-site-root .event-product-body .btn {
  margin-top: 23px;
}
.ft-site-root .event-product-body .event-price {
  margin-top: 24px;
}
.ft-site-root .event-product-body .inline-note {
  margin-top: 15px;
}
.ft-site-root .event-price {
  color: #062f48;
  font-size: 32px;
  line-height: 1.15;
  font-weight: 700;
  margin-top: 23px;
}
.ft-site-root .event-price span {
  display: block;
  color: #526674;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 8px;
}
.ft-site-root .product-facts {
  margin: 0;
  padding: 28px;
  border-radius: 20px;
  background: #eaf3fa;
}
.ft-site-root .product-facts h2 {
  font-size: 28px;
}
.ft-site-root .product-facts div + div {
  margin-top: 24px;
}
.ft-site-root .product-facts dt {
  color: #062f48;
  font-weight: 700;
}
.ft-site-root .product-facts dd {
  margin: 8px 0 0;
}
.ft-site-root .product-facts .route-details div {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: start;
}
.ft-site-root .product-facts .route-details dt {
  min-width: 0;
}
.ft-site-root .product-facts .route-details dd {
  margin-top: 0;
  text-align: right;
  white-space: nowrap;
}
.ft-site-root .product-facts .route-details .product-title {
  display: block;
  line-height: 1.45;
}
.ft-site-root .comparison-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}
.ft-site-root .subnav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  padding-block: 25px;
  border-bottom: 1px solid #c7d6e0;
}
.ft-site-root .subnav a {
  padding: 9px 15px;
  font-size: 14px;
  font-weight: 700;
  border-radius: 30px;
  color: #062f48;
  text-decoration: none;
  background: #eaf3fa;
}
.ft-site-root .subnav a:hover, .ft-site-root .subnav a[aria-current] {
  color: #fff;
  background: #062f48;
}
.ft-site-root .editorial-intro {
  max-width: 760px;
}
.ft-site-root .editorial-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
}
.ft-site-root .editorial-card {
  display: flex;
  flex-direction: column;
  border-radius: 20px;
  background: #eaf3fa;
  overflow: hidden;
}
.ft-site-root .editorial-card-image {
  display: block;
  width: 100%;
  aspect-ratio: 1.8;
  overflow: hidden;
}
.ft-site-root .editorial-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ft-site-root .editorial-card-body {
  display: flex;
  flex-direction: column;
  align-items: start;
  flex: 1;
  padding: 28px;
}
.ft-site-root .editorial-card-body p {
  margin-top: 16px;
  margin-bottom: 24px;
}
.ft-site-root .editorial-card-body .text-link, .ft-site-root .editorial-card-body .btn {
  margin-top: auto;
}
.ft-site-root .article-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 70px;
  align-items: start;
}
.ft-site-root .article-body p {
  margin-top: 20px;
}
.ft-site-root .article-body h2 {
  margin-top: 32px;
}
.ft-site-root .article-body h2:first-child {
  margin-top: 0;
}
.ft-site-root .article-body img {
  margin-top: 26px;
  width: 100%;
  border-radius: 18px;
}
.ft-site-root .article-body .btn, .ft-site-root .article-body .text-link {
  margin-top: 24px;
}
.ft-site-root .article-body h3, .ft-site-root .article-body .heading-tertiary, .ft-site-root .article-body .heading-tertiary:first-child {
  margin-top: 30px;
}
.ft-site-root .article-body hr {
  border: 0;
  height: 1px;
  background: #c7d6e0;
  margin-block: 32px;
}
.ft-site-root .article-body figure {
  margin-block: 28px;
}
.ft-site-root .article-body figcaption {
  font-size: 13px;
  color: #526674;
  margin-top: 10px;
}
.ft-site-root .article-body li {
  margin-block: 9px;
}
.ft-site-root .article-body {
  min-width: 0;
  overflow-wrap: anywhere;
}
.ft-site-root .article-conversion .btn {
  max-width: 100%;
  white-space: normal;
}
.ft-site-root .article-conversion {
  border-radius: 20px;
  padding: 30px;
  margin-block: 30px 36px;
}
.ft-site-root .article-conversion h2 {
  font-size: 29px;
  margin-top: 0;
}
.ft-site-root .article-conversion .btn {
  margin-top: 22px;
}
.ft-site-root .editorial-gallery {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: start;
  gap: 8px;
  margin-top: 24px;
}
.ft-site-root .editorial-gallery > figure {
  grid-column: span 2;
  min-width: 0;
  margin: 0;
}
.ft-site-root .editorial-gallery--single > figure {
  grid-column: 1/-1;
}
.ft-site-root .editorial-gallery--tail-four > figure:where(:nth-last-child(-n+4)), .ft-site-root .editorial-gallery--tail-two > figure:where(:nth-last-child(-n+2)) {
  grid-column: span 3;
}
.ft-site-root .editorial-gallery a {
  display: block;
  overflow: hidden;
  border-radius: 12px;
  background: #eaf3fa;
}
.ft-site-root .editorial-gallery img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  border-radius: 0;
  aspect-ratio: 4/3;
  object-fit: cover;
}
.ft-site-root .editorial-gallery figcaption {
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.5;
}
.ft-site-root .archive-note {
  border-left: 3px solid #0678b4;
  padding: 15px 18px;
  background: #eaf3fa;
  font-size: 14px;
}
.ft-site-root .source-attractions {
  padding-bottom: 28px;
  border-bottom: 1px solid #c7d6e0;
  margin-top: 28px;
}
.ft-site-root .article-aside {
  position: sticky;
  top: 110px;
}
.ft-site-root .article-aside .feature-panel {
  padding: 25px;
}
.ft-site-root .article-aside h2, .ft-site-root .article-aside h3 {
  font-size: 24px;
}
.ft-site-root .article-aside .btn {
  width: 100%;
  padding-inline: 14px;
}
.ft-site-root .benefit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}
.ft-site-root .contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.4fr);
  gap: 48px;
  align-items: start;
}
.ft-site-root .contact-form {
  border: 1px solid #c7d6e0;
  border-radius: 20px;
  padding: 32px;
  background: #fff;
  min-width: 0;
}
.ft-site-root .contact-form .form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px 20px;
}
.ft-site-root .contact-form .contact-fields {
  margin-top: 24px;
}
.ft-site-root .contact-form .contact-field-wide {
  grid-column: 1/-1;
}
.ft-site-root .contact-form .btn {
  margin-top: 0;
}
.ft-site-root .contact-form .field-help {
  font-size: 14px;
}
.ft-site-root .contact-confirmation {
  padding: 18px 0;
}
.ft-site-root .contact-confirmation p {
  margin-top: 17px;
}
.ft-site-root .contact-confirmation:focus {
  outline: none;
}
.ft-site-root .secondary-links {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  font-size: 15px;
  font-weight: 700;
}
.ft-site-root .section-compact {
  padding-block: 32px;
}
.ft-site-root .event-gift-panel {
  margin-top: 24px;
  border: 1px solid #c7d6e0;
  border-radius: 12px;
  padding-inline: 17px;
}
.ft-site-root .event-gift-panel summary {
  font-weight: 700;
  padding-block: 16px;
  font-size: 15px;
  position: relative;
  padding-inline-end: 28px;
  list-style: none;
}
.ft-site-root .event-gift-panel summary::marker {
  content: "";
}
.ft-site-root .event-gift-panel summary::-webkit-details-marker {
  display: none;
}
.ft-site-root .event-gift-panel summary::after {
  content: "\e900";
  display: block;
  width: 12px;
  height: 12px;
  font: normal 12px/1 "icomoon";
  text-align: center;
  text-transform: none;
  letter-spacing: 0;
  position: absolute;
  inset-inline-end: 0;
  top: 50%;
  translate: 0 -50%;
  color: currentColor;
  pointer-events: none;
}
.ft-site-root .event-gift-panel[open] {
  padding-bottom: 17px;
}
.ft-site-root .language-picker {
  position: relative;
}
.ft-site-root .language-toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 0 4px;
  border: 0;
  color: #fff;
  background: transparent;
}
.ft-site-root .language-toggle img {
  width: 30px;
  height: 30px;
  object-fit: cover;
  border-radius: 50%;
  border: 1.5px solid #fff;
}
.ft-site-root .language-navigation {
  position: absolute;
  right: 0;
  top: 49px;
  width: 240px;
  padding: 10px;
  background: #fff;
  color: #062f48;
  border: 1px solid #c7d6e0;
  border-radius: 14px;
}
.ft-site-root .language-navigation button {
  display: flex;
  align-items: center;
  gap: 13px;
  width: 100%;
  padding: 10px 12px;
  min-height: 44px;
  border-radius: 8px;
  border: 0;
  background: #fff;
  text-align: left;
  font-size: 15px;
}
.ft-site-root .language-navigation img {
  object-fit: cover;
}
.ft-site-root .language-navigation button:hover, .ft-site-root .language-navigation button[aria-pressed=true] {
  background: #eaf3fa;
}
.ft-site-root .language-navigation button[aria-pressed=true]::after {
  content: "✓";
  margin-left: auto;
}
.ft-site-root .language-navigation .language-preview-note {
  font: 400 12px/1.5 Arial, sans-serif;
  color: #526674;
  margin: 12px;
}
.ft-site-root .site-header .language-navigation button:focus-visible {
  outline-color: #0678b4;
}
.ft-site-root .route-subtitle {
  display: block;
  font-size: 14px;
  line-height: 1.5;
  margin-top: 9px;
  color: #526674;
}
.ft-site-root .preview-page .experience-card-body .event-price {
  font-size: 28px;
  margin-top: 21px;
}
.ft-site-root .preview-page .experience-card-body .event-price span {
  font-size: 12px;
}
.ft-site-root .preview-page .experience-card-body .btn {
  padding: 12px 16px;
  align-self: stretch;
  margin-top: 20px;
}
.ft-site-root .section-heading-row {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: start;
}
.ft-site-root .section-heading-row .section-heading {
  max-width: 730px;
}
.ft-site-root .section-heading-row > .text-link {
  white-space: nowrap;
  margin-top: 12px;
  font-size: 15px;
}
.ft-site-root .event-products .btn-primary::after, .ft-site-root .experience-card .btn-primary::after {
  content: "\e900";
  display: block;
  width: 12px;
  height: 12px;
  font: normal 12px/1 "icomoon";
  text-align: center;
  text-transform: none;
  letter-spacing: 0;
  rotate: -90deg;
}
.ft-site-root .preview-state-links {
  font-size: 12px;
}
@media (max-width: 1100px) {
  .ft-site-root .page-hero, .ft-site-root .content-split, .ft-site-root .contact-layout {
    gap: 35px;
  }
  .ft-site-root .article-layout {
    gap: 35px;
    grid-template-columns: minmax(0, 1fr) 240px;
  }
}
@media (max-width: 900px) {
  .ft-site-root .article-layout {
    grid-template-columns: 1fr;
  }
  .ft-site-root .article-aside {
    position: static;
  }
  .ft-site-root .page-hero {
    gap: 30px;
  }
  .ft-site-root .page-hero .lead {
    font-size: 18px;
  }
  .ft-site-root .contact-layout {
    grid-template-columns: 1fr;
  }
  .ft-site-root .section-heading-row {
    display: block;
  }
  .ft-site-root .section-heading-row > .text-link {
    margin: -10px 0 27px;
  }
}
@media (max-width: 600px) {
  .ft-site-root .page-hero, .ft-site-root .content-split, .ft-site-root .event-products, .ft-site-root .comparison-grid, .ft-site-root .editorial-grid, .ft-site-root .benefit-grid {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .ft-site-root .page-hero h1 {
    font-size: 38px;
  }
  .ft-site-root .page-hero .lead {
    font-size: 17px;
    margin-top: 19px;
  }
  .ft-site-root .page-hero .btn {
    margin-top: 23px;
  }
  .ft-site-root .page-hero-image img {
    border-radius: 16px;
    aspect-ratio: 1.55;
  }
  .ft-site-root .editorial-gallery {
    gap: 6px;
  }
  .ft-site-root .editorial-gallery > figure {
    grid-column: span 3;
  }
  .ft-site-root .editorial-gallery > figure:last-child:nth-child(odd) {
    grid-column: 1/-1;
  }
  .ft-site-root .editorial-gallery a {
    border-radius: 10px;
  }
  .ft-site-root .feature-panel, .ft-site-root .product-facts {
    padding: 25px;
  }
  .ft-site-root .feature-panel .route-details div {
    grid-template-columns: 1fr;
    gap: 4px;
    margin-top: 16px;
  }
  .ft-site-root .event-product-body, .ft-site-root .editorial-card-body {
    padding: 24px;
  }
  .ft-site-root .event-price {
    font-size: 30px;
  }
  .ft-site-root .availability-note {
    padding: 21px;
  }
  .ft-site-root .subnav {
    gap: 8px;
    padding-block: 20px;
  }
  .ft-site-root .subnav a {
    font-size: 13px;
    padding: 8px 12px;
  }
  .ft-site-root .contact-form {
    padding: 25px 20px;
  }
  .ft-site-root .contact-form .form-grid {
    grid-template-columns: 1fr;
  }
  .ft-site-root .contact-form .btn {
    white-space: normal;
    width: 100%;
  }
  .ft-site-root .secondary-links {
    flex-direction: column;
    gap: 13px;
  }
  .ft-site-root .preview-page .experience-card-body .btn {
    white-space: normal;
    padding-inline: 11px;
  }
  .ft-site-root .preview-page .experience-card-body .event-price {
    font-size: 26px;
  }
}
@media (max-width: 360px) {
  .ft-site-root .page-hero h1 {
    font-size: 33px;
  }
  .ft-site-root .language-toggle {
    padding-inline: 0;
    gap: 5px;
  }
  .ft-site-root .language-toggle img {
    width: 28px;
    height: 28px;
  }
}
.ft-site-root .tour-presentation {
  align-items: center;
}
.ft-site-root .upcoming-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ft-site-root .upcoming-list li + li {
  border-top: 1px solid #c7d6e0;
}
.ft-site-root .upcoming-list a {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: space-between;
  padding: 18px 0;
  text-decoration: none;
}
.ft-site-root .upcoming-list strong {
  color: #062f48;
  white-space: nowrap;
  font-size: 14px;
}
.ft-site-root .upcoming-list a:hover strong {
  text-decoration: none;
}
.ft-site-root .compact-calendar {
  margin-top: 20px;
}
.ft-site-root .compact-calendar summary {
  font-weight: 700;
  padding-block: 14px;
  color: #062f48;
}
.ft-site-root .compact-calendar table {
  width: 100%;
  border-collapse: collapse;
  margin-block: 16px;
  table-layout: fixed;
}
.ft-site-root .compact-calendar caption {
  text-align: left;
  font-weight: 700;
  padding-bottom: 15px;
}
.ft-site-root .compact-calendar th {
  color: #526674;
  font-size: 13px;
  padding-bottom: 10px;
}
.ft-site-root .compact-calendar td {
  text-align: center;
  padding-block: 4px;
}
.ft-site-root .compact-calendar td span, .ft-site-root .compact-calendar td a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  font-size: 14px;
}
.ft-site-root .compact-calendar td a {
  color: #fff;
  background: #062f48;
  text-decoration: none;
  font-weight: 700;
}
.ft-site-root .icon-message::before {
  content: "\e60a";
}
.ft-site-root .icon-facebook::before {
  content: "\e931";
}
.ft-site-root .icon-instagram::before {
  content: "\e930";
}
.ft-site-root .icon-youtube::before {
  content: "\e92f";
}
.ft-site-root .newsletter-strip {
  padding-block: 56px;
  background: #eaf3fa;
}
.ft-site-root .preview-page:has(.legacy-booking) .newsletter-strip {
  background: #fff;
}
.ft-site-root .preview-page.preview-booking-confirmation > .newsletter-strip,
.ft-site-root .preview-page.preview-event > .newsletter-strip,
.ft-site-root .preview-page.preview-tour > .newsletter-strip {
  --band-surface: #fff;
  background: #fff;
}
.ft-site-root .newsletter-strip-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 45px;
}
.ft-site-root .newsletter-strip-inner h2 {
  font-size: var(--ft-section-title-size);
}
.ft-site-root .newsletter-strip-inner p {
  margin-top: 12px;
  max-width: 700px;
  font-size: 16px;
}
.ft-site-root .preview-page .newsletter-strip .newsletter-strip-inner > .btn-secondary:hover:not(:disabled):not([aria-disabled=true]), .ft-site-root .preview-page .newsletter-strip .newsletter-strip-inner > .btn-secondary:focus-visible:not(:disabled):not([aria-disabled=true]) {
  background: #062f48;
  border-color: #062f48;
  color: #fff;
}
.ft-site-root .social-links {
  --social-ink: #062f48;
  --social-border: #778d9b;
  --social-hover-ink: #fff;
  --social-hover-surface: #062f48;
  --social-focus: #0678b4;
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}
.ft-site-root .social-links .social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--social-border);
  border-radius: 50%;
  color: var(--social-ink);
  background: transparent;
  line-height: 1;
  text-decoration: none;
  transition: transform 0.2s ease, color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}
.ft-site-root .social-links .social-link:hover, .ft-site-root .social-links .social-link:focus-visible {
  color: var(--social-hover-ink);
  background: var(--social-hover-surface);
  border-color: var(--social-hover-surface);
  transform: translateY(-2px);
}
.ft-site-root .social-links .social-link:focus-visible {
  outline-color: var(--social-focus);
}
.ft-site-root .social-links .social-link:active {
  transform: translateY(0);
}
.ft-site-root .social-links .icon {
  display: block;
  font-size: 26px;
  line-height: 1;
}
.ft-site-root .site-header .social-links, .ft-site-root .site-footer .social-links {
  --social-ink: #fff;
  --social-hover-ink: #062f48;
  --social-hover-surface: #fff;
  --social-focus: #fff078;
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .social-links .social-link {
    transition: none;
  }
  .ft-site-root .social-links .social-link:hover, .ft-site-root .social-links .social-link:focus-visible, .ft-site-root .social-links .social-link:active {
    transform: none;
  }
}
.ft-site-root .news-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}
.ft-site-root .news-card {
  display: flex;
  flex-direction: column;
  border-radius: 20px;
  overflow: hidden;
  background: #eaf3fa;
}
.ft-site-root .news-card img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.ft-site-root .news-card .news-card-body {
  padding: 24px;
}
.ft-site-root .news-card h3 {
  font-size: 23px;
  margin-top: 12px;
}
.ft-site-root .news-card p {
  font-size: 15px;
  margin-top: 16px;
}
.ft-site-root .news-card .text-link {
  margin-top: 20px;
}
.ft-site-root .news-card .product-card-link:is(:hover, :focus-visible, :active) img {
  scale: none;
  transform: none;
}
.ft-site-root .news-date {
  color: #526674;
  font-size: 13px;
}
.ft-site-root .section-blue .breadcrumb {
  color: #526674;
}
.ft-site-root .section-blue .breadcrumb a {
  color: #062f48;
}
.ft-site-root .narrow > .lead {
  margin-top: 22px;
  font-size: 19px;
}
.ft-site-root .news-card-image {
  display: block;
  flex-shrink: 0;
}
.ft-site-root .article-body .photos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
  margin-top: 25px;
}
.ft-site-root .article-body .photos figure {
  margin: 0;
}
.ft-site-root .article-body .photos img {
  margin: 0;
  aspect-ratio: 1.4;
  object-fit: cover;
}
.ft-site-root .source-hotel img, .ft-site-root .source-attractions img {
  margin-top: 20px;
}
@media (max-width: 1100px) {
  .ft-site-root .news-grid {
    gap: 18px;
  }
}
@media (max-width: 900px) {
  .ft-site-root .newsletter-strip-inner {
    display: block;
  }
  .ft-site-root .newsletter-strip-inner .btn {
    margin-top: 22px;
  }
  .ft-site-root .news-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .ft-site-root #newsletter-confirmation-title {
    overflow-wrap: anywhere;
    -webkit-hyphens: auto;
    hyphens: auto;
  }
  .ft-site-root .upcoming-list a {
    display: block;
    padding-block: 15px;
  }
  .ft-site-root .upcoming-list a strong {
    display: block;
    margin-top: 6px;
  }
  .ft-site-root .compact-calendar td a, .ft-site-root .compact-calendar td span {
    width: 34px;
    height: 34px;
  }
  .ft-site-root .news-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .ft-site-root .newsletter-strip {
    padding-block: 48px;
  }
}
@media (max-width: 360px) {
  .ft-site-root .preview-page .icon-freddie-tours {
    font-size: 35px;
  }
}
.ft-site-root .product-name, .ft-site-root .price .product-name {
  display: inline-block;
  white-space: nowrap;
  vertical-align: top;
}
.ft-site-root .product-card-link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  font-family: inherit;
  text-decoration: none;
  border-radius: inherit;
}
.ft-site-root .product-card-link:focus-visible {
  outline: 2px solid #0678b4;
  outline-offset: -3px;
}
.ft-site-root .hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 22px;
  margin-top: 28px;
}
.ft-site-root .preview-page .hero-actions .btn, .ft-site-root .preview-page .hero-actions .text-link {
  margin: 0;
}
.ft-site-root .prose > .btn {
  margin-top: 24px;
}
.ft-site-root .preview-page .experience-card-body h3 {
  font-size: 22px;
}
.ft-site-root .product-badge, .ft-site-root .price .product-badge {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  min-height: 18px;
  padding: 4px 6px;
  margin: 2px 0 0 4px;
  border-radius: 4px;
  background: #0678b4;
  color: #fff;
  font: 700 10px/1 "Quicksand", Arial, sans-serif;
  letter-spacing: 0.025em;
  vertical-align: top;
  white-space: nowrap;
}
.ft-site-root .product-badge[data-variant=PLUS i], .ft-site-root .price .product-badge[data-variant=PLUS i] {
  background: #367564;
}
.ft-site-root .product-badge[data-variant=VIP i], .ft-site-root .price .product-badge[data-variant=VIP i] {
  background: #8a6525;
}
.ft-site-root .btn .product-badge {
  align-self: flex-start;
  margin-top: 0;
}
.ft-site-root .page-hero h1 .product-badge {
  margin-top: 7px;
}
.ft-site-root .experience-card .product-card-link, .ft-site-root .group-card .product-card-link {
  font-weight: 400;
}
.ft-site-root .experience-card .card-description {
  margin-top: 12px;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
  text-wrap: pretty;
}
.ft-site-root .experience-card .card-description strong, .ft-site-root .experience-card .card-description b {
  font-weight: inherit;
}
.ft-site-root .card-action {
  margin-top: auto;
  padding-top: 22px;
}
.ft-site-root .experience-card .card-action .event-price, .ft-site-root .event-product .card-action .event-price {
  margin-top: 0;
}
.ft-site-root .experience-card .event-price > span {
  display: block;
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 1.5;
}
.ft-site-root .card-action .btn {
  margin-top: 20px;
}
.ft-site-root .experience-card .card-action .btn {
  max-width: 100%;
  white-space: normal;
}
.ft-site-root .experience-card-image {
  aspect-ratio: 1.45;
  overflow: hidden;
}
.ft-site-root .experience-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ft-site-root .experience-card .product-card-link, .ft-site-root .event-product .product-card-link {
  flex: 1;
}
.ft-site-root .experience-card .experience-card-body, .ft-site-root .event-product .event-product-body {
  flex: 1;
}
.ft-site-root .experience-card h3 .product-badge, .ft-site-root .event-product h3 .product-badge {
  margin-left: 4px;
}
.ft-site-root .event-gift-note {
  font-size: 15px;
  color: #526674;
  margin-top: 25px;
}
.ft-site-root .experience-card.experience-card--afternoon {
  background: #ffe0e6;
}
.ft-site-root .experience-card.experience-card--evening {
  background: #e9def3;
}
.ft-site-root .experience-card.experience-card--plus {
  background: #ddefe9;
}
.ft-site-root .experience-card.experience-card--vip {
  background: #fff0ce;
}
.ft-site-root .home-events {
  background: #f7f2fb;
}
.ft-site-root .home-discovery {
  background: #eaf3fa;
}
.ft-site-root .home-discovery .discovery-grid {
  padding: 0;
  border-radius: 0;
  background: transparent;
}
.ft-site-root .group-card-body {
  min-width: 0;
  padding: 24px;
  border: 1px solid #c7d6e0;
  border-radius: 0 0 18px 18px;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: start;
}
.ft-site-root .group-card-body p {
  margin-bottom: 24px;
}
.ft-site-root .group-card-body .btn {
  white-space: normal;
  max-width: 100%;
  margin-top: auto;
  text-align: center;
}
.ft-site-root .riviera-steps {
  list-style: none;
  padding: 0;
  margin: 0;
}
.ft-site-root .riviera-steps li + li {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #c7d6e0;
}
.ft-site-root .riviera-steps h3 {
  font-size: 20px;
}
.ft-site-root .riviera-steps p {
  margin-top: 9px;
}
.ft-site-root .riviera-card-rate {
  font-size: 14px;
}
@media (hover: hover) and (pointer: fine) {
  .ft-site-root .product-card-link:hover .btn-primary::after {
    translate: 3px 0;
  }
  .ft-site-root .product-card-link:hover img {
    scale: 1.035;
  }
  .ft-site-root .product-card-link:hover .btn-primary {
    translate: 0 -2px;
  }
}
.ft-site-root .product-card-link:focus-visible .btn-primary {
  translate: 0 -2px;
}
@media (max-width: 600px) {
  .ft-site-root .experience-card .product-card-link {
    display: flex;
    flex-direction: column;
  }
  .ft-site-root .experience-card-image {
    height: auto;
    aspect-ratio: 3/2;
  }
  .ft-site-root .experience-card .experience-card-body {
    min-width: 0;
  }
  .ft-site-root .preview-page .experience-card .experience-card-body h3 {
    font-size: 18px;
  }
  .ft-site-root .experience-card .card-action {
    padding-top: 18px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .product-card-link:hover img {
    scale: none;
  }
  .ft-site-root .product-card-link:hover .btn, .ft-site-root .product-card-link:focus-visible .btn {
    translate: none;
  }
}
@media (max-width: 360px) {
  .ft-site-root .preview-page .hero-art {
    right: -20px;
  }
  .ft-site-root .preview-page .hero-art img {
    height: 310px;
  }
  .ft-site-root .experience-card .experience-card-body {
    padding: 20px;
  }
  .ft-site-root .preview-page .experience-card .experience-card-body h3 {
    font-size: 20px;
  }
}
.ft-site-root .news-card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.ft-site-root .news-card-body p {
  margin-bottom: 22px;
}
.ft-site-root .news-card-body .btn {
  margin-top: auto;
  align-self: start;
}
.ft-site-root .event-detail-list {
  margin-top: 32px;
}
.ft-site-root .gift-style-labels {
  font-size: 14px;
  font-weight: 700;
  color: #062f48;
}
@media (max-width: 600px) {
  .ft-site-root .experience-card[data-product=afternoon] img {
    object-position: 35% center;
  }
  .ft-site-root .experience-card[data-product=evening] img {
    object-position: 72% center;
  }
  .ft-site-root .experience-card[data-product=evening-plus] img {
    object-position: 35% center;
  }
}
.ft-site-root .preview-page {
  --cta-bg: #062f48;
  --cta-ink: #fff;
  --cta-hover: #0b496c;
  --secondary-ink: #062f48;
  --secondary-hover: #eaf3fa;
  --link-color: #062f48;
}
.ft-site-root .home-hero, .ft-site-root .tour-hero, .ft-site-root .site-header, .ft-site-root .site-footer {
  --cta-bg: #fff078;
  --cta-ink: #062f48;
  --cta-hover: #ffeb4c;
}
.ft-site-root .home-hero, .ft-site-root .tour-hero, .ft-site-root .site-header, .ft-site-root .site-footer {
  --secondary-ink: #fff078;
  --secondary-hover: rgb(255 240 120 / 10%);
  --link-color: #fff;
}
.ft-site-root .tour-card, .ft-site-root .booking-form, .ft-site-root .news-card, .ft-site-root .experience-card, .ft-site-root .event-product, .ft-site-root .media-dialog, .ft-site-root .feature-panel, .ft-site-root .availability-note, .ft-site-root .route-option, .ft-site-root .mrc-banner, .ft-site-root .newsletter-strip, .ft-site-root .tour-voice-card {
  --cta-bg: #062f48;
  --cta-ink: #fff;
  --cta-hover: #0b496c;
  --secondary-ink: #062f48;
  --secondary-hover: #eaf3fa;
  --link-color: #062f48;
}
.ft-site-root .preview-page .btn-primary {
  background: var(--cta-bg);
  border-color: var(--cta-bg);
  color: var(--cta-ink);
}
.ft-site-root .preview-page .btn-primary:hover:not(:disabled):not([aria-disabled=true]), .ft-site-root .product-card-link:hover .btn-primary, .ft-site-root .product-card-link:focus-visible .btn-primary {
  background: var(--cta-hover);
  border-color: var(--cta-hover);
}
.ft-site-root .preview-page .btn-secondary {
  min-height: 44px;
  max-width: 100%;
  padding: 10px 18px;
  border-color: var(--secondary-ink);
  color: var(--secondary-ink);
  background: transparent;
  font-size: 14px;
  white-space: normal;
  text-align: center;
}
.ft-site-root .preview-page .btn-secondary:not(.tour-card-map):hover:not(:disabled):not([aria-disabled=true]) {
  background: var(--secondary-hover);
  border-color: currentColor;
  color: var(--secondary-ink);
}
.ft-site-root .preview-page a {
  text-decoration: none;
}
.ft-site-root .prose a:not(.btn), .ft-site-root .faq-list a:not(.btn), .ft-site-root .archive-note a, .ft-site-root .discovery-links a {
  font-family: inherit;
  font-weight: 700;
  color: var(--link-color);
}
.ft-site-root .preview-page p a:not(.btn) {
  font-family: inherit;
  font-weight: 700;
  color: var(--link-color);
}
.ft-site-root .prose a:not(.btn), .ft-site-root .faq-list a:not(.btn), .ft-site-root .preview-page p a:not(.btn), .ft-site-root .text-link:not(.btn) {
  transition: color 180ms ease-out;
}
.ft-site-root .prose a:not(.btn):hover, .ft-site-root .faq-list a:not(.btn):hover, .ft-site-root .preview-page p a:not(.btn):hover, .ft-site-root .text-link:not(.btn):hover {
  color: var(--link-color, #062f48);
  background: transparent;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.ft-site-root .desktop-nav > a[aria-current], .ft-site-root .desktop-nav > a:hover {
  color: #fff078;
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .prose a:not(.btn), .ft-site-root .faq-list a:not(.btn), .ft-site-root .preview-page p a:not(.btn), .ft-site-root .text-link:not(.btn) {
    transition: none;
  }
}
.ft-site-root .tour-concept-layout {
  --tour-panel-padding-inline: 32px;
  --tour-panel-padding-block: 32px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px;
  align-items: start;
}
.ft-site-root .tour-concept-layout .tour-source-column {
  min-width: 0;
  padding-top: calc(var(--tour-panel-padding-block) + 1px);
}
.ft-site-root .tour-concept-layout .tour-source-content {
  min-width: 0;
}
.ft-site-root .tour-concept-layout .tour-source-content h2 {
  margin-bottom: 24px;
}
.ft-site-root .tour-concept-layout .tour-source-content .tour-source-booking {
  margin-top: 28px;
  margin-bottom: 0;
}
.ft-site-root .tour-concept-layout .tour-concept-equipment {
  display: flex;
  min-width: 0;
}
.ft-site-root .tour-concept-layout .tour-equipment {
  --tour-equipment-padding-inline: var(--tour-panel-padding-inline);
  --tour-equipment-padding-block: var(--tour-panel-padding-block);
}
.ft-site-root .tour-concept-layout .tour-equipment-content p {
  font-size: 16px;
}
.ft-site-root .tour-source-content > h2:first-child {
  font-size: var(--ft-section-title-size);
  text-wrap: balance;
}
.ft-site-root .tour-source-content ul {
  margin-inline-start: 0;
  padding-inline-start: 16px;
}
.ft-site-root .tour-source-content ul li {
  padding-inline-start: 2px;
}
.ft-site-root .tour-source-content .tour-facts > li > p:only-child {
  display: inline;
  margin: 0;
}
.ft-site-root .tour-meeting-heading {
  margin-top: 64px;
}
.ft-site-root .meeting-points {
  gap: 32px;
}
.ft-site-root .tour-voices-heading h2 {
  margin-bottom: 32px;
}
.ft-site-root .tour-voices-heading .prose {
  max-width: 800px;
}
.ft-site-root .tour-voice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.ft-site-root .tour-voice-card {
  min-width: 0;
  margin: 0;
  background: #fff;
  overflow: hidden;
  border: 1px solid #c7d6e0;
  border-radius: 16px;
}
.ft-site-root .tour-voice-card > [data-photo-lightbox="0"] {
  display: block;
  height: 100%;
  color: #062f48;
  border-radius: 15px;
  cursor: default;
}
.ft-site-root .tour-voice-card > a {
  display: block;
  height: 100%;
  color: #062f48;
  border-radius: 15px;
  cursor: zoom-in;
}
.ft-site-root .tour-voice-card > a:hover {
  background: #d7e8f4;
}
.ft-site-root .tour-voice-card > a:focus-visible {
  outline: 2px solid #0678b4;
  outline-offset: -3px;
}
.ft-site-root .tour-voice-portrait img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1.5;
  object-fit: cover;
}
.ft-site-root .tour-voice-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 16px;
  padding: 20px;
}
.ft-site-root .tour-voice-meta h3 {
  margin: 0;
  color: #062f48;
  font-size: 17px;
  line-height: 1.5;
}
.ft-site-root .tour-voice-meta > span {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #526674;
}
.ft-site-root .tour-voice-meta img {
  display: block;
  width: 23px;
  height: 23px;
  object-fit: cover;
  border-radius: 50%;
}
.ft-site-root .tour-charity-note, .ft-site-root .tour-peter-note {
  margin-top: 30px;
}
.ft-site-root .trustindex-reviews {
  --review-panel-padding: 24px;
  position: relative;
  isolation: isolate;
  padding: var(--review-panel-padding) var(--review-panel-padding) 0;
  border-radius: 20px;
  background: transparent;
}
.ft-site-root .trustindex-reviews::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 0 72px;
  border-radius: inherit;
  background: #eaf3fa;
  pointer-events: none;
}
.ft-site-root .trustindex-reviews[data-review-src] {
  min-height: 166px;
}
.ft-site-root .trustindex-reviews[data-review-state=deferred]::before,
.ft-site-root .trustindex-reviews[data-review-state=failed]::before {
  inset: 0;
}
.ft-site-root .review-fallback {
  padding-bottom: var(--review-panel-padding);
}
.ft-site-root .review-fallback p {
  margin: 0 0 16px;
  color: #17394e;
}
.ft-site-root .review-fallback[hidden] {
  display: none;
}
.ft-site-root .review-fallback__links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
@media (max-width: 600px) {
  .ft-site-root .trustindex-reviews[data-review-src] {
    min-height: 181px;
  }
}
.ft-site-root .gift-design {
  margin-top: 24px;
}
.ft-site-root .gift-design-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 13px;
}
.ft-site-root .gift-design-card {
  position: relative;
  cursor: pointer;
}
.ft-site-root .gift-design-card input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}
.ft-site-root .gift-design-card > span {
  display: block;
  padding: 7px;
  border: 1px solid #c7d6e0;
  border-radius: 12px;
  background: #fff;
}
.ft-site-root .gift-design-card img {
  width: 100%;
  aspect-ratio: 0.707;
  object-fit: cover;
  border-radius: 6px;
}
.ft-site-root .gift-design-card strong {
  display: block;
  margin-top: 8px;
  text-align: center;
  font-size: 13px;
}
.ft-site-root .gift-design-card input:checked + span {
  border-color: #062f48;
  background: #eaf3fa;
}
.ft-site-root .gift-design-card input:focus-visible + span {
  border-color: #0678b4;
}
.ft-site-root .booking-summary.is-gift > img, .ft-site-root .booking-summary.is-gift > picture.ft-responsive-photo > img {
  aspect-ratio: 0.9;
  max-height: 310px;
  object-fit: contain;
  background: #f5f7f8;
  padding: 15px;
}
@media (max-width: 1000px) {
  .ft-site-root .tour-concept-layout {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .ft-site-root .tour-concept-layout .tour-source-column {
    padding-top: 0;
  }
  .ft-site-root .tour-concept-layout .tour-concept-equipment {
    max-width: 650px;
    width: 100%;
    margin-inline: auto;
  }
}
@media (max-width: 600px) {
  .ft-site-root .trustindex-reviews {
    --review-panel-padding: 16px;
  }
  .ft-site-root .tour-meeting-heading {
    margin-top: 44px;
  }
  .ft-site-root .meeting-points {
    gap: 28px;
  }
}
@media (max-width: 600px) {
  .ft-site-root .tour-voice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
  .ft-site-root .tour-voice-meta {
    display: block;
    padding: 15px;
  }
  .ft-site-root .tour-voice-meta h3 {
    min-height: 48px;
    font-size: 16px;
  }
  .ft-site-root .tour-voice-meta > span {
    margin-top: 12px;
    font-size: 14px;
  }
  .ft-site-root .tour-concept-layout {
    --tour-panel-padding-inline: 20px;
    --tour-panel-padding-block: 24px;
    gap: 32px;
  }
  .ft-site-root .gift-design-grid {
    gap: 8px;
  }
  .ft-site-root .gift-design-card > span {
    padding: 5px;
  }
  .ft-site-root .gift-design-card strong {
    font-size: 11px;
  }
}
.ft-site-root .tour-equipment {
  --tour-equipment-padding-inline: var(--tour-equipment-padding, 28px);
  --tour-equipment-padding-block: var(--tour-equipment-padding, 28px);
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: var(--tour-equipment-padding-block) var(--tour-equipment-padding-inline);
  overflow: hidden;
  border: 1px solid #c7d6e0;
  border-radius: 22px;
  background: var(--equipment-surface, #fff);
  color: var(--equipment-ink, #062f48);
}
.ft-site-root .tour-equipment-heading {
  margin-bottom: 24px;
}
.ft-site-root .tour-equipment-heading h2 {
  margin: 0;
  color: inherit;
  font-size: var(--ft-section-title-size);
  line-height: 1.23;
  letter-spacing: -0.025em;
  text-wrap: balance;
}
.ft-site-root .tour-equipment-content {
  display: flex;
  flex: 1;
  flex-direction: column;
}
.ft-site-root .tour-equipment-content p {
  margin: 14px 0 0;
  color: var(--equipment-muted, #526674);
  font-size: 15px;
  line-height: 1.65;
}
.ft-site-root .tour-equipment-content > p:first-child {
  margin-top: 0;
}
.ft-site-root .tour-equipment-photo,
.ft-site-root .tour-equipment > .page-photo-lightbox:has(> .tour-equipment-photo) {
  display: block;
  flex-shrink: 0;
  width: min(460px, 100% + var(--tour-equipment-padding-inline) + 1px);
  max-width: none;
  height: auto;
  margin: auto calc(-1 * (var(--tour-equipment-padding-inline) + 1px)) calc(-1 * (var(--tour-equipment-padding-block) + 1px)) auto;
  padding-top: 24px;
}
.ft-site-root .tour-equipment > .page-photo-lightbox > .tour-equipment-photo {
  width: 100%;
  margin: 0;
  padding: 0;
}
@media (max-width: 600px) {
  .ft-site-root .tour-equipment {
    --tour-equipment-padding-inline: 20px;
    --tour-equipment-padding-block: 24px;
    border-radius: 18px;
  }
  .ft-site-root .tour-equipment-heading {
    margin-bottom: 20px;
  }
  .ft-site-root .tour-equipment-photo, .ft-site-root .tour-equipment > .page-photo-lightbox:has(> .tour-equipment-photo) {
    padding-top: 20px;
  }
}
.ft-site-root .tour-charity {
  max-width: 640px;
  margin: 20px auto 0;
  border: 1px solid rgb(87.9215686275%, 88.5098039216%, 69.4901960784%);
  border-radius: 18px;
  background: #faf7e4;
  transition: background-color 180ms ease-out;
}
.ft-site-root .tour-charity:hover, .ft-site-root .tour-charity:focus-within {
  background: rgb(100%, 97.3529411765%, 76.1764705882%);
}
.ft-site-root .tour-charity .tour-charity-link {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 22px;
  border-radius: 17px;
  color: #17394e;
  font-family: inherit;
  font-weight: 400;
  text-decoration: none;
}
.ft-site-root .tour-charity .tour-charity-link:hover {
  color: #17394e;
}
.ft-site-root .tour-charity .tour-charity-link:focus-visible {
  outline: 2px solid #0678b4;
  outline-offset: -3px;
}
.ft-site-root .tour-charity .tour-charity-logo {
  position: relative;
  display: block;
  flex: 0 0 130px;
  width: 130px;
  aspect-ratio: 1;
  overflow: hidden;
}
.ft-site-root .tour-charity .tour-charity-logo img {
  position: absolute;
  inset-block-start: 0;
  left: 50%;
  width: auto;
  max-width: none;
  height: 100%;
  margin: 0;
  border-radius: 0;
  transform: translateX(-50%);
}
.ft-site-root .tour-charity .tour-charity-copy {
  min-width: 0;
}
.ft-site-root .tour-charity .tour-charity-title {
  margin: 0 0 8px;
  color: #062f48;
  font-size: 16px;
  line-height: 1.4;
}
.ft-site-root .tour-charity .tour-charity-title > span {
  color: inherit;
}
.ft-site-root .tour-charity p {
  margin: 0;
  color: #17394e;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.65;
}
@media (max-width: 600px) {
  .ft-site-root .tour-charity .tour-charity-link {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    align-items: center;
    padding: 18px;
    gap: 14px;
  }
  .ft-site-root .tour-charity .tour-charity-logo {
    width: 96px;
  }
  .ft-site-root .tour-charity .tour-charity-copy {
    display: contents;
  }
  .ft-site-root .tour-charity .tour-charity-title {
    margin: 0;
    font-size: 18px;
  }
  .ft-site-root .tour-charity p {
    grid-column: 1/-1;
  }
}
.ft-site-root .tour-charity--compact {
  max-width: none;
}
.ft-site-root .tour-charity--compact .tour-charity-link {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 16px;
}
.ft-site-root .tour-charity--compact .tour-charity-logo {
  width: 80px;
}
.ft-site-root .tour-charity--compact .tour-charity-copy {
  display: contents;
}
.ft-site-root .tour-charity--compact .tour-charity-title {
  margin: 0;
  font-size: 14px;
}
.ft-site-root .tour-charity--compact p {
  grid-column: 1/-1;
  font-size: 13px;
  line-height: 1.6;
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .tour-charity {
    transition: none;
  }
}
.ft-site-root .preview-page .site-hero {
  padding: 104px 0 76px;
}
@media (max-width: 600px) {
  .ft-site-root .preview-page .site-hero {
    padding-block: 30px 35px;
  }
}
.ft-site-root .preview-page .site-hero {
  padding-bottom: 48px;
}
@media (max-width: 600px) {
  .ft-site-root .preview-page .site-hero {
    padding-bottom: 32px;
  }
}
.ft-site-root .preview-page .site-hero {
  min-height: 610px;
  color: #fff;
  background: #062f48;
}
@media (max-width: 1000px) {
  .ft-site-root .preview-page .site-hero {
    min-height: 0;
  }
}
.ft-site-root .site-hero > .site-hero-grid {
  display: grid;
  position: relative;
  z-index: 1;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 58px;
  align-items: start;
}
@media (max-width: 1000px) {
  .ft-site-root .site-hero > .site-hero-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 40px;
  }
}
.ft-site-root .site-hero .site-hero-copy {
  position: relative;
  z-index: 3;
  min-width: 0;
}
.ft-site-root .site-hero .site-hero-copy .breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin: 0 0 24px;
  color: #c8ddea;
  font-size: 13px;
}
.ft-site-root .site-hero .site-hero-copy .breadcrumb a {
  color: inherit;
}
.ft-site-root .site-hero .site-hero-copy .eyebrow {
  margin: 0 0 15px;
  color: #c8ddea;
  font-size: 14px;
  line-height: 1.6;
  font-weight: 700;
}
.ft-site-root .site-hero .site-hero-copy h1 {
  max-width: none;
  margin: 0;
  color: #fff;
  font-size: clamp(36px, 3.6vw, 48px);
  line-height: 1.16;
  letter-spacing: -0.035em;
  text-wrap: balance;
}
.ft-site-root .site-hero .site-hero-copy h1 span {
  color: #fff078;
}
.ft-site-root .site-hero .site-hero-copy .editorial-hero-title-accent {
  display: inline-block;
  max-width: 100%;
  text-wrap: balance;
}
.ft-site-root .site-hero .site-hero-copy .editorial-peter-title > span:first-child {
  color: #fff;
  font-size: 0.82em;
}
.ft-site-root .site-hero .site-hero-copy .lead {
  max-width: 34em;
  margin-top: 23px;
  color: #fff;
  font-size: 18px;
  line-height: 1.65;
}
.ft-site-root .site-hero .site-hero-copy .hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.ft-site-root .site-hero .site-hero-copy .hero-actions .btn {
  max-width: 100%;
  margin-top: 0;
  white-space: normal;
}
.ft-site-root .site-hero .site-hero-copy .btn:focus-visible {
  outline-color: #fff078;
}
.ft-site-root .site-hero .site-hero-copy .tour-facts {
  margin-top: 22px;
  color: #fff;
}
.ft-site-root .site-hero .site-hero-copy .tour-facts li {
  margin: 0;
}
.ft-site-root .site-hero .site-hero-copy .tour-facts li::before {
  color: #fff078;
}
@media (max-width: 1000px) {
  .ft-site-root .site-hero .site-hero-copy {
    max-width: 720px;
  }
  .ft-site-root .site-hero .site-hero-copy .lead {
    max-width: 60ch;
  }
}
@media (max-width: 600px) {
  .ft-site-root .site-hero .site-hero-copy .breadcrumb {
    margin-bottom: 20px;
  }
  .ft-site-root .site-hero .site-hero-copy h1 {
    font-size: clamp(28px, 8.5vw, 42px);
  }
  .ft-site-root .site-hero .site-hero-copy h1 > .editorial-hero-title-accent {
    display: inline;
  }
  .ft-site-root .site-hero .site-hero-copy .lead {
    margin-top: 20px;
    font-size: 17px;
  }
  .ft-site-root .site-hero .site-hero-copy .hero-actions {
    margin-top: 24px;
  }
  .ft-site-root .site-hero .site-hero-copy .tour-facts {
    margin-top: 18px;
    gap: 9px 15px;
    font-size: 13px;
  }
}
.ft-site-root .error-page {
  padding: 104px 0 76px;
}
@media (max-width: 600px) {
  .ft-site-root .error-page {
    padding-block: 30px 35px;
  }
}
.ft-site-root .error-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 58px;
  align-items: start;
}
@media (max-width: 1000px) {
  .ft-site-root .error-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 40px;
  }
}
.ft-site-root .error-copy {
  position: relative;
  z-index: 1;
}
.ft-site-root .error-copy .eyebrow {
  color: #eaf3fa;
}
.ft-site-root .error-copy h1 {
  color: #fff;
}
.ft-site-root .error-copy .error-description {
  margin-top: 24px;
  max-width: 470px;
  font-size: 19px;
}
.ft-site-root .error-copy .hero-actions {
  margin-top: 32px;
  align-items: center;
  gap: 16px;
}
.ft-site-root .error-art {
  position: relative;
  align-self: stretch;
  min-height: 430px;
}
.ft-site-root .error-art img, .ft-site-root .error-art > .page-photo-lightbox {
  position: absolute;
  bottom: -76px;
  right: 18px;
  width: auto;
  max-width: none;
  height: 570px;
}
.ft-site-root .error-art > .page-photo-lightbox img {
  position: static;
  display: block;
  height: 100%;
  width: auto;
}
.ft-site-root .error-number {
  position: absolute;
  top: 38px;
  left: 0;
  color: #e9def3;
  font-size: clamp(145px, 16vw, 210px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.055em;
}
@media (max-width: 900px) {
  .ft-site-root .error-grid {
    gap: 28px;
  }
  .ft-site-root .error-copy .hero-actions {
    align-items: start;
    flex-direction: column;
  }
  .ft-site-root .error-art img, .ft-site-root .error-art > .page-photo-lightbox {
    right: -15px;
    height: 540px;
  }
  .ft-site-root .error-number {
    font-size: 145px;
  }
}
@media (max-width: 600px) {
  .ft-site-root .error-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    min-height: 0;
  }
  .ft-site-root .error-copy h1 {
    font-size: 38px;
  }
  .ft-site-root .error-copy .error-description {
    margin-top: 18px;
    font-size: 17px;
  }
  .ft-site-root .error-copy .hero-actions {
    margin-top: 24px;
    gap: 14px;
  }
  .ft-site-root .error-art {
    min-height: 250px;
  }
  .ft-site-root .error-art img, .ft-site-root .error-art > .page-photo-lightbox {
    height: 380px;
    right: 15px;
    bottom: -82px;
  }
  .ft-site-root .error-number {
    top: 16px;
    left: 0;
    font-size: clamp(115px, 35vw, 155px);
  }
}
.ft-site-root .preview-page > main > [data-ft-dates-section]:has(.select2-container--open) > .container {
  z-index: 2;
}
.ft-site-root [data-ft-dates-section] .dates-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 18px 24px;
  margin-bottom: 24px;
}
.ft-site-root [data-ft-dates-section] .tour-date-filters {
  margin: 0;
  gap: 10px;
}
.ft-site-root [data-ft-dates-section] .tour-date-filters .btn {
  gap: 7px;
  min-height: 44px;
  padding: 10px 16px;
  font-size: 14px;
}
.ft-site-root [data-ft-dates-section] .dates-mobile-filter {
  display: none;
  position: relative;
}
.ft-site-root [data-ft-dates-section] .dates-mobile-filter select {
  appearance: none;
  height: 44px;
  min-height: 44px;
  padding: 8px 44px 8px 16px;
  border-radius: 999px;
  border-color: #062f48;
  font-size: 14px;
  font-weight: 700;
}
.ft-site-root [data-ft-dates-section] .dates-mobile-filter select:focus {
  border-color: #0678b4;
}
.ft-site-root [data-ft-dates-section] .dates-mobile-filter .disclosure-icon {
  position: absolute;
  inset-inline-end: 18px;
  top: 50%;
  translate: 0 -50%;
  color: #062f48;
  pointer-events: none;
}
.ft-site-root [data-ft-dates-section] .dates-mobile-filter:has(.select2-container--open) > .disclosure-icon {
  rotate: 180deg;
}
.ft-site-root [data-ft-dates-section] .dates-mobile-filter .select2-container {
  max-width: 100%;
  font-family: inherit;
  font-size: 14px;
}
.ft-site-root [data-ft-dates-section] .dates-mobile-filter .dates-filter-option {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
}
.ft-site-root [data-ft-dates-section] .dates-mobile-filter .dates-filter-option .dates-filter-count {
  margin-inline-start: auto;
}
.ft-site-root [data-ft-dates-section] .dates-mobile-filter .select2-container--default .select2-selection--single {
  display: flex;
  align-items: center;
  height: 44px;
  padding: 8px 44px 8px 16px;
  border: 1px solid #062f48;
  border-radius: 999px;
  background: #fff;
  color: #062f48;
  font-weight: 700;
  outline: none;
  box-shadow: none;
}
.ft-site-root [data-ft-dates-section] .dates-mobile-filter .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0;
  color: inherit;
  line-height: 1.3;
}
.ft-site-root [data-ft-dates-section] .dates-mobile-filter .select2-container--default .select2-selection--single .select2-selection__arrow {
  display: none;
}
.ft-site-root [data-ft-dates-section] .dates-mobile-filter .select2-container--default .select2-selection--single:focus {
  border-color: #0678b4;
}
.ft-site-root [data-ft-dates-section] .dates-mobile-filter .select2-container--default.select2-container--open .select2-selection--single {
  border-color: #0678b4;
  border-radius: 999px;
}
.ft-site-root [data-ft-dates-section] .dates-mobile-filter .select2-dropdown {
  overflow: hidden;
  border: 1px solid #062f48;
  border-radius: 16px;
  background: #fff;
  color: #062f48;
  font-family: inherit;
  box-shadow: 0 8px 24px rgba(6, 47, 72, 0.12);
}
.ft-site-root [data-ft-dates-section] .dates-mobile-filter .select2-results__option {
  min-height: 44px;
  margin: 0;
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}
.ft-site-root [data-ft-dates-section] .dates-mobile-filter .select2-results__option::before, .ft-site-root [data-ft-dates-section] .dates-mobile-filter .select2-results__option::after {
  content: none;
}
.ft-site-root [data-ft-dates-section] .dates-mobile-filter .select2-results__option--selected {
  background: #eaf3fa;
}
.ft-site-root [data-ft-dates-section] .dates-mobile-filter .select2-results__option--highlighted.select2-results__option--selectable {
  background: #062f48;
  color: #fff;
}
.ft-site-root [data-ft-dates-section] .dates-filter-label {
  min-width: 0;
}
.ft-site-root [data-ft-dates-section] .dates-filter-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 24px;
  min-height: 20px;
  padding: 2px 5px;
  border-radius: 999px;
  background: #d7e8f4;
  color: #062f48;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}
.ft-site-root [data-ft-dates-section] .tour-date-filters .btn:hover:not(:disabled):not([aria-disabled=true]), .ft-site-root [data-ft-dates-section] .tour-date-filters .btn[aria-pressed=true] {
  color: #fff;
  background: #062f48;
  border-color: #062f48;
}
.ft-site-root [data-ft-dates-section] .tour-date-filters .btn:hover:not(:disabled):not([aria-disabled=true]) .dates-filter-count, .ft-site-root [data-ft-dates-section] .tour-date-filters .btn[aria-pressed=true] .dates-filter-count {
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
}
.ft-site-root [data-ft-dates-section] .dates-view-switch {
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  border: 1px solid #c7d6e0;
  border-radius: 999px;
  background: #fff;
}
.ft-site-root [data-ft-dates-section] .dates-view-option {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 44px;
  padding: 10px 17px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #062f48;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  cursor: pointer;
}
.ft-site-root [data-ft-dates-section] .dates-view-option svg {
  flex: 0 0 20px;
}
.ft-site-root [data-ft-dates-section] .dates-view-option:hover:not([aria-pressed=true]) {
  background: #eaf3fa;
  color: #062f48;
}
.ft-site-root [data-ft-dates-section] .dates-view-option[aria-pressed=true] {
  background: #062f48;
  color: #fff;
}
.ft-site-root [data-ft-dates-section] .dates-view-option:focus-visible {
  outline: 2px solid #062f48;
  outline-offset: 2px;
}
.ft-site-root [data-ft-dates-section] .dates-layout {
  display: block;
}
.ft-site-root [data-ft-dates-section] .upcoming-list {
  padding-inline: 24px;
  border: 1px solid #c7d6e0;
  border-radius: 20px;
  background: #fff;
}
.ft-site-root [data-ft-dates-section] .upcoming-list > li {
  border-top: 0;
}
.ft-site-root [data-ft-dates-section] .upcoming-list > li:not([hidden]) ~ li:not([hidden]) {
  border-top: 1px solid #c7d6e0;
}
.ft-site-root [data-ft-dates-section] .upcoming-list .date-row-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(125px, auto) minmax(85px, auto) auto;
  align-items: center;
  gap: 20px;
  padding-block: 20px;
}
.ft-site-root [data-ft-dates-section] .upcoming-list .date-description {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 5px;
}
.ft-site-root [data-ft-dates-section] .upcoming-list .date-description strong {
  font-size: 16px;
  white-space: normal;
  margin: 0;
}
.ft-site-root [data-ft-dates-section] .upcoming-list .date-description > span {
  font-size: 15px;
}
.ft-site-root [data-ft-dates-section] .date-rate {
  text-align: right;
}
.ft-site-root [data-ft-dates-section] .date-rate strong {
  font-size: 18px;
  margin: 0;
}
.ft-site-root [data-ft-dates-section] .date-rate small {
  font-size: 13px;
}
.ft-site-root [data-ft-dates-section] .date-status {
  justify-self: center;
}
.ft-site-root [data-ft-dates-section] .date-row-content > .btn {
  width: 180px;
  max-width: 100%;
  min-height: 50px;
  margin: 0;
  padding: 12px 18px;
  font-size: 14px;
}
.ft-site-root [data-ft-dates-section] a.date-row-content:focus-visible {
  outline: 0;
}
.ft-site-root [data-ft-dates-section] a.date-row-content:focus-visible > .btn {
  outline: 2px solid #0678b4;
  outline-offset: -2px;
  box-shadow: none;
}
.ft-site-root [data-ft-dates-section] .date-unavailable .date-row-content > .btn {
  color: #526674;
  background: transparent;
  border-color: #c7d6e0;
}
.ft-site-root [data-ft-dates-section] .dates-calendar-panel {
  min-width: 0;
  padding: 24px;
  border: 1px solid #c7d6e0;
  border-radius: 20px;
  background: #fff;
}
.ft-site-root [data-ft-dates-section] .dates-calendar-heading {
  margin: 0;
}
.ft-site-root [data-ft-dates-section] .dates-calendar-heading strong {
  min-width: 0;
  text-align: center;
  font-size: 18px;
  line-height: 1.4;
}
.ft-site-root [data-ft-dates-section] .dates-calendar-heading .btn {
  flex-shrink: 0;
}
.ft-site-root [data-ft-dates-section] .calendar-days {
  gap: 5px;
}
.ft-site-root [data-ft-dates-section] .calendar-days button, .ft-site-root [data-ft-dates-section] .calendar-days span {
  min-height: 44px;
}
.ft-site-root [data-ft-dates-section] .calendar-days button {
  cursor: pointer;
  transition: background-color 0.18s ease, color 0.18s ease;
}
.ft-site-root [data-ft-dates-section] .calendar-days button:hover, .ft-site-root [data-ft-dates-section] .calendar-days button[aria-pressed=true] {
  color: #fff;
  background: #062f48;
  border-color: #062f48;
}
.ft-site-root [data-ft-dates-section] .calendar-days .calendar-weekday {
  font-size: 12px;
}
.ft-site-root [data-ft-dates-section] .dates-calendar-panel [data-ft-calendar-empty] {
  margin-top: 20px;
  font-size: 11px;
  line-height: 1.5;
}
.ft-site-root [data-ft-dates-section] .dates-selected-day {
  margin: 0 0 8px;
  font-size: 20px;
  line-height: 1.4;
  color: #062f48;
}
.ft-site-root [data-ft-dates-section][data-ft-view=calendar] .dates-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 12px 32px;
  align-items: start;
}
.ft-site-root [data-ft-dates-section][data-ft-view=calendar] .dates-selected-day {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
}
.ft-site-root [data-ft-dates-section][data-ft-view=calendar] .dates-calendar-panel {
  grid-column: 1;
  grid-row: 2;
}
.ft-site-root [data-ft-dates-section][data-ft-view=calendar] .dates-list-column {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
}
.ft-site-root [data-ft-dates-section][data-ft-view=calendar] .upcoming-list .date-row-content {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px 20px;
  padding-block: 24px;
}
.ft-site-root [data-ft-dates-section][data-ft-view=calendar] .date-description {
  grid-column: 1;
  grid-row: 1;
  gap: 8px;
}
.ft-site-root [data-ft-dates-section][data-ft-view=calendar] .date-status {
  grid-column: 1;
  grid-row: 2;
  justify-self: start;
}
.ft-site-root [data-ft-dates-section][data-ft-view=calendar] .date-rate {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  text-align: right;
}
.ft-site-root [data-ft-dates-section][data-ft-view=calendar] .date-rate strong {
  display: block;
  font-size: 22px;
}
.ft-site-root [data-ft-dates-section][data-ft-view=calendar] .date-rate small {
  display: block;
  margin-top: 2px;
  font-size: 12px;
}
.ft-site-root [data-ft-dates-section][data-ft-view=calendar] .date-row-content > .btn {
  grid-column: 2;
  grid-row: 2;
  width: 160px;
  min-height: 44px;
  padding: 10px 14px;
}
@media (max-width: 900px) {
  .ft-site-root [data-ft-dates-section][data-ft-view=calendar] .dates-layout {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }
  .ft-site-root [data-ft-dates-section][data-ft-view=calendar] .dates-calendar-panel {
    order: 0;
  }
  .ft-site-root [data-ft-dates-section][data-ft-view=calendar] .dates-selected-day {
    order: 1;
    margin: 0 0 -12px;
  }
  .ft-site-root [data-ft-dates-section][data-ft-view=calendar] .dates-list-column {
    order: 2;
    width: 100%;
  }
  .ft-site-root [data-ft-dates-section] .dates-calendar-panel {
    width: min(100%, 530px);
  }
  .ft-site-root [data-ft-dates-section] .upcoming-list .date-row-content {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 14px 18px;
  }
  .ft-site-root [data-ft-dates-section] .date-description {
    grid-column: 1/-1;
  }
  .ft-site-root [data-ft-dates-section] .date-rate {
    text-align: right;
  }
  .ft-site-root [data-ft-dates-section] .date-status {
    justify-self: start;
  }
}
@media (max-width: 600px) {
  .ft-site-root [data-ft-dates-section] .upcoming-list {
    padding-inline: 16px;
  }
  .ft-site-root [data-ft-dates-section] .dates-toolbar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: auto;
    align-items: stretch;
    gap: 6px;
  }
  .ft-site-root [data-ft-dates-section] .tour-date-filters {
    display: none;
  }
  .ft-site-root [data-ft-dates-section] .dates-mobile-filter {
    display: block;
    grid-column: 1/-1;
    min-width: 0;
  }
  .ft-site-root [data-ft-dates-section] .dates-view-switch {
    display: grid;
    grid-column: 1/-1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 6px;
    margin-top: 6px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }
  .ft-site-root [data-ft-dates-section] .dates-view-option {
    justify-content: center;
    min-width: 0;
    padding: 8px 4px;
    border: 1px solid #062f48;
    background: #fff;
    text-align: center;
    white-space: nowrap;
  }
  .ft-site-root [data-ft-dates-section] .dates-view-option[aria-pressed=true] {
    font-weight: 700;
  }
  .ft-site-root [data-ft-dates-section] .dates-view-option:focus-visible {
    outline: 0;
    border-color: #0678b4;
  }
  .ft-site-root [data-ft-dates-section] .dates-calendar-panel {
    padding: 18px 13px;
  }
  .ft-site-root [data-ft-dates-section] .calendar-days {
    gap: 3px;
  }
  .ft-site-root [data-ft-dates-section] .calendar-days button, .ft-site-root [data-ft-dates-section] .calendar-days span {
    min-height: 36px;
  }
  .ft-site-root [data-ft-dates-section] .calendar-days .calendar-weekday {
    min-height: 24px;
  }
  .ft-site-root [data-ft-dates-section] .upcoming-list .date-row-content, .ft-site-root [data-ft-dates-section][data-ft-view=calendar] .upcoming-list .date-row-content {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    padding-block: 18px;
  }
  .ft-site-root [data-ft-dates-section] .upcoming-list .date-row-content .date-description, .ft-site-root [data-ft-dates-section][data-ft-view=calendar] .upcoming-list .date-row-content .date-description {
    grid-column: 1/-1;
    grid-row: 1;
    gap: 5px;
  }
  .ft-site-root [data-ft-dates-section] .upcoming-list .date-row-content .date-description strong, .ft-site-root [data-ft-dates-section][data-ft-view=calendar] .upcoming-list .date-row-content .date-description strong {
    font-size: 15px;
  }
  .ft-site-root [data-ft-dates-section] .upcoming-list .date-row-content .date-description > span, .ft-site-root [data-ft-dates-section][data-ft-view=calendar] .upcoming-list .date-row-content .date-description > span {
    font-size: 14px;
    line-height: 1.5;
  }
  .ft-site-root [data-ft-dates-section] .upcoming-list .date-row-content .date-status, .ft-site-root [data-ft-dates-section][data-ft-view=calendar] .upcoming-list .date-row-content .date-status {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
  }
  .ft-site-root [data-ft-dates-section] .upcoming-list .date-row-content .date-rate, .ft-site-root [data-ft-dates-section][data-ft-view=calendar] .upcoming-list .date-row-content .date-rate {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
  }
  .ft-site-root [data-ft-dates-section] .upcoming-list .date-row-content .date-rate strong, .ft-site-root [data-ft-dates-section][data-ft-view=calendar] .upcoming-list .date-row-content .date-rate strong {
    font-size: 18px;
  }
  .ft-site-root [data-ft-dates-section] .upcoming-list .date-row-content .date-rate small, .ft-site-root [data-ft-dates-section][data-ft-view=calendar] .upcoming-list .date-row-content .date-rate small {
    margin-top: 0;
    font-size: 12px;
  }
  .ft-site-root [data-ft-dates-section] .upcoming-list .date-row-content > .btn, .ft-site-root [data-ft-dates-section][data-ft-view=calendar] .upcoming-list .date-row-content > .btn {
    grid-column: 1/-1;
    grid-row: 3;
    justify-self: stretch;
    width: 100%;
    min-height: 44px;
    padding: 10px 14px;
  }
  .ft-site-root [data-ft-dates-section][data-ft-view=calendar] .dates-layout {
    gap: 16px;
  }
  .ft-site-root [data-ft-dates-section][data-ft-view=calendar] .dates-selected-day {
    margin: 0;
  }
  .ft-site-root [data-ft-dates-section] .dates-selected-day {
    font-size: 18px;
  }
}
.ft-site-root .date-choices-panel {
  margin-top: 18px;
}
.ft-site-root .date-choices-panel > summary {
  display: inline-flex;
}
.ft-site-root .date-choices-panel [data-date-variant] {
  margin-top: 20px;
}
.ft-site-root .date-choices-panel .upcoming-list a {
  display: block;
}
.ft-site-root .date-choices-panel .upcoming-list a .btn {
  margin-top: 12px;
}
.ft-site-root .preview-tour #dates .dates-pagination .site-pagination__button:not(:disabled):not([disabled]):not([aria-disabled=true]) {
  color: #062f48;
  border-color: #062f48;
  background: #fff;
}
.ft-site-root .preview-tour #dates .dates-pagination .site-pagination__button:not(:disabled):not([disabled]):not([aria-disabled=true]):hover, .ft-site-root .preview-tour #dates .dates-pagination .site-pagination__button:not(:disabled):not([disabled]):not([aria-disabled=true]):focus-visible {
  background: #eaf3fa;
}
.ft-site-root .page-photo-lightbox {
  display: block;
  color: inherit;
  cursor: zoom-in;
}
.ft-site-root .page-photo-lightbox:focus-visible {
  outline: 2px solid #0678b4;
  outline-offset: -2px;
}
.ft-site-root .home-figure-depth .page-photo-lightbox {
  pointer-events: auto;
}
.ft-site-root .riviera-visual > .page-photo-lightbox {
  width: 100%;
  min-width: 0;
}
.ft-site-root [data-photo-lightbox="0"] {
  cursor: default;
}
.ft-site-root .photo-mosaic {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: start;
  gap: 28px 24px;
  min-width: 0;
  margin: 0;
  padding: 12px;
}
.ft-site-root .photo-mosaic__item {
  --photo-span: 6;
  --photo-width: 96%;
  --photo-offset: 8px;
  --photo-tilt: -2deg;
  position: relative;
  display: block;
  grid-column: span var(--photo-span);
  justify-self: center;
  width: var(--photo-width);
  min-width: 0;
  margin-block-start: var(--photo-offset);
  rotate: var(--photo-tilt);
  border-radius: 16px;
  overflow: hidden;
  background: transparent;
  box-shadow: 0 8px 20px rgba(6, 47, 72, 0.12);
  cursor: zoom-in;
}
.ft-site-root .photo-mosaic__item img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: inherit;
}
.ft-site-root .photo-mosaic__item:nth-child(6n+1) {
  --photo-span: 7;
  --photo-width: 100%;
  --photo-offset: 4px;
  --photo-tilt: -2.4deg;
}
.ft-site-root .photo-mosaic__item:nth-child(6n+2) {
  --photo-span: 5;
  --photo-width: 94%;
  --photo-offset: 52px;
  --photo-tilt: 3deg;
}
.ft-site-root .photo-mosaic__item:nth-child(6n+3) {
  --photo-span: 5;
  --photo-width: 92%;
  --photo-offset: 12px;
  --photo-tilt: -3deg;
}
.ft-site-root .photo-mosaic__item:nth-child(6n+4) {
  --photo-span: 7;
  --photo-width: 100%;
  --photo-offset: 32px;
  --photo-tilt: 1.8deg;
}
.ft-site-root .photo-mosaic__item:nth-child(6n+5) {
  --photo-width: 90%;
  --photo-offset: 30px;
  --photo-tilt: 2.6deg;
}
.ft-site-root .photo-mosaic__item:nth-child(6n+6) {
  --photo-width: 100%;
  --photo-offset: 4px;
  --photo-tilt: -1.8deg;
}
.ft-site-root .photo-mosaic__item:last-child:nth-child(odd) {
  --photo-width: 76%;
  grid-column: 1/-1;
}
.ft-site-root .photo-mosaic__item:focus-visible {
  outline: 2px solid #0678b4;
  outline-offset: -2px;
}
.ft-site-root .photo-mosaic__item:nth-child(3n+2) {
  --photo-entry-delay: .06s;
}
.ft-site-root .photo-mosaic__item:nth-child(3n+3) {
  --photo-entry-delay: .12s;
}
.ft-site-root .photo-mosaic__caption {
  position: relative;
  display: block;
  padding: 10px 12px;
  color: #062f48;
  background: #fff;
  font-size: 14px;
  line-height: 1.5;
  text-align: start;
}
@media (min-width: 601px) {
  .ft-site-root .photo-mosaic--dense > .photo-mosaic__item:nth-child(n) {
    --photo-span: 4;
    --photo-width: 100%;
    --photo-offset: 8px;
    grid-column: span var(--photo-span);
  }
  .ft-site-root .photo-mosaic--dense > .photo-mosaic__item:nth-child(3n+2) {
    --photo-width: 88%;
    --photo-offset: 42px;
  }
  .ft-site-root .photo-mosaic--dense > .photo-mosaic__item:nth-child(3n+3) {
    --photo-width: 94%;
    --photo-offset: 18px;
  }
  .ft-site-root .photo-mosaic--dense > .photo-mosaic__item:last-child:nth-child(3n+1) {
    --photo-width: 64%;
    grid-column: 1/-1;
  }
}
@media (max-width: 600px) {
  .ft-site-root .photo-mosaic {
    gap: 18px;
    padding: 8px;
  }
  .ft-site-root .photo-mosaic__item:nth-child(6n+2) {
    --photo-offset: 30px;
  }
  .ft-site-root .photo-mosaic__item:nth-child(6n+4) {
    --photo-offset: 20px;
  }
  .ft-site-root .photo-mosaic__item:nth-child(6n+5) {
    --photo-offset: 18px;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .ft-site-root .photo-mosaic__item.is-photo-pending {
    opacity: 0;
    translate: 0 14px;
    transition: none;
  }
  .ft-site-root .photo-mosaic__item.is-photo-revealed {
    animation: ft-photo-appear 0.55s ease-out var(--photo-entry-delay, 0s) both;
    transition: none;
  }
  .ft-site-root .photo-mosaic__item.is-photo-visible {
    opacity: 1;
    translate: none;
    animation: none;
    transition: none;
  }
}
@keyframes ft-photo-appear {
  from {
    opacity: 0;
    translate: 0 14px;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}
.ft-site-root .photo-stack {
  position: relative;
  height: 590px;
  isolation: isolate;
}
.ft-site-root .polaroid {
  position: absolute;
  width: 62%;
  padding: 0;
  overflow: hidden;
  background: transparent;
  border: 0;
  border-radius: 18px;
  box-shadow: 0 6px 18px rgba(6, 47, 72, 0.12);
  font-family: inherit;
  font-weight: 400;
  text-align: center;
  text-decoration: none;
  cursor: grab;
  touch-action: pan-y;
}
.ft-site-root .polaroid img {
  display: block;
  width: 100%;
  aspect-ratio: 1.5;
  object-fit: cover;
  border-radius: inherit;
  pointer-events: none;
}
.ft-site-root .polaroid .photo-caption {
  display: block;
  position: absolute;
  inset: auto 0 0;
  padding: 10px 12px;
  margin: 0;
  color: #fff;
  background: rgba(6, 47, 72, 0.96);
  font-size: 14px;
  line-height: 1.5;
  pointer-events: none;
}
.ft-site-root .polaroid:active {
  cursor: grabbing;
}
.ft-site-root .polaroid:focus-visible {
  outline: 2px solid #0678b4;
  outline-offset: 3px;
}
.ft-site-root .polaroid-back {
  top: 0;
  left: 0;
  rotate: -6deg;
}
.ft-site-root .polaroid-middle {
  top: 28%;
  right: 0;
  rotate: 5deg;
}
.ft-site-root .polaroid-front {
  top: 56%;
  left: 10%;
  rotate: -3deg;
}
.ft-site-root .section-heading.photo-album-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  max-width: none;
}
.ft-site-root .section-heading.photo-album-heading > div {
  min-width: 0;
  max-width: 720px;
}
.ft-site-root .photo-reset {
  border: 1px solid #062f48;
  color: #062f48;
  background: #d7e8f4;
  background-clip: border-box;
  box-shadow: none;
  cursor: pointer;
  opacity: 1;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}
.ft-site-root .photo-reset:hover:not(:disabled):not([disabled]):not([aria-disabled=true]), .ft-site-root .photo-reset[aria-current=page] {
  color: #fff;
  border-color: #062f48;
  background: #062f48;
}
.ft-site-root .photo-reset:disabled, .ft-site-root .photo-reset[disabled], .ft-site-root .photo-reset[aria-disabled=true] {
  color: #526674;
  border-color: #c7d6e0;
  background: #eaf3fa;
  opacity: 0.55;
  cursor: not-allowed;
}
.ft-site-root .photo-reset:focus-visible:not(:disabled):not([disabled]):not([aria-disabled=true]) {
  outline: none;
  border: 2px solid #0678b4;
  color: #062f48;
  background: #eaf3fa;
  box-shadow: none;
  transition: none;
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .photo-reset {
    transition: none;
  }
}
.ft-site-root .photo-reset {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex: 0 0 44px;
  width: 44px;
  min-width: 44px;
  max-width: 44px;
  height: 44px;
  min-height: 44px;
  max-height: 44px;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  font: 700 14px/1 "Quicksand", Arial, sans-serif;
  text-align: center;
  text-decoration: none;
}
.ft-site-root .photo-reset .disclosure-icon {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
}
.ft-site-root .photo-reset .disclosure-icon::before {
  width: 16px;
  height: 16px;
  font-size: 16px;
}
.ft-site-root .photo-reset svg {
  display: block;
  width: 22px;
  height: 22px;
}
.ft-site-root .photo-reset .photo-reset-icon {
  display: block;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  margin: 0;
  border: 0;
  border-radius: 0;
}
.ft-site-root .photo-reset:hover:not(:disabled):not([aria-disabled=true]) .photo-reset-icon {
  filter: brightness(0) invert(1);
}
.ft-site-root .photo-reset:focus-visible .photo-reset-icon {
  filter: none;
}
@media (max-width: 900px) {
  .ft-site-root .photo-stack {
    height: 480px;
  }
}
@media (max-width: 600px) {
  .ft-site-root .photo-stack {
    height: 460px;
    max-width: 390px;
    margin-top: 28px;
  }
}
.ft-site-root [data-reveal] {
  transition: translate 0.45s ease;
}
.ft-site-root [data-reveal] img, .ft-site-root .product-card-link img {
  transition: opacity 0.45s ease, scale 0.75s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.ft-site-root .reveal-pending {
  translate: 0 12px;
}
.ft-site-root .reveal-pending img {
  opacity: 0.88;
}
.ft-site-root .btn, .ft-site-root .newsletter-dialog .input-valid {
  transition: background-color 0.2s ease, translate 0.2s ease;
}
.ft-site-root .dates-view-option {
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.ft-site-root .event-products .btn-primary::after, .ft-site-root .experience-card .btn-primary::after {
  transition: translate 0.2s ease;
}
@media (hover: hover) and (pointer: fine) {
  .ft-site-root .btn:not(:disabled):hover,
  .ft-site-root .newsletter-dialog .input-valid:has(input[type=submit]:not(:disabled)):hover {
    translate: 0 -2px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root [data-reveal], .ft-site-root [data-reveal] img, .ft-site-root .product-card-link img, .ft-site-root .btn, .ft-site-root .newsletter-dialog .input-valid, .ft-site-root .dates-view-option, .ft-site-root .event-product-image img, .ft-site-root .tour-card-image img,
  .ft-site-root .event-products .btn-primary::after, .ft-site-root .experience-card .btn-primary::after {
    transition: none;
    translate: none;
    scale: none;
  }
  .ft-site-root .reveal-pending img {
    opacity: 1;
  }
}
@font-face {
  font-family: "Quicksand";
  src: url("/lib/fonts/Quicksand-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Quicksand";
  src: url("/lib/fonts/Quicksand-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "FT Text Fallback";
  src: local("Arial"), local("ArialMT");
  font-weight: 400;
  font-style: normal;
  size-adjust: 103.67488%;
  ascent-override: 96.45538%;
  descent-override: 24.11384%;
  line-gap-override: 0%;
  unicode-range: U+0000-024F, U+2000-206F, U+20AC;
}
@font-face {
  font-family: "FT Text Fallback";
  src: local("Arial Bold"), local("Arial-BoldMT");
  font-weight: 700;
  font-style: normal;
  size-adjust: 101.24866%;
  ascent-override: 98.76674%;
  descent-override: 24.69169%;
  line-gap-override: 0%;
  unicode-range: U+0000-024F, U+2000-206F, U+20AC;
}
@font-face {
  font-family: "FT Text Fallback";
  src: local("Arial"), local("ArialMT");
  font-weight: 400;
  font-style: normal;
  size-adjust: 122.31623%;
  ascent-override: 72.02642%;
  descent-override: 19.13074%;
  line-gap-override: 0%;
  unicode-range: U+0400-052F, U+1C80-1C8A, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F, U+2116;
}
@font-face {
  font-family: "FT Text Fallback";
  src: local("Arial Bold"), local("Arial-BoldMT");
  font-weight: 700;
  font-style: normal;
  size-adjust: 114.1159%;
  ascent-override: 77.20221%;
  descent-override: 20.50547%;
  line-gap-override: 0%;
  unicode-range: U+0400-052F, U+1C80-1C8A, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F, U+2116;
}
@font-face {
  font-family: "FT Hero Fallback";
  src: local("Arial"), local("ArialMT");
  font-style: normal;
  font-weight: 400;
  size-adjust: 102.85%;
  ascent-override: 97.229%;
  descent-override: 24.307%;
  line-gap-override: 0%;
  unicode-range: U+0000-024F, U+2000-206F;
}
.ft-site-root .hero-copy > p:not(.eyebrow), .ft-site-root .contact-hero-copy .lead {
  font-family: "Quicksand", "FT Hero Fallback", "FT Text Fallback", Arial, sans-serif;
}
.ft-site-root .hero-copy:lang(de) > p:not(.eyebrow), .ft-site-root .hero-copy:lang(es) > p:not(.eyebrow) {
  font-family: "Quicksand", Arial, sans-serif;
}
@font-face {
  font-family: "FT Hero Heading Fallback";
  src: local("Arial Bold"), local("Arial-BoldMT");
  font-weight: 700;
  font-style: normal;
  size-adjust: 104.32676%;
  ascent-override: 95.85269%;
  descent-override: 23.96317%;
  line-gap-override: 0%;
  unicode-range: U+0000-024F, U+2000-206F, U+20AC;
}
.ft-site-root .hero-copy:lang(en) h1 {
  font-family: "Quicksand", "FT Hero Heading Fallback", Arial, sans-serif;
}
@font-face {
  font-family: "FT Headline Fallback";
  src: local("Arial Bold"), local("Arial-BoldMT");
  font-weight: 700;
  font-style: normal;
  size-adjust: 99%;
  ascent-override: 101.0101%;
  descent-override: 25.25253%;
  line-gap-override: 0%;
  unicode-range: U+0000-024F, U+2000-206F, U+20AC;
}
.ft-site-root .news-list-hero:lang(es) h1 {
  font-family: "Quicksand", "FT Headline Fallback", Arial, sans-serif;
}
@font-face {
  font-family: "FT Price Fallback";
  src: local("Arial Bold"), local("Arial-BoldMT");
  font-weight: 700;
  font-style: normal;
  size-adjust: 95.576%;
  ascent-override: 104.62878%;
  descent-override: 26.15719%;
  line-gap-override: 0%;
  unicode-range: U+0000-024F, U+2000-206F, U+20AC;
}
.ft-site-root .tour-card-price-block:lang(ru) .price {
  font-family: "Quicksand", "FT Price Fallback", "FT Text Fallback", Arial, sans-serif;
}
.ft-site-root .tour-card-price-block:lang(ru) .price > span, .ft-site-root .tour-card-price-block:lang(ru) .price > small {
  font-family: "Quicksand", "FT Text Fallback", Arial, sans-serif;
}
@font-face {
  font-family: "FT News Fallback";
  src: local("Arial Bold"), local("Arial-BoldMT");
  font-weight: 700;
  font-style: normal;
  size-adjust: 132.8098%;
  ascent-override: 66.33547%;
  descent-override: 17.61918%;
  line-gap-override: 0%;
  unicode-range: U+0400-052F, U+1C80-1C8A, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F, U+2116;
}
@font-face {
  font-family: "FT News Fallback";
  src: local("Arial Bold"), local("Arial-BoldMT");
  font-weight: 700;
  font-style: normal;
  size-adjust: 102%;
  ascent-override: 98.03922%;
  descent-override: 24.5098%;
  line-gap-override: 0%;
  unicode-range: U+0000-024F, U+2000-206F, U+20AC;
}
@font-face {
  font-family: "FT News Fallback";
  src: local("Arial"), local("ArialMT");
  font-weight: 400;
  font-style: normal;
  size-adjust: 106%;
  ascent-override: 94.33962%;
  descent-override: 23.58491%;
  line-gap-override: 0%;
  unicode-range: U+0000-024F, U+2000-206F, U+20AC;
}
.ft-site-root .news-entry__read:lang(ru) {
  font-family: "Quicksand", "FT News Fallback", "FT Text Fallback", Arial, sans-serif;
}
.ft-site-root .news-feed .news-entry__title:lang(es), .ft-site-root .news-feed .news-entry__title:lang(it), .ft-site-root .news-feed:lang(it) .news-entry__intro, .ft-site-root .news-feed:lang(es) .news-entry__intro {
  font-family: "Quicksand", "FT News Fallback", "FT Text Fallback", Arial, sans-serif;
}
@font-face {
  font-family: "FT Date Fallback";
  src: local("Arial"), local("ArialMT");
  font-weight: 400;
  font-style: normal;
  size-adjust: 114%;
  ascent-override: 77.2807%;
  descent-override: 20.52632%;
  line-gap-override: 0%;
  unicode-range: U+0400-052F, U+1C80-1C8A, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F, U+2116;
}
.ft-site-root .news-feed .news-entry__date:lang(ru) {
  font-family: "Quicksand", "FT Date Fallback", "FT Text Fallback", Arial, sans-serif;
}
@font-face {
  font-family: "icomoon";
  src: url("/lib/fonts/icomoon.woff2?42") format("woff2");
  font-style: normal;
  font-weight: normal;
  font-display: block;
}
.ft-site-root *, .ft-site-root *::before, .ft-site-root *::after {
  box-sizing: border-box;
}
.ft-site-root html {
  scroll-padding-top: 104px;
}
.ft-site-root body {
  margin: 0;
  font: 400 17px/1.6 "Quicksand", "FT Text Fallback", Arial, sans-serif;
  color: #17394e;
  background: #fff;
}
.ft-site-root [hidden] {
  display: none !important;
}
.ft-site-root button, .ft-site-root input, .ft-site-root select, .ft-site-root textarea {
  font: inherit;
}
.ft-site-root button, .ft-site-root a, .ft-site-root summary, .ft-site-root label {
  -webkit-tap-highlight-color: transparent;
}
.ft-site-root button, .ft-site-root summary {
  cursor: pointer;
}
.ft-site-root button {
  color: inherit;
}
.ft-site-root a {
  color: inherit;
  font-family: inherit;
}
.ft-site-root img {
  display: block;
  max-width: 100%;
  height: auto;
}
.ft-site-root figure, .ft-site-root h1, .ft-site-root h2, .ft-site-root h3, .ft-site-root p {
  margin: 0;
}
.ft-site-root h1, .ft-site-root h2, .ft-site-root h3, .ft-site-root strong, .ft-site-root b {
  font-weight: 700;
}
.ft-site-root h1 {
  font-size: clamp(38px, 4.1vw, 62px);
  line-height: 1.13;
  letter-spacing: -0.035em;
}
.ft-site-root h1 > .hero-title-break {
  display: contents;
}
.ft-site-root h2 {
  font-size: var(--ft-section-title-size);
  line-height: 1.23;
  letter-spacing: -0.025em;
  color: #062f48;
}
.ft-site-root h2 > span:not([class]) {
  color: #0678b4;
}
.ft-site-root h3, .ft-site-root .heading-tertiary {
  font-size: var(--ft-subtitle-size);
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: #062f48;
}
@media (max-width: 600px) {
  .ft-site-root h1, .ft-site-root h2, .ft-site-root h3 {
    text-wrap: balance;
    overflow-wrap: break-word;
    -webkit-hyphens: none;
    hyphens: none;
  }
  .ft-site-root h1 > .hero-title-break > br {
    display: none;
  }
}
.ft-site-root p + p {
  margin-top: 16px;
}
.ft-site-root button:focus-visible, .ft-site-root a:focus-visible, .ft-site-root summary:focus-visible {
  outline: 2px solid #0678b4;
  outline-offset: 4px;
}
.ft-site-root .container {
  width: min(1160px, 100% - 80px);
  margin-inline: auto;
}
.ft-site-root .section {
  padding-block: 72px;
}
.ft-site-root .section-blue {
  background: #eaf3fa;
}
.ft-site-root .section-heading {
  max-width: 720px;
  margin-bottom: 32px;
}
.ft-site-root .section-heading p {
  margin-top: 14px;
  color: #526674;
}
.ft-site-root .text-link {
  display: inline-block;
  color: var(--link-color);
  font-weight: 700;
  text-decoration: none;
}
.ft-site-root .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 50px;
  padding: 12px 26px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.ft-site-root .preview-page .btn:focus-visible {
  outline: 2px solid #0678b4;
  outline-offset: -2px;
  box-shadow: none;
}
.ft-site-root .btn-full {
  width: 100%;
}
.ft-site-root .btn:disabled, .ft-site-root .btn[aria-disabled=true] {
  cursor: not-allowed;
}
.ft-site-root .preview-page .btn:disabled, .ft-site-root .preview-page .btn[aria-disabled=true] {
  color: #526674;
  background: #eaf3fa;
  border-color: #c7d6e0;
}
.ft-site-root .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.ft-site-root .skip-link {
  position: fixed;
  left: 16px;
  top: -100px;
  z-index: 30;
  padding: 12px 20px;
  color: #062f48;
  background: #fff078;
}
.ft-site-root .skip-link:focus {
  top: 12px;
}
.ft-site-root .icon, .ft-site-root [class^=icon-], .ft-site-root [class*=" icon-"], .ft-site-root .booking-section-icon {
  cursor: pointer;
}
.ft-site-root .icon, .ft-site-root .icon-freddie-tours {
  font-family: "icomoon";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
}
.ft-site-root .icon-freddie-tours {
  display: inline-block;
  font-size: 52px;
  white-space: nowrap;
}
.ft-site-root .icon-freddie-tours .path1::before {
  content: "\e909";
  color: #fff;
}
.ft-site-root .icon-freddie-tours .path2::before {
  content: "\e90a";
  margin-left: -2.8271484375em;
  color: #0083c1;
}
.ft-site-root .icon-info::before {
  content: "\e923";
}
.ft-site-root .icon-conversation::before {
  content: "\e902";
}
.ft-site-root .icon-card::before {
  content: "\f012";
}
.ft-site-root .icon-lock::before {
  content: "\e914";
}
.ft-site-root .icon-audioguide::before {
  content: "\e903";
}
.ft-site-root .icon-time::before {
  content: "\e905";
}
.ft-site-root .icon-walk::before {
  content: "\e906";
}
@font-face {
  font-family: "booking-ui-icons";
  src: url("/admin_lelixir/fonts/admin-lelixir.woff2?wf12") format("woff2");
  font-style: normal;
  font-weight: normal;
  font-display: block;
}
.ft-site-root .booking-section-icon {
  font-family: "booking-ui-icons";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  text-transform: none;
  letter-spacing: 0;
}
.ft-site-root .booking-section-icon--calendar::before {
  content: "\e630";
}
.ft-site-root .booking-section-icon--group::before {
  content: "\e901";
}
.ft-site-root .booking-section-icon--gift::before {
  content: "\e924";
}
.ft-site-root .booking-section-icon--benefit::before {
  content: "\e930";
}
.ft-site-root .booking-section-icon--personalise::before {
  content: "\e621";
}
.ft-site-root .booking-section-icon--ticket {
  flex: 0 0 auto;
  font-size: 22px;
}
.ft-site-root .booking-section-icon--ticket::before {
  content: "\e926";
}
.ft-site-root .site-header {
  position: sticky;
  top: 0;
  z-index: 15;
  color: #fff;
  background: #062f48;
}
.ft-site-root .site-header::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: calc(100% - 1px);
  left: 0;
  width: 100%;
  height: 6px;
  background: #062f48;
  -webkit-mask: url("/webimages/habillage/section-edge.svg") center top/max(960px, 100%) 100% no-repeat;
  mask: url("/webimages/habillage/section-edge.svg") center top/max(960px, 100%) 100% no-repeat;
  transform: scaleY(-1);
  pointer-events: none;
}
.ft-site-root .header-inner {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 78px;
  gap: 16px;
}
.ft-site-root .brand {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  flex-shrink: 0;
}
.ft-site-root .site-header .brand-logo {
  height: 52px;
  width: auto;
  max-width: none;
}
.ft-site-root .site-header.has-home-logo .brand-logo {
  transform-origin: left top;
  transform: scale(var(--home-logo-scale, 2.7));
}
.ft-site-root .site-header.has-home-logo.is-logo-ready .brand-logo {
  transition: transform 0.28s ease-out;
}
.ft-site-root .site-header.has-home-logo.is-header-resizing .brand-logo {
  transition: none;
}
.ft-site-root .site-header.has-home-logo.is-logo-compact .brand-logo {
  transform: none;
}
.ft-site-root .desktop-nav {
  display: flex;
  flex: 0 0 auto;
  margin-inline-start: auto;
  gap: 28px;
  align-items: center;
  font-size: 15px;
  font-weight: 700;
  white-space: nowrap;
}
.ft-site-root .desktop-nav a {
  text-decoration: none;
}
.ft-site-root .desktop-nav a:hover, .ft-site-root .desktop-nav a[aria-current] {
  text-decoration: none;
}
.ft-site-root .nav-more {
  min-height: 44px;
  border: 0;
  color: inherit;
  background: none;
  padding: 10px 0;
  font-size: 15px;
  font-weight: 700;
}
.ft-site-root .nav-more:hover, .ft-site-root .nav-more.is-current {
  color: #fff078;
}
.ft-site-root .nav-discover {
  position: relative;
  display: flex;
  align-items: center;
}
@media (hover: hover) and (pointer: fine) {
  .ft-site-root .site-header :is(.nav-discover, .language-picker):has(> button[aria-expanded=true])::after {
    content: "";
    position: absolute;
    top: 100%;
    height: 13px;
  }
  .ft-site-root .site-header .nav-discover::after {
    left: 0;
    width: max(100%, 260px);
  }
  .ft-site-root .site-header .language-picker::after {
    right: 0;
    width: min(240px, 100vw - 36px);
  }
}
.ft-site-root .site-header :is(.nav-more, .language-toggle) .disclosure-icon {
  transform-origin: center;
  translate: 0 0;
  transition: rotate 0.36s cubic-bezier(0.22, 0.68, 0.3, 1.12), translate 0.36s cubic-bezier(0.22, 0.68, 0.3, 1);
}
.ft-site-root .site-header :is(.nav-more, .language-toggle)[aria-expanded=true] .disclosure-icon {
  translate: 0 1px;
}
.ft-site-root .header-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 16px;
  white-space: nowrap;
}
.ft-site-root .header-actions > :is(.language-picker, .menu-toggle) {
  flex: 0 0 auto;
}
.ft-site-root .site-header .newsletter-toggle.btn-secondary {
  flex: 0 0 auto;
  width: auto;
  min-height: 38px;
  gap: 6px;
  padding: 7px 13px;
}
.ft-site-root .site-header .newsletter-toggle.btn-secondary .icon {
  font-size: 17px;
}
.ft-site-root .site-header.is-newsletter-compact .header-actions > .newsletter-toggle,
.ft-site-root .site-header.is-book-compact .header-actions > .header-book {
  flex-basis: 38px;
  width: 38px;
  min-width: 38px;
  padding: 0;
  gap: 0;
}
.ft-site-root .site-header.is-newsletter-compact .newsletter-toggle-label,
.ft-site-root .site-header.is-book-compact .header-book-label {
  display: none;
}
.ft-site-root .site-header.is-newsletter-hidden .header-actions > .newsletter-toggle,
.ft-site-root .site-header.is-book-hidden .header-actions > .header-book {
  display: none;
}
.ft-site-root .site-header .header-actions > :is(.newsletter-toggle, .header-book) {
  position: relative;
  transition: opacity 0.18s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, translate 0.2s ease;
}
.ft-site-root .site-header .header-actions > :is(.newsletter-toggle, .header-book)::after {
  content: "";
  position: absolute;
  inset: -3px;
}
.ft-site-root .site-header.are-mobile-actions-hidden .header-actions > :is(.newsletter-toggle, .header-book) {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.ft-site-root .language-label {
  font-size: 14px;
}
.ft-site-root .site-header .header-book {
  flex: 0 0 auto;
  gap: 6px;
  min-height: 38px;
  padding: 7px 16px;
  font-size: 14px;
}
.ft-site-root .site-header .header-book .booking-section-icon--ticket {
  font-size: 18px;
}
.ft-site-root .site-header .language-toggle {
  justify-content: center;
  min-width: 44px;
  gap: 8px;
  padding: 0;
}
.ft-site-root .site-header .language-toggle img {
  width: 36px;
  height: 36px;
  border-width: 1px;
}
.ft-site-root .menu-toggle {
  display: none;
  background: transparent;
  color: #fff;
  border: 0;
  padding: 10px 0;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
}
.ft-site-root .menu-bars {
  position: relative;
  display: block;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  border: 0;
  background: linear-gradient(currentColor, currentColor) center/100% 2px no-repeat;
  transition: background-size 0.18s ease;
}
.ft-site-root .menu-bars::before, .ft-site-root .menu-bars::after {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transform-origin: center;
  transition: transform 0.22s ease;
}
.ft-site-root .menu-bars::before {
  transform: translateY(-6px);
}
.ft-site-root .menu-bars::after {
  transform: translateY(6px);
}
.ft-site-root .menu-toggle[aria-expanded=true] .menu-bars {
  background-size: 0 2px;
}
.ft-site-root .menu-toggle[aria-expanded=true] .menu-bars::before {
  transform: rotate(45deg);
}
.ft-site-root .menu-toggle[aria-expanded=true] .menu-bars::after {
  transform: rotate(-45deg);
}
.ft-site-root .more-navigation {
  position: absolute;
  top: calc(100% + 12px);
  left: 0;
  min-width: 260px;
  padding: 12px;
  color: #062f48;
  background: #fff;
  border: 1px solid #c7d6e0;
  border-radius: 14px;
}
.ft-site-root .more-navigation a {
  display: block;
}
.ft-site-root .more-navigation a, .ft-site-root .language-navigation a {
  min-height: 44px;
  padding: 11px 14px;
  border-radius: 8px;
  color: #062f48;
  font-weight: 700;
  text-decoration: none;
  transition: background-color 0.18s ease, color 0.18s ease;
}
.ft-site-root .more-navigation a:hover, .ft-site-root .more-navigation a[aria-current], .ft-site-root .more-navigation a.is-current, .ft-site-root .language-navigation a:hover, .ft-site-root .language-navigation a[aria-current], .ft-site-root .language-navigation a.is-current {
  background: #eaf3fa;
}
.ft-site-root .language-navigation a {
  display: flex;
  align-items: center;
  gap: 13px;
}
.ft-site-root .language-navigation a img {
  width: 26px;
  height: 26px;
  object-fit: cover;
  border-radius: 50%;
}
.ft-site-root .more-navigation a:focus-visible {
  outline-color: #0678b4;
}
.ft-site-root .mobile-navigation {
  position: fixed;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  padding: 102px max(28px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(28px, env(safe-area-inset-left));
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  color: #fff;
  background: #062f48;
}
.ft-site-root .mobile-navigation a {
  text-decoration: none;
}
.ft-site-root .mobile-navigation-inner {
  display: flex;
  flex-direction: column;
  gap: 32px;
  width: min(920px, 100%);
  min-height: 100%;
  margin-inline: auto;
}
.ft-site-root .mobile-navigation-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(32px, 6vw, 80px);
}
.ft-site-root .mobile-navigation-primary {
  min-width: 0;
}
.ft-site-root .mobile-navigation .mobile-menu-book {
  display: flex;
  width: min(100%, 320px);
  min-height: 50px;
  margin: auto 0 0;
  white-space: normal;
}
.ft-site-root .mobile-primary-links {
  display: grid;
  gap: 2px;
}
.ft-site-root .mobile-primary-links > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 54px;
  padding: 10px 0;
  border-bottom: 1px solid #0678b4;
  color: #fff;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.35;
  overflow-wrap: break-word;
  transition: color 0.2s ease;
}
.ft-site-root .mobile-primary-links > a::after {
  content: "\e900";
  display: block;
  width: 12px;
  height: 12px;
  font: normal 12px/1 "icomoon";
  text-align: center;
  text-transform: none;
  letter-spacing: 0;
  rotate: -90deg;
  flex-shrink: 0;
  color: #fff078;
}
.ft-site-root .mobile-primary-links > a:hover, .ft-site-root .mobile-primary-links > a[aria-current] {
  color: #fff078;
}
.ft-site-root .mobile-discover {
  min-width: 0;
}
.ft-site-root .mobile-discover > strong {
  display: block;
  margin: 0 0 10px;
  color: #fff078;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}
.ft-site-root .mobile-discover > a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 9px 0;
  color: #fff;
  font-size: 17px;
  line-height: 1.5;
  overflow-wrap: break-word;
  transition: color 0.2s ease;
}
.ft-site-root .mobile-discover > a:hover, .ft-site-root .mobile-discover > a[aria-current], .ft-site-root .mobile-discover > a.is-current {
  color: #fff078;
}
.ft-site-root .mobile-navigation-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  margin-top: 0;
  padding-top: 20px;
  border-top: 1px solid #0678b4;
}
.ft-site-root .mobile-navigation-footer > .social-links {
  justify-self: start;
}
.ft-site-root .mobile-navigation-footer .mobile-legal-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 44px;
  color: #d4e2eb;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  overflow-wrap: break-word;
  transition: color 0.2s ease;
}
.ft-site-root .mobile-navigation-footer .mobile-legal-link:hover, .ft-site-root .mobile-navigation-footer .mobile-legal-link[aria-current] {
  color: #fff078;
}
.ft-site-root .mobile-navigation-footer .mobile-newsletter-toggle {
  justify-self: end;
  gap: 8px;
}
.ft-site-root .mobile-navigation-footer .mobile-newsletter-toggle .icon {
  font-size: 19px;
}
.ft-site-root .mobile-navigation-footer .mobile-newsletter-toggle:focus-visible {
  outline-color: #fff078;
}
.ft-site-root .site-header.is-mobile-menu-open {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 78px;
}
.ft-site-root .site-header.is-mobile-menu-open::before {
  content: "";
  position: absolute;
  z-index: 3;
  inset: 0;
  background: #062f48;
  pointer-events: none;
}
.ft-site-root .site-header .language-navigation {
  transform: translateX(var(--language-offset, 0px));
}
.ft-site-root .site-header a:focus-visible, .ft-site-root .site-header button:focus-visible, .ft-site-root .home-hero a:focus-visible, .ft-site-root .tour-hero a:focus-visible, .ft-site-root .site-footer a:focus-visible {
  outline-color: #fff078;
}
.ft-site-root .site-header .more-navigation a:focus-visible, .ft-site-root .site-header .language-navigation a:focus-visible {
  outline-color: #0678b4;
}
.ft-site-root .site-header .mobile-navigation a:focus-visible {
  outline: 2px solid #fff078;
  outline-offset: -2px;
}
@media (max-width: 1200px) {
  .ft-site-root .site-header .desktop-nav {
    display: none;
  }
  .ft-site-root .site-header .menu-toggle {
    display: flex;
    min-height: 44px;
  }
  .ft-site-root .site-header .header-actions {
    gap: 10px;
    margin-inline-start: auto;
  }
  .ft-site-root .site-header .header-book {
    padding-inline: 12px;
    font-size: 14px;
  }
  .ft-site-root .site-header .language-toggle .disclosure-icon {
    display: none;
  }
  .ft-site-root .site-header .language-navigation {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    left: auto;
    width: min(240px, 100vw - 36px);
    margin: 0;
    max-height: calc(100vh - 102px);
    max-height: calc(100dvh - 102px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}
@media (min-width: 1201px) {
  .ft-site-root .site-header .mobile-navigation {
    display: none;
  }
}
@media (min-width: 601px) and (max-width: 1200px) and (min-height: 501px) {
  .ft-site-root .site-header.has-home-logo:not(.is-logo-compact) .mobile-navigation {
    padding-top: calc(var(--home-logo-bottom, 78px) + 24px);
  }
}
@media (max-width: 700px) {
  .ft-site-root .mobile-navigation-footer {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 8px;
  }
  .ft-site-root .mobile-navigation-footer .mobile-legal-link {
    font-size: 12px;
  }
  .ft-site-root .mobile-navigation-footer .mobile-newsletter-toggle {
    width: 44px;
    padding: 0;
  }
  .ft-site-root .mobile-newsletter-label {
    display: none;
  }
}
@media (max-width: 600px) {
  .ft-site-root .site-header .header-actions {
    gap: 6px;
  }
  .ft-site-root .mobile-navigation {
    padding: 94px max(18px, env(safe-area-inset-right)) max(22px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));
  }
  .ft-site-root .mobile-navigation-inner {
    gap: 24px;
  }
  .ft-site-root .mobile-navigation-columns {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
  }
  .ft-site-root .mobile-navigation .mobile-menu-book {
    width: 100%;
  }
  .ft-site-root .mobile-primary-links > a {
    min-height: 46px;
    font-size: 21px;
    padding-block: 9px;
  }
  .ft-site-root .mobile-discover {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 18px;
  }
  .ft-site-root .mobile-discover > strong {
    grid-column: 1/-1;
    margin-bottom: 6px;
    font-size: 14px;
  }
  .ft-site-root .mobile-discover > a {
    font-size: 15px;
    padding-block: 8px;
  }
  .ft-site-root .mobile-navigation-footer {
    padding-top: 16px;
  }
}
@media (max-width: 1100px) {
  .ft-site-root .site-header .brand-logo {
    height: 46px;
  }
  .ft-site-root .site-header .header-inner {
    gap: 16px;
  }
}
@media (max-width: 600px), (max-width: 1200px) and (max-height: 500px) {
  .ft-site-root .site-header .brand-logo {
    height: 64px;
  }
  .ft-site-root .site-header .header-inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: 1fr;
    height: 78px;
    min-height: 78px;
    gap: 12px;
    padding-block: 0;
  }
  .ft-site-root .site-header .brand {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    padding-top: 8px;
  }
  .ft-site-root .site-header .header-actions {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }
  .ft-site-root .site-header.has-home-logo .brand-logo {
    transform: none;
  }
  .ft-site-root .site-header.has-home-logo.is-logo-ready .brand-logo {
    transition: none;
  }
}
@media (max-width: 360px) {
  .ft-site-root .site-header .brand-logo {
    height: 52px;
  }
}
@media (max-width: 340px) {
  .ft-site-root .mobile-navigation-footer {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .ft-site-root .mobile-navigation-footer .mobile-legal-link {
    grid-column: 1/-1;
    grid-row: 2;
  }
  .ft-site-root .mobile-navigation-footer .mobile-newsletter-toggle {
    grid-column: 2;
    grid-row: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .site-header.has-home-logo .brand-logo,
  .ft-site-root .site-header.has-home-logo.is-logo-ready .brand-logo,
  .ft-site-root .site-header :is(.nav-more, .language-toggle) .disclosure-icon,
  .ft-site-root .site-header .header-actions > :is(.newsletter-toggle, .header-book),
  .ft-site-root .menu-bars, .ft-site-root .menu-bars::before, .ft-site-root .menu-bars::after,
  .ft-site-root .mobile-primary-links > a, .ft-site-root .mobile-discover > a, .ft-site-root .mobile-navigation-footer .mobile-legal-link {
    transition: none;
  }
  .ft-site-root .site-header :is(.nav-more, .language-toggle)[aria-expanded=true] .disclosure-icon {
    translate: none;
  }
}
.ft-site-root .home-hero[data-home-motion] {
  position: relative;
  isolation: isolate;
  background-image: none;
  --home-figure-height: 720px;
  --home-figure-right: 55px;
  --hero-mountain-far-rise: 144px;
  --hero-mountain-near-rise: 170px;
}
@media (max-width: 800px) {
  .ft-site-root .home-hero[data-home-motion] {
    --hero-mountain-far-rise: 72px;
    --hero-mountain-near-rise: 72px;
  }
}
.ft-site-root .home-hero[data-home-motion] .home-landscape {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  mask-image: linear-gradient(#000 calc(100% - 32px), transparent);
}
.ft-site-root .home-hero[data-home-motion] .home-mountain-depth {
  position: absolute;
  inset: 0;
}
@media (min-width: 1001px) {
  .ft-site-root .home-hero[data-home-motion] .home-mountain-depth {
    height: 610px;
  }
}
.ft-site-root .home-hero[data-home-motion] .home-mountain--far {
  position: absolute;
  display: block;
  max-width: none;
  height: auto;
  right: -9%;
  bottom: min(var(--hero-mountain-far-rise) - 1vw, 100% - 28.875vw - 24px);
  width: 126%;
}
@media (max-width: 800px) {
  .ft-site-root .home-hero[data-home-motion] .home-mountain--far {
    right: 2%;
    bottom: calc(var(--hero-mountain-far-rise) - 28px);
    width: 205%;
  }
}
@media (max-width: 600px) {
  .ft-site-root .home-hero[data-home-motion] .home-mountain--far {
    width: 245%;
    right: -12%;
    bottom: calc(var(--hero-mountain-far-rise) - 8.932291667vw);
  }
}
.ft-site-root .home-hero[data-home-motion] .home-mountain--far {
  opacity: 0.38;
}
.ft-site-root .home-hero[data-home-motion] .home-mountain--near {
  position: absolute;
  display: block;
  max-width: none;
  height: auto;
  right: -15%;
  bottom: min(var(--hero-mountain-near-rise) - 4.2vw, 100% - 27.5vw - 112px);
  width: 120%;
}
@media (max-width: 800px) {
  .ft-site-root .home-hero[data-home-motion] .home-mountain--near {
    right: -33%;
    bottom: calc(var(--hero-mountain-near-rise) - 38px);
    width: 185%;
  }
}
@media (max-width: 600px) {
  .ft-site-root .home-hero[data-home-motion] .home-mountain--near {
    width: 225%;
    right: -41%;
    bottom: calc(var(--hero-mountain-near-rise) - 8.203125vw - 12px);
  }
}
.ft-site-root .home-hero[data-home-motion] .home-mountain--near {
  opacity: 0.85;
}
.ft-site-root .home-hero[data-home-motion] .hero-art {
  pointer-events: none;
}
.ft-site-root .home-hero[data-home-motion] .home-figure-stage {
  position: absolute;
  top: 6px;
  right: var(--home-figure-right);
  height: var(--home-figure-height);
  width: calc(var(--home-figure-height) * 800 / 1581);
}
.ft-site-root .home-hero[data-home-motion] .home-figure-depth {
  position: relative;
  z-index: 2;
}
.ft-site-root .home-hero[data-home-motion] .home-figure-depth img {
  position: static;
  display: block;
  height: var(--home-figure-height);
  width: 100%;
  max-width: none;
}
.ft-site-root .home-hero[data-home-motion] .home-wave-depth {
  position: absolute;
  z-index: 0;
  inset: 0;
}
.ft-site-root .home-hero[data-home-motion] .home-brand-waves {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.ft-site-root .home-hero[data-home-motion] .home-brand-arc {
  opacity: 0.25;
}
.ft-site-root .home-hero[data-home-motion].home-intro-pending [data-home-copy], .ft-site-root .home-hero[data-home-motion].home-intro-pending [data-home-entry], .ft-site-root .home-hero[data-home-motion].home-intro-pending .home-wave-depth {
  opacity: 0;
}
@media (max-width: 1100px) {
  .ft-site-root .home-hero[data-home-motion] {
    --home-figure-right: 20px;
  }
  .ft-site-root .home-hero[data-home-motion] .home-brand-waves {
    transform: translate(24px, 0) scale(0.8);
    transform-origin: 37.5% 55.7%;
  }
}
@media (max-width: 900px) {
  .ft-site-root .home-hero[data-home-motion] {
    --home-figure-height: 620px;
    --home-figure-right: -25px;
  }
}
@media (max-width: 800px) {
  .ft-site-root .home-hero[data-home-motion] .home-mountain--far {
    opacity: 0.4;
  }
  .ft-site-root .home-hero[data-home-motion] .home-mountain--near {
    opacity: 0.9;
  }
}
@media (max-width: 600px) {
  .ft-site-root .home-hero[data-home-motion] {
    --home-figure-height: 310px;
    --home-figure-right: -18px;
  }
  .ft-site-root .home-hero[data-home-motion] .hero-art {
    bottom: auto;
    right: 0;
  }
  .ft-site-root .home-hero[data-home-motion] .home-brand-waves {
    transform: translate(-14px, -18px) scale(0.76);
  }
}
@media (max-width: 400px) {
  .ft-site-root .home-hero[data-home-motion] .home-brand-waves {
    transform: translate(-10px, -18px) scale(0.73);
  }
}
@media (max-width: 360px) {
  .ft-site-root .home-hero[data-home-motion] {
    --home-figure-height: 280px;
    --home-figure-right: -14px;
  }
  .ft-site-root .home-hero[data-home-motion] .home-brand-waves {
    transform: translate(-10px, -18px) scale(0.7);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .home-hero[data-home-motion].home-intro-pending [data-home-copy], .ft-site-root .home-hero[data-home-motion].home-intro-pending [data-home-entry], .ft-site-root .home-hero[data-home-motion].home-intro-pending .home-wave-depth {
    opacity: 1;
  }
  .ft-site-root .home-hero[data-home-motion].home-intro-pending .home-mountain--far {
    opacity: 0.38;
  }
  .ft-site-root .home-hero[data-home-motion].home-intro-pending .home-mountain--near {
    opacity: 0.85;
  }
}
.ft-site-root .home-hero {
  --mountain-tail: 3.645833333vw;
  color: #fff;
  background: #062f48 url("/webimages/habillage/hero-mountains.svg") no-repeat;
  background-position: right calc(100% + var(--mountain-tail));
  background-size: 100% auto;
  overflow: hidden;
}
.ft-site-root .hero-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  min-height: 610px;
  align-items: center;
  gap: 36px;
}
.ft-site-root .hero-copy {
  padding-block: 88px 48px;
  position: relative;
  z-index: 1;
}
.ft-site-root .hero-copy h1 {
  max-width: 650px;
}
.ft-site-root .hero-copy h1 span {
  color: #fff078;
}
.ft-site-root .hero-copy p {
  max-width: 525px;
  margin-top: 25px;
  font-size: 19px;
  line-height: 1.6;
}
.ft-site-root .hero-copy .btn {
  margin-top: 32px;
}
.ft-site-root .hero-copy .text-link {
  margin-left: 22px;
  font-size: 15px;
}
.ft-site-root .hero-art {
  position: relative;
  align-self: start;
  height: 610px;
}
.ft-site-root .hero-art img {
  position: absolute;
  height: 720px;
  width: auto;
  max-width: none;
  right: 55px;
  top: 6px;
}
.ft-site-root .hero-copy .eyebrow {
  font-size: 14px;
  margin: 0 0 15px;
  color: #c8ddea;
}
.ft-site-root .hero-socials {
  margin-top: 24px;
}
.ft-site-root .hero-socials .social-links {
  --social-ink: #fff;
  --social-hover-ink: #062f48;
  --social-hover-surface: #fff;
  --social-focus: #fff078;
}
.ft-site-root .preview-page .home-hero .hero-actions .btn-secondary:hover,
.ft-site-root .preview-page .home-hero .hero-actions .btn-secondary:focus-visible {
  color: #062f48;
  background: #fff078;
  border-color: #fff078;
}
.ft-site-root .tour-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
.ft-site-root .tour-card {
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
}
.ft-site-root .tour-card-image {
  width: 100%;
  aspect-ratio: 1.7;
  overflow: hidden;
}
.ft-site-root .tour-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ft-site-root .tour-card-body {
  padding: 27px 28px 28px;
}
.ft-site-root .card-bottom {
  margin-top: 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.ft-site-root .price {
  font-size: 26px;
  line-height: 1.2;
  font-weight: 700;
  color: #062f48;
}
.ft-site-root .price span {
  display: block;
  margin-top: 5px;
  font-size: 13px;
  font-weight: 400;
  color: #526674;
}
.ft-site-root .home-events {
  --experience-card-gap: 22px;
}
.ft-site-root .evening-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--experience-card-gap, 22px);
}
.ft-site-root .experience-card {
  display: flex;
  flex-direction: column;
  border-radius: 20px;
  overflow: hidden;
}
.ft-site-root .experience-card-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.ft-site-root .experience-card-body h3 {
  font-size: 23px;
}
.ft-site-root .experience-card-body .text-link {
  align-self: flex-start;
  margin-top: auto;
  padding-top: 24px;
  font-size: 15px;
}
.ft-site-root .gift-strip {
  background: #fff;
}
.ft-site-root .gift-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  align-items: center;
  gap: 64px;
  padding-block: 48px;
}
.ft-site-root .gift-grid p {
  margin-top: 16px;
}
.ft-site-root .gift-grid .btn {
  margin-top: 24px;
}
.ft-site-root .group-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
.ft-site-root .group-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border-radius: 18px;
}
.ft-site-root .group-card-image {
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 18px 18px 0 0;
}
.ft-site-root .group-card-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1.85;
  object-fit: cover;
}
.ft-site-root .group-card-body h3 {
  font-size: 23px;
}
.ft-site-root .group-card-body p {
  font-size: 16px;
  margin-top: 12px;
}
.ft-site-root .discovery-panel {
  padding-top: 0;
}
.ft-site-root .discovery-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
  background: #eaf3fa;
  border-radius: 24px;
  overflow: hidden;
  padding: 45px;
}
.ft-site-root .discovery-copy p {
  margin-top: 18px;
}
.ft-site-root .tour-hero--album .tour-hero-ridge img {
  transform-origin: 65% 100%;
}
.ft-site-root .tour-hero--album .tour-album-feature {
  transform-origin: 50% 65%;
}
.ft-site-root .tour-hero--album .tour-hero-statue > img, .ft-site-root .tour-hero--album .tour-hero-statue > video {
  transform-origin: 55% 82%;
}
.ft-site-root .tour-hero--album .tour-hero-brand-arc {
  --tour-hero-arc-delay: 0ms;
  --tour-hero-arc-length: 671;
  opacity: var(--tour-hero-arc-opacity, 0.4);
  stroke-dasharray: var(--tour-hero-arc-length);
  stroke-dashoffset: 0;
  transform-box: fill-box;
  transform-origin: center;
}
.ft-site-root .tour-hero--album .tour-hero-brand-arc[data-ft-tour-hero-arc=middle] {
  --tour-hero-arc-delay: 160ms;
  --tour-hero-arc-length: 998;
}
.ft-site-root .tour-hero--album .tour-hero-brand-arc[data-ft-tour-hero-arc=outer] {
  --tour-hero-arc-delay: 320ms;
  --tour-hero-arc-length: 1014;
}
@media (prefers-reduced-motion: no-preference) {
  .ft-site-root .tour-hero--album.is-scene-pending .tour-hero-ridge img, .ft-site-root .tour-hero--album.is-scene-pending .tour-album-feature, .ft-site-root .tour-hero--album.is-scene-pending .tour-hero-statue,
  .ft-site-root .tour-hero--album.is-scene-pending .tour-album-thumbnail, .ft-site-root .tour-hero--album.is-scene-pending .tour-hero-brand-arc {
    opacity: 0;
  }
  .ft-site-root .tour-hero--album.is-scene-pending.is-photo-ready .tour-album-feature {
    opacity: 1;
  }
  .ft-site-root .tour-hero--album.is-scene-ready .tour-hero-ridge--far img {
    animation: ft-tour-hero-far-entry 1400ms cubic-bezier(0.16, 1, 0.3, 1) both;
  }
  .ft-site-root .tour-hero--album.is-scene-ready .tour-hero-ridge--near img {
    animation: ft-tour-hero-near-entry 1300ms 90ms cubic-bezier(0.16, 1, 0.3, 1) both;
  }
  .ft-site-root .tour-hero--album.is-scene-ready .tour-album-feature {
    animation: ft-tour-hero-photo-entry 820ms cubic-bezier(0.16, 1, 0.3, 1) both;
  }
  .ft-site-root .tour-hero--album.is-scene-ready .tour-hero-statue {
    animation: ft-tour-hero-figure-entry 900ms 400ms cubic-bezier(0.16, 1, 0.3, 1) both;
  }
  .ft-site-root .tour-hero--album.is-scene-ready .tour-hero-statue > img, .ft-site-root .tour-hero--album.is-scene-ready .tour-hero-statue > video {
    animation: ft-tour-hero-figure-lift 900ms 400ms cubic-bezier(0.16, 1, 0.3, 1) both;
  }
  .ft-site-root .tour-hero--album.is-scene-ready .tour-hero-brand-arc {
    animation: ft-tour-hero-wave-entry 1000ms calc(160ms + var(--tour-hero-arc-delay)) cubic-bezier(0.16, 0.75, 0.25, 1) both, ft-tour-hero-wave-breathe 4200ms calc(1350ms + var(--tour-hero-arc-delay)) ease-in-out infinite;
  }
  .ft-site-root .tour-hero--album.is-scene-ready .tour-album-thumbnail {
    animation: ft-tour-hero-print-entry 380ms 180ms linear both;
  }
  .ft-site-root .tour-hero--album.is-scene-ready .tour-album-thumbnail:nth-child(2) {
    animation-delay: 245ms;
  }
  .ft-site-root .tour-hero--album.is-scene-ready .tour-album-thumbnail:nth-child(3) {
    animation-delay: 310ms;
  }
  .ft-site-root .tour-hero--album.is-scene-ready .tour-album-thumbnail:nth-child(4) {
    animation-delay: 375ms;
  }
  .ft-site-root .tour-hero--album.is-scene-ready.is-photo-ready:not(.has-scene-replayed) .tour-album-feature {
    animation: none;
  }
  .ft-site-root .tour-hero--album.has-scene-replayed .tour-hero-ridge img, .ft-site-root .tour-hero--album.has-scene-replayed .tour-album-feature,
  .ft-site-root .tour-hero--album.has-scene-replayed .tour-album-thumbnail {
    animation: none;
  }
  .ft-site-root .tour-hero--album.is-scene-replaying .tour-album-feature {
    animation: ft-tour-hero-photo-cycle 850ms cubic-bezier(0.22, 0.61, 0.36, 1) both;
  }
  .ft-site-root .tour-hero--album.is-scene-suspended .tour-hero-ridge img, .ft-site-root .tour-hero--album.is-scene-suspended .tour-album-feature, .ft-site-root .tour-hero--album.is-scene-suspended .tour-hero-statue,
  .ft-site-root .tour-hero--album.is-scene-suspended .tour-album-thumbnail, .ft-site-root .tour-hero--album.is-scene-suspended .tour-hero-brand-arc,
  .ft-site-root .tour-hero--album.is-scene-suspended .tour-hero-statue > img, .ft-site-root .tour-hero--album.is-scene-suspended .tour-hero-statue > video {
    animation-play-state: paused;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .tour-hero--album.is-scene-pending .tour-hero-ridge img, .ft-site-root .tour-hero--album.is-scene-pending .tour-album-feature, .ft-site-root .tour-hero--album.is-scene-pending .tour-hero-statue,
  .ft-site-root .tour-hero--album.is-scene-pending .tour-album-thumbnail, .ft-site-root .tour-hero--album.is-scene-pending .tour-hero-brand-arc,
  .ft-site-root .tour-hero--album.is-scene-pending .tour-hero-statue > img, .ft-site-root .tour-hero--album.is-scene-pending .tour-hero-statue > video, .ft-site-root .tour-hero--album.is-scene-ready .tour-hero-ridge img, .ft-site-root .tour-hero--album.is-scene-ready .tour-album-feature, .ft-site-root .tour-hero--album.is-scene-ready .tour-hero-statue,
  .ft-site-root .tour-hero--album.is-scene-ready .tour-album-thumbnail, .ft-site-root .tour-hero--album.is-scene-ready .tour-hero-brand-arc,
  .ft-site-root .tour-hero--album.is-scene-ready .tour-hero-statue > img, .ft-site-root .tour-hero--album.is-scene-ready .tour-hero-statue > video {
    animation: none;
  }
  .ft-site-root .tour-hero--album.is-scene-pending .tour-hero-ridge img, .ft-site-root .tour-hero--album.is-scene-pending .tour-album-feature, .ft-site-root .tour-hero--album.is-scene-pending .tour-album-thumbnail, .ft-site-root .tour-hero--album.is-scene-ready .tour-hero-ridge img, .ft-site-root .tour-hero--album.is-scene-ready .tour-album-feature, .ft-site-root .tour-hero--album.is-scene-ready .tour-album-thumbnail {
    opacity: 1;
  }
  .ft-site-root .tour-hero--album.is-scene-pending .tour-hero-statue, .ft-site-root .tour-hero--album.is-scene-ready .tour-hero-statue {
    opacity: 0.94;
    transform: rotate(4deg);
  }
  .ft-site-root .tour-hero--album.is-scene-pending .tour-hero-brand-arc, .ft-site-root .tour-hero--album.is-scene-ready .tour-hero-brand-arc {
    opacity: var(--tour-hero-arc-opacity, 0.4);
  }
}
@keyframes ft-tour-hero-far-entry {
  from {
    opacity: 0;
    transform: translate3d(0, 42px, 0) scale(1.035);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes ft-tour-hero-near-entry {
  from {
    opacity: 0;
    transform: translate3d(0, 66px, 0) scale(1.045);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes ft-tour-hero-photo-entry {
  from {
    opacity: 0;
    translate: -24px 20px;
    rotate: -4deg;
    scale: 0.9;
  }
  66% {
    opacity: 1;
    translate: 2px -3px;
    rotate: 0.45deg;
    scale: 1.012;
  }
  to {
    opacity: 1;
    translate: 0 0;
    rotate: 0deg;
    scale: 1;
  }
}
@keyframes ft-tour-hero-figure-entry {
  from {
    opacity: 0;
  }
  24% {
    opacity: 0.82;
  }
  55% {
    opacity: 0.94;
  }
  to {
    opacity: 0.94;
  }
}
@keyframes ft-tour-hero-figure-lift {
  from {
    transform: translateY(18%) rotate(-1.5deg) scale(0.98);
  }
  76% {
    transform: translateY(1px) rotate(0.1deg) scale(1);
  }
  to {
    transform: none;
  }
}
@keyframes ft-tour-hero-wave-entry {
  from {
    opacity: 0;
    stroke-dashoffset: var(--tour-hero-arc-length);
    transform: translate(-12px, 10px) scale(0.82) rotate(-7deg);
  }
  68% {
    opacity: var(--tour-hero-arc-opacity, 0.4);
    stroke-dashoffset: calc(var(--tour-hero-arc-length) * 0.08);
    transform: translate(1px, -2px) scale(1.035) rotate(1deg);
  }
  to {
    opacity: var(--tour-hero-arc-opacity, 0.4);
    stroke-dashoffset: 0;
    transform: none;
  }
}
@keyframes ft-tour-hero-wave-breathe {
  from, to {
    opacity: var(--tour-hero-arc-opacity, 0.4);
    transform: scale(1);
  }
  50% {
    opacity: calc(var(--tour-hero-arc-opacity, 0.4) * 0.714285714);
    transform: scale(1.045);
  }
}
@keyframes ft-tour-hero-print-entry {
  from {
    opacity: 0;
    translate: 0 0;
    animation-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  40% {
    opacity: 1;
    translate: 0 -8px;
    animation-timing-function: ease-in;
  }
  75% {
    opacity: 1;
    translate: 0 2px;
    animation-timing-function: ease-out;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes ft-tour-hero-photo-cycle {
  from, to {
    opacity: 1;
    translate: 0 0;
    rotate: 0deg;
    scale: 1;
  }
  28% {
    opacity: 0.84;
    translate: -4px 3px;
    rotate: -0.35deg;
    scale: 0.992;
  }
}
.ft-site-root .tour-hero {
  position: relative;
  padding: 46px 0 58px;
  color: #fff;
  background: #062f48;
}
.ft-site-root .tour-hero-grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 65px;
  align-items: center;
}
.ft-site-root .breadcrumb {
  font-size: 13px;
  color: #c8ddea;
  margin-bottom: 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
}
.ft-site-root .breadcrumb a {
  color: #fff;
  font-weight: 700;
}
.ft-site-root .tour-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 21px;
  padding: 0;
  list-style: none;
  margin: 22px 0 0;
  font-size: 14px;
}
.ft-site-root .tour-facts li::before {
  content: "✓";
  padding-right: 7px;
  color: #062f48;
}
.ft-site-root .tour-hero .tour-facts li::before {
  color: #fff078;
}
.ft-site-root .preview-tour > main > #cadeaux {
  --band-surface: #eaf3fa;
  background: #eaf3fa;
}
.ft-site-root .preview-tour #experiences-peter {
  --band-surface: #fff;
  background: #fff;
}
.ft-site-root .preview-tour #experiences-peter .experience-section-heading {
  --experience-panel-surface: #eaf3fa;
}
.ft-site-root .preview-page.preview-tour > main > .tour-hero--album {
  --band-surface: #062f48;
}
.ft-site-root .tour-hero--album {
  --hero-mountain-far-rise: 144px;
  --hero-mountain-near-rise: 170px;
}
@media (max-width: 800px) {
  .ft-site-root .tour-hero--album {
    --hero-mountain-far-rise: 72px;
    --hero-mountain-near-rise: 72px;
  }
}
.ft-site-root .tour-hero--album {
  --link-color: #fff;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
  background: #062f48;
}
.ft-site-root .tour-hero--album .tour-hero-landscape {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  mask-image: linear-gradient(#000 calc(100% - 32px), transparent);
}
.ft-site-root .tour-hero--album .tour-hero-ridge {
  position: absolute;
  inset: 0;
}
@media (min-width: 1001px) {
  .ft-site-root .tour-hero--album .tour-hero-ridge {
    height: 610px;
  }
}
.ft-site-root .tour-hero--album .tour-hero-ridge--far {
  opacity: 0.38;
}
.ft-site-root .tour-hero--album .tour-hero-ridge--far > img {
  position: absolute;
  display: block;
  max-width: none;
  height: auto;
  right: -9%;
  bottom: min(var(--hero-mountain-far-rise) - 1vw, 100% - 28.875vw - 24px);
  width: 126%;
}
@media (max-width: 800px) {
  .ft-site-root .tour-hero--album .tour-hero-ridge--far > img {
    right: 2%;
    bottom: calc(var(--hero-mountain-far-rise) - 28px);
    width: 205%;
  }
}
@media (max-width: 600px) {
  .ft-site-root .tour-hero--album .tour-hero-ridge--far > img {
    width: 245%;
    right: -12%;
    bottom: calc(var(--hero-mountain-far-rise) - 8.932291667vw);
  }
}
.ft-site-root .tour-hero--album .tour-hero-ridge--near {
  opacity: 0.85;
}
.ft-site-root .tour-hero--album .tour-hero-ridge--near > img {
  position: absolute;
  display: block;
  max-width: none;
  height: auto;
  right: -15%;
  bottom: min(var(--hero-mountain-near-rise) - 4.2vw, 100% - 27.5vw - 112px);
  width: 120%;
}
@media (max-width: 800px) {
  .ft-site-root .tour-hero--album .tour-hero-ridge--near > img {
    right: -33%;
    bottom: calc(var(--hero-mountain-near-rise) - 38px);
    width: 185%;
  }
}
@media (max-width: 600px) {
  .ft-site-root .tour-hero--album .tour-hero-ridge--near > img {
    width: 225%;
    right: -41%;
    bottom: calc(var(--hero-mountain-near-rise) - 8.203125vw - 12px);
  }
}
@media (max-width: 800px) {
  .ft-site-root .tour-hero--album .tour-hero-ridge--far {
    opacity: 0.4;
  }
  .ft-site-root .tour-hero--album .tour-hero-ridge--near {
    opacity: 0.9;
  }
}
.ft-site-root .tour-hero--album .tour-hero-visual {
  position: relative;
  align-self: center;
  min-width: 0;
  padding: 0 24px 8px 0;
  isolation: isolate;
  scroll-margin-top: 160px;
}
.ft-site-root .tour-hero--album .tour-hero-loader {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 5;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #c8ddea;
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
  pointer-events: none;
}
.ft-site-root .tour-hero--album .tour-hero-loader .booking-loader-spinner {
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  border-width: 2px;
  border-color: rgba(200, 221, 234, 0.22);
  border-top-color: #c8ddea;
}
.ft-site-root .tour-hero--album .tour-hero-loader[hidden] {
  display: none;
}
.ft-site-root .tour-hero--album.is-scene-loading .tour-hero-loader:not([hidden]) {
  display: flex;
}
.ft-site-root .tour-hero--album.is-scene-loading .tour-hero-image, .ft-site-root .tour-hero--album.is-scene-loading .tour-hero-statue, .ft-site-root .tour-hero--album.is-scene-loading .tour-hero-waves {
  opacity: 0;
}
.ft-site-root .tour-hero--album.is-scene-loading.is-photo-ready .tour-hero-image {
  opacity: 1;
}
.ft-site-root .tour-hero--album .tour-hero-waves {
  --tour-hero-arc-opacity: .42;
  display: block;
  position: absolute;
  z-index: 0;
  width: 144px;
  height: 241.1162790698px;
  max-width: none;
  left: calc(-238px + var(--hero-wave-offset, 0px));
  top: -96px;
  overflow: visible;
  transform: rotate(40deg);
  transform-origin: 100% 100%;
  pointer-events: none;
}
@media (max-width: 1000px) {
  .ft-site-root .tour-hero--album .tour-hero-waves {
    left: calc(-178px + var(--hero-wave-offset, 0px));
    top: -52px;
  }
}
@media (max-width: 800px) {
  .ft-site-root .tour-hero--album .tour-hero-waves {
    width: 126px;
    height: 210.976744186px;
    left: calc(-134px + var(--hero-wave-offset, 0px));
  }
}
@media (max-width: 600px) {
  .ft-site-root .tour-hero--album .tour-hero-waves {
    width: 90px;
    height: 150.6976744186px;
    left: calc(-80px + var(--hero-wave-offset, 0px));
    top: -38px;
  }
}
.ft-site-root .tour-hero--album .tour-hero-brand-waves {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.ft-site-root .tour-hero--album .tour-hero-statue {
  --tour-hero-statue-frame-ratio: 1.052777778;
  position: absolute;
  z-index: 3;
  right: -20px;
  bottom: 22px;
  width: calc(35% * var(--tour-hero-statue-frame-ratio));
  max-width: calc(205px * var(--tour-hero-statue-frame-ratio));
  opacity: 0.94;
  transform: rotate(4deg);
  transform-origin: 55% 82%;
  pointer-events: none;
  overflow: hidden;
  filter: drop-shadow(0 5px 8px rgba(0, 20, 35, 0.12));
}
.ft-site-root .tour-hero--album .tour-hero-statue img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}
.ft-site-root .tour-hero--album .tour-hero-statue .tour-hero-statue-video {
  display: block;
  opacity: 0;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  border-radius: 0;
}
.ft-site-root .tour-hero--album .tour-hero-statue .tour-hero-statue-video[hidden] {
  display: none;
}
.ft-site-root .tour-hero--album .tour-hero-statue.is-video-ready .tour-hero-statue-image {
  opacity: 0;
}
.ft-site-root .tour-hero--album .tour-hero-statue.is-video-ready .tour-hero-statue-video {
  opacity: 1;
}
.ft-site-root .tour-hero--album .tour-gallery.tour-gallery--album {
  position: relative;
  z-index: auto;
  display: block;
  margin: 0;
  padding: 0 8px;
}
.ft-site-root .tour-hero--album .tour-gallery--album.is-enhanced.is-ready .tour-gallery-slide {
  transition: opacity 700ms cubic-bezier(0.22, 0.61, 0.36, 1), visibility 0s 700ms;
}
.ft-site-root .tour-hero--album .tour-gallery--album.is-enhanced.is-ready .tour-gallery-slide.is-active {
  transition-delay: 0s;
}
.ft-site-root .tour-hero--album .tour-album-feature {
  position: relative;
  z-index: 2;
  min-width: 0;
  padding: 3px;
  border: 1px solid #c7d6e0;
  border-radius: 20px;
  background: #eaf3fa;
  --hero-photo-transform: translateX(var(--hero-photo-offset, -50px)) rotate(-4deg);
  transform: var(--hero-photo-transform);
  transform-origin: 50% 65%;
}
@media (max-width: 1000px) {
  .ft-site-root .tour-hero--album .tour-album-feature {
    --hero-photo-transform: translateX(var(--hero-photo-offset, -26px)) rotate(-4deg);
  }
}
@media (max-width: 600px) {
  .ft-site-root .tour-hero--album .tour-album-feature {
    --hero-photo-transform: translateX(var(--hero-photo-offset, -15px)) rotate(-3deg);
  }
}
@media (max-width: 360px) {
  .ft-site-root .tour-hero--album .tour-album-feature {
    --hero-photo-transform: translateX(var(--hero-photo-offset, -11px)) rotate(-3deg);
  }
}
.ft-site-root .tour-hero--album .tour-album-feature {
  box-shadow: 0 14px 32px rgba(0, 18, 31, 0.18);
}
.ft-site-root .tour-hero--album .tour-gallery--album .tour-gallery-viewport {
  aspect-ratio: 3/2;
  border-radius: 16px;
}
.ft-site-root .tour-hero--album .tour-album-thumbnails {
  display: grid;
  position: relative;
  z-index: 4;
  grid-template-columns: 1.18fr 0.86fr 1.14fr 1.15fr;
  gap: 12px 10px;
  width: calc(100% + 28px);
  margin: -14px 0 0;
  padding: 0;
  translate: 32px 10px;
  align-items: end;
}
.ft-site-root .tour-hero--album .tour-album-thumbnails[hidden] {
  display: none;
}
.ft-site-root .tour-hero--album .tour-album-thumbnail {
  position: relative;
  top: 0;
  min-width: 0;
  min-height: 44px;
  margin: 0;
  padding: 1px;
  border: 1px solid #c7d6e0;
  border-radius: 8px;
  background: #fff;
  color: #062f48;
  cursor: pointer;
  transition: top 180ms ease-out;
  box-shadow: 0 7px 16px rgba(0, 0, 0, 0.12);
}
.ft-site-root .tour-hero--album .tour-album-thumbnail:nth-child(1) {
  left: -55px;
  transform: rotate(-7deg) translateY(-6px) scale(1.035);
}
.ft-site-root .tour-hero--album .tour-album-thumbnail:nth-child(2) {
  left: -35px;
  transform: rotate(3deg) translateY(-9px) scale(1.32825);
}
.ft-site-root .tour-hero--album .tour-album-thumbnail:nth-child(3) {
  left: -5px;
  transform: rotate(-8deg) translateY(-9px) scale(1.05);
}
.ft-site-root .tour-hero--album .tour-album-thumbnail:nth-child(4) {
  transform: rotate(3deg) translateY(-3px);
}
.ft-site-root .tour-hero--album .tour-album-thumbnail img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1290/860;
  object-fit: cover;
  border-radius: 6px;
}
.ft-site-root .tour-hero--album .tour-album-thumbnail[aria-pressed=true] {
  border-color: #fff078;
  background: #fff078;
}
.ft-site-root .tour-hero--album .tour-album-thumbnail:hover {
  border-color: #fff078;
}
.ft-site-root .tour-hero--album .tour-album-thumbnail:focus-visible {
  outline: 2px solid #fff078;
  outline-offset: 3px;
}
@media (hover: hover) and (pointer: fine) {
  .ft-site-root .tour-hero--album .tour-album-thumbnail:hover {
    top: -6px;
  }
}
@media (max-width: 1000px) {
  .ft-site-root .tour-hero--album .tour-hero-visual {
    width: 100%;
    max-width: 620px;
    margin-inline: auto;
    padding-right: 24px;
    padding-top: 20px;
  }
  .ft-site-root .tour-hero--album .tour-hero-statue {
    right: -14px;
    width: calc(33% * var(--tour-hero-statue-frame-ratio));
    max-width: calc(218px * var(--tour-hero-statue-frame-ratio));
    bottom: 18px;
  }
}
@media (max-width: 600px) {
  .ft-site-root .tour-hero--album .tour-hero-visual {
    padding: 18px 20px 0 12px;
  }
  .ft-site-root .tour-hero--album .tour-hero-statue {
    width: calc(35% * var(--tour-hero-statue-frame-ratio));
    right: -4px;
    bottom: 14px;
  }
  .ft-site-root .tour-hero--album .tour-gallery.tour-gallery--album {
    padding: 0 4px;
  }
  .ft-site-root .tour-hero--album .tour-album-feature {
    padding: 2px;
    border-radius: 16px;
  }
  .ft-site-root .tour-hero--album .tour-gallery--album .tour-gallery-viewport {
    border-radius: 13px;
  }
  .ft-site-root .tour-hero--album .tour-album-thumbnails {
    width: calc(100% + 10px);
    margin-top: -8px;
    gap: 7px;
    translate: 16px 10px;
  }
  .ft-site-root .tour-hero--album .tour-album-thumbnail:nth-child(1) {
    left: -10px;
    transform: rotate(-6deg) translateY(-5px) scale(1.035);
  }
  .ft-site-root .tour-hero--album .tour-album-thumbnail:nth-child(2) {
    transform: rotate(3deg) translateY(-13px) scale(1.32825);
  }
  .ft-site-root .tour-hero--album .tour-album-thumbnail:nth-child(3) {
    transform: rotate(-7deg) translateY(-6px) scale(1.05);
  }
  .ft-site-root .tour-hero--album .tour-album-thumbnail:nth-child(4) {
    transform: rotate(3deg) translateY(-2px);
  }
  .ft-site-root .tour-hero--album .tour-album-thumbnail img {
    border-radius: 5px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .tour-hero--album .tour-gallery--album.is-enhanced.is-ready .tour-gallery-slide {
    transition: none;
  }
  .ft-site-root .tour-hero--album .tour-album-thumbnail {
    transition: none;
  }
}
.ft-site-root .tour-intro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  margin-bottom: 38px;
}
.ft-site-root .tour-intro-grid p {
  color: #526674;
}
.ft-site-root .tour-comparison {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
.ft-site-root .route-option {
  padding: 28px;
  background: #eaf3fa;
  border: 1px solid #dbe7ef;
  border-radius: 20px;
}
.ft-site-root .route-top {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  align-items: start;
}
.ft-site-root .route-top .price {
  text-align: right;
  flex-shrink: 0;
}
.ft-site-root .route-top h3 {
  max-width: 230px;
}
.ft-site-root .route-details {
  margin: 23px 0 22px;
}
.ft-site-root .route-details div {
  display: grid;
  grid-template-columns: 85px 1fr;
  gap: 16px;
  margin-top: 8px;
}
.ft-site-root .route-details dt {
  font-weight: 700;
  font-size: 15px;
}
.ft-site-root .route-details dd {
  margin: 0;
  font-size: 15px;
}
.ft-site-root .route-option > p {
  font-size: 16px;
}
.ft-site-root .route-option .btn {
  margin-top: 24px;
}
.ft-site-root .mrc-banner {
  display: flex;
  gap: 30px;
  align-items: center;
  padding: 30px 38px;
  background: #fbf9e7;
  border-radius: 20px;
  margin-top: 40px;
}
.ft-site-root .mrc-banner img {
  width: 120px;
  height: auto;
  border-radius: 7px;
  flex-shrink: 0;
}
.ft-site-root .mrc-banner h2 {
  font-size: 26px;
}
.ft-site-root .mrc-banner p {
  margin-top: 10px;
  max-width: 820px;
  font-size: 16px;
}
.ft-site-root .mrc-banner .text-link {
  font-size: 15px;
  margin-top: 13px;
}
.ft-site-root .booking-introduction {
  padding-bottom: 30px;
}
.ft-site-root .booking-introduction p {
  margin-top: 12px;
  color: #526674;
}
.ft-site-root .reservation-intro {
  background: #eaf3fa;
  padding: 42px 0 45px;
}
.ft-site-root .reservation-intro h1 {
  font-size: clamp(36px, 3.2vw, 46px);
  margin-top: 22px;
}
.ft-site-root .reservation-intro p {
  margin-top: 18px;
  max-width: 650px;
}
.ft-site-root .reservation-intro .text-link {
  font-size: 14px;
}
.ft-site-root .booking-section {
  padding-block: 44px 64px;
  background: #eaf3fa;
  scroll-margin-top: 0;
}
.ft-site-root .booking-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 28px;
  align-items: start;
}
.ft-site-root .booking-form {
  border: 1px solid #d9e4eb;
  border-radius: 20px;
  padding: 32px;
  background: #fff;
  min-width: 0;
}
.ft-site-root .booking-form-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.ft-site-root .booking-form-heading h2 {
  font-size: 28px;
}
.ft-site-root .booking-steps {
  display: flex;
  justify-content: space-between;
  list-style: none;
  padding: 0 0 24px;
  margin: 26px 0 27px;
  gap: 15px;
  border-bottom: 1px solid #dde6ed;
}
.ft-site-root .booking-steps li {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 14px;
  color: #526674;
}
.ft-site-root .booking-steps span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 27px;
  height: 27px;
  border-radius: 50%;
  border: 1px solid #b4c7d2;
  font-size: 13px;
  flex-shrink: 0;
}
.ft-site-root .booking-steps li[aria-current] {
  color: #062f48;
  font-weight: 700;
}
.ft-site-root .booking-steps li[aria-current] span {
  background: #062f48;
  color: #fff;
  border-color: #062f48;
}
.ft-site-root .booking-steps li.is-complete span {
  background: #eaf3fa;
  color: #062f48;
  border-color: #9bbacb;
}
.ft-site-root .booking-step > h3 {
  font-size: 25px;
}
.ft-site-root .step-intro {
  color: #526674;
  font-size: 16px;
  margin: 9px 0 23px;
}
.ft-site-root fieldset {
  min-width: 0;
  padding: 0;
  border: 0;
  margin: 0;
}
.ft-site-root legend, .ft-site-root .field > label, .ft-site-root .participant-row label {
  font-size: 16px;
  font-weight: 700;
  display: block;
  color: #062f48;
}
.ft-site-root .field {
  margin-top: 21px;
}
.ft-site-root .field label {
  margin-bottom: 8px;
}
.ft-site-root .field label > span {
  font-weight: 400;
  font-size: 13px;
  color: #526674;
}
.ft-site-root .field-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.ft-site-root input:not([type=radio]):not([type=checkbox]), .ft-site-root select, .ft-site-root textarea {
  border: 1px solid #778d9b;
  background: #fff;
  border-radius: 10px;
  color: #062f48;
  width: 100%;
  min-height: 52px;
  padding: 11px 14px;
  font-size: 16px;
  outline: none;
  box-shadow: none;
}
.ft-site-root input:not([type=radio]):not([type=checkbox]):focus, .ft-site-root select:focus, .ft-site-root textarea:focus {
  border-color: #0678b4;
  background: #fff;
  outline: none;
  box-shadow: none;
}
.ft-site-root input:not([type=radio]):not([type=checkbox])[aria-invalid=true], .ft-site-root select[aria-invalid=true], .ft-site-root textarea[aria-invalid=true] {
  border-color: #a02b37;
  background: #fff8f8;
}
.ft-site-root textarea {
  resize: vertical;
  min-height: 110px;
}
.ft-site-root input::placeholder, .ft-site-root textarea::placeholder {
  color: #526674;
  opacity: 1;
}
.ft-site-root select {
  appearance: auto;
  padding-right: 10px;
}
.ft-site-root input[type=radio], .ft-site-root input[type=checkbox] {
  width: 19px;
  height: 19px;
  accent-color: #062f48;
  flex-shrink: 0;
  margin: 0;
}
.ft-site-root input[type=radio]:focus-visible, .ft-site-root input[type=checkbox]:focus-visible {
  outline: none;
}
.ft-site-root .field-help {
  display: block;
  color: #526674;
  font-size: 13px;
  line-height: 1.5;
  margin-top: 8px;
}
.ft-site-root .field-error {
  display: block;
  font-family: inherit;
  font-size: 13px;
  font-weight: 400;
  color: #900;
  line-height: 1.5;
  margin-top: 7px;
}
.ft-site-root .field-error label {
  margin: 0;
  font: inherit;
}
.ft-site-root .field-error:empty, .ft-site-root .field-error label:empty {
  display: none;
}
.ft-site-root .product-switch {
  margin-bottom: 24px;
}
.ft-site-root .product-switch legend {
  margin-bottom: 9px;
}
.ft-site-root .segmented-control {
  display: flex;
  gap: 8px;
}
.ft-site-root .segmented-control label {
  position: relative;
  flex: 1;
}
.ft-site-root .segmented-control input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}
.ft-site-root .segmented-control span {
  display: flex;
  min-height: 48px;
  justify-content: center;
  align-items: center;
  padding: 10px;
  border: 1px solid #778d9b;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}
.ft-site-root .segmented-control input:checked + span {
  background: #062f48;
  border-color: #062f48;
  color: #fff;
}
.ft-site-root .segmented-control input:focus-visible + span {
  border-color: #0678b4;
  background: #eaf3fa;
  color: #062f48;
}
.ft-site-root .participant-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding-block: 26px;
}
.ft-site-root .participant-row .field-help {
  margin-top: 4px;
}
.ft-site-root .number-control {
  display: flex;
  align-items: center;
  gap: 7px;
}
.ft-site-root .number-control button {
  width: 44px;
  height: 44px;
  background: #eaf3fa;
  border: 1px solid #778d9b;
  border-radius: 50%;
  font-size: 23px;
  line-height: 1;
  flex-shrink: 0;
}
.ft-site-root .number-control input {
  width: 48px !important;
  min-height: 44px !important;
  padding: 5px !important;
  border-radius: 8px !important;
  text-align: center;
  appearance: textfield;
}
.ft-site-root .number-control input::-webkit-inner-spin-button {
  appearance: none;
}
.ft-site-root .mrc-callout {
  display: flex;
  align-items: start;
  gap: 14px;
  padding: 18px;
  background: #faf7e4;
  border-radius: 12px;
  font-size: 14px;
}
.ft-site-root .mrc-callout .icon {
  color: #062f48;
  font-size: 22px;
  margin-top: 2px;
}
.ft-site-root .mrc-callout p {
  margin-top: 6px;
  line-height: 1.5;
}
.ft-site-root .discount-panel, .ft-site-root .voucher-panel, .ft-site-root .addon-panel {
  margin-top: 19px;
  border: 1px solid #c7d6e0;
  border-radius: 12px;
  padding: 0 17px;
}
.ft-site-root .discount-panel summary, .ft-site-root .voucher-panel summary, .ft-site-root .addon-panel summary {
  font-weight: 700;
  font-size: 15px;
  color: #062f48;
  padding-block: 16px;
}
.ft-site-root .discount-panel[open], .ft-site-root .voucher-panel[open], .ft-site-root .addon-panel[open] {
  padding-bottom: 17px;
}
.ft-site-root .offer-option {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 45px;
  padding: 10px 4px;
  font-size: 14px;
  cursor: pointer;
  border: 1px solid transparent;
  border-radius: 7px;
}
.ft-site-root .offer-option span {
  flex: 1;
}
.ft-site-root .offer-option strong {
  float: right;
  margin-left: 8px;
}
.ft-site-root .offer-option small {
  display: block;
  font-size: 12px;
  color: #526674;
}
.ft-site-root .offer-option:has(input:focus-visible) {
  border-color: #0678b4;
}
.ft-site-root .offer-pending {
  cursor: default;
  color: #526674;
}
.ft-site-root .mrc-count-field {
  margin: 5px 0 13px 35px;
}
.ft-site-root .mrc-count-field label {
  font-size: 14px;
}
.ft-site-root .mrc-count-field select {
  font-size: 14px;
  min-height: 46px;
}
.ft-site-root .voucher-input {
  display: flex;
  align-items: end;
  gap: 12px;
}
.ft-site-root .voucher-input .field {
  margin-top: 5px;
  flex: 1;
}
.ft-site-root .voucher-input .btn {
  min-height: 52px;
  padding-inline: 18px;
}
.ft-site-root .voucher-feedback {
  margin-top: 10px;
  font-size: 14px;
  color: #062f48;
}
.ft-site-root .voucher-feedback.is-error {
  color: #a02b37;
}
.ft-site-root .voucher-feedback:empty {
  display: none;
}
.ft-site-root .addon-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 0;
  cursor: pointer;
  border: 1px solid transparent;
  border-radius: 8px;
}
.ft-site-root .addon-card:has(input:focus-visible) {
  border-color: #0678b4;
}
.ft-site-root .addon-card img {
  width: 78px;
  height: 82px;
  object-fit: cover;
  border-radius: 8px;
}
.ft-site-root .addon-card strong {
  display: block;
  font-size: 14px;
}
.ft-site-root .addon-card small {
  display: block;
  color: #526674;
  font-size: 12px;
  line-height: 1.5;
  margin-top: 5px;
}
.ft-site-root .addon-card .addon-price {
  margin-top: 7px;
  font-size: 13px;
}
.ft-site-root .step-actions {
  margin-top: 28px;
}
.ft-site-root .step-actions .centered {
  text-align: center;
  margin-top: 12px;
}
.ft-site-root .mobile-total {
  display: none;
}
.ft-site-root .two-actions {
  display: flex;
  gap: 12px;
  justify-content: space-between;
}
.ft-site-root .two-actions .btn-primary {
  flex: 1;
}
.ft-site-root .payment-options {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 21px;
}
.ft-site-root .payment-options label {
  position: relative;
  cursor: pointer;
}
.ft-site-root .payment-options input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}
.ft-site-root .payment-options span {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 12px 18px;
  min-height: 48px;
  border-radius: 10px;
  border: 1px solid #778d9b;
  background: #fff;
  font-size: 14px;
  font-weight: 700;
}
.ft-site-root .payment-options input:checked + span {
  border-color: #062f48;
  background: #eaf3fa;
}
.ft-site-root .payment-options input:focus-visible + span {
  border-color: #0678b4;
  background: #fff;
}
.ft-site-root .booking-step:focus, .ft-site-root .booking-step h3[tabindex="-1"]:focus {
  outline: none;
}
.ft-site-root .payment-wordmark {
  font-family: Arial, sans-serif;
  letter-spacing: 0.04em;
}
.ft-site-root .payment-demo {
  display: flex;
  gap: 18px;
  padding: 24px;
  border-radius: 12px;
  background: #f2f6f8;
  margin-top: 24px;
  font-size: 15px;
}
.ft-site-root .payment-demo .icon {
  font-size: 26px;
  color: #062f48;
}
.ft-site-root .payment-demo p {
  margin-top: 8px;
  color: #526674;
  font-size: 14px;
}
.ft-site-root .payment-covered {
  padding: 24px;
  background: #eff8f0;
  border-radius: 12px;
  margin-top: 24px;
}
.ft-site-root .payment-covered p {
  margin-top: 9px;
  font-size: 15px;
}
.ft-site-root .legal-preview {
  font-size: 13px;
  color: #526674;
  margin-top: 24px;
}
.ft-site-root .booking-summary {
  position: sticky;
  top: 100px;
  border-radius: 20px;
  border: 1px solid #d9e4eb;
  background: #fff;
  overflow: hidden;
}
.ft-site-root .booking-summary > img, .ft-site-root .booking-summary > picture.ft-responsive-photo > img, .ft-site-root .booking-summary > .booking-photo-viewer > img, .ft-site-root .booking-summary > .booking-photo-viewer > picture.ft-responsive-photo > img {
  width: 100%;
  aspect-ratio: 2.15;
  object-fit: cover;
}
.ft-site-root .summary-body {
  padding: 23px;
}
.ft-site-root .summary-eyebrow {
  font-size: 12px;
  color: #526674;
  margin-bottom: 8px;
}
.ft-site-root .summary-body h3 {
  font-size: 23px;
}
.ft-site-root .summary-description {
  margin-top: 10px;
  color: #526674;
  font-size: 14px;
}
.ft-site-root .summary-lines {
  margin: 24px 0;
}
.ft-site-root .summary-lines div {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 14px;
  margin-top: 13px;
  font-size: 13px;
}
.ft-site-root .summary-lines dt {
  color: #526674;
  max-width: 48%;
}
.ft-site-root .summary-lines dd {
  margin: 0;
  text-align: right;
  color: #062f48;
  max-width: 57%;
  font-weight: 700;
}
.ft-site-root .summary-total {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
  padding-top: 18px;
  border-top: 1px solid #c7d6e0;
  color: #062f48;
}
.ft-site-root .summary-total strong {
  font-size: 26px;
  white-space: nowrap;
}
.ft-site-root .summary-note {
  color: #526674;
  font-size: 12px;
  margin-top: 8px;
}
.ft-site-root .summary-confidence {
  display: flex;
  gap: 8px;
  color: #526674;
  font-size: 12px;
  margin-top: 25px;
}
.ft-site-root .summary-confidence .icon {
  font-size: 18px;
  flex-shrink: 0;
}
.ft-site-root .booking-success {
  padding-block: 40px;
  text-align: center;
}
.ft-site-root .booking-success .success-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #eaf3fa;
  color: #062f48;
  font-size: 30px;
  margin-bottom: 20px;
}
.ft-site-root .booking-success p {
  margin: 17px auto 25px;
  max-width: 470px;
}
.ft-site-root .booking-success:focus {
  outline: none;
}
.ft-site-root .faq-layout {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 65px;
}
.ft-site-root .faq-layout > div > p {
  margin-top: 14px;
  color: #526674;
}
.ft-site-root .faq-list details {
  border-bottom: 1px solid #c7d6e0;
  padding-block: 20px;
}
.ft-site-root .faq-list details:first-child {
  padding-top: 0;
}
.ft-site-root .faq-list details summary {
  font-weight: 700;
  color: #062f48;
  position: relative;
  padding-inline-end: 28px;
  list-style: none;
}
.ft-site-root .faq-list details summary::marker {
  content: "";
}
.ft-site-root .faq-list details summary::-webkit-details-marker {
  display: none;
}
.ft-site-root .faq-list details summary::after {
  content: "\e900";
  display: block;
  width: 12px;
  height: 12px;
  font: normal 12px/1 "icomoon";
  text-align: center;
  text-transform: none;
  letter-spacing: 0;
  position: absolute;
  inset-inline-end: 0;
  top: 50%;
  translate: 0 -50%;
  color: currentColor;
  pointer-events: none;
}
.ft-site-root .faq-list details p {
  margin-top: 15px;
  font-size: 16px;
}
.ft-site-root #questions-pratiques > .container > .section-heading {
  max-width: none;
}
.ft-site-root .tour-faq-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 48px;
  align-items: start;
}
.ft-site-root .tour-faq-layout > * {
  min-width: 0;
}
.ft-site-root .tour-faq-layout .tour-faq-list {
  max-width: none;
  margin: 0;
}
.ft-site-root .tour-faq-gallery .photo-mosaic {
  display: block;
  column-count: 2;
  column-gap: 26px;
  padding: 8px;
}
.ft-site-root .tour-faq-gallery .photo-mosaic > .photo-mosaic__item:nth-child(n) {
  display: block;
  break-inside: avoid;
  --photo-width: 100%;
  --photo-offset: 0px;
  margin: var(--photo-offset) 0 26px;
}
.ft-site-root .tour-faq-gallery .photo-mosaic > .photo-mosaic__item:nth-child(2) {
  --photo-width: 76%;
  --photo-tilt: 2.6deg;
  margin-inline-start: auto;
}
.ft-site-root .tour-faq-gallery .photo-mosaic > .photo-mosaic__item:nth-child(3) {
  --photo-width: 94%;
  --photo-tilt: -1.2deg;
}
.ft-site-root .tour-faq-gallery .photo-mosaic > .photo-mosaic__item:nth-child(4) {
  --photo-width: 86%;
  --photo-tilt: 2deg;
  margin-inline-start: auto;
}
.ft-site-root .tour-faq-gallery .photo-mosaic > .photo-mosaic__item:nth-child(5) {
  --photo-width: 86%;
  --photo-tilt: -2.2deg;
  --photo-offset: 18px;
}
.ft-site-root .tour-faq-gallery .photo-mosaic > .photo-mosaic__item:nth-child(6) {
  --photo-tilt: 1.3deg;
  margin-inline-start: auto;
}
.ft-site-root .tour-faq-gallery .photo-mosaic > .photo-mosaic__item:nth-child(7) {
  --photo-width: 78%;
  --photo-tilt: -2.8deg;
}
.ft-site-root .tour-faq-gallery .photo-mosaic > .photo-mosaic__item:nth-child(8) {
  --photo-width: 96%;
  --photo-tilt: 1.8deg;
  margin-inline-start: auto;
}
.ft-site-root .tour-faq-list {
  --faq-card-surface: #eaf3fa;
  --faq-card-hover: #d7e8f4;
  display: grid;
  gap: 12px;
  max-width: 980px;
  margin-inline: auto;
}
.ft-site-root .tour-faq-list details {
  min-width: 0;
  border: 1px solid #c7d6e0;
  border-radius: 16px;
  background: var(--faq-card-surface);
  overflow: clip;
}
.ft-site-root .tour-faq-list details.is-faq-animating {
  overflow: hidden;
}
.ft-site-root .tour-faq-list summary {
  position: relative;
  padding-inline-end: 52px;
  list-style: none;
}
.ft-site-root .tour-faq-list summary::marker {
  content: "";
}
.ft-site-root .tour-faq-list summary::-webkit-details-marker {
  display: none;
}
.ft-site-root .tour-faq-list summary::after {
  content: "\e900";
  display: block;
  width: 12px;
  height: 12px;
  font: normal 12px/1 "icomoon";
  text-align: center;
  text-transform: none;
  letter-spacing: 0;
  position: absolute;
  inset-inline-end: 24px;
  top: 50%;
  translate: 0 -50%;
  color: currentColor;
  pointer-events: none;
}
.ft-site-root .tour-faq-list summary {
  display: flex;
  align-items: center;
  min-height: 72px;
  padding: 20px 60px 20px 24px;
  border-radius: 15px;
  color: #062f48;
  transition: background-color 0.18s ease, color 0.18s ease;
}
.ft-site-root .tour-faq-list summary::after {
  transition: rotate 0.18s ease;
}
.ft-site-root .tour-faq-list summary:hover {
  background: var(--faq-card-hover);
}
.ft-site-root .tour-faq-list summary:focus-visible {
  outline: 2px solid #0678b4;
  outline-offset: -3px;
}
.ft-site-root .tour-faq-list summary h3 {
  margin: 0;
  color: inherit;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}
.ft-site-root .tour-faq-list details[open] summary {
  border-radius: 15px 15px 0 0;
  background: #062f48;
  color: #fff;
}
.ft-site-root .tour-faq-list .tour-faq-answer {
  padding: 24px;
  border-top: 1px solid #c7d6e0;
  background: #fff;
  font-size: 16px;
  line-height: 1.7;
}
.ft-site-root .tour-faq-list .tour-faq-answer > :first-child {
  margin-top: 0;
}
.ft-site-root .tour-faq-list .tour-faq-answer p + p {
  margin-top: 16px;
}
.ft-site-root .tour-faq-list .tour-faq-answer ul, .ft-site-root .tour-faq-list .tour-faq-answer ol {
  margin: 16px 0;
  padding-inline-start: 24px;
}
.ft-site-root .tour-faq-list .tour-faq-answer li + li {
  margin-top: 10px;
}
.ft-site-root .tour-faq-list .tour-faq-answer > a[data-fancybox] {
  display: inline-block;
  max-width: min(280px, 100%);
  margin: 16px 12px 0 0;
}
.ft-site-root .tour-faq-list .tour-faq-answer img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}
.ft-site-root .tour-faq-list .tour-faq-answer iframe {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  max-width: 100%;
  border: 0;
  border-radius: 10px;
}
.ft-site-root .section-blue .tour-faq-list {
  --faq-card-surface: #fff;
  --faq-card-hover: #eaf3fa;
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .tour-faq-list summary, .ft-site-root .tour-faq-list summary::after {
    transition: none;
  }
}
@media (max-width: 1000px) {
  .ft-site-root .tour-faq-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 40px;
  }
}
@media (max-width: 600px) {
  .ft-site-root .tour-faq-layout {
    gap: 32px;
  }
  .ft-site-root .tour-faq-gallery .photo-mosaic {
    column-gap: 20px;
  }
  .ft-site-root .tour-faq-gallery .photo-mosaic > .photo-mosaic__item:nth-child(n) {
    --photo-offset: 0px;
    margin-bottom: 18px;
  }
  .ft-site-root .tour-faq-gallery .photo-mosaic > .photo-mosaic__item:nth-child(2) {
    --photo-width: 86%;
  }
  .ft-site-root .tour-faq-gallery .photo-mosaic > .photo-mosaic__item:nth-child(4) {
    --photo-width: 94%;
  }
  .ft-site-root .tour-faq-gallery .photo-mosaic > .photo-mosaic__item:nth-child(5) {
    --photo-width: 92%;
  }
  .ft-site-root .tour-faq-gallery .photo-mosaic > .photo-mosaic__item:nth-child(7) {
    --photo-width: 86%;
  }
  .ft-site-root .tour-faq-list {
    gap: 10px;
  }
  .ft-site-root .tour-faq-list summary {
    min-height: 68px;
    padding: 18px 50px 18px 18px;
  }
  .ft-site-root .tour-faq-list summary::after {
    inset-inline-end: 18px;
  }
  .ft-site-root .tour-faq-list summary h3 {
    font-size: 16px;
  }
  .ft-site-root .tour-faq-list .tour-faq-answer {
    padding: 20px 18px;
  }
}
.ft-site-root .site-footer {
  background: #062f48;
  color: #d4e2eb;
  padding-top: 64px;
  font-size: 15px;
}
.ft-site-root .footer-grid {
  display: grid;
  grid-template-columns: 0.95fr 1fr 1fr 1.4fr;
  gap: 44px;
  padding-bottom: 44px;
}
.ft-site-root .footer-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}
.ft-site-root .footer-brand .brand-logo {
  width: auto;
  height: 72px;
  max-width: none;
}
.ft-site-root .site-footer .footer-brand .footer-contact {
  position: relative;
  min-height: 38px;
  margin-top: 20px;
  padding: 7px 16px;
  font-size: 14px;
}
.ft-site-root .site-footer .footer-brand .footer-contact::after {
  content: "";
  position: absolute;
  inset: -3px;
}
.ft-site-root .footer-brand .social-links {
  margin-top: 24px;
}
.ft-site-root .site-footer .footer-links {
  min-width: 0;
}
.ft-site-root .site-footer .footer-links h2 {
  color: #fff078;
  font-size: 18px;
  line-height: 1.4;
  margin-bottom: 16px;
  letter-spacing: normal;
}
.ft-site-root .site-footer .footer-links a {
  display: flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 44px;
  padding-block: 9px;
  color: #d4e2eb;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
  text-decoration: none;
  overflow-wrap: break-word;
}
.ft-site-root .site-footer .footer-links a:hover, .ft-site-root .site-footer .footer-links a:focus-visible, .ft-site-root .site-footer .footer-links a[aria-current] {
  color: #fff078;
}
.ft-site-root .footer-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ft-site-root .site-footer .footer-links--history {
  padding-left: 20px;
  text-align: right;
}
.ft-site-root .site-footer .footer-links--history h2 {
  text-align: inherit;
}
.ft-site-root .site-footer .footer-links--history a {
  justify-content: flex-end;
  margin-left: auto;
}
.ft-site-root .site-footer .footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 12px 32px;
  border-top: 1px solid #35576b;
  padding-block: 18px;
  color: #bfd2df;
  font-size: 13px;
  line-height: 1.5;
}
.ft-site-root .site-footer .footer-bottom > span {
  flex: 0 0 auto;
  white-space: nowrap;
}
.ft-site-root .footer-utility-links {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 4px 28px;
  text-align: right;
}
.ft-site-root .footer-utility-links a {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  max-width: 100%;
  min-height: 44px;
  color: #d4e2eb;
  font-weight: 700;
  text-decoration: none;
}
.ft-site-root .footer-utility-links a:hover, .ft-site-root .footer-utility-links a:focus-visible, .ft-site-root .footer-utility-links a[aria-current] {
  color: #fff078;
}
@media (max-width: 1200px) {
  .ft-site-root .footer-grid {
    grid-template-columns: 1fr 1fr 1.3fr;
    gap: 32px;
  }
  .ft-site-root .site-footer .footer-brand {
    grid-column: 1/-1;
    flex-direction: row;
    align-items: center;
    gap: 24px;
  }
  .ft-site-root .site-footer .footer-brand .brand {
    margin-right: auto;
  }
  .ft-site-root .site-footer .footer-brand .footer-contact, .ft-site-root .site-footer .footer-brand .social-links {
    margin: 0;
  }
  .ft-site-root .site-footer .footer-links--history {
    padding-left: 0;
    text-align: left;
  }
  .ft-site-root .site-footer .footer-links--history a {
    justify-content: flex-start;
    margin-left: 0;
  }
}
@media (max-width: 900px) {
  .ft-site-root .site-footer {
    padding-top: 48px;
  }
  .ft-site-root .site-footer .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 40px;
  }
  .ft-site-root .site-footer .footer-brand {
    display: grid;
    grid-template-columns: minmax(144px, 1fr) minmax(0, auto);
    grid-template-areas: "brand social" "brand contact";
    gap: 20px 16px;
  }
  .ft-site-root .site-footer .footer-brand .brand {
    grid-area: brand;
    margin: 0;
  }
  .ft-site-root .site-footer .footer-brand .footer-contact {
    grid-area: contact;
    justify-self: end;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .ft-site-root .site-footer .footer-brand .social-links {
    grid-area: social;
    justify-self: end;
  }
  .ft-site-root .site-footer .footer-links--history {
    grid-column: 1/-1;
  }
  .ft-site-root .site-footer .footer-links--history .footer-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 40px;
  }
}
@media (max-width: 600px) {
  .ft-site-root .site-footer .footer-grid {
    gap: 32px 20px;
    padding-bottom: 32px;
  }
  .ft-site-root .site-footer .footer-brand {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "social contact";
    column-gap: 8px;
  }
  .ft-site-root .site-footer .footer-brand .brand {
    display: none;
  }
  .ft-site-root .site-footer .footer-brand .social-links {
    justify-self: start;
  }
  .ft-site-root .site-footer .footer-links h2 {
    margin-bottom: 10px;
    font-size: 16px;
  }
  .ft-site-root .site-footer .footer-links a {
    font-size: 14px;
  }
  .ft-site-root .site-footer .footer-links.footer-links--history .footer-list {
    grid-template-columns: minmax(0, 1fr);
  }
  .ft-site-root .site-footer .footer-links.footer-links--history a {
    width: 100%;
  }
  .ft-site-root .site-footer .footer-bottom {
    gap: 10px;
    padding-block: 18px 22px;
  }
  .ft-site-root .footer-utility-links {
    gap: 0 20px;
  }
  .ft-site-root .footer-utility-links a {
    white-space: nowrap;
  }
}
@media (max-width: 360px) {
  .ft-site-root .site-footer .footer-bottom {
    gap: 6px;
    font-size: clamp(11.5px, 3.6vw, 13px);
  }
}
@media (max-width: 1100px) {
  .ft-site-root .evening-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .ft-site-root .container {
    width: calc(100% - 56px);
  }
  .ft-site-root .desktop-nav {
    gap: 18px;
    font-size: 14px;
  }
  .ft-site-root .header-inner {
    gap: 20px;
  }
  .ft-site-root .header-actions {
    gap: 15px;
  }
  .ft-site-root .nav-more {
    font-size: 14px;
  }
  .ft-site-root .icon-freddie-tours {
    font-size: 46px;
  }
  .ft-site-root .hero-art img {
    right: 20px;
  }
  .ft-site-root .hero-copy .text-link {
    display: block;
    margin: 20px 0 0;
  }
  .ft-site-root .booking-layout {
    grid-template-columns: minmax(0, 1fr) 285px;
    gap: 20px;
  }
  .ft-site-root .booking-form {
    padding: 26px;
  }
  .ft-site-root .booking-steps {
    gap: 8px;
  }
  .ft-site-root .booking-steps li {
    font-size: 12px;
    gap: 6px;
  }
  .ft-site-root .discovery-grid {
    gap: 35px;
  }
}
@media (max-width: 900px) {
  .ft-site-root .desktop-nav {
    display: none;
  }
  .ft-site-root .menu-toggle {
    display: flex;
  }
  .ft-site-root .hero-grid {
    grid-template-columns: 1.4fr 1fr;
  }
  .ft-site-root .hero-copy h1 {
    font-size: 46px;
  }
  .ft-site-root .hero-art img {
    height: 620px;
    right: -25px;
    top: 6px;
  }
  .ft-site-root .home-events {
    --experience-card-gap: 16px;
  }
  .ft-site-root .experience-card-body {
    padding: 20px;
  }
  .ft-site-root .experience-card-body h3 {
    font-size: 21px;
  }
  .ft-site-root .gift-grid {
    gap: 35px;
  }
  .ft-site-root .tour-intro-grid {
    gap: 35px;
  }
  .ft-site-root .route-top {
    display: block;
  }
  .ft-site-root .route-top .price {
    text-align: left;
    margin-top: 16px;
  }
  .ft-site-root .route-top .price span {
    display: inline;
    margin-left: 8px;
  }
  .ft-site-root .booking-layout {
    grid-template-columns: 1fr;
    max-width: 760px;
  }
  .ft-site-root .booking-summary {
    position: static;
    display: grid;
    grid-template-columns: 215px 1fr;
  }
  .ft-site-root .booking-summary > img, .ft-site-root .booking-summary > picture.ft-responsive-photo > img {
    height: 100%;
    aspect-ratio: auto;
  }
  .ft-site-root .booking-steps li {
    font-size: 14px;
  }
}
@media (max-width: 600px), (max-width: 1200px) and (max-height: 500px) {
  .ft-site-root .home-hero .hero-copy .hero-actions {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: stretch;
    gap: 10px;
    margin-top: 24px;
  }
  .ft-site-root .home-hero .hero-copy .hero-actions .btn {
    display: inline-flex;
    min-width: 0;
    min-height: 46px;
    margin: 0;
    padding: 10px 14px;
    font-size: 14px;
    line-height: 1.3;
    white-space: normal;
    text-align: center;
  }
  .ft-site-root .home-hero .hero-socials {
    margin-top: 18px;
  }
  .ft-site-root .home-hero .hero-socials .social-links {
    gap: 8px;
  }
  .ft-site-root .home-hero .hero-socials .social-link {
    flex-basis: 38px;
    width: 38px;
    height: 38px;
  }
  .ft-site-root .home-hero .hero-socials .icon {
    font-size: 22px;
  }
}
@media (max-width: 600px) {
  .ft-site-root html {
    scroll-padding-top: 76px;
  }
  .ft-site-root body {
    font-size: 16px;
  }
  .ft-site-root .container {
    width: calc(100% - 36px);
  }
  .ft-site-root .header-inner {
    height: 70px;
    gap: 12px;
  }
  .ft-site-root .icon-freddie-tours {
    font-size: 42px;
  }
  .ft-site-root .header-actions {
    gap: 14px;
  }
  .ft-site-root .language-label {
    display: none;
  }
  .ft-site-root .menu-toggle {
    min-height: 44px;
  }
  .ft-site-root .section {
    padding-block: 46px;
  }
  .ft-site-root .section-compact {
    padding-block: 24px;
  }
  .ft-site-root .section-heading {
    margin-bottom: 24px;
  }
  .ft-site-root .section-heading p {
    margin-top: 12px;
  }
  .ft-site-root .home-hero .hero-grid {
    grid-template-columns: minmax(130px, 1fr) clamp(150px, 40vw, 180px);
    grid-template-areas: "eyebrow eyebrow" "title title" "intro intro" "actions art" "socials art";
    align-items: start;
    gap: 0 12px;
    position: relative;
    min-height: 0;
    padding-top: 32px;
  }
  .ft-site-root .home-hero .hero-copy {
    display: contents;
  }
  .ft-site-root .home-hero .hero-copy > .eyebrow {
    grid-area: eyebrow;
  }
  .ft-site-root .home-hero .hero-copy > h1 {
    grid-area: title;
    font-size: 40px;
    line-height: 1.14;
    max-width: none;
  }
  .ft-site-root .home-hero .hero-copy > p:not(.eyebrow) {
    grid-area: intro;
    font-size: 16px;
    max-width: none;
    margin-top: 20px;
    line-height: 1.55;
  }
  .ft-site-root .home-hero .hero-copy > p, .ft-site-root .home-hero .hero-copy > h1, .ft-site-root .home-hero .hero-copy .hero-actions {
    position: relative;
    z-index: 2;
  }
  .ft-site-root .home-hero .hero-copy .hero-actions {
    grid-area: actions;
    grid-template-columns: minmax(0, 1fr);
    align-self: end;
    gap: 12px;
    width: calc(100% - 12px);
    min-width: 130px;
  }
  .ft-site-root .home-hero .hero-copy .hero-actions .btn {
    min-height: 44px;
    padding: 8px 12px;
  }
  .ft-site-root .home-hero .hero-socials {
    grid-area: socials;
    align-self: start;
    position: relative;
    z-index: 2;
  }
  .ft-site-root .home-hero .hero-art {
    grid-area: art;
    position: relative;
    align-self: end;
    height: calc(var(--home-figure-height) * 0.74);
    width: auto;
    min-width: 0;
    margin-top: 20px;
    z-index: 1;
  }
  .ft-site-root .home-hero {
    --mountain-tail: calc(240px * 70 / 874);
    background-size: auto 240px;
  }
  .ft-site-root .home-events {
    --experience-card-gap: 22px;
  }
  .ft-site-root .tour-grid, .ft-site-root .evening-grid, .ft-site-root .group-grid, .ft-site-root .tour-comparison {
    grid-template-columns: 1fr;
  }
  .ft-site-root .tour-grid, .ft-site-root .group-grid, .ft-site-root .tour-comparison {
    gap: 22px;
  }
  .ft-site-root .tour-card-image {
    aspect-ratio: 1.6;
  }
  .ft-site-root .tour-card-body {
    padding: 23px;
  }
  .ft-site-root .tour-card-body h3 {
    font-size: 25px;
  }
  .ft-site-root .card-bottom {
    margin-top: 23px;
  }
  .ft-site-root .card-bottom .btn {
    padding-inline: 24px;
  }
  .ft-site-root .experience-card {
    display: block;
  }
  .ft-site-root .experience-card-body {
    padding: 20px;
  }
  .ft-site-root .experience-card-body h3 {
    font-size: 21px;
  }
  .ft-site-root .experience-card-body p {
    font-size: 14px;
    margin-top: 10px;
  }
  .ft-site-root .experience-card-body .text-link {
    padding-top: 17px;
  }
  .ft-site-root .gift-grid {
    grid-template-columns: 1fr;
    gap: 25px;
    padding-block: 34px;
  }
  .ft-site-root .group-card-body h3 {
    font-size: 23px;
  }
  .ft-site-root .group-card-body p {
    font-size: 14px;
  }
  .ft-site-root .discovery-panel {
    padding-top: 0;
  }
  .ft-site-root .discovery-grid {
    grid-template-columns: 1fr;
    gap: 27px;
    padding: 27px;
  }
  .ft-site-root .tour-hero:not(.tour-hero--album) {
    padding-block: 30px 35px;
  }
  .ft-site-root .breadcrumb {
    margin-bottom: 22px;
  }
  .ft-site-root .tour-facts {
    gap: 8px 16px;
    font-size: 13px;
    margin-top: 18px;
  }
  .ft-site-root .tour-intro-grid {
    grid-template-columns: 1fr;
    gap: 19px;
    margin-bottom: 26px;
  }
  .ft-site-root .route-option {
    padding: 24px;
  }
  .ft-site-root .route-top {
    display: flex;
  }
  .ft-site-root .route-top h3 {
    font-size: 24px;
  }
  .ft-site-root .route-top .price {
    margin: 0;
    text-align: right;
    font-size: 24px;
  }
  .ft-site-root .route-top .price span {
    display: block;
    margin: 5px 0 0;
  }
  .ft-site-root .route-details div {
    grid-template-columns: 68px 1fr;
    gap: 12px;
  }
  .ft-site-root .mrc-banner {
    padding: 24px;
    gap: 20px;
    display: block;
    margin-top: 28px;
  }
  .ft-site-root .mrc-banner img {
    width: 92px;
    margin-bottom: 20px;
  }
  .ft-site-root .mrc-banner h2 {
    font-size: 25px;
  }
  .ft-site-root .booking-introduction {
    padding-bottom: 28px;
  }
  .ft-site-root .reservation-intro {
    padding-block: 29px 32px;
  }
  .ft-site-root .reservation-intro h1 {
    font-size: 34px;
    margin-top: 18px;
  }
  .ft-site-root .reservation-intro p {
    font-size: 16px;
  }
  .ft-site-root .booking-section {
    padding-block: 25px 34px;
    scroll-margin-top: 0;
  }
  .ft-site-root .booking-form {
    padding: 22px 19px;
    border-radius: 17px;
  }
  .ft-site-root .booking-form-heading h2 {
    font-size: 25px;
  }
  .ft-site-root .booking-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
    margin-block: 23px;
    padding-bottom: 20px;
  }
  .ft-site-root .booking-steps li {
    flex-direction: column;
    gap: 7px;
    font-size: 12px;
    line-height: 1.3;
    text-align: center;
  }
  .ft-site-root .booking-steps span {
    width: 27px;
    height: 27px;
    font-size: 13px;
  }
  .ft-site-root .segmented-control {
    gap: 6px;
  }
  .ft-site-root .segmented-control span {
    height: 58px;
    font-size: 12px;
    padding: 7px 5px;
  }
  .ft-site-root .field > label {
    font-size: 15px;
  }
  .ft-site-root .field-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .ft-site-root .participant-row {
    align-items: start;
    flex-direction: column;
    gap: 14px;
  }
  .ft-site-root .number-control {
    align-self: flex-start;
  }
  .ft-site-root .mrc-callout {
    padding: 15px;
    font-size: 13px;
  }
  .ft-site-root .discount-panel, .ft-site-root .voucher-panel, .ft-site-root .addon-panel {
    padding-inline: 13px;
  }
  .ft-site-root .discount-panel summary, .ft-site-root .voucher-panel summary, .ft-site-root .addon-panel summary {
    font-size: 14px;
  }
  .ft-site-root .mrc-count-field {
    margin-left: 0;
  }
  .ft-site-root .voucher-input {
    display: block;
  }
  .ft-site-root .voucher-input .btn {
    margin-top: 12px;
    min-height: 46px;
  }
  .ft-site-root .addon-card {
    gap: 10px;
  }
  .ft-site-root .addon-card img {
    width: 55px;
    height: 70px;
  }
  .ft-site-root .addon-card strong {
    font-size: 13px;
  }
  .ft-site-root .two-actions {
    gap: 8px;
    flex-wrap: wrap;
  }
  .ft-site-root .two-actions .btn {
    padding-inline: 16px;
    font-size: 14px;
  }
  .ft-site-root .mobile-total {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    width: 100%;
    margin-bottom: 15px;
    font-size: 14px;
  }
  .ft-site-root .mobile-total strong {
    font-size: 23px;
    color: #062f48;
  }
  .ft-site-root .two-actions .mobile-total {
    margin-bottom: 7px;
  }
  .ft-site-root .payment-options {
    gap: 8px;
  }
  .ft-site-root .payment-options span {
    font-size: 13px;
    padding-inline: 14px;
  }
  .ft-site-root .payment-demo {
    padding: 18px;
    gap: 13px;
  }
  .ft-site-root .booking-summary {
    display: block;
    border-radius: 17px;
  }
  .ft-site-root .booking-summary > img, .ft-site-root .booking-summary > picture.ft-responsive-photo > img {
    aspect-ratio: 2.4;
    height: auto;
  }
  .ft-site-root .summary-body {
    padding: 22px;
  }
  .ft-site-root .faq-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .ft-site-root .faq-list summary {
    font-size: 16px;
  }
}
@media (max-width: 360px) {
  .ft-site-root .container {
    width: calc(100% - 28px);
  }
  .ft-site-root .home-hero .hero-copy h1 {
    font-size: 35px;
  }
  .ft-site-root .home-hero:lang(ru) .hero-actions .btn-primary {
    flex-direction: column;
    gap: 4px;
    padding-inline: 4px;
    font-size: 13px;
  }
  .ft-site-root .booking-form {
    padding-inline: 15px;
  }
  .ft-site-root .booking-steps li {
    font-size: 12px;
  }
  .ft-site-root .booking-form-heading h2 {
    font-size: 23px;
  }
  .ft-site-root .card-bottom .btn {
    padding-inline: 18px;
  }
  .ft-site-root .route-top {
    display: block;
  }
  .ft-site-root .route-top .price {
    text-align: left;
    margin-top: 16px;
  }
  .ft-site-root .route-top .price span {
    display: inline;
    margin-left: 7px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root html {
    scroll-behavior: auto;
  }
}
.ft-site-root .preview-page {
  --section-edge-height: clamp(12px, 1.25vw, 24px);
}
.ft-site-root .preview-page > main > section,
.ft-site-root .preview-page > .newsletter-strip,
.ft-site-root .preview-page > .site-footer {
  --band-surface: #fff;
  position: relative;
}
.ft-site-root .preview-page > main > section > .container,
.ft-site-root .preview-page > .newsletter-strip > .container,
.ft-site-root .preview-page > .site-footer > .container {
  position: relative;
  z-index: 1;
}
.ft-site-root .preview-page > main > section:not(:first-of-type)::before,
.ft-site-root .preview-page > .newsletter-strip::before,
.ft-site-root .preview-page > .site-footer::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  width: 100%;
  height: var(--section-edge-height);
  background: var(--band-surface);
  -webkit-mask-image: url("/webimages/habillage/section-edge.svg");
  mask-image: url("/webimages/habillage/section-edge.svg");
  -webkit-mask-size: max(960px, 100%) 100%;
  mask-size: max(960px, 100%) 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center top;
  mask-position: center top;
  mask-mode: alpha;
  pointer-events: none;
  top: calc(1px - var(--section-edge-height));
}
.ft-site-root .preview-page > main > section.section-blue, .ft-site-root .preview-page > main > section.event-hotels, .ft-site-root .preview-page > main > section.home-discovery, .ft-site-root .preview-page > main > section.booking-page, .ft-site-root .preview-page > main > section.booking-section, .ft-site-root .preview-page > main > section.reservation-intro {
  --band-surface: #eaf3fa;
}
.ft-site-root .preview-page > main > section.home-events {
  --band-surface: #f7f2fb;
}
.ft-site-root .preview-page > main > section.soft-rose {
  --band-surface: #ffe0e6;
}
.ft-site-root .preview-page > main > section.event-experiences-section {
  --band-surface: #fff;
}
.ft-site-root .preview-page > main > section.event-experiences-section.editorial-peter-experiences {
  --band-surface: #eaf3fa;
}
.ft-site-root .preview-page > main > section.soft-lilac {
  --band-surface: #e9def3;
}
.ft-site-root .preview-page > main > section.tour-hero {
  --band-surface: #062f48;
}
.ft-site-root .preview-page > main > .home-hero + section::before {
  z-index: 2;
}
.ft-site-root .preview-page > main > .home-hero + section > .container {
  z-index: 3;
}
.ft-site-root .preview-page > .newsletter-strip {
  --band-surface: #eaf3fa;
}
.ft-site-root .preview-page.preview-reservation {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
}
.ft-site-root .preview-page.preview-reservation > main {
  flex: 1 0 auto;
  background: #eaf3fa;
}
.ft-site-root .preview-page.preview-reservation > .newsletter-strip {
  --band-surface: #fff;
}
.ft-site-root .preview-page > .site-footer {
  --band-surface: #062f48;
  --section-edge-height: clamp(8px, .625vw, 12px);
}
.ft-site-root .home-media {
  --media-surface: #fff;
  background: var(--media-surface);
}
.ft-site-root .home-media.section-blue {
  --media-surface: #eaf3fa;
}
.ft-site-root .home-media {
  padding-block: 32px;
  border-bottom: 0;
}
.ft-site-root .home-media > .media-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}
.ft-site-root .home-media > .media-section-heading h2 {
  font-size: var(--ft-section-title-size);
  line-height: 1.25;
}
.ft-site-root .home-media > .media-section-heading .press-heading-copy {
  min-width: 0;
  max-width: 840px;
}
.ft-site-root .home-media > .media-section-heading p {
  max-width: 75ch;
  margin-top: 12px;
  color: #526674;
  font-size: 16px;
  line-height: 1.6;
}
.ft-site-root .home-media .media-heading-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  flex: 0 0 auto;
  gap: 12px;
  max-width: 100%;
}
.ft-site-root .home-media .media-controls {
  display: flex;
  justify-content: flex-end;
  flex: 0 0 auto;
  margin: 0;
}
.ft-site-root .home-media > .media-rail {
  position: relative;
}
.ft-site-root .home-media > .media-rail::before, .ft-site-root .home-media > .media-rail::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  width: 28px;
  pointer-events: none;
}
.ft-site-root .home-media > .media-rail::before {
  left: 0;
  background: linear-gradient(to right, var(--media-surface), transparent);
}
.ft-site-root .home-media > .media-rail::after {
  right: 0;
  background: linear-gradient(to left, var(--media-surface), transparent);
}
.ft-site-root .home-media > .media-rail:focus-within::before, .ft-site-root .home-media > .media-rail:focus-within::after {
  opacity: 0;
}
.ft-site-root .home-media .media-rail > .media-logos {
  display: flex;
  width: 100%;
  max-width: none;
  margin-inline: auto;
  gap: 13px;
  padding: 8px 16px 12px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  overflow-anchor: none;
  scrollbar-width: none;
}
.ft-site-root .home-media .media-rail > .media-logos::-webkit-scrollbar {
  display: none;
}
.ft-site-root .home-media .media-rail > .media-logos {
  scrollbar-color: #526674 transparent;
}
.ft-site-root .home-media .media-rail > .media-logos:focus-visible {
  outline: 2px solid #0678b4;
  outline-offset: -2px;
}
.ft-site-root .home-media .media-rail > .media-logos > .media-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex: 0 0 154px;
  min-width: 0;
  min-height: 110px;
  padding: 6px;
  border: 1px solid #778d9b;
  border-radius: 13px;
  background: #fff;
  color: #062f48;
  font-weight: 700;
}
.ft-site-root .home-media .media-rail > .media-logos > .media-logo img {
  width: 128px;
  height: 96px;
  max-width: 100%;
  max-height: none;
  object-fit: contain;
}
.ft-site-root .home-media .media-rail > .media-logos > .media-logo[data-id="7"] img {
  width: 72px;
  height: 64px;
}
.ft-site-root .home-media .media-rail > .media-logos > .media-logo .media-name {
  margin: 0;
  font-size: 16px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.ft-site-root .home-media .media-rail > .media-logos > .media-logo:hover, .ft-site-root .home-media .media-rail > .media-logos > .media-logo:active {
  border-color: #062f48;
  background: #eaf3fa;
}
.ft-site-root .home-media .media-rail > .media-logos > .media-logo:focus-visible {
  outline: 2px solid #0678b4;
  outline-offset: 3px;
}
.ft-site-root .preview-page .home-media .media-controls .site-pagination__button:not(:disabled):not([disabled]):not([aria-disabled=true]) {
  color: #062f48;
  border-color: #062f48;
  background: #fff;
}
.ft-site-root .preview-page .home-media .media-controls .site-pagination__button:not(:disabled):not([disabled]):not([aria-disabled=true]):hover, .ft-site-root .preview-page .home-media .media-controls .site-pagination__button:not(:disabled):not([disabled]):not([aria-disabled=true]):focus-visible {
  background: #eaf3fa;
}
@media (max-width: 600px) {
  .ft-site-root .home-media {
    padding-block: 24px;
  }
  .ft-site-root .home-media > .media-section-heading {
    display: block;
    margin-bottom: 20px;
  }
  .ft-site-root .home-media > .media-section-heading .media-heading-actions {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 16px;
  }
  .ft-site-root .home-media > .media-section-heading .media-heading-actions > .btn {
    min-width: 0;
    padding-inline: 12px;
    font-size: 14px;
    white-space: normal;
  }
  .ft-site-root .home-media > .media-rail::before, .ft-site-root .home-media > .media-rail::after {
    width: 20px;
  }
  .ft-site-root .home-media .media-rail > .media-logos {
    gap: 10px;
    padding-inline: 12px;
  }
  .ft-site-root .home-media .media-rail > .media-logos > .media-logo {
    flex-basis: 128px;
    min-height: 94px;
  }
  .ft-site-root .home-media .media-rail > .media-logos > .media-logo img {
    width: 112px;
    height: 80px;
  }
  .ft-site-root .home-media .media-rail > .media-logos > .media-logo[data-id="7"] img {
    width: 64px;
    height: 56px;
  }
}
.ft-site-root .tour-gallery {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 16px;
  min-width: 0;
}
.ft-site-root .tour-gallery-viewport {
  grid-column: 1/-1;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 22px;
  background: #062f48;
  aspect-ratio: 1936/1290;
}
.ft-site-root .tour-gallery-slides {
  position: absolute;
  inset: 0;
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.ft-site-root .tour-gallery-slides::-webkit-scrollbar {
  display: none;
}
.ft-site-root .tour-gallery-slide {
  flex: 0 0 100%;
  min-width: 0;
  height: 100%;
  scroll-snap-align: start;
}
.ft-site-root .tour-hero-image.tour-gallery .tour-gallery-slide img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 1936/1290;
  object-fit: cover;
  border-radius: 0;
}
.ft-site-root .tour-gallery.is-enhanced .tour-gallery-slides {
  overflow: hidden;
  scroll-snap-type: none;
}
.ft-site-root .tour-gallery.is-enhanced .tour-gallery-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: none;
}
.ft-site-root .tour-gallery.is-enhanced .tour-gallery-slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.ft-site-root .tour-gallery.is-enhanced.is-ready .tour-gallery-slide {
  transition: opacity 200ms ease-out, visibility 0s 200ms;
}
.ft-site-root .tour-gallery.is-enhanced.is-ready .tour-gallery-slide.is-active {
  transition-delay: 0s;
}
@media (max-width: 600px) {
  .ft-site-root .tour-gallery-viewport {
    border-radius: 16px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .tour-gallery.is-enhanced.is-ready .tour-gallery-slide {
    transition: none;
  }
}
.ft-site-root .soft-sage {
  background: #ddefe9;
}
.ft-site-root .soft-champagne {
  background: #fff0ce;
}
.ft-site-root .event-theme--afternoon {
  --event-surface: #ffe0e6;
  --event-accent: #a04762;
  --event-line: rgb(92.3137254902%, 86.4705882353%, 89.3725490196%);
}
.ft-site-root .event-theme--evening {
  --event-surface: #e9def3;
  --event-accent: #75518c;
  --event-line: rgb(86.7058823529%, 85.9607843137%, 92.6862745098%);
}
.ft-site-root .event-theme--plus {
  --event-surface: #ddefe9;
  --event-accent: #367564;
  --event-line: rgb(83.6470588235%, 90.2941176471%, 90.137254902%);
}
.ft-site-root .event-theme--vip {
  --event-surface: #fff0ce;
  --event-accent: #8a6525;
  --event-line: rgb(92.3137254902%, 90.5490196078%, 83.2549019608%);
}
.ft-site-root .gift-explorer.event-gift-strip,
.ft-site-root .preview-page > main > .event-program-section {
  --band-surface: var(--event-surface);
  background: var(--event-surface);
}
.ft-site-root .experience-card .experience-card-availability {
  margin: 0 0 16px;
  display: grid;
  gap: 6px;
  min-width: 0;
}
.ft-site-root .experience-card .experience-card-availability > p {
  margin: 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  color: #062f48;
}
.ft-site-root .experience-card .experience-card-availability > .experience-card-dates-empty {
  color: #526674;
}
.ft-site-root .experience-card .experience-card-availability > .experience-card-date-list {
  display: grid;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: #062f48;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
}
.ft-site-root .experience-card .experience-card-availability > .experience-card-date-list > li {
  margin: 0;
}
.ft-site-root .experience-card .experience-card-availability > .experience-card-date-list time {
  display: block;
  overflow-wrap: anywhere;
}
.ft-site-root .event-hero .page-hero {
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 48px;
}
.ft-site-root .event-hero .lead {
  font-weight: 400;
  font-size: 19px;
}
.ft-site-root .event-hero .hero-actions .btn {
  margin-top: 0;
}
.ft-site-root .event-hero .hero-actions .btn-secondary[href="#programme"] {
  --secondary-hover: var(--event-surface);
}
.ft-site-root .event-hero .hero-actions .btn-secondary[href="#programme"]:hover {
  --secondary-ink: var(--event-accent);
}
.ft-site-root .event-hero-photo {
  margin: 0;
  min-width: 0;
}
.ft-site-root .event-hero-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: auto 3/2;
  object-fit: contain;
}
.ft-site-root .event-program-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px;
  align-items: start;
}
.ft-site-root .event-dates h2, .ft-site-root .event-program-grid h2, .ft-site-root .event-video h2 {
  font-size: var(--ft-section-title-size);
  line-height: 1.2;
}
.ft-site-root .event-dates {
  --cta-bg: var(--event-accent, #062f48);
  --cta-ink: #fff;
  --cta-hover: var(--event-surface, #eaf3fa);
  --secondary-ink: var(--event-accent, #062f48);
  --secondary-hover: var(--event-surface, #eaf3fa);
  min-width: 0;
  scroll-margin-top: 120px;
}
.ft-site-root .event-dates .section-heading {
  margin-bottom: 24px;
}
.ft-site-root .event-dates .section-heading p {
  font-size: 15px;
  font-weight: 400;
}
.ft-site-root .event-dates .upcoming-list {
  margin: 0;
  padding: 0;
}
.ft-site-root .event-dates .upcoming-list li {
  overflow: hidden;
  border: 1px solid var(--event-line, #c7d6e0);
  border-radius: 16px;
  background: #fff;
}
.ft-site-root .event-dates .upcoming-list li + li {
  margin-top: 12px;
}
.ft-site-root .event-dates .upcoming-list .date-row-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px 16px;
  padding: 20px;
}
.ft-site-root .event-dates .date-description {
  display: flex;
  flex-direction: column;
  align-items: start;
  align-self: start;
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
}
.ft-site-root .event-dates .date-description strong {
  max-width: 100%;
  margin: 0;
  font-size: 16px;
  line-height: 1.35;
  white-space: normal;
  overflow-wrap: break-word;
}
.ft-site-root .event-dates .date-status {
  grid-column: 1;
  grid-row: 2;
  justify-self: start;
  align-self: center;
  white-space: normal;
  text-align: start;
}
.ft-site-root .event-dates .date-rate {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  text-align: right;
}
.ft-site-root .event-dates .date-rate strong {
  display: block;
  margin: 0;
  color: var(--event-accent, #062f48);
  font-size: 20px;
  line-height: 1.1;
}
.ft-site-root .event-dates .date-rate small {
  display: block;
  margin: 2px 0 0;
  font-size: 12px;
  line-height: 1.35;
}
.ft-site-root .event-dates .date-row-content > .event-date-action {
  grid-column: 2;
  grid-row: 2;
  justify-self: end;
  align-self: center;
  width: auto;
  min-height: 34px;
  padding: 6px 14px;
  font-size: 13px;
  line-height: 1.4;
}
.ft-site-root .event-dates a.date-row-content:hover > .event-date-action,
.ft-site-root .event-dates a.date-row-content:focus-visible > .event-date-action,
.ft-site-root .event-dates .btn-primary:hover:not(:disabled):not([aria-disabled=true]),
.ft-site-root .event-dates .btn-primary:focus-visible:not(:disabled):not([aria-disabled=true]) {
  color: var(--event-accent, #062f48);
  background: var(--event-surface, #eaf3fa);
  border-color: var(--event-surface, #eaf3fa);
}
.ft-site-root .event-dates .btn-primary:focus-visible {
  outline-color: var(--event-accent, #062f48);
}
.ft-site-root .event-dates a.date-row-content:focus-visible {
  outline: 2px solid var(--event-accent, #062f48);
  outline-offset: -3px;
  border-radius: 15px;
}
.ft-site-root .event-dates > p {
  margin-top: 24px;
  font-weight: 400;
}
.ft-site-root .event-dates > button {
  margin-top: 20px;
  max-width: 100%;
  white-space: normal;
}
.ft-site-root .event-overview-column {
  min-width: 0;
}
.ft-site-root .event-overview-column > .product-facts {
  margin-top: 32px;
}
.ft-site-root .event-video {
  min-width: 0;
}
.ft-site-root .event-video iframe {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  margin-top: 24px;
  border: 0;
  border-radius: 18px;
  background: #062f48;
}
.ft-site-root .event-video--feature {
  width: 100%;
}
.ft-site-root .event-concept-section .event-concept {
  font-size: 17px;
  line-height: 1.7;
}
.ft-site-root .event-concept-section .product-facts {
  font-size: 16px;
}
.ft-site-root .event-concept-section .product-facts dd {
  font-weight: 400;
}
.ft-site-root .event-concept-section--dates .product-facts {
  padding-block: 22px;
  background: var(--event-surface);
}
.ft-site-root .event-concept-section--dates .product-facts > div {
  position: relative;
  padding-left: 50px;
}
.ft-site-root .event-concept-section--dates .product-facts div + div {
  margin-top: 16px;
}
.ft-site-root .event-concept-section--dates .product-facts dd {
  margin-top: 2px;
}
.ft-site-root .event-concept-section--dates .event-fact-icon {
  position: absolute;
  top: 1px;
  left: 0;
  display: grid;
  place-items: center;
  width: 40px;
  height: 48px;
  color: var(--event-accent);
  font-size: 32px;
  line-height: 1;
  cursor: default;
}
.ft-site-root .event-concept-section--dates .event-fact-icon--pin .event-meeting-pin__body {
  position: absolute;
  left: 5px;
  top: 5px;
  width: 30px;
  height: 30px;
  border: 0;
  background: var(--event-accent);
  box-shadow: none;
}
.ft-site-root .event-concept-section--dates .event-fact-icon--pin .event-meeting-pin__dot {
  width: 8px;
  height: 8px;
  background: var(--event-surface);
}
.ft-site-root .event-concept-section--dates .event-practical > .event-dates {
  padding: 28px;
  border: 1px solid var(--event-line);
  border-radius: 20px;
  background: var(--event-surface);
}
.ft-site-root .event-concept-section--dates .event-practical > .event-dates .section-heading h2 {
  color: var(--event-accent);
}
.ft-site-root .event-concept-section--dates .event-practical > .event-dates .section-heading p {
  margin-top: 12px;
  color: #17394e;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
}
.ft-site-root .event-concept-section--dates .event-practical > .event-dates > p {
  color: #062f48;
  font-size: 14px;
  line-height: 1.55;
}
@media (min-width: 801px) {
  .ft-site-root .event-concept-section--dates .event-overview-column {
    padding-top: 29px;
  }
}
@media (max-width: 800px) {
  .ft-site-root .event-concept-section--dates > .content-split {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
}
.ft-site-root .event-meeting {
  margin-top: 28px;
  min-width: 0;
  scroll-margin-top: 112px;
}
.ft-site-root .event-meeting-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 16px;
  margin-bottom: 18px;
}
.ft-site-root .event-meeting-copy {
  min-width: 0;
}
.ft-site-root .event-meeting-copy .eyebrow {
  margin: 0 0 8px;
  color: var(--event-accent, #0678b4);
}
.ft-site-root .event-meeting-copy h2 {
  margin: 0;
  font-size: 22px;
  line-height: 1.3;
}
.ft-site-root .event-meeting-description {
  margin: 0 0 18px;
}
.ft-site-root .event-meeting-description p {
  margin: 0;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.65;
}
.ft-site-root .event-meeting-controls {
  flex-shrink: 0;
  display: flex;
  gap: 4px;
  padding: 4px;
  background: #fff;
  border: 1px solid #c7d6e0;
  border-radius: 999px;
}
.ft-site-root .event-meeting-controls button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 13px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #062f48;
  font: 700 14px/1.3 "Quicksand", "FT Text Fallback", Arial, sans-serif;
  cursor: pointer;
}
.ft-site-root .event-meeting-controls button[aria-selected=true] {
  background: #062f48;
  color: #fff;
}
.ft-site-root .event-meeting-controls button:hover:not([aria-selected=true]) {
  background: #eaf3fa;
}
.ft-site-root .event-meeting-controls button:focus-visible {
  outline: 2px solid #0678b4;
  outline-offset: -2px;
  box-shadow: none;
}
.ft-site-root .event-meeting-panel {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid var(--event-line, #c7d6e0);
  border-radius: 20px;
  background: #fff;
}
.ft-site-root .event-meeting-map {
  height: 360px;
  z-index: 0;
  background: #d7e8f4;
  font-family: "Quicksand", "FT Text Fallback", Arial, sans-serif;
}
.ft-site-root .event-meeting-map .leaflet-control-attribution {
  font-family: inherit;
  font-size: 10px;
  line-height: 1.5;
}
.ft-site-root .event-meeting-map .leaflet-popup-content-wrapper {
  color: #17394e;
  border-radius: 16px;
}
.ft-site-root .event-meeting-map .leaflet-popup-content {
  margin: 17px 20px;
  font-family: "Quicksand", "FT Text Fallback", Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.55;
}
.ft-site-root .event-meeting-map .leaflet-popup-content h3 {
  margin: 0 16px 8px 0;
  color: #062f48;
  font: 700 18px/1.25 "Quicksand", "FT Text Fallback", Arial, sans-serif;
  letter-spacing: 0;
}
.ft-site-root .event-meeting-map .leaflet-popup-content p {
  margin: 0;
  font: inherit;
}
.ft-site-root .event-meeting-map .leaflet-popup-content a {
  display: inline-block;
  margin-top: 12px;
  color: #0678b4;
  font-weight: 700;
  text-underline-offset: 3px;
}
.ft-site-root .event-meeting-map .leaflet-popup-content a.event-meeting-directions {
  display: inline-flex;
  min-height: 36px;
  padding: 0;
  border: 0;
  color: #062f48;
  background: transparent;
}
.ft-site-root .event-meeting-map .leaflet-popup-content a.event-meeting-directions .tour-card-map-label {
  min-height: 36px;
  padding: 8px 14px;
}
.ft-site-root .event-meeting-pin {
  background: transparent;
  border: 0;
}
.ft-site-root .event-meeting-pin__bounce {
  display: block;
  width: 38px;
  height: 48px;
}
.ft-site-root .event-meeting-pin__body {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 3px solid #fff;
  border-radius: 50% 50% 50% 0;
  background: #0678b4;
  box-shadow: 0 4px 12px rgba(6, 47, 72, 0.2509803922);
  rotate: -45deg;
}
.ft-site-root .event-meeting-pin__dot {
  display: block;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #fff;
}
.ft-site-root .event-meeting--fixed-copy .event-meeting-pin__body {
  background: var(--event-accent);
}
.ft-site-root .event-meeting--fixed-copy .event-meeting-map .leaflet-control-zoom {
  display: grid;
  gap: 8px;
  border: 0;
  border-radius: 0;
  overflow: visible;
  background: none;
  box-shadow: none;
}
.ft-site-root .event-meeting--fixed-copy .event-meeting-map .leaflet-control-zoom > a {
  border: 1px solid var(--event-accent);
  color: var(--event-accent);
  background: var(--event-surface);
  background-clip: border-box;
  box-shadow: none;
  cursor: pointer;
  opacity: 1;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}
.ft-site-root .event-meeting--fixed-copy .event-meeting-map .leaflet-control-zoom > a:hover:not(:disabled):not([disabled]):not([aria-disabled=true]), .ft-site-root .event-meeting--fixed-copy .event-meeting-map .leaflet-control-zoom > a[aria-current=page] {
  color: #fff;
  border-color: var(--event-accent);
  background: var(--event-accent);
}
.ft-site-root .event-meeting--fixed-copy .event-meeting-map .leaflet-control-zoom > a:disabled, .ft-site-root .event-meeting--fixed-copy .event-meeting-map .leaflet-control-zoom > a[disabled], .ft-site-root .event-meeting--fixed-copy .event-meeting-map .leaflet-control-zoom > a[aria-disabled=true] {
  color: #526674;
  border-color: #c7d6e0;
  background: #eaf3fa;
  opacity: 0.55;
  cursor: not-allowed;
}
.ft-site-root .event-meeting--fixed-copy .event-meeting-map .leaflet-control-zoom > a:focus-visible:not(:disabled):not([disabled]):not([aria-disabled=true]) {
  outline: none;
  border: 2px solid #0678b4;
  color: var(--event-accent);
  background: #eaf3fa;
  box-shadow: none;
  transition: none;
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .event-meeting--fixed-copy .event-meeting-map .leaflet-control-zoom > a {
    transition: none;
  }
}
.ft-site-root .event-meeting--fixed-copy .event-meeting-map .leaflet-control-zoom > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex: 0 0 36px;
  width: 36px;
  min-width: 36px;
  max-width: 36px;
  height: 36px;
  min-height: 36px;
  max-height: 36px;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  font: 700 14px/1 "Quicksand", Arial, sans-serif;
  text-align: center;
  text-decoration: none;
}
.ft-site-root .event-meeting--fixed-copy .event-meeting-map .leaflet-control-zoom > a .disclosure-icon {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
}
.ft-site-root .event-meeting--fixed-copy .event-meeting-map .leaflet-control-zoom > a .disclosure-icon::before {
  width: 16px;
  height: 16px;
  font-size: 16px;
}
.ft-site-root .event-meeting--fixed-copy .event-meeting-map .leaflet-control-zoom > a svg {
  display: block;
  width: 22px;
  height: 22px;
}
.ft-site-root .event-meeting--fixed-copy .event-meeting-map .leaflet-control-zoom > a {
  position: relative;
}
.ft-site-root .event-meeting--fixed-copy .event-meeting-map .leaflet-control-zoom > a::before {
  content: "";
  position: absolute;
  inset: -4px;
}
.ft-site-root .event-meeting--fixed-copy .event-map-mark {
  position: relative;
  display: block;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
}
.ft-site-root .event-meeting--fixed-copy .event-map-mark::before, .ft-site-root .event-meeting--fixed-copy .event-map-mark::after {
  content: "";
  position: absolute;
  display: block;
  border-radius: 1px;
  background: currentColor;
}
.ft-site-root .event-meeting--fixed-copy .event-map-mark::before {
  left: 0;
  top: 7px;
  width: 16px;
  height: 2px;
}
.ft-site-root .event-meeting--fixed-copy .event-map-mark::after {
  left: 7px;
  top: 0;
  width: 2px;
  height: 16px;
}
.ft-site-root .event-meeting--fixed-copy .event-map-mark--minus::after {
  display: none;
}
.ft-site-root .event-meeting--fixed-copy .event-map-mark--close {
  rotate: 45deg;
}
.ft-site-root .event-meeting--fixed-copy .event-meeting-map a.leaflet-popup-close-button {
  border: 1px solid var(--event-accent);
  color: var(--event-accent);
  background: var(--event-surface);
  background-clip: border-box;
  box-shadow: none;
  cursor: pointer;
  opacity: 1;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}
.ft-site-root .event-meeting--fixed-copy .event-meeting-map a.leaflet-popup-close-button:hover:not(:disabled):not([disabled]):not([aria-disabled=true]), .ft-site-root .event-meeting--fixed-copy .event-meeting-map a.leaflet-popup-close-button[aria-current=page] {
  color: #fff;
  border-color: var(--event-accent);
  background: var(--event-accent);
}
.ft-site-root .event-meeting--fixed-copy .event-meeting-map a.leaflet-popup-close-button:disabled, .ft-site-root .event-meeting--fixed-copy .event-meeting-map a.leaflet-popup-close-button[disabled], .ft-site-root .event-meeting--fixed-copy .event-meeting-map a.leaflet-popup-close-button[aria-disabled=true] {
  color: #526674;
  border-color: #c7d6e0;
  background: #eaf3fa;
  opacity: 0.55;
  cursor: not-allowed;
}
.ft-site-root .event-meeting--fixed-copy .event-meeting-map a.leaflet-popup-close-button:focus-visible:not(:disabled):not([disabled]):not([aria-disabled=true]) {
  outline: none;
  border: 2px solid #0678b4;
  color: var(--event-accent);
  background: #eaf3fa;
  box-shadow: none;
  transition: none;
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .event-meeting--fixed-copy .event-meeting-map a.leaflet-popup-close-button {
    transition: none;
  }
}
.ft-site-root .event-meeting--fixed-copy .event-meeting-map a.leaflet-popup-close-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex: 0 0 32px;
  width: 32px;
  min-width: 32px;
  max-width: 32px;
  height: 32px;
  min-height: 32px;
  max-height: 32px;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  font: 700 14px/1 "Quicksand", Arial, sans-serif;
  text-align: center;
  text-decoration: none;
}
.ft-site-root .event-meeting--fixed-copy .event-meeting-map a.leaflet-popup-close-button .disclosure-icon {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
}
.ft-site-root .event-meeting--fixed-copy .event-meeting-map a.leaflet-popup-close-button .disclosure-icon::before {
  width: 16px;
  height: 16px;
  font-size: 16px;
}
.ft-site-root .event-meeting--fixed-copy .event-meeting-map a.leaflet-popup-close-button svg {
  display: block;
  width: 22px;
  height: 22px;
}
.ft-site-root .event-meeting--fixed-copy .event-meeting-map a.leaflet-popup-close-button {
  position: absolute;
  top: 10px;
  right: 10px;
}
.ft-site-root .event-meeting--fixed-copy .event-meeting-map a.leaflet-popup-close-button::before {
  content: "";
  position: absolute;
  inset: -6px;
}
.ft-site-root .event-meeting-sources {
  position: absolute;
  z-index: 2;
  bottom: 6px;
  right: 6px;
  width: 44px;
  height: 44px;
  color: var(--event-accent, #062f48);
}
.ft-site-root .event-meeting-sources > summary {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  cursor: pointer;
  list-style: none;
  border: 0;
  background: transparent;
  color: inherit;
}
.ft-site-root .event-meeting-sources > summary > .icon {
  position: relative;
  display: block;
  flex: none;
  width: 20px;
  height: 20px;
  font-size: 20px;
  line-height: 1;
  cursor: inherit;
}
.ft-site-root .event-meeting-sources > summary::before {
  content: "";
  display: block;
  position: absolute;
  inset: 9px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 6px rgba(6, 47, 72, 0.0784313725);
}
.ft-site-root .event-meeting-sources > summary::after, .ft-site-root .event-meeting-sources > summary::-webkit-details-marker {
  display: none;
}
.ft-site-root .event-meeting-sources > summary:hover::before {
  background: var(--event-surface, #eaf3fa);
}
.ft-site-root .event-meeting-sources > summary:focus-visible {
  outline: none;
}
.ft-site-root .event-meeting-sources > summary:focus-visible::before {
  border: 2px solid currentColor;
}
.ft-site-root .event-meeting-sources > p {
  position: absolute;
  right: 36px;
  bottom: 0;
  width: max-content;
  max-width: min(250px, 100vw - 145px);
  min-height: 44px;
  margin: 0;
  padding: 12px;
  border: 1px solid #c7d6e0;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 2px 6px rgba(6, 47, 72, 0.0784313725);
  font-size: 12px;
  line-height: 1.5;
  transform-origin: right center;
}
.ft-site-root .event-meeting-sources > p a {
  color: inherit;
  text-underline-offset: 2px;
}
.ft-site-root .event-meeting-sources[open] > p {
  animation: event-meeting-sources-in 240ms ease-out both;
}
@keyframes event-meeting-sources-in {
  from {
    opacity: 0;
    transform: translateX(10px) scaleX(0.85);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .event-meeting-sources[open] > p {
    animation: none;
  }
}
.ft-site-root .event-meeting-photo {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
}
.ft-site-root .event-meeting-photo .meeting-photo {
  margin: 0;
  align-self: stretch;
  background: #d7e8f4;
}
.ft-site-root .event-meeting-photo .meeting-photo a {
  display: block;
  cursor: zoom-in;
}
.ft-site-root .event-meeting-photo .meeting-photo img {
  display: block;
  width: 100%;
  height: auto;
}
.ft-site-root .event-meeting-travel {
  display: flex;
  justify-content: flex-end;
  margin-top: 22px;
}
.ft-site-root .event-meeting-travel .btn.btn-secondary {
  --secondary-hover: var(--event-surface);
  white-space: normal;
}
.ft-site-root .event-meeting-travel .btn.btn-secondary:focus-visible {
  outline-color: var(--event-accent);
}
.ft-site-root .event-meeting .btn.tour-card-map .tour-card-map-label {
  padding: 8px 14px;
  border-color: var(--event-accent);
  background: #fff;
}
.ft-site-root .event-meeting .btn.tour-card-map:hover .tour-card-map-label, .ft-site-root .event-meeting .btn.tour-card-map:focus-visible .tour-card-map-label {
  border-color: var(--event-accent);
  background: var(--event-surface);
}
.ft-site-root .event-meeting .btn.tour-card-map:focus-visible {
  outline-color: var(--event-accent);
}
@media (max-width: 700px) {
  .ft-site-root .event-meeting {
    margin-top: 40px;
  }
  .ft-site-root .event-meeting-heading {
    align-items: start;
    flex-direction: column;
    gap: 18px;
  }
  .ft-site-root .event-meeting-controls {
    align-self: flex-end;
  }
  .ft-site-root .event-meeting-map {
    height: 360px;
  }
  .ft-site-root .event-meeting-travel {
    justify-content: flex-start;
  }
}
.ft-site-root .event-meeting--stacked {
  --event-meeting-photo-ratio: 3 / 2;
}
.ft-site-root .event-meeting--stacked .event-meeting-heading {
  align-items: center;
  flex-direction: row;
  gap: 16px;
}
.ft-site-root .event-meeting--stacked .event-meeting-description--directions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 16px;
}
.ft-site-root .event-meeting--stacked .event-meeting-panel {
  display: grid;
  gap: 18px;
  overflow: visible;
  isolation: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.ft-site-root .event-meeting--stacked .event-meeting-map-frame, .ft-site-root .event-meeting--stacked .event-meeting-photo {
  overflow: hidden;
  border: 1px solid var(--event-line, #c7d6e0);
  border-radius: 20px;
  background: #fff;
}
.ft-site-root .event-meeting--stacked .event-meeting-map-frame {
  position: relative;
  isolation: isolate;
}
.ft-site-root .event-meeting--stacked .event-meeting-map {
  height: auto;
  aspect-ratio: var(--event-meeting-photo-ratio);
}
.ft-site-root .event-program-section {
  scroll-margin-top: 100px;
}
.ft-site-root .event-program-grid {
  align-items: stretch;
}
.ft-site-root .event-program-grid--text-only {
  grid-template-columns: minmax(0, 1fr);
}
.ft-site-root .event-program-copy {
  min-width: 0;
  align-self: start;
}
.ft-site-root .event-program-copy > :last-child {
  margin-bottom: 0;
}
.ft-site-root .event-concept-intro {
  margin-bottom: 32px;
}
.ft-site-root .event-concept-intro > :first-child {
  margin-top: 0;
}
.ft-site-root .event-program-block {
  font-size: 16px;
  line-height: 1.7;
}
.ft-site-root .event-program-block + .event-program-block {
  margin-top: 32px;
}
.ft-site-root .event-program-block > :first-child {
  margin-top: 0;
}
.ft-site-root .event-program-block > :last-child {
  margin-bottom: 0;
}
.ft-site-root .event-program-block ul, .ft-site-root .event-program-block ol {
  margin-top: 24px;
  padding-inline-start: 20px;
}
.ft-site-root .event-program-block li {
  padding-inline-start: 4px;
}
.ft-site-root .event-program-block ul > li:last-child, .ft-site-root .event-program-block ol > li:last-child {
  margin-bottom: 0;
}
.ft-site-root .event-program-block ul > li:last-child > :last-child, .ft-site-root .event-program-block ol > li:last-child > :last-child {
  margin-bottom: 0;
}
.ft-site-root .event-program-block li::marker {
  color: var(--event-accent, #0678b4);
}
.ft-site-root .event-program-copy .event-program-book {
  margin-top: 28px;
}
.ft-site-root .event-program-note, .ft-site-root .event-concept > p.mini {
  margin-block: 24px 0;
  padding: 20px;
  border: 1px solid rgb(87.9215686275%, 88.5098039216%, 69.4901960784%);
  border-radius: 14px;
  background: rgb(100%, 98.1176470588%, 83.0588235294%);
  color: #17394e;
}
.ft-site-root .event-program-note > p, .ft-site-root .event-concept > p.mini {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.65;
}
.ft-site-root .event-program-note > p {
  margin: 0;
}
.ft-site-root .event-program-note .product-badge {
  font-size: 8px;
  min-width: 16px;
  min-height: 16px;
  padding: 3px 4px;
  margin-top: 1px;
}
.ft-site-root .event-program-section.event-theme--afternoon .event-program-note {
  border-color: var(--event-accent);
  background: rgb(100%, 95.7450980392%, 96.568627451%);
  color: #17394e;
}
.ft-site-root .event-program-section.event-theme--evening .event-program-note {
  border-color: var(--event-accent);
  background: rgb(96.9803921569%, 95.4705882353%, 98.3529411765%);
  color: #17394e;
}
.ft-site-root .event-photo-album {
  display: flex;
  min-width: 0;
}
.ft-site-root .event-photo-mosaic {
  flex: 1;
  align-content: space-between;
  margin-top: 0;
  width: 100%;
  max-width: none;
}
.ft-site-root .event-photo-mosaic > .photo-mosaic__item {
  align-self: start;
}
.ft-site-root .event-photo-mosaic[data-program-photo-count="1"] {
  align-content: center;
}
.ft-site-root .event-photo-mosaic[data-program-photo-count="1"] > .photo-mosaic__item:nth-child(n) {
  --photo-span: 12;
  --photo-width: 98%;
  --photo-offset: 0px;
  --photo-tilt: -1.8deg;
}
.ft-site-root .event-photo-mosaic[data-program-photo-count="2"] > .photo-mosaic__item:nth-child(n) {
  --photo-span: 12;
  --photo-width: 92%;
  --photo-offset: 4px;
  justify-self: start;
}
.ft-site-root .event-photo-mosaic[data-program-photo-count="2"] > .photo-mosaic__item:nth-child(2) {
  --photo-width: 88%;
  --photo-offset: 20px;
  justify-self: end;
}
.ft-site-root .event-photo-overflow {
  grid-column: 1/-1;
  min-width: 0;
}
.ft-site-root .event-photo-overflow .event-photo-mosaic--overflow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
  gap: 30px 24px;
  width: 100%;
  margin: 0 auto;
  padding: 12px;
}
.ft-site-root .event-photo-overflow .event-photo-mosaic--overflow > .photo-mosaic__item:nth-child(n) {
  --photo-span: 3;
  --photo-width: 100%;
  --photo-offset: 4px;
  --photo-tilt: -2.2deg;
  grid-column: auto;
  align-self: start;
  justify-self: center;
  width: var(--photo-width);
}
.ft-site-root .event-photo-overflow .event-photo-mosaic--overflow > .photo-mosaic__item:nth-child(4n+2) {
  --photo-width: 92%;
  --photo-offset: 24px;
  --photo-tilt: 2.4deg;
}
.ft-site-root .event-photo-overflow .event-photo-mosaic--overflow > .photo-mosaic__item:nth-child(4n+3) {
  --photo-width: 96%;
  --photo-offset: 10px;
  --photo-tilt: -1.4deg;
}
.ft-site-root .event-photo-overflow .event-photo-mosaic--overflow > .photo-mosaic__item:nth-child(4n+4) {
  --photo-width: 94%;
  --photo-offset: 20px;
  --photo-tilt: 1.8deg;
}
.ft-site-root .event-photo-overflow .event-photo-mosaic--overflow[data-program-photo-count="1"] {
  grid-template-columns: minmax(0, 1fr);
  max-width: 300px;
}
.ft-site-root .event-photo-overflow .event-photo-mosaic--overflow[data-program-photo-count="2"] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 600px;
}
.ft-site-root .event-photo-overflow .event-photo-mosaic--overflow[data-program-photo-count="3"] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 900px;
}
@media (max-width: 1000px) {
  .ft-site-root .event-photo-overflow .event-photo-mosaic--overflow {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  .ft-site-root .event-photo-overflow .event-photo-mosaic--overflow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 18px;
  }
  .ft-site-root .event-photo-overflow .event-photo-mosaic--overflow[data-program-photo-count="3"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 701px) {
  .ft-site-root .event-photo-mosaic--afternoon > .photo-mosaic__item:nth-child(2),
  .ft-site-root .event-photo-mosaic--afternoon > .photo-mosaic__item:nth-child(8) {
    --photo-width: 103.4%;
  }
  .ft-site-root .event-photo-mosaic--afternoon > .photo-mosaic__item:nth-child(6) {
    --photo-width: 106.5%;
  }
  .ft-site-root .event-photo-mosaic--afternoon[data-program-photo-count="7"] > .photo-mosaic__item:nth-child(2) {
    --photo-width: 112.8%;
  }
  .ft-site-root .event-photo-mosaic--afternoon[data-program-photo-count="7"] > .photo-mosaic__item:nth-child(3) {
    --photo-width: 101.2%;
  }
  .ft-site-root .event-photo-mosaic--afternoon[data-program-photo-count="7"] > .photo-mosaic__item:nth-child(5) {
    --photo-width: 99%;
  }
  .ft-site-root .event-photo-mosaic--plus > .photo-mosaic__item:nth-child(n) {
    --photo-width: 100%;
  }
  .ft-site-root .event-photo-mosaic--plus > .photo-mosaic__item:nth-child(5) {
    --photo-width: 97%;
  }
  .ft-site-root .event-photo-mosaic--plus > .photo-mosaic__item:nth-child(6) {
    --photo-width: 103%;
  }
  .ft-site-root .event-photo-mosaic--vip > .photo-mosaic__item:nth-child(n) {
    --photo-width: 94%;
  }
  .ft-site-root .event-photo-mosaic--vip > .photo-mosaic__item:nth-child(5) {
    --photo-width: 93%;
  }
  .ft-site-root .event-photo-mosaic--vip > .photo-mosaic__item:nth-child(6) {
    --photo-width: 95%;
  }
  .ft-site-root .event-program-grid.is-program-composed > .event-photo-album {
    position: relative;
    contain: size;
  }
  .ft-site-root .event-program-grid.is-program-composed .event-photo-mosaic {
    position: absolute;
    inset: 0;
    display: block;
    height: 100%;
    padding: 0;
  }
  .ft-site-root .event-program-grid.is-program-composed .event-photo-mosaic > .photo-mosaic__item:nth-child(n) {
    position: absolute;
    margin: 0;
    max-width: none;
  }
  .ft-site-root .event-program-grid.is-program-composed .event-photo-mosaic > .photo-mosaic__item:hover,
  .ft-site-root .event-program-grid.is-program-composed .event-photo-mosaic > .photo-mosaic__item:focus-visible {
    z-index: 2;
  }
}
@media (min-width: 1200px) {
  .ft-site-root .event-photo-mosaic--plus > .photo-mosaic__item:nth-child(n) {
    --photo-width: 105%;
  }
  .ft-site-root .event-photo-mosaic--plus > .photo-mosaic__item:nth-child(2) {
    --photo-width: 108%;
  }
  .ft-site-root .event-photo-mosaic--plus > .photo-mosaic__item:nth-child(3) {
    --photo-width: 106%;
  }
  .ft-site-root .event-photo-mosaic--plus > .photo-mosaic__item:nth-child(5) {
    --photo-width: 101%;
  }
  .ft-site-root .event-photo-mosaic--vip > .photo-mosaic__item:nth-child(2) {
    --photo-width: 100%;
  }
  .ft-site-root .event-photo-mosaic--vip > .photo-mosaic__item:nth-child(3) {
    --photo-width: 98%;
  }
}
.ft-site-root .event-photo-album--empty {
  min-height: 180px;
  align-items: center;
  justify-content: center;
  border: 1px dashed #c7d6e0;
  border-radius: 16px;
  background: #eaf3fa;
}
.ft-site-root .event-photo-album--empty > p {
  margin: 0;
  padding: 24px;
  color: #526674;
}
@media (max-width: 700px) {
  .ft-site-root .event-photo-mosaic {
    flex: none;
    align-content: start;
  }
}
@media (max-width: 400px) {
  .ft-site-root .event-photo-mosaic {
    gap: 24px 12px;
  }
  .ft-site-root .event-photo-mosaic > .photo-mosaic__item:nth-child(n) {
    --photo-span: 12;
    --photo-width: 92%;
    --photo-offset: 4px;
    grid-column: 1/-1;
    justify-self: start;
  }
  .ft-site-root .event-photo-mosaic > .photo-mosaic__item:nth-child(even) {
    --photo-width: 88%;
    justify-self: end;
  }
}
.ft-site-root .experience-section-heading {
  --experience-panel-surface: #eaf3fa;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: var(--experience-card-gap, 22px);
  margin-bottom: 32px;
}
.ft-site-root .experience-section-heading > * {
  min-width: 0;
}
.ft-site-root .experience-section-heading .experience-intro-opening {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.ft-site-root .experience-section-heading .experience-intro-photo {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 22px;
}
.ft-site-root .experience-section-heading .experience-intro-photo img {
  display: block;
  width: 100%;
  height: auto;
}
.ft-site-root .experience-section-heading .experience-intro-details {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 16px;
  min-width: 0;
}
.ft-site-root .experience-section-heading h2 {
  margin: 0;
  color: #062f48;
  font-size: var(--ft-section-title-size);
  line-height: 1.14;
  letter-spacing: -0.025em;
  text-wrap: balance;
  overflow-wrap: break-word;
}
.ft-site-root .experience-section-heading .experience-intro-eyebrow {
  margin: 0 0 12px;
  color: #062f48;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}
.ft-site-root .experience-section-heading .experience-intro-highlights {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr));
  gap: var(--experience-card-gap, 22px);
  margin: auto 0 0;
  padding: 16px 0;
  border-radius: 16px;
  background: var(--experience-panel-surface);
  list-style: none;
}
.ft-site-root .experience-section-heading .experience-intro-highlights > li {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  margin: 0;
  padding-inline: 20px;
}
.ft-site-root .experience-section-heading .experience-intro-highlights > li > div {
  min-width: 0;
}
.ft-site-root .experience-section-heading .experience-intro-highlights .booking-section-icon {
  flex: 0 0 32px;
  width: 32px;
  color: #0678b4;
  font-size: 27px;
  cursor: default;
}
.ft-site-root .experience-section-heading .experience-intro-highlights .booking-section-icon--group {
  font-size: 23px;
}
.ft-site-root .experience-section-heading .experience-intro-highlights strong, .ft-site-root .experience-section-heading .experience-intro-highlights li > div > span {
  display: block;
}
.ft-site-root .experience-section-heading .experience-intro-highlights strong {
  color: #062f48;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
}
.ft-site-root .experience-section-heading .experience-intro-highlights li > div > span {
  margin-top: 4px;
  color: #526674;
  font-size: 13px;
  line-height: 1.45;
  hyphens: auto;
  overflow-wrap: anywhere;
}
.ft-site-root .experience-section-heading .experience-intro-people {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--experience-card-gap, 22px);
  min-width: 0;
}
.ft-site-root .experience-section-heading .experience-intro-person {
  min-width: 0;
  padding: 20px;
  border-radius: 22px;
  background: var(--experience-panel-surface);
}
.ft-site-root .experience-section-heading .experience-intro-person h3 {
  margin: 0;
  color: #062f48;
  font-size: clamp(18px, 1.8vw, 22px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  white-space: nowrap;
}
.ft-site-root .experience-section-heading .experience-intro-person p {
  margin: 10px 0 0;
  color: #526674;
  font-size: 14px;
  line-height: 1.6;
}
.ft-site-root .experience-section-heading .experience-intro-closing {
  margin: 24px 0;
  color: #17394e;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.7;
}
.ft-site-root .experience-section-heading .experience-intro-closing > :first-child {
  margin-top: 0;
}
.ft-site-root .experience-section-heading .experience-intro-closing > :last-child {
  margin-bottom: 0;
}
.ft-site-root .experience-section-heading .experience-intro-closing > p {
  margin: 0;
}
.ft-site-root .experience-section-heading .experience-intro-closing > p + p {
  margin-top: 24px;
}
.ft-site-root .event-experiences-section {
  background: #fff;
}
.ft-site-root .event-experiences-section.editorial-peter-experiences {
  background: #eaf3fa;
}
.ft-site-root .event-experiences-section.editorial-peter-experiences .experience-section-heading {
  --experience-panel-surface: #fff;
}
.ft-site-root .event-experiences-section .event-experiences-availability {
  font-size: 14px;
  font-weight: 400;
}
.ft-site-root .event-experiences-section.event-other-section .event-other-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.ft-site-root .event-experiences-section .experience-card-body {
  padding: 24px;
}
.ft-site-root .event-experiences-section .experience-card-body h3 {
  font-size: 24px;
}
.ft-site-root .event-hotels {
  background: #eaf3fa;
}
.ft-site-root .event-hotels .event-hotels-header {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: 64px;
  align-items: center;
}
.ft-site-root .event-hotels .event-hotels-copy {
  min-width: 0;
}
.ft-site-root .event-hotels .event-hotels-heading {
  font-size: var(--ft-section-title-size);
  line-height: 1.2;
}
.ft-site-root .event-hotels .event-hotels-intro {
  max-width: 800px;
  margin-top: 20px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
}
.ft-site-root .event-hotels .event-hotels-intro > :first-child {
  margin-top: 0;
}
.ft-site-root .event-hotels .event-hotels-riviera {
  width: 100%;
  max-width: 280px;
  margin-inline: auto;
  text-align: center;
}
.ft-site-root .event-hotels .event-hotels-riviera > a:first-child {
  display: block;
}
.ft-site-root .event-hotels .event-hotels-riviera img {
  display: block;
  width: 100%;
  height: auto;
}
.ft-site-root .event-hotels .event-hotels-riviera .btn {
  margin-top: 16px;
  max-width: 100%;
}
.ft-site-root .event-hotels .event-hotel-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 36px;
}
.ft-site-root .event-hotels .event-hotel-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #c7d6e0;
  border-radius: 16px;
  background: #fff;
}
.ft-site-root .event-hotels .event-hotel-photo {
  display: block;
  overflow: hidden;
}
.ft-site-root .event-hotels .event-hotel-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 1.55;
  object-fit: cover;
}
.ft-site-root .event-hotels .event-hotel-body {
  padding: 22px;
  display: flex;
  flex-direction: column;
  align-items: start;
  flex: 1;
}
.ft-site-root .event-hotels .event-hotel-body h3 {
  margin-bottom: 16px;
  font-size: 22px;
  line-height: 1.3;
}
.ft-site-root .event-hotels .event-hotel-body .btn {
  margin-top: auto;
  white-space: normal;
  max-width: 100%;
}
.ft-site-root .event-hotels .event-hotel-description {
  margin-bottom: 24px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
}
.ft-site-root .event-hotels .event-hotel-description p:first-child {
  margin-top: 0;
}
@media (max-width: 1100px) {
  .ft-site-root .experience-section-heading {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
}
@media (max-width: 1000px) {
  .ft-site-root .event-hero .page-hero, .ft-site-root .event-program-grid, .ft-site-root .event-hotels .event-hotels-header {
    gap: 32px;
  }
  .ft-site-root .event-experiences-section .event-other-grid, .ft-site-root .event-experiences-section.event-other-section .event-other-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ft-site-root .event-hotels .event-hotel-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .ft-site-root .event-hotels .event-hotel-card {
    display: grid;
    grid-template-columns: minmax(0, 0.7fr) minmax(0, 1fr);
  }
  .ft-site-root .event-hotels .event-hotel-photo img {
    height: 100%;
  }
}
@media (max-width: 600px) {
  .ft-site-root .experience-section-heading .experience-intro-highlights {
    grid-template-columns: minmax(0, 1fr);
  }
  .ft-site-root .experience-section-heading .experience-intro-highlights > li {
    gap: 8px;
  }
  .ft-site-root .experience-section-heading .experience-intro-people {
    grid-template-columns: minmax(0, 1fr);
  }
  .ft-site-root .experience-section-heading .experience-intro-person h3 {
    font-size: 22px;
  }
  .ft-site-root .experience-section-heading .experience-intro-person p {
    margin-top: 6px;
  }
}
@media (max-width: 700px) {
  .ft-site-root .experience-section-heading .experience-intro-closing {
    font-size: 16px;
  }
  .ft-site-root .event-program-grid, .ft-site-root .event-hotels .event-hotels-header {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
  .ft-site-root .event-hero .page-hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
  .ft-site-root .event-hero-copy {
    display: contents;
  }
  .ft-site-root .event-hero .hero-actions {
    order: 4;
    gap: 14px;
  }
  .ft-site-root .event-hero .page-hero h1 {
    font-size: clamp(29px, 7.5vw, 38px);
  }
  .ft-site-root .event-hero .lead {
    order: 2;
    margin-top: 0;
    font-size: 17px;
  }
  .ft-site-root .event-hero .event-price {
    order: 3;
  }
  .ft-site-root .event-hero-photo {
    order: 1;
    margin-block: 24px;
  }
  .ft-site-root .event-hero-photo img {
    aspect-ratio: 16/10;
    max-height: 300px;
    object-fit: cover;
  }
  .ft-site-root .event-dates .upcoming-list .date-row-content {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px 12px;
    padding: 16px;
  }
  .ft-site-root .event-dates .date-description {
    grid-column: 1;
    grid-row: 1;
  }
  .ft-site-root .event-dates .date-status {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
    align-self: center;
  }
  .ft-site-root .event-dates .date-rate {
    grid-column: 2;
    grid-row: 1/span 2;
    text-align: right;
  }
  .ft-site-root .event-dates .date-row-content > .event-date-action {
    grid-column: 1/-1;
    grid-row: 3;
    justify-self: stretch;
    width: 100%;
    max-width: 100%;
    white-space: normal;
    text-align: center;
  }
  .ft-site-root .event-concept-section--dates .event-practical > .event-dates {
    padding: 20px;
  }
}
@media (max-width: 600px) {
  .ft-site-root .event-experiences-section .event-other-grid, .ft-site-root .event-experiences-section.event-other-section .event-other-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 400px) {
  .ft-site-root .event-hotels .event-hotel-card {
    display: flex;
    flex-direction: column;
  }
}
.ft-site-root .meeting-photo--wayfinding {
  position: relative;
  margin: 0;
  background: #fff;
}
.ft-site-root .meeting-photo--wayfinding > a {
  position: relative;
  display: block;
  isolation: isolate;
  cursor: zoom-in;
}
.ft-site-root .meeting-photo--wayfinding > a:focus-visible {
  outline: none;
}
.ft-site-root .meeting-photo--wayfinding > a:focus-visible::after {
  content: "";
  position: absolute;
  z-index: 4;
  inset: 3px;
  border: 2px solid var(--event-accent, #0678b4);
  border-radius: 16px;
  pointer-events: none;
}
.ft-site-root .meeting-photo--wayfinding .meeting-photo__labels {
  position: absolute;
  z-index: 2;
  inset: 14px 14px auto;
  display: flex;
  align-items: start;
  pointer-events: none;
}
.ft-site-root .meeting-photo--wayfinding .meeting-photo__labels > span {
  max-width: 100%;
}
.ft-site-root .meeting-photo--wayfinding .meeting-photo__labels .map-layer-switch__label {
  gap: 4px;
  flex-wrap: wrap;
  white-space: normal;
  text-align: left;
}
.ft-site-root .meeting-photo--wayfinding .meeting-photo__labels .product-name {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  vertical-align: middle;
}
.ft-site-root .meeting-photo--wayfinding .meeting-photo__labels .product-badge {
  flex: none;
  margin: 0;
}
.ft-site-root .meeting-photo--wayfinding .meeting-photo__caption {
  margin: 0;
  padding: 7px 16px;
  background: #fff;
  color: var(--event-accent, #0678b4);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.035em;
  text-align: center;
  text-transform: uppercase;
}
@media (hover: hover) and (pointer: fine) and (min-width: 701px) {
  .ft-site-root .meeting-photo--wayfinding {
    overflow: hidden;
  }
  .ft-site-root .meeting-photo--wayfinding .meeting-photo__caption {
    position: absolute;
    z-index: 2;
    inset: auto 0 0;
    transform: translateY(100%);
    transition: transform 200ms ease-out;
    pointer-events: none;
  }
  .ft-site-root :is(.meeting-photo--wayfinding, .tour-card--detail):is(:hover, :focus-within) .meeting-photo__caption {
    transform: translateY(0);
  }
}
@media (max-width: 420px) {
  .ft-site-root .meeting-photo--wayfinding .meeting-photo__labels {
    inset: 10px 10px auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .meeting-photo--wayfinding .meeting-photo__caption {
    transition: none;
  }
}
.ft-site-root .map-layer-switch {
  display: flex;
  gap: 2px;
  padding: 2px;
  border: 1px solid var(--event-line, #c7d6e0);
  border-radius: 999px;
  background: #fff;
  box-shadow: none;
  font-family: "Quicksand", "FT Text Fallback", Arial, sans-serif;
}
.ft-site-root .map-layer-switch button, .ft-site-root .map-layer-switch .map-layer-switch__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  margin: 0;
  padding: 4px 8px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: var(--event-accent, #062f48);
  font: 700 11px/1.3 "Quicksand", "FT Text Fallback", Arial, sans-serif;
  white-space: nowrap;
}
.ft-site-root .map-layer-switch button {
  cursor: pointer;
  transition: background-color 180ms ease, color 180ms ease;
}
.ft-site-root .map-layer-switch button[aria-pressed=true] {
  background: var(--event-accent, #062f48);
  color: #fff;
}
.ft-site-root .map-layer-switch button:hover:not([aria-pressed=true]) {
  background: var(--event-surface, #eaf3fa);
}
.ft-site-root .map-layer-switch button:focus-visible {
  outline: 2px solid var(--event-accent, #0678b4);
  outline-offset: -2px;
  box-shadow: none;
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .map-layer-switch button {
    transition: none;
  }
}
.ft-site-root .tour-voice-card {
  border-radius: 18px;
}
.ft-site-root .tour-voice-card > a {
  border-radius: 17px;
}
.ft-site-root .tour-voice-portrait {
  overflow: hidden;
  border-radius: 17px 17px 0 0;
}
.ft-site-root .tour-voice-portrait img {
  aspect-ratio: 650/434;
  transition: transform 200ms ease-out;
}
.ft-site-root .tour-voice-card > a:focus-visible .tour-voice-portrait img {
  transform: scale(1.035);
}
@media (hover: hover) and (pointer: fine) {
  .ft-site-root .tour-voice-card > a:hover .tour-voice-portrait img {
    transform: scale(1.035);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .tour-voice-portrait img {
    transition: none;
  }
  .ft-site-root .tour-voice-card > a:is(:hover, :focus-visible) .tour-voice-portrait img {
    transform: none;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .ft-site-root :is([data-program-gallery], .tour-faq-gallery) .photo-mosaic__item[data-gallery-photo]:focus-visible img {
    scale: 1.035;
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  .ft-site-root :is([data-program-gallery], .tour-faq-gallery) .photo-mosaic__item[data-gallery-photo]:hover img {
    scale: 1.035;
  }
}
.ft-site-root .photo-stack[data-photo-stack] .polaroid:focus-visible {
  z-index: 2147483647 !important;
}
@media (min-width: 601px) and (hover: hover) and (pointer: fine) {
  .ft-site-root .photo-stack[data-photo-stack] .polaroid .photo-caption {
    opacity: 0;
    translate: 0 8px;
    transition: opacity 200ms ease-out, translate 200ms ease-out;
  }
  .ft-site-root .photo-stack[data-photo-stack] .polaroid:hover {
    z-index: 2147483647 !important;
  }
  .ft-site-root .photo-stack[data-photo-stack] .polaroid:hover .photo-caption, .ft-site-root .photo-stack[data-photo-stack] .polaroid:focus-visible .photo-caption {
    opacity: 1;
    translate: 0 0;
  }
}
@media (max-width: 600px), (hover: none), (pointer: coarse) {
  .ft-site-root .photo-stack[data-photo-stack], .ft-site-root .tour-faq-gallery .photo-stack[data-photo-stack] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 28px;
    height: auto;
    min-height: 0;
    max-width: none;
    aspect-ratio: auto;
    padding: 12px 8px;
  }
  .ft-site-root .photo-stack[data-photo-stack] .polaroid:nth-child(n), .ft-site-root .tour-faq-gallery .photo-stack[data-photo-stack] .polaroid:nth-child(n) {
    position: relative;
    inset: auto;
    width: 100%;
    rotate: -2deg;
  }
  .ft-site-root .photo-stack[data-photo-stack] .polaroid:nth-child(even), .ft-site-root .tour-faq-gallery .photo-stack[data-photo-stack] .polaroid:nth-child(even) {
    rotate: 2deg;
    margin-top: 20px;
  }
}
@media (max-width: 600px) {
  .ft-site-root .photo-stack[data-photo-stack], .ft-site-root .tour-faq-gallery .photo-stack[data-photo-stack] {
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
  }
  .ft-site-root .photo-stack[data-photo-stack] .polaroid:nth-child(n), .ft-site-root .tour-faq-gallery .photo-stack[data-photo-stack] .polaroid:nth-child(n) {
    width: 86%;
    justify-self: start;
    rotate: -3deg;
  }
  .ft-site-root .photo-stack[data-photo-stack] .polaroid:nth-child(even), .ft-site-root .tour-faq-gallery .photo-stack[data-photo-stack] .polaroid:nth-child(even) {
    justify-self: end;
    rotate: 3deg;
    margin-top: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .photo-stack[data-photo-stack] .photo-caption {
    transition: none;
    translate: none;
  }
}
.ft-site-root .preview-page.preview-home > main > .home-events,
.ft-site-root .preview-page.preview-home > main > .home-discovery {
  --band-surface: #fff;
  background: #fff;
}
.ft-site-root .preview-page.preview-home > main > #actualites {
  --band-surface: #eaf3fa;
  background: #eaf3fa;
}
.ft-site-root .preview-page.preview-home > main > #actualites .news-card {
  background: #fff;
}
.ft-site-root .home-discovery .discovery-copy h2 {
  text-wrap: balance;
}
.ft-site-root .home-discovery .discovery-links {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin-top: 24px;
}
.ft-site-root .home-discovery .discovery-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 58px;
  padding: 10px 24px 10px 12px;
  border-bottom: 1px solid #c7d6e0;
  border-radius: 0;
  color: #062f48;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  transition: background-color 0.24s ease-out;
}
.ft-site-root .home-discovery .discovery-links a > span:first-child {
  min-width: 0;
  transition: translate 0.3s cubic-bezier(0.22, 0.68, 0.3, 1);
}
.ft-site-root .home-discovery .discovery-links a:focus-visible {
  color: #062f48;
  background: #d7e8f4;
  outline: none;
}
.ft-site-root .home-discovery .discovery-links a:focus-visible > span:first-child {
  translate: 3px 0;
}
.ft-site-root .home-discovery .discovery-links a:focus-visible .icon {
  color: #fff;
  background: #062f48;
  translate: 3px 0;
}
.ft-site-root .home-discovery .discovery-links .icon {
  display: inline-grid;
  flex: 0 0 34px;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: #062f48;
  background: #eaf3fa;
  font-size: 14px;
  transform: rotate(-90deg);
  transition: translate 0.3s cubic-bezier(0.22, 0.68, 0.3, 1), color 0.2s ease-out, background-color 0.2s ease-out;
}
@media (hover: hover) and (pointer: fine) {
  .ft-site-root .home-discovery .discovery-links a:hover {
    color: #062f48;
    background: rgba(234, 243, 250, 0.7);
  }
  .ft-site-root .home-discovery .discovery-links a:hover > span:first-child {
    translate: 3px 0;
  }
  .ft-site-root .home-discovery .discovery-links a:hover .icon {
    color: #fff;
    background: #062f48;
    translate: 3px 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .home-discovery .discovery-links a, .ft-site-root .home-discovery .discovery-links a > span, .ft-site-root .home-discovery .discovery-links .icon {
    transition: none;
  }
  .ft-site-root .home-discovery .discovery-links a:hover > span, .ft-site-root .home-discovery .discovery-links a:focus-visible > span {
    translate: none;
  }
}
.ft-site-root .home-discovery .discovery-photo {
  margin: 0;
  min-width: 0;
  align-self: end;
}
.ft-site-root .home-discovery .discovery-photo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 18px;
}
.ft-site-root .preview-home #actualites .news-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  max-width: 1160px;
  margin-inline: auto;
}
.ft-site-root .preview-home #actualites .news-card {
  min-width: 0;
  overflow: hidden;
  border-radius: 20px;
}
.ft-site-root .preview-home #actualites .news-card .product-card-link {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.ft-site-root .preview-home #actualites .news-card-image {
  display: block;
  flex-shrink: 0;
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  overflow: hidden;
  margin: 0;
  background: #eaf3fa;
}
.ft-site-root .preview-home #actualites .news-card-image img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
}
.ft-site-root .preview-home #actualites .news-card:focus-within .product-card-link:focus-visible .news-card-image img {
  scale: 1.035;
}
.ft-site-root .preview-home #actualites .news-card-body {
  min-width: 0;
  padding: 22px;
}
.ft-site-root .preview-home #actualites .news-card-body h3 {
  min-height: 0;
  margin: 10px 0 6px;
  font-size: 18px;
  line-height: 1.35;
}
.ft-site-root .preview-home #actualites .news-card-body p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  margin: 0 0 22px;
  font-size: 14px;
  line-height: 1.6;
}
.ft-site-root .preview-home #actualites .news-card-body .btn-secondary {
  width: max-content;
  max-width: 100%;
  min-height: 44px;
  margin-top: auto;
  padding: 10px 18px;
  border-color: #062f48;
  font-size: 14px;
  line-height: 1.4;
  white-space: nowrap;
}
.ft-site-root .preview-home #actualites .news-date {
  display: block;
  margin: 0;
  color: #526674;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
}
.ft-site-root .preview-home #actualites .media-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 16px 24px;
  max-width: 1160px;
  margin-inline: auto;
  margin-bottom: 32px;
}
.ft-site-root .preview-home #actualites .media-section-heading h2 {
  min-width: 0;
}
.ft-site-root .preview-home #actualites .media-section-heading > .btn-secondary {
  justify-self: start;
  margin: 0;
}
.ft-site-root .preview-home #actualites .news-card .product-card-link:focus-visible .btn-secondary,
.ft-site-root .preview-home #actualites .news-card .product-card-link:active .btn-secondary {
  background: #062f48;
  border-color: #062f48;
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .ft-site-root .preview-home #actualites .news-card .product-card-link:hover .news-card-image img {
    scale: 1.035;
  }
  .ft-site-root .preview-home #actualites .news-card .product-card-link:hover .btn-secondary {
    background: #062f48;
    border-color: #062f48;
    color: #fff;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .preview-home #actualites .news-card:focus-within .product-card-link:focus-visible .news-card-image img,
  .ft-site-root .preview-home #actualites .news-card .product-card-link:hover .news-card-image img {
    scale: none;
    transition: none;
  }
}
@media (min-width: 768px) {
  .ft-site-root .preview-home #actualites .media-section-heading {
    grid-template-columns: minmax(0, 1fr) auto;
    margin-bottom: 32px;
  }
  .ft-site-root .preview-home #actualites .media-section-heading > .btn-secondary {
    justify-self: end;
  }
}
@media (max-width: 1050px) {
  .ft-site-root .preview-home #actualites .news-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 760px;
  }
}
@media (max-width: 600px) {
  .ft-site-root .preview-home #actualites .news-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
    max-width: none;
  }
  .ft-site-root .preview-home #actualites .news-card .product-card-link {
    display: flow-root;
    padding: 20px;
  }
  .ft-site-root .preview-home #actualites .news-card-image {
    float: left;
    width: 120px;
    margin: 0 14px 8px 0;
    border-radius: 10px;
  }
  .ft-site-root .preview-home #actualites .news-card-body {
    display: contents;
  }
  .ft-site-root .preview-home #actualites .news-card-body h3 {
    min-height: 0;
    margin: 0;
    font-size: 17px;
    text-wrap: pretty;
  }
  .ft-site-root .preview-home #actualites .news-card-body p {
    clear: both;
    -webkit-line-clamp: 2;
    margin: 4px 0 0;
  }
  .ft-site-root .preview-home #actualites .news-card-body .btn-secondary {
    margin-top: 12px;
  }
  .ft-site-root .preview-home #actualites .news-date {
    margin-bottom: 4px;
    font-size: 12px;
  }
}
@media (max-width: 360px) {
  .ft-site-root .preview-home #actualites .news-card .product-card-link {
    padding: 18px;
  }
  .ft-site-root .preview-home #actualites .news-card-image {
    width: 96px;
  }
}
.ft-site-root .home-private-visit > img, .ft-site-root .home-private-visit > picture.ft-responsive-photo > img, .ft-site-root .home-private-visit > .page-photo-lightbox img {
  object-position: 50% 45%;
}
.ft-site-root .home-school-visit > img, .ft-site-root .home-school-visit > picture.ft-responsive-photo > img, .ft-site-root .home-school-visit > .page-photo-lightbox img {
  object-position: 50% 35%;
}
@media (max-width: 600px) {
  .ft-site-root .gift-strip .gift-grid {
    gap: 24px;
  }
}
.ft-site-root .gift-explorer .ambience-layer {
  --gift-ambient-top-ratio: .09;
  --gift-ambient-bottom-ratio: .02;
  --gift-balloon-max-launch-ratio: .6;
  position: absolute;
  z-index: 0;
  inset: var(--gift-ambient-mask-top, -9%) -5% -2%;
  overflow: visible;
  -webkit-mask-image: var(--gift-ambient-edge-image, none), linear-gradient(#000, #000);
  mask-image: var(--gift-ambient-edge-image, none), linear-gradient(#000, #000);
  -webkit-mask-position: var(--gift-ambient-edge-x, 0px) 0, 0 var(--gift-ambient-body-top, 0px);
  mask-position: var(--gift-ambient-edge-x, 0px) 0, 0 var(--gift-ambient-body-top, 0px);
  -webkit-mask-size: var(--gift-ambient-edge-width, 100%) var(--gift-ambient-edge-height, 0px), 100% var(--gift-ambient-body-height, 100%);
  mask-size: var(--gift-ambient-edge-width, 100%) var(--gift-ambient-edge-height, 0px), 100% var(--gift-ambient-body-height, 100%);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-composite: source-over;
  mask-composite: add;
  mask-mode: alpha;
  pointer-events: none;
  contain: layout style;
  opacity: 0;
  visibility: hidden;
}
.ft-site-root .gift-explorer .ambience-layer[data-started=true] {
  opacity: 1;
  visibility: visible;
}
.ft-site-root .gift-explorer .ambience-layer .ambience-canvas {
  position: absolute;
  top: var(--gift-ambient-canvas-top, 0px);
  left: 0;
  width: 100%;
  height: var(--gift-ambient-canvas-height, 100%);
}
.ft-site-root .gift-explorer .ambience-layer .ambient-theme {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-theme[data-active=true] {
  opacity: 1;
  visibility: visible;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-theme[data-active=false] .ambient-balloon,
.ft-site-root .gift-explorer .ambience-layer .ambient-theme[data-active=false] .ambient-balloon-drift,
.ft-site-root .gift-explorer .ambience-layer .ambient-theme[data-active=false] .ambient-confetti-burst,
.ft-site-root .gift-explorer .ambience-layer .ambient-theme[data-active=false] .ambient-hanging-bow,
.ft-site-root .gift-explorer .ambience-layer .ambient-theme[data-active=false] .ambient-bow-sway,
.ft-site-root .gift-explorer .ambience-layer .ambient-theme[data-active=false] .ambient-bow-body,
.ft-site-root .gift-explorer .ambience-layer .ambient-theme[data-active=false] .ambient-paper-rosettes,
.ft-site-root .gift-explorer .ambience-layer .ambient-theme[data-active=false] .ambient-paper-sway,
.ft-site-root .gift-explorer .ambience-layer .ambient-theme[data-active=false] .ambient-christmas-foliage {
  animation-name: none;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-star, .ft-site-root .gift-explorer .ambience-layer .ambient-confetti, .ft-site-root .gift-explorer .ambience-layer .ambient-confetti-burst, .ft-site-root .gift-explorer .ambience-layer .ambient-balloon, .ft-site-root .gift-explorer .ambience-layer .ambient-bauble, .ft-site-root .gift-explorer .ambience-layer .ambient-gold-disc {
  position: absolute;
  left: var(--x);
  animation-duration: calc(var(--duration) * var(--ambient-speed, 1));
  animation-delay: calc(var(--phase) * var(--ambient-speed, 1));
  animation-iteration-count: infinite;
  animation-play-state: paused;
}
.ft-site-root .gift-explorer .ambience-layer[data-running=true] .ambient-theme[data-active=true] .ambient-star, .ft-site-root .gift-explorer .ambience-layer[data-running=true] .ambient-theme[data-active=true] .ambient-confetti, .ft-site-root .gift-explorer .ambience-layer[data-running=true] .ambient-theme[data-active=true] .ambient-balloon, .ft-site-root .gift-explorer .ambience-layer[data-running=true] .ambient-theme[data-active=true] .ambient-balloon-drift, .ft-site-root .gift-explorer .ambience-layer[data-running=true] .ambient-theme[data-active=true] .ambient-bauble, .ft-site-root .gift-explorer .ambience-layer[data-running=true] .ambient-theme[data-active=true] .ambient-bauble-swing,
.ft-site-root .gift-explorer .ambience-layer[data-running=true] .ambient-theme[data-active=true] .ambient-gold-disc, .ft-site-root .gift-explorer .ambience-layer[data-running=true] .ambient-theme[data-active=true] .ambient-confetti-burst,
.ft-site-root .gift-explorer .ambience-layer[data-running=true] .ambient-theme[data-active=true] .ambient-hanging-bow, .ft-site-root .gift-explorer .ambience-layer[data-running=true] .ambient-theme[data-active=true] .ambient-bow-sway, .ft-site-root .gift-explorer .ambience-layer[data-running=true] .ambient-theme[data-active=true] .ambient-bow-body,
.ft-site-root .gift-explorer .ambience-layer[data-running=true] .ambient-theme[data-active=true] .ambient-paper-rosettes, .ft-site-root .gift-explorer .ambience-layer[data-running=true] .ambient-theme[data-active=true] .ambient-paper-sway, .ft-site-root .gift-explorer .ambience-layer[data-running=true] .ambient-theme[data-active=true] .ambient-christmas-foliage {
  animation-play-state: running;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-object {
  display: none;
  width: 100%;
  height: auto;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-balloon[data-sprite=ready] .ambient-object,
.ft-site-root .gift-explorer .ambience-layer .ambient-bauble[data-sprite=ready] .ambient-object,
.ft-site-root .gift-explorer .ambience-layer .ambient-hanging-bow[data-sprite=ready] .ambient-object,
.ft-site-root .gift-explorer .ambience-layer .ambient-paper-rosettes[data-sprite=ready] .ambient-object,
.ft-site-root .gift-explorer .ambience-layer .ambient-christmas-foliage[data-sprite=ready] .ambient-object {
  display: block;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-balloon:not([data-sprite=failed]) .ambient-balloon-form,
.ft-site-root .gift-explorer .ambience-layer .ambient-balloon:not([data-sprite=failed]) svg,
.ft-site-root .gift-explorer .ambience-layer .ambient-bauble:not([data-sprite=failed]) .ambient-bauble-form {
  display: none;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-balloon[data-sprite=loading],
.ft-site-root .gift-explorer .ambience-layer .ambient-bauble[data-sprite=loading],
.ft-site-root .gift-explorer .ambience-layer .ambient-hanging-bow[data-sprite=loading],
.ft-site-root .gift-explorer .ambience-layer .ambient-paper-rosettes[data-sprite=loading],
.ft-site-root .gift-explorer .ambience-layer .ambient-christmas-foliage[data-sprite=loading] {
  visibility: hidden;
  animation-name: none;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-hanging-bow[data-sprite=failed],
.ft-site-root .gift-explorer .ambience-layer .ambient-paper-rosettes[data-sprite=failed],
.ft-site-root .gift-explorer .ambience-layer .ambient-christmas-foliage[data-sprite=failed] {
  display: none;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-hanging-bow[data-sprite=loading] .ambient-bow-sway,
.ft-site-root .gift-explorer .ambience-layer .ambient-hanging-bow[data-sprite=loading] .ambient-bow-body {
  animation-name: none;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-balloon[data-sprite=loading] .ambient-balloon-drift {
  animation-name: none;
}
.ft-site-root .gift-explorer .ambience-layer .birthday-sculpture, .ft-site-root .gift-explorer .ambience-layer .birthday-foil-star {
  --sculpture-size: min(var(--size), var(--sculpture-span));
  position: absolute;
  z-index: 2;
  top: calc(var(--gift-ambient-clip-top, 0px) + var(--decor-top) - var(--sculpture-size) * var(--sculpture-padding));
  left: calc(var(--sculpture-x, var(--x)) - var(--sculpture-size) * 0.5);
  width: var(--sculpture-size);
  transform-origin: 50% 30%;
  animation: ft-gift-birthday-arrive calc(1.1s * var(--ambient-speed, 1)) cubic-bezier(0.22, 1, 0.36, 1) calc(var(--entry-delay) * var(--ambient-speed, 1)) 1 both;
  animation-play-state: paused;
}
.ft-site-root .gift-explorer .ambience-layer .birthday-foil-star {
  --sculpture-size: min(var(--size), var(--star-span));
  --sculpture-padding: 0;
}
.ft-site-root .gift-explorer .ambience-layer .birthday-foil-star-crop {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
}
.ft-site-root .gift-explorer .ambience-layer .birthday-foil-star .ambient-object {
  position: absolute;
  max-width: none;
  height: auto;
}
.ft-site-root .gift-explorer .ambience-layer .birthday-foil-star[data-tone=gold] .ambient-object {
  width: 636.363636%;
  left: -120%;
  top: -202.727273%;
}
.ft-site-root .gift-explorer .ambience-layer .birthday-foil-star[data-tone=red] .ambient-object {
  width: 466.666667%;
  left: -88%;
  top: -396.666667%;
}
.ft-site-root .gift-explorer .ambience-layer .birthday-sculpture-float {
  display: block;
  transform-origin: 50% 40%;
  animation: ft-gift-birthday-float calc(var(--duration) * var(--ambient-speed, 1)) ease-in-out calc(var(--phase) * var(--ambient-speed, 1)) infinite;
  animation-play-state: paused;
}
.ft-site-root .gift-explorer .ambience-layer :is(.birthday-sculpture, .birthday-foil-star)[data-sprite=ready] .ambient-object {
  display: block;
}
.ft-site-root .gift-explorer .ambience-layer :is(.birthday-sculpture, .birthday-foil-star):is([data-sprite=loading], [data-sprite=failed]) {
  visibility: hidden;
}
.ft-site-root .gift-explorer .ambience-layer :is(.birthday-sculpture, .birthday-foil-star):not([data-sprite=ready]),
.ft-site-root .gift-explorer .ambience-layer :is(.birthday-sculpture, .birthday-foil-star):not([data-sprite=ready]) .birthday-sculpture-float,
.ft-site-root .gift-explorer .ambience-layer .ambient-theme[data-active=false] :is(.birthday-sculpture, .birthday-foil-star, .birthday-sculpture-float) {
  animation-name: none;
}
.ft-site-root .gift-explorer .ambience-layer[data-running=true] .ambient-theme[data-active=true] .birthday-sculpture, .ft-site-root .gift-explorer .ambience-layer[data-running=true] .ambient-theme[data-active=true] .birthday-foil-star, .ft-site-root .gift-explorer .ambience-layer[data-running=true] .ambient-theme[data-active=true] .birthday-sculpture-float {
  animation-play-state: running;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-star {
  top: var(--y);
  width: var(--size);
  height: var(--size);
  color: var(--ink);
  opacity: 0.4;
  animation-name: ft-gift-ambient-star;
  animation-timing-function: ease-in-out;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-star svg {
  display: block;
  width: 100%;
  height: 100%;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-star.is-metallic svg {
  overflow: visible;
  filter: drop-shadow(0 1px 0.65px rgba(126, 78, 17, 0.18));
}
.ft-site-root .gift-explorer .ambience-layer .ambient-star.is-falling {
  top: -5%;
  opacity: 0.5;
  animation-name: ft-gift-ambient-star-fall;
  animation-timing-function: linear;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-confetti {
  top: -8%;
  width: var(--width);
  height: var(--height);
  border-radius: 1px;
  background: var(--ink);
  opacity: 0;
  animation-name: ft-gift-ambient-confetti;
  animation-timing-function: linear;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-confetti.is-curled {
  width: calc(var(--width) * 2);
  height: calc(var(--height) * 0.8);
  border: 2px solid var(--ink);
  border-left-color: transparent;
  border-radius: 50%;
  background: transparent;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-confetti-burst {
  top: var(--y);
  width: var(--width);
  height: var(--height);
  border-radius: 0.6px;
  background: var(--ink);
  box-shadow: inset 0.5px 0.5px 0.4px rgba(255, 255, 255, 0.34);
  opacity: 0;
  transform-origin: 50% 50%;
  animation-name: ft-gift-ambient-confetti-burst;
  animation-timing-function: linear;
  animation-fill-mode: both;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-confetti-burst.is-round {
  height: var(--width);
  border-radius: 50%;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-balloon {
  --balloon-size: min(var(--size), 13cqw);
  top: var(--balloon-launch, var(--launch-y));
  left: calc(var(--balloon-start, var(--start-x)) - var(--balloon-size, var(--size)) * 0.5);
  width: var(--balloon-size, var(--size));
  opacity: 1;
  visibility: hidden;
  animation-name: ft-gift-ambient-balloon;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-balloon .ambient-balloon-drift {
  display: block;
  position: relative;
  transform-origin: 50% 10%;
  animation: ft-gift-ambient-balloon-drift calc(var(--duration) * var(--ambient-speed, 1)) ease-in-out calc(var(--phase) * var(--ambient-speed, 1)) infinite both;
  animation-play-state: paused;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-balloon .ambient-balloon-form {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 1/1.26;
  border-radius: 50% 50% 46% 46%;
  background: radial-gradient(ellipse at 33% 26%, #c9efff 0, #3da6d7 24%, #058dc7 66%, #075286 100%);
  border: 0.6px solid rgba(5, 82, 134, 0.2);
}
.ft-site-root .gift-explorer .ambience-layer .ambient-balloon .ambient-balloon-form::before {
  content: "";
  position: absolute;
  top: 17%;
  left: 21%;
  width: 13%;
  height: 29%;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.55);
  transform: rotate(24deg);
}
.ft-site-root .gift-explorer .ambience-layer .ambient-balloon .ambient-balloon-form::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: calc(50% - 3px);
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  border-bottom: 5px solid #087bae;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-balloon[data-tone=navy] .ambient-balloon-form {
  background: radial-gradient(ellipse at 32% 25%, #8aa9c7 0, #294f73 28%, #142f50 72%, #102640 100%);
  border-color: rgba(6, 47, 72, 0.25);
}
.ft-site-root .gift-explorer .ambience-layer .ambient-balloon[data-tone=navy] .ambient-balloon-form::after {
  border-bottom-color: #243e5c;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-balloon[data-tone=cobalt] .ambient-balloon-form {
  background: radial-gradient(ellipse at 32% 25%, #c3daff 0, #4b87d8 26%, #1766c4 68%, #174987 100%);
}
.ft-site-root .gift-explorer .ambience-layer .ambient-balloon[data-tone=cobalt] .ambient-balloon-form::after {
  border-bottom-color: #2462ad;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-balloon[data-tone=ice] .ambient-balloon-form {
  background: radial-gradient(ellipse at 32% 25%, #f5fcff 0, #d8effa 26%, #9ecfe8 74%, #75a9ca 100%);
}
.ft-site-root .gift-explorer .ambience-layer .ambient-balloon[data-tone=ice] .ambient-balloon-form::after {
  border-bottom-color: #9bc9df;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-balloon svg {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 3px;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-hanging-bow {
  --bow-size: min(var(--size), 24cqw);
  position: absolute;
  top: calc(var(--gift-ambient-clip-top, 0px) + var(--bow-top) - var(--bow-size) * var(--bow-padding-top, 0.13));
  left: calc(var(--bow-x, var(--x)) - var(--bow-size) * 0.5);
  width: var(--bow-size);
  opacity: 1;
  transform-origin: 50% 0;
  animation: ft-gift-ambient-bow-arrive calc(1s * var(--ambient-speed, 1)) cubic-bezier(0.22, 1, 0.36, 1) calc(var(--entry-delay) * var(--ambient-speed, 1)) 1 both;
  animation-play-state: paused;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-hanging-bow[data-tone=gold] {
  --bow-body-duration: 6.4s;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-bow-sway {
  display: block;
  position: relative;
  transform-origin: 50% 0;
  animation: ft-gift-ambient-bow-sway calc(var(--duration, 6.8s) * var(--ambient-speed, 1)) ease-in-out calc(var(--phase, 0s) * var(--ambient-speed, 1)) infinite;
  animation-play-state: paused;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-bow-head {
  clip-path: inset(0 0 calc(100% - var(--bow-joint, 40%)) 0);
}
.ft-site-root .gift-explorer .ambience-layer .ambient-bow-body {
  position: absolute;
  top: 0;
  left: 0;
  clip-path: inset(calc(var(--bow-joint, 40%) - 0.4%) 0 0);
  transform-origin: 50% var(--bow-joint, 40%);
  animation: ft-gift-ambient-bow-pans calc(var(--bow-body-duration, 5.8s) * var(--ambient-speed, 1)) ease-in-out calc(var(--phase, 0s) * var(--ambient-speed, 1)) infinite;
  animation-play-state: paused;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-paper-rosettes {
  --paper-size: min(var(--size), 19cqw);
  position: absolute;
  top: calc(var(--gift-ambient-clip-top, 0px) + var(--decor-top) - var(--paper-size) * 0.245);
  left: calc(var(--paper-x, var(--x)) - var(--paper-size) * 0.5);
  width: var(--paper-size);
  animation: ft-gift-ambient-bow-arrive calc(1.1s * var(--ambient-speed, 1)) cubic-bezier(0.22, 1, 0.36, 1) calc(0.14s * var(--ambient-speed, 1)) 1 both;
  animation-play-state: paused;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-paper-sway {
  display: block;
  position: relative;
  transform-origin: 57% 16.5%;
  animation: ft-gift-ambient-paper-sway calc(var(--duration) * var(--ambient-speed, 1)) ease-in-out calc(var(--phase) * var(--ambient-speed, 1)) infinite;
  animation-play-state: paused;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-paper-sway::before {
  content: "";
  position: absolute;
  left: 57%;
  bottom: calc(100% - var(--paper-size) * 0.25);
  height: 100cqw;
  width: 1px;
  background: rgba(174, 130, 48, 0.45);
}
.ft-site-root .gift-explorer .ambience-layer .ambient-paper-rosettes[data-sprite=loading] .ambient-paper-sway {
  animation-name: none;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-christmas-foliage {
  --foliage-size: min(var(--size), var(--foliage-span, 33cqw));
  position: absolute;
  z-index: 2;
  top: calc(var(--gift-ambient-clip-top, 0px) + var(--decor-top) - var(--foliage-size) * var(--foliage-padding, 0));
  left: calc(var(--foliage-x, var(--x)) - var(--foliage-size) * 0.5);
  width: var(--foliage-size);
  animation: ft-gift-ambient-foliage-arrive calc(0.85s * var(--ambient-speed, 1)) cubic-bezier(0.22, 1, 0.36, 1) calc(var(--entry-delay) * var(--ambient-speed, 1)) 1 both;
  animation-play-state: paused;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-christmas-foliage .ambient-object {
  transform: rotate(var(--decor-tilt));
  transform-origin: 50% 15%;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-gold-disc {
  top: -8%;
  width: var(--size);
  height: var(--size);
  border: 0.4px solid rgba(156, 113, 35, 0.45);
  border-radius: 50%;
  background: linear-gradient(105deg, #8c6629, #e8c56c 18%, #fff3b7 40%, #c49639 64%, #f0d995 80%, #8c6629);
  box-shadow: inset 0.5px 0.5px 0.5px rgba(255, 248, 210, 0.7), 0.4px 0.8px 0.8px rgba(116, 83, 30, 0.15);
  opacity: 0;
  transform-origin: 50% 50%;
  animation-name: ft-gift-ambient-gold-disc;
  animation-timing-function: linear;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-bauble {
  top: -1%;
  left: calc(var(--x) - var(--bauble-size, var(--size)) * 0.5);
  width: var(--bauble-size, var(--size));
  opacity: 1;
  transform-origin: 50% 0;
  animation-name: ft-gift-ambient-bauble-arrive;
  animation-duration: calc(1.25s * var(--ambient-speed, 1));
  animation-delay: calc(var(--entry-delay) * var(--ambient-speed, 1));
  animation-iteration-count: 1;
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}
.ft-site-root .gift-explorer .ambience-layer .ambient-bauble .ambient-bauble-swing {
  display: block;
  transform-origin: 50% 0;
  animation: ft-gift-ambient-bauble-sway calc(var(--duration) * var(--ambient-speed, 1)) ease-in-out calc(var(--phase) * var(--ambient-speed, 1)) infinite;
  animation-play-state: paused;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-bauble .ambient-bauble-wire {
  display: block;
  position: relative;
  width: 1px;
  height: var(--wire);
  margin-inline: auto;
  background: rgba(173, 132, 63, 0.55);
}
.ft-site-root .gift-explorer .ambience-layer .ambient-bauble .ambient-bauble-wire::before {
  content: "";
  position: absolute;
  bottom: 100%;
  width: 1px;
  height: 100cqw;
  background: inherit;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-bauble .ambient-bauble-wire::after {
  content: "";
  position: absolute;
  top: 100%;
  width: 1px;
  height: 10px;
  background: inherit;
}
.ft-site-root .gift-explorer .ambience-layer .ambient-bauble .ambient-bauble-form {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  border: 0.6px solid rgba(126, 85, 26, 0.22);
  border-radius: 50%;
  background: radial-gradient(circle at 31% 24%, #fff4c9 0, #eac77b 20%, #bf913e 60%, #896025 100%);
}
.ft-site-root .gift-explorer .ambience-layer .ambient-bauble .ambient-bauble-form::before {
  content: "";
  position: absolute;
  top: -4px;
  left: 34%;
  width: 32%;
  height: 5px;
  border-radius: 1px 1px 0 0;
  background: linear-gradient(90deg, #96702d, #f5dda1 45%, #ad823a);
}
.ft-site-root .gift-explorer .ambience-layer .ambient-bauble .ambient-bauble-form::after {
  content: "";
  position: absolute;
  inset: 12% 17% 63% 22%;
  border-top: 1px solid rgba(255, 255, 255, 0.67);
  border-radius: 50%;
  transform: rotate(-32deg);
}
.ft-site-root .gift-explorer .ambience-layer .ambient-bauble[data-tone=red] .ambient-bauble-form {
  background: radial-gradient(circle at 30% 24%, #f7bcb0 0, #d96b59 20%, #a33b32 64%, #752a27 100%);
  border-color: rgba(122, 42, 38, 0.2);
}
.ft-site-root .gift-explorer .ambience-layer .ambient-bauble[data-tone=ivory] .ambient-bauble-form {
  background: radial-gradient(circle at 30% 24%, #fffdf3 0, #f4e5bf 30%, #d3b478 72%, #ac8850 100%);
}
.ft-site-root .gift-explorer .ambience-layer .ambient-bauble[data-side=right][data-sprite=ready] .ambient-object {
  margin-top: calc(var(--bauble-size, var(--size)) * -0.12);
}
.ft-site-root .gift-explorer .ambience-layer .ambient-theme[data-active=false] .ambient-bauble {
  animation-name: none;
}
@keyframes ft-gift-ambient-star {
  0%, 100% {
    opacity: 0.25;
    transform: scale(0.76) rotate(-7deg);
  }
  47% {
    opacity: 0.8;
    transform: scale(1.05) rotate(6deg);
  }
  65% {
    opacity: 0.43;
    transform: scale(0.9) rotate(1deg);
  }
}
@keyframes ft-gift-ambient-star-fall {
  0% {
    opacity: 0;
    transform: translate3d(0, -6cqw, 0) rotate(0);
  }
  8% {
    opacity: 0.5;
  }
  28% {
    opacity: 0.88;
  }
  50% {
    opacity: 0.36;
  }
  73% {
    opacity: 0.82;
  }
  90% {
    opacity: 0.45;
  }
  100% {
    opacity: 0;
    transform: translate3d(var(--drift), 133cqw, 0) rotate(var(--turn));
  }
}
@keyframes ft-gift-ambient-gold-disc {
  0% {
    opacity: 0;
    transform: perspective(240px) translate3d(0, -6cqw, 0) rotateY(15deg) rotateZ(0) scale(var(--depth));
  }
  7% {
    opacity: var(--alpha);
  }
  26% {
    opacity: var(--alpha);
    transform: perspective(240px) translate3d(calc(var(--drift) * 0.8), 26cqw, 0) rotateY(110deg) rotateZ(calc(var(--turn) * 0.26)) scale(var(--depth));
  }
  51% {
    opacity: var(--alpha);
    transform: perspective(240px) translate3d(calc(var(--drift) * -0.35), 61cqw, 0) rotateY(225deg) rotateZ(calc(var(--turn) * 0.51)) scale(var(--depth));
  }
  76% {
    opacity: var(--alpha);
    transform: perspective(240px) translate3d(calc(var(--drift) * 0.7), 96cqw, 0) rotateY(335deg) rotateZ(calc(var(--turn) * 0.76)) scale(var(--depth));
  }
  86% {
    opacity: var(--alpha);
  }
  100% {
    opacity: 0;
    transform: perspective(240px) translate3d(var(--drift), 135cqw, 0) rotateY(445deg) rotateZ(var(--turn)) scale(var(--depth));
  }
}
@keyframes ft-gift-ambient-confetti {
  0% {
    opacity: 0;
    transform: translate3d(0, -8cqw, 0) rotate(0);
  }
  6% {
    opacity: 0.64;
  }
  80% {
    opacity: 0.64;
  }
  100% {
    opacity: 0;
    transform: translate3d(var(--drift), 133cqw, 0) rotate(var(--turn));
  }
}
@keyframes ft-gift-ambient-confetti-burst {
  0% {
    opacity: 0;
    transform: perspective(240px) translate3d(0, 0, 0) rotateY(0) rotateZ(0) scale(var(--depth));
    animation-timing-function: cubic-bezier(0.18, 0.68, 0.35, 1);
  }
  2%, 22% {
    opacity: var(--alpha);
  }
  22% {
    transform: perspective(240px) translate3d(var(--burst-x), var(--burst-rise), 0) rotateY(150deg) rotateZ(calc(var(--turn) * 0.46)) scale(var(--depth));
    animation-timing-function: cubic-bezier(0.55, 0, 0.85, 0.4);
  }
  42% {
    opacity: calc(var(--alpha) * 0.65);
  }
  48%, 100% {
    opacity: 0;
    transform: perspective(240px) translate3d(calc(var(--burst-x) * 1.45), var(--burst-fall), 0) rotateY(390deg) rotateZ(var(--turn)) scale(var(--depth));
  }
}
@keyframes ft-gift-ambient-bow-arrive {
  0% {
    transform: translate3d(0, calc(-100% - 24cqw), 0);
  }
  84% {
    transform: translate3d(0, 3px, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes ft-gift-ambient-bow-sway {
  0%, 100% {
    transform: rotate(calc(var(--bow-tilt, 0deg) - 0.8deg));
  }
  50% {
    transform: rotate(calc(var(--bow-tilt, 0deg) + 0.8deg));
  }
}
@keyframes ft-gift-ambient-bow-pans {
  0%, 100% {
    transform: rotate(-1.5deg) skewX(-0.45deg);
  }
  50% {
    transform: rotate(1.5deg) skewX(0.45deg);
  }
}
@keyframes ft-gift-ambient-paper-sway {
  0%, 100% {
    transform: rotate(-1.4deg);
  }
  50% {
    transform: rotate(1.4deg);
  }
}
@keyframes ft-gift-ambient-foliage-arrive {
  0% {
    transform: translate3d(0, -110%, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes ft-gift-ambient-balloon {
  0% {
    visibility: visible;
    transform: translate3d(0, 0, 0);
  }
  100% {
    visibility: visible;
    transform: translate3d(0, calc(-100% - max(78cqw, var(--gift-balloon-exit-distance, 0px))), 0);
  }
}
@keyframes ft-gift-ambient-balloon-drift {
  0%, 50%, 100% {
    transform: translate3d(0, 0, 0) rotate(-1deg);
  }
  25% {
    transform: translate3d(var(--sway), 0, 0) rotate(-1deg);
  }
  75% {
    transform: translate3d(calc(var(--sway) * -1), 0, 0) rotate(-1deg);
  }
}
@keyframes ft-gift-ambient-bauble-arrive {
  0% {
    transform: translate3d(0, -300px, 0);
  }
  78% {
    transform: translate3d(0, 6px, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes ft-gift-ambient-bauble-sway {
  0%, 100% {
    transform: rotate(calc(var(--swing) * -1));
  }
  50% {
    transform: rotate(var(--swing));
  }
}
@keyframes ft-gift-birthday-arrive {
  0% {
    opacity: 0;
    transform: translate3d(0, -18px, 0) scale(0.92);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}
@keyframes ft-gift-birthday-float {
  0%, 100% {
    transform: translate3d(0, 0, 0) rotate(calc(var(--tilt) - 0.7deg));
  }
  50% {
    transform: translate3d(0, -5px, 0) rotate(calc(var(--tilt) + 0.7deg));
  }
}
@media (max-width: 800px) {
  .ft-site-root .gift-explorer .ambience-layer {
    --gift-ambient-top-ratio: .05;
    --gift-ambient-bottom-ratio: 0;
    inset: var(--gift-ambient-mask-top, -5%) -4% 0;
  }
  .ft-site-root .gift-explorer .ambience-layer .is-extra {
    display: none;
  }
  .ft-site-root .gift-explorer .ambience-layer .ambient-bauble-wire {
    height: calc(var(--wire) * 0.75);
  }
  .ft-site-root .gift-explorer .ambience-layer {
    --gift-balloon-max-launch-ratio: .56;
  }
  .ft-site-root .gift-explorer .ambience-layer .ambient-balloon {
    --balloon-size: min(calc(var(--size) * .78), 17cqw);
    --balloon-start: var(--mobile-start-x);
    --balloon-launch: var(--mobile-launch-y);
  }
  .ft-site-root .gift-explorer .ambience-layer .ambient-bauble {
    --bauble-size: calc(var(--size) * .8);
  }
  .ft-site-root .gift-explorer .ambience-layer .ambient-hanging-bow {
    --bow-size: min(calc(var(--size) * .62), 20.4cqw);
    --bow-x: var(--mobile-x, var(--x));
  }
  .ft-site-root .gift-explorer .ambience-layer .ambient-hanging-bow[data-side=right][data-secondary=true] {
    --bow-size: min(calc(var(--size) * .55), 17cqw);
  }
  .ft-site-root .gift-explorer .ambience-layer .ambient-paper-rosettes {
    --paper-size: min(calc(var(--size) * .72), 20cqw);
    --paper-x: var(--mobile-x);
  }
  .ft-site-root .gift-explorer .ambience-layer .ambient-christmas-foliage {
    --foliage-x: var(--mobile-x);
  }
  .ft-site-root .gift-explorer .ambience-layer .birthday-sculpture {
    --sculpture-x: var(--mobile-x);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .gift-explorer .ambience-layer, .ft-site-root .gift-explorer .ambience-layer .ambient-theme {
    transition: none;
  }
  .ft-site-root .gift-explorer .ambience-layer .birthday-sculpture, .ft-site-root .gift-explorer .ambience-layer .birthday-foil-star, .ft-site-root .gift-explorer .ambience-layer .birthday-sculpture-float {
    animation: none !important;
    transform: none;
  }
  .ft-site-root .gift-explorer .ambience-layer .ambient-star, .ft-site-root .gift-explorer .ambience-layer .ambient-confetti, .ft-site-root .gift-explorer .ambience-layer .ambient-balloon, .ft-site-root .gift-explorer .ambience-layer .ambient-balloon-drift, .ft-site-root .gift-explorer .ambience-layer .ambient-bauble, .ft-site-root .gift-explorer .ambience-layer .ambient-bauble-swing,
  .ft-site-root .gift-explorer .ambience-layer .ambient-gold-disc, .ft-site-root .gift-explorer .ambience-layer .ambient-confetti-burst,
  .ft-site-root .gift-explorer .ambience-layer .ambient-hanging-bow, .ft-site-root .gift-explorer .ambience-layer .ambient-bow-sway, .ft-site-root .gift-explorer .ambience-layer .ambient-bow-body,
  .ft-site-root .gift-explorer .ambience-layer .ambient-paper-rosettes, .ft-site-root .gift-explorer .ambience-layer .ambient-paper-sway, .ft-site-root .gift-explorer .ambience-layer .ambient-christmas-foliage {
    animation: none !important;
  }
  .ft-site-root .gift-explorer .ambience-layer .ambient-confetti-burst {
    display: none;
  }
  .ft-site-root .gift-explorer .ambience-layer .ambient-hanging-bow {
    opacity: 1;
    transform: none;
  }
  .ft-site-root .gift-explorer .ambience-layer .ambient-bow-sway {
    transform: rotate(var(--bow-tilt, 0deg));
  }
  .ft-site-root .gift-explorer .ambience-layer .ambient-bow-body {
    transform: none;
  }
  .ft-site-root .gift-explorer .ambience-layer .ambient-paper-rosettes, .ft-site-root .gift-explorer .ambience-layer .ambient-paper-sway, .ft-site-root .gift-explorer .ambience-layer .ambient-christmas-foliage {
    transform: none;
  }
  .ft-site-root .gift-explorer .ambience-layer .ambient-star {
    opacity: 0.4;
    transform: none;
  }
  .ft-site-root .gift-explorer .ambience-layer .ambient-star.is-falling {
    top: var(--rest-y);
    opacity: 0.4;
  }
  .ft-site-root .gift-explorer .ambience-layer .ambient-confetti {
    top: var(--rest-y);
    opacity: 0.38;
    transform: rotate(var(--turn));
  }
  .ft-site-root .gift-explorer .ambience-layer .ambient-balloon {
    top: var(--rest-y);
    left: calc(var(--balloon-start, var(--start-x)) - var(--balloon-size, var(--size)) * 0.5);
    opacity: 0.72;
    visibility: visible;
    transform: rotate(-3deg);
  }
  .ft-site-root .gift-explorer .ambience-layer .ambient-balloon-drift {
    transform: none;
  }
  .ft-site-root .gift-explorer .ambience-layer .ambient-bauble, .ft-site-root .gift-explorer .ambience-layer .ambient-bauble-swing {
    opacity: 1;
    transform: none;
  }
  .ft-site-root .gift-explorer .ambience-layer .ambient-gold-disc {
    top: var(--rest-y);
    opacity: var(--alpha);
    transform: rotateY(20deg) rotateZ(var(--turn)) scale(var(--depth));
  }
}
@media (prefers-reduced-motion: no-preference) {
  .ft-site-root .gift-explorer[data-gift-entry=pending]:is(html.gift-motion *) .gift-stage,
  .ft-site-root .gift-explorer:is(html.gift-motion *) .gift-stage:is([data-state=pending], [data-state=waiting], [data-state=loading]) {
    opacity: 0;
    pointer-events: none;
  }
}
.ft-site-root .gift-explorer {
  --band-surface: #ffe0e6;
  --logo-ink: #058dc7;
  --theme-ink: #176f86;
  position: relative;
  isolation: isolate;
  overflow-x: clip;
  overflow-y: visible;
  color: #062f48;
  background: #ffe0e6;
}
.ft-site-root .gift-explorer.section-blue {
  --band-surface: #eaf3fa;
  background: #eaf3fa;
}
.ft-site-root .gift-explorer.gift-explorer--ivory {
  --band-surface: #faf7e4;
  background: #faf7e4;
}
.ft-site-root .gift-explorer[data-theme="2"] {
  --theme-ink: #816425;
  --logo-ink: #bcab75;
}
.ft-site-root .gift-explorer[data-theme="3"] {
  --theme-ink: #9c342a;
  --logo-ink: #b03f39;
}
.ft-site-root .gift-explorer .gift-explorer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(0, 1fr);
  gap: 52px;
  align-items: center;
  padding-block: 66px 74px;
}
.ft-site-root .gift-explorer .gift-visual {
  min-width: 0;
  position: relative;
}
.ft-site-root .gift-explorer .gift-stage {
  container-type: inline-size;
  position: relative;
  width: 100%;
  aspect-ratio: 1/1.075;
  isolation: isolate;
}
.ft-site-root .gift-explorer .voucher-space, .ft-site-root .gift-explorer .statue-space, .ft-site-root .gift-explorer .decor-space {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.ft-site-root .gift-explorer .voucher-space {
  z-index: 1;
  perspective: 1100px;
  transform-style: flat;
}
.ft-site-root .gift-explorer .voucher {
  --pose: translate3d(0, 0, 0) rotate(-3deg) scale(1);
  position: absolute;
  z-index: 3;
  left: 42%;
  top: 22%;
  width: 44%;
  transform: var(--pose);
  transform-origin: 50% 70%;
  backface-visibility: hidden;
}
.ft-site-root .gift-explorer .voucher[data-role=left] {
  --pose: translate3d(-30%, 12%, -24px) rotate(-13deg) scale(.85);
  z-index: 1;
}
.ft-site-root .gift-explorer .voucher[data-role=right] {
  --pose: translate3d(43%, 14%, -28px) rotate(12deg) scale(.85);
  z-index: 2;
}
.ft-site-root .gift-explorer .voucher-face {
  position: relative;
  width: 100%;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 22px 38px rgba(6, 47, 72, 0.16), 0 2px 5px rgba(6, 47, 72, 0.12);
  overflow: hidden;
  transform: translateZ(0);
}
.ft-site-root .gift-explorer .voucher-face img {
  display: block;
  width: 100%;
  height: auto;
}
.ft-site-root .gift-explorer .voucher-face::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(6, 47, 72, 0.12);
  border-radius: inherit;
  pointer-events: none;
}
.ft-site-root .gift-explorer .statue-space {
  z-index: 2;
}
.ft-site-root .gift-explorer .statue {
  position: absolute;
  top: 16%;
  left: -2%;
  width: 41%;
  max-width: none;
  height: auto;
  opacity: 0;
  visibility: hidden;
  transform-origin: 48% 92%;
  filter: drop-shadow(0 10px 8px rgba(6, 47, 72, 0.07));
}
.ft-site-root .gift-explorer .decor-space {
  z-index: 5;
}
.ft-site-root .gift-explorer .decor {
  position: absolute;
  bottom: -3%;
  left: -11%;
  width: 108%;
  max-width: none;
  height: auto;
  opacity: 0;
  visibility: hidden;
  transform-origin: 50% 86%;
  filter: drop-shadow(0 12px 12px rgba(6, 47, 72, 0.07));
}
.ft-site-root .gift-explorer .decor[data-decor="1"], .ft-site-root .gift-explorer .decor[data-decor="2"] {
  left: -5%;
  width: 102%;
}
.ft-site-root .gift-explorer .foreground-balloon {
  position: absolute;
  width: 16%;
  aspect-ratio: 1/1.9;
  left: 0;
  bottom: 4%;
  opacity: 0;
  visibility: hidden;
  transform: rotate(-8deg);
  transform-origin: 50% 90%;
}
.ft-site-root .gift-explorer .foreground-balloon--low {
  left: 8%;
  bottom: 0;
  width: 14%;
  transform: rotate(9deg);
}
.ft-site-root .gift-explorer .foreground-balloon--inner {
  left: 17%;
  bottom: 3%;
  width: 12%;
  transform: rotate(-4deg);
}
.ft-site-root .gift-explorer .foreground-balloon-crop {
  display: block;
  width: 100%;
  height: 100%;
  overflow: clip;
}
.ft-site-root .gift-explorer .foreground-balloon img {
  display: block;
  width: 100%;
  height: auto;
}
.ft-site-root .gift-explorer .statue[data-active=true], .ft-site-root .gift-explorer .decor[data-active=true],
.ft-site-root .gift-explorer .foreground-balloon[data-active=true] {
  opacity: 1;
  visibility: visible;
}
.ft-site-root .gift-explorer .brand-space {
  position: absolute;
  z-index: 4;
  left: 32%;
  top: -5%;
  width: 64%;
}
.ft-site-root .gift-explorer .brand-space:lang(ru) {
  top: calc(-5% - 10px);
}
.ft-site-root .gift-explorer .type-mask {
  overflow: clip;
  padding: 3px 3px 5px;
  margin: -3px -3px -5px;
}
.ft-site-root .gift-explorer .logo-line {
  width: 35%;
  margin-bottom: 12px;
}
.ft-site-root .gift-explorer .brand-space .brand-logo {
  display: block;
  width: 100%;
  height: auto;
  color: var(--logo-ink);
  transform-origin: 0 100%;
}
.ft-site-root .gift-explorer .art-title {
  margin: 0;
  padding: 0;
  color: var(--theme-ink);
  font-size: 7.35cqw;
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: -0.04em;
  transform-origin: 0 80%;
}
.ft-site-root .gift-explorer .art-title:lang(de) {
  font-size: 5.1cqw;
}
.ft-site-root .gift-explorer .art-title:lang(ru) {
  font-size: 4.55cqw;
  max-width: 78%;
}
.ft-site-root .gift-explorer .greeting-line {
  margin-top: 0;
}
.ft-site-root .gift-explorer .art-greeting {
  margin: 0;
  padding: 0;
  text-wrap: balance;
  color: #062f48;
  font-size: clamp(12px, 3.05cqw, 19px);
  font-weight: 700;
  line-height: 1.35;
}
.ft-site-root .gift-explorer .foil-space, .ft-site-root .gift-explorer .stage-orbit {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.ft-site-root .gift-explorer .foil-space [data-foil], .ft-site-root .gift-explorer .stage-orbit [data-foil] {
  opacity: 0;
}
.ft-site-root .gift-explorer .spark-space {
  position: absolute;
  z-index: 3;
  width: 106%;
  max-width: none;
  inset: -4% -3% auto;
  overflow: visible;
  pointer-events: none;
}
.ft-site-root .gift-explorer .spark-space [data-spark] {
  transform-box: fill-box;
  transform-origin: center;
}
.ft-site-root .gift-explorer:not([data-theme="3"]) .spark-space {
  display: none;
}
.ft-site-root .gift-explorer .gift-explorer-copy {
  min-width: 0;
  position: relative;
  z-index: 5;
  padding-bottom: 12px;
}
.ft-site-root .gift-explorer .gift-explorer-copy h2 {
  margin: 0;
  max-width: 510px;
  color: #062f48;
  font-size: var(--ft-section-title-size);
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.025em;
}
.ft-site-root .gift-explorer .gift-explorer-copy .gift-intro {
  margin: 24px 0 0;
  max-width: 490px;
  line-height: 1.65;
}
.ft-site-root .gift-explorer .gift-explorer-copy > .btn {
  margin-top: 18px;
}
.ft-site-root .gift-explorer .gift-note {
  margin: 16px 0 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.65;
}
.ft-site-root .gift-explorer .gift-choice {
  margin-top: 28px;
}
.ft-site-root .gift-explorer .gift-choice-label {
  margin: 0 0 12px;
  padding: 0;
  font-size: 13px;
  font-weight: 400;
}
.ft-site-root .gift-explorer .gift-theme-switch {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.ft-site-root .gift-explorer .gift-theme-switch button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 10px 16px;
  border: 1px solid rgba(6, 47, 72, 0.3);
  border-radius: 999px;
  background: transparent;
  color: #062f48;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  cursor: pointer;
  transition: background 0.18s, color 0.18s, border-color 0.18s;
}
.ft-site-root .gift-explorer .gift-theme-switch button:hover {
  background: rgba(255, 255, 255, 0.65);
  border-color: #062f48;
}
.ft-site-root .gift-explorer .gift-theme-switch button[aria-selected=true] {
  background: #062f48;
  border-color: #062f48;
  color: #fff;
}
.ft-site-root .gift-explorer .gift-theme-switch button[aria-selected=true] .gift-theme-dot {
  box-shadow: inset 0 0 0 2px #fff;
  background: #fff;
}
.ft-site-root .gift-explorer .gift-theme-switch button:disabled {
  cursor: not-allowed;
  opacity: 0.65;
}
.ft-site-root .gift-explorer .gift-theme-dot {
  width: 8px;
  height: 8px;
  flex: none;
  border-radius: 50%;
  border: 1px solid currentColor;
}
.ft-site-root .gift-explorer .gift-theme-hint {
  min-height: 2.8em;
  max-width: 440px;
  margin: 12px 0 0;
  padding: 0;
  color: #062f48;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}
.ft-site-root .gift-explorer .gift-noscript {
  font-size: 14px;
}
@media (max-width: 1100px) {
  .ft-site-root .gift-explorer .gift-explorer-grid {
    gap: 28px;
    grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr);
  }
  .ft-site-root .gift-explorer .gift-theme-switch button {
    padding-inline: 12px;
    font-size: 13px;
  }
}
@media (max-width: 800px) {
  .ft-site-root .gift-explorer .gift-explorer-grid {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding-block: 36px 48px;
  }
  .ft-site-root .gift-explorer .gift-visual {
    order: 0;
    max-width: 560px;
    width: 100%;
    margin-inline: auto;
  }
  .ft-site-root .gift-explorer .gift-stage {
    aspect-ratio: 1/1.14;
  }
  .ft-site-root .gift-explorer .brand-space {
    top: 0;
  }
  .ft-site-root .gift-explorer .brand-space:lang(ru) {
    top: -10px;
  }
  .ft-site-root .gift-explorer .voucher {
    top: 28%;
  }
  .ft-site-root .gift-explorer .statue {
    top: 24%;
  }
  .ft-site-root .gift-explorer .art-title {
    font-size: 7.1cqw;
  }
  .ft-site-root .gift-explorer .art-title:lang(de) {
    font-size: 5.1cqw;
  }
  .ft-site-root .gift-explorer .art-title:lang(ru) {
    font-size: 4.55cqw;
  }
  .ft-site-root .gift-explorer .logo-line {
    margin-bottom: 8px;
  }
  .ft-site-root .gift-explorer .decor {
    left: -2%;
    bottom: -1%;
    width: 102%;
  }
  .ft-site-root .gift-explorer .decor[data-decor="1"], .ft-site-root .gift-explorer .decor[data-decor="2"] {
    left: -2%;
  }
  .ft-site-root .gift-explorer .gift-explorer-copy {
    display: contents;
  }
  .ft-site-root .gift-explorer .gift-explorer-copy h2 {
    order: 2;
    max-width: 600px;
    margin: 12px 0 0;
    line-height: 1.18;
  }
  .ft-site-root .gift-explorer .gift-choice {
    order: 1;
    margin-top: 8px;
  }
  .ft-site-root .gift-explorer .gift-theme-hint {
    min-height: 0;
  }
  .ft-site-root .gift-explorer .gift-explorer-copy .gift-intro {
    order: 3;
    max-width: 600px;
    margin-top: 22px;
    font-size: 16px;
  }
  .ft-site-root .gift-explorer .gift-explorer-copy .gift-note {
    order: 3;
  }
  .ft-site-root .gift-explorer .gift-explorer-copy > .btn {
    order: 4;
    align-self: flex-start;
    margin-top: 24px;
  }
  .ft-site-root .gift-explorer .gift-explorer-copy noscript {
    order: 5;
  }
}
@media (max-width: 520px) {
  .ft-site-root .gift-explorer .gift-explorer-grid {
    padding-top: 22px;
  }
  .ft-site-root .gift-explorer .gift-stage {
    aspect-ratio: 1/1.16;
  }
  .ft-site-root .gift-explorer .gift-theme-switch {
    gap: 6px;
  }
  .ft-site-root .gift-explorer .gift-theme-switch button {
    padding-inline: 11px;
    font-size: 13px;
    min-height: 44px;
    gap: 6px;
  }
}
@media (max-width: 360px) {
  .ft-site-root .gift-explorer .gift-theme-switch button {
    padding-inline: 9px;
    gap: 5px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .gift-explorer .gift-theme-switch button {
    transition: none;
  }
}
.ft-site-root .preview-montreux {
  --editorial-header-height: 78px;
  --editorial-nav-height: 70px;
}
.ft-site-root .preview-montreux .montreux-nav a[aria-current=location] {
  color: #fff;
  border-color: #062f48;
  background: #062f48;
}
.ft-site-root .preview-montreux [id^=montreux-] {
  scroll-margin-top: var(--editorial-anchor-gap, calc(var(--editorial-header-height) + var(--editorial-nav-height) + 16px));
}
.ft-site-root .preview-montreux .montreux-reading-layout > .editorial-booking-aside {
  top: calc(var(--editorial-header-height) + var(--editorial-nav-height) + 24px);
  max-height: calc(100dvh - var(--editorial-header-height) - var(--editorial-nav-height) - 48px);
}
.ft-site-root .preview-montreux .montreux-reading-layout {
  --montreux-gutter: 40px;
  --montreux-main: 786px;
  --montreux-column-gap: 64px;
  --montreux-aside: 310px;
  width: 100%;
  margin-inline: 0;
  padding-bottom: 48px;
  grid-template-columns: minmax(var(--montreux-gutter), 1fr) minmax(0, var(--montreux-main)) var(--montreux-column-gap) var(--montreux-aside) minmax(var(--montreux-gutter), 1fr);
  gap: 0;
}
.ft-site-root .preview-montreux .montreux-reading-layout > .editorial-booking-aside {
  grid-column: 4;
  grid-row: 1;
  z-index: 1;
}
.ft-site-root .preview-montreux .montreux-reading-main {
  min-width: 0;
  display: grid;
  grid-column: 1/-1;
  grid-row: 1;
  grid-template-columns: inherit;
}
.ft-site-root .preview-montreux .montreux-reading-main > .section {
  grid-column: 2;
}
.ft-site-root .preview-montreux .montreux-reading-main > .section {
  padding-block: 48px;
}
.ft-site-root .preview-montreux .montreux-reading-main > .section:first-child {
  padding-top: 0;
}
.ft-site-root .preview-montreux .montreux-reading-main > .section:last-child {
  padding-bottom: 0;
}
.ft-site-root .preview-montreux .montreux-reading-main > .section.montreux-stay-section {
  padding-top: 0;
}
.ft-site-root .preview-montreux .montreux-partner-intro {
  max-width: 75ch;
}
.ft-site-root .preview-montreux .montreux-stay-advice {
  max-width: 75ch;
}
.ft-site-root .preview-montreux .montreux-stay-advice > :first-child {
  margin-top: 0;
}
.ft-site-root .preview-montreux .montreux-reading-main > .montreux-hotels {
  --band-surface: #eaf3fa;
  min-width: 0;
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: inherit;
  position: relative;
  z-index: 0;
}
.ft-site-root .preview-montreux .montreux-reading-main > .montreux-hotels::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  width: 100%;
  height: var(--section-edge-height);
  background: var(--band-surface);
  -webkit-mask-image: url("/webimages/habillage/section-edge.svg");
  mask-image: url("/webimages/habillage/section-edge.svg");
  -webkit-mask-size: max(960px, 100%) 100%;
  mask-size: max(960px, 100%) 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center top;
  mask-position: center top;
  mask-mode: alpha;
  pointer-events: none;
  top: calc(1px - var(--section-edge-height));
}
.ft-site-root .preview-montreux .montreux-reading-main > .montreux-hotels::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  width: 100%;
  height: var(--section-edge-height);
  background: var(--band-surface);
  -webkit-mask-image: url("/webimages/habillage/section-edge.svg");
  mask-image: url("/webimages/habillage/section-edge.svg");
  -webkit-mask-size: max(960px, 100%) 100%;
  mask-size: max(960px, 100%) 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center top;
  mask-position: center top;
  mask-mode: alpha;
  pointer-events: none;
  bottom: calc(2px - var(--section-edge-height));
  transform: scaleY(-1);
}
.ft-site-root .preview-montreux .montreux-reading-main > .montreux-hotels > .container {
  grid-column: 2;
  width: auto;
  margin-inline: 0;
  position: relative;
  z-index: 1;
}
.ft-site-root .preview-montreux .montreux-hotels-heading > h3 {
  margin-top: 0;
}
.ft-site-root .preview-montreux .montreux-hotels-catalogue {
  margin-top: 24px;
}
.ft-site-root .preview-montreux .montreux-hotels .montreux-cards {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ft-site-root .preview-montreux .montreux-catalogue-heading > h2 {
  margin: 0;
}
.ft-site-root .preview-montreux .montreux-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.ft-site-root .preview-montreux .montreux-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid #c7d6e0;
  border-radius: 20px;
  background: #fff;
  overflow: hidden;
}
.ft-site-root .preview-montreux .montreux-card-photo {
  display: block;
  position: relative;
  flex: 0 0 auto;
  aspect-ratio: 1.7;
  overflow: hidden;
}
.ft-site-root .preview-montreux .montreux-card-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ft-site-root .preview-montreux .montreux-card-photo:focus-visible {
  outline: 2px solid #0678b4;
  outline-offset: -3px;
}
.ft-site-root .preview-montreux .montreux-card-copy {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  padding: 24px;
}
.ft-site-root .preview-montreux .montreux-card-copy h3 {
  margin: 0;
  font-size: 22px;
  line-height: 1.3;
}
.ft-site-root .preview-montreux .montreux-card-description {
  margin-top: 16px;
  font-size: 16px;
  line-height: 1.6;
}
.ft-site-root .preview-montreux .montreux-card-description p:first-child {
  margin-top: 0;
}
.ft-site-root .preview-montreux .montreux-card-action {
  margin-top: auto;
  padding-top: 24px;
}
.ft-site-root .preview-montreux .montreux-card-action .btn {
  max-width: 100%;
}
.ft-site-root .preview-montreux .montreux-card-description a:not(.btn),
.ft-site-root .preview-montreux .montreux-partner-intro a:not(.btn),
.ft-site-root .preview-montreux .montreux-stay-advice a:not(.btn),
.ft-site-root .preview-montreux .montreux-copy a:not(.btn) {
  font-weight: 700;
  text-decoration: none;
}
.ft-site-root .preview-montreux .montreux-editorial > * + * {
  margin-top: var(--editorial-chapter-gap);
}
.ft-site-root .preview-montreux .montreux-story {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}
.ft-site-root .preview-montreux .montreux-story .montreux-copy {
  max-width: 75ch;
}
.ft-site-root .preview-montreux .montreux-season-remainder > h3:first-child {
  margin-top: 0;
}
.ft-site-root .preview-montreux .montreux-copy, .ft-site-root .preview-montreux .montreux-card-description {
  overflow-wrap: anywhere;
}
.ft-site-root .preview-montreux .montreux-story-visual {
  min-width: 0;
}
.ft-site-root .preview-montreux .montreux-story-visual .source-photo {
  margin: 0;
}
.ft-site-root .preview-montreux .montreux-story-visual img, .ft-site-root .preview-montreux .montreux-extra-photos img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 20px;
}
.ft-site-root .preview-montreux .montreux-copy > h2:first-child, .ft-site-root .preview-montreux .montreux-stay-advice > h2:first-child {
  margin-top: 0;
}
.ft-site-root .preview-montreux .montreux-discovery {
  max-width: 75ch;
}
.ft-site-root .preview-montreux .montreux-extra-copy {
  margin-top: 32px;
}
.ft-site-root .preview-montreux #montreux-map {
  padding-block: 32px var(--editorial-chapter-gap);
}
.ft-site-root .preview-montreux .montreux-map-intro {
  max-width: 75ch;
  margin-bottom: 24px;
}
.ft-site-root .preview-montreux .montreux-map-intro ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(3, auto);
  grid-auto-flow: column;
  gap: 8px 16px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}
.ft-site-root .preview-montreux .montreux-map-intro li {
  min-width: 0;
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
}
.ft-site-root .preview-montreux .montreux-map {
  position: relative;
  z-index: 0;
  overflow: hidden;
  border: 1px solid #c7d6e0;
  border-radius: 20px;
}
.ft-site-root .preview-montreux .montreux-map-pin-body {
  display: block;
  width: 38px;
  height: 48px;
  transform-origin: 50% 100%;
}
.ft-site-root .preview-montreux .montreux-map .osm-icon .event-meeting-pin__body {
  background: var(--event-accent, #0678b4);
}
.ft-site-root .preview-montreux .osm-icon.is-arriving .montreux-map-pin-body {
  animation: montreux-map-arrival 400ms ease-out both;
}
.ft-site-root .preview-montreux .montreux-location-pin, .ft-site-root .preview-montreux .montreux-location-label {
  transition: opacity 320ms ease;
}
.ft-site-root .preview-montreux [data-map-state=departing] .montreux-location-pin,
.ft-site-root .preview-montreux [data-map-state=departing] .montreux-location-label {
  opacity: 0 !important;
}
.ft-site-root .preview-montreux .montreux-map .montreux-location-label,
.ft-site-root .preview-montreux .montreux-point-label {
  border: 1px solid #c7d6e0;
  border-radius: 12px;
  padding: 8px 12px;
  background: #fff;
  color: #062f48;
  font: 700 14px/1.3 "Quicksand", "FT Text Fallback", Arial, sans-serif;
  box-shadow: none;
}
.ft-site-root .preview-montreux .montreux-map .montreux-location-label::before,
.ft-site-root .preview-montreux .montreux-point-label::before {
  border-top-color: #c7d6e0;
}
.ft-site-root .preview-montreux .montreux-map-labels {
  position: absolute;
  inset: 0;
  z-index: 650;
  pointer-events: none;
}
.ft-site-root .preview-montreux .montreux-map-labels[hidden] {
  display: none;
}
.ft-site-root .preview-montreux .montreux-point-label {
  position: absolute;
  width: max-content;
  max-width: 154px;
  margin: 0;
  padding: 7px 10px;
  font-size: 12px;
  line-height: 1.3;
  text-align: center;
  white-space: normal;
  overflow-wrap: break-word;
}
.ft-site-root .preview-montreux .montreux-point-label .product-badge {
  font-size: 8px;
  min-height: 16px;
  min-width: 16px;
  padding: 3px 4px;
  margin-top: 0;
  vertical-align: middle;
}
.ft-site-root .preview-montreux .montreux-point-label[hidden] {
  display: none;
}
.ft-site-root .preview-montreux .montreux-point-label::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: var(--leader-x);
  top: var(--leader-y);
  width: var(--leader-length);
  height: 1px;
  background: #778d9b;
  transform: rotate(var(--leader-angle));
  transform-origin: left center;
}
.ft-site-root .preview-montreux .montreux-map #map {
  height: 400px;
  font-family: inherit;
}
.ft-site-root .preview-montreux .montreux-map #map .osm-icon {
  animation: none;
}
.ft-site-root .preview-montreux .montreux-map #map .leaflet-control-zoom {
  display: grid;
  gap: 8px;
  border: 0;
  border-radius: 0;
  overflow: visible;
  background: none;
  box-shadow: none;
}
.ft-site-root .preview-montreux .montreux-map #map .leaflet-control-zoom > a {
  border: 1px solid #0678b4;
  color: #0678b4;
  background: #d7e8f4;
  background-clip: border-box;
  box-shadow: none;
  cursor: pointer;
  opacity: 1;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}
.ft-site-root .preview-montreux .montreux-map #map .leaflet-control-zoom > a:hover:not(:disabled):not([disabled]):not([aria-disabled=true]), .ft-site-root .preview-montreux .montreux-map #map .leaflet-control-zoom > a[aria-current=page] {
  color: #fff;
  border-color: #0678b4;
  background: #0678b4;
}
.ft-site-root .preview-montreux .montreux-map #map .leaflet-control-zoom > a:disabled, .ft-site-root .preview-montreux .montreux-map #map .leaflet-control-zoom > a[disabled], .ft-site-root .preview-montreux .montreux-map #map .leaflet-control-zoom > a[aria-disabled=true] {
  color: #526674;
  border-color: #c7d6e0;
  background: #eaf3fa;
  opacity: 0.55;
  cursor: not-allowed;
}
.ft-site-root .preview-montreux .montreux-map #map .leaflet-control-zoom > a:focus-visible:not(:disabled):not([disabled]):not([aria-disabled=true]) {
  outline: none;
  border: 2px solid #0678b4;
  color: #0678b4;
  background: #eaf3fa;
  box-shadow: none;
  transition: none;
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .preview-montreux .montreux-map #map .leaflet-control-zoom > a {
    transition: none;
  }
}
.ft-site-root .preview-montreux .montreux-map #map .leaflet-control-zoom > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex: 0 0 36px;
  width: 36px;
  min-width: 36px;
  max-width: 36px;
  height: 36px;
  min-height: 36px;
  max-height: 36px;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  font: 700 14px/1 "Quicksand", Arial, sans-serif;
  text-align: center;
  text-decoration: none;
}
.ft-site-root .preview-montreux .montreux-map #map .leaflet-control-zoom > a .disclosure-icon {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
}
.ft-site-root .preview-montreux .montreux-map #map .leaflet-control-zoom > a .disclosure-icon::before {
  width: 16px;
  height: 16px;
  font-size: 16px;
}
.ft-site-root .preview-montreux .montreux-map #map .leaflet-control-zoom > a svg {
  display: block;
  width: 22px;
  height: 22px;
}
.ft-site-root .preview-montreux .montreux-map #map .leaflet-control-zoom > a {
  position: relative;
}
.ft-site-root .preview-montreux .montreux-map #map .leaflet-control-zoom > a::before {
  content: "";
  position: absolute;
  inset: -4px;
}
.ft-site-root .preview-montreux .montreux-map #map .event-map-mark {
  position: relative;
  display: block;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
}
.ft-site-root .preview-montreux .montreux-map #map .event-map-mark::before, .ft-site-root .preview-montreux .montreux-map #map .event-map-mark::after {
  content: "";
  position: absolute;
  display: block;
  border-radius: 1px;
  background: currentColor;
}
.ft-site-root .preview-montreux .montreux-map #map .event-map-mark::before {
  left: 0;
  top: 7px;
  width: 16px;
  height: 2px;
}
.ft-site-root .preview-montreux .montreux-map #map .event-map-mark::after {
  left: 7px;
  top: 0;
  width: 2px;
  height: 16px;
}
.ft-site-root .preview-montreux .montreux-map #map .event-map-mark--minus::after {
  display: none;
}
.ft-site-root .preview-montreux .montreux-map #map .event-map-mark--close {
  rotate: 45deg;
}
.ft-site-root .preview-montreux .montreux-map #map a.leaflet-popup-close-button {
  border: 1px solid var(--event-accent, #0678b4);
  color: var(--event-accent, #0678b4);
  background: var(--event-surface, #d7e8f4);
  background-clip: border-box;
  box-shadow: none;
  cursor: pointer;
  opacity: 1;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}
.ft-site-root .preview-montreux .montreux-map #map a.leaflet-popup-close-button:hover:not(:disabled):not([disabled]):not([aria-disabled=true]), .ft-site-root .preview-montreux .montreux-map #map a.leaflet-popup-close-button[aria-current=page] {
  color: #fff;
  border-color: var(--event-accent, #0678b4);
  background: var(--event-accent, #0678b4);
}
.ft-site-root .preview-montreux .montreux-map #map a.leaflet-popup-close-button:disabled, .ft-site-root .preview-montreux .montreux-map #map a.leaflet-popup-close-button[disabled], .ft-site-root .preview-montreux .montreux-map #map a.leaflet-popup-close-button[aria-disabled=true] {
  color: #526674;
  border-color: #c7d6e0;
  background: #eaf3fa;
  opacity: 0.55;
  cursor: not-allowed;
}
.ft-site-root .preview-montreux .montreux-map #map a.leaflet-popup-close-button:focus-visible:not(:disabled):not([disabled]):not([aria-disabled=true]) {
  outline: none;
  border: 2px solid #0678b4;
  color: var(--event-accent, #0678b4);
  background: #eaf3fa;
  box-shadow: none;
  transition: none;
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .preview-montreux .montreux-map #map a.leaflet-popup-close-button {
    transition: none;
  }
}
.ft-site-root .preview-montreux .montreux-map #map a.leaflet-popup-close-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex: 0 0 32px;
  width: 32px;
  min-width: 32px;
  max-width: 32px;
  height: 32px;
  min-height: 32px;
  max-height: 32px;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  font: 700 14px/1 "Quicksand", Arial, sans-serif;
  text-align: center;
  text-decoration: none;
}
.ft-site-root .preview-montreux .montreux-map #map a.leaflet-popup-close-button .disclosure-icon {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
}
.ft-site-root .preview-montreux .montreux-map #map a.leaflet-popup-close-button .disclosure-icon::before {
  width: 16px;
  height: 16px;
  font-size: 16px;
}
.ft-site-root .preview-montreux .montreux-map #map a.leaflet-popup-close-button svg {
  display: block;
  width: 22px;
  height: 22px;
}
.ft-site-root .preview-montreux .montreux-map #map a.leaflet-popup-close-button {
  position: absolute;
  top: 10px;
  right: 10px;
}
.ft-site-root .preview-montreux .montreux-map #map a.leaflet-popup-close-button::before {
  content: "";
  position: absolute;
  inset: -6px;
}
.ft-site-root .preview-montreux .montreux-map #map .leaflet-popup-content-wrapper {
  color: #17394e;
  border-radius: 16px;
}
.ft-site-root .preview-montreux .montreux-map #map .leaflet-popup-content {
  margin: 17px 20px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}
.ft-site-root .preview-montreux .montreux-map #map .leaflet-popup-content h3 {
  margin: 0 28px 8px 0;
  color: #062f48;
  font-family: inherit;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
}
.ft-site-root .preview-montreux .montreux-map #map .leaflet-popup-content p {
  margin: 0;
  font: inherit;
}
.ft-site-root .preview-montreux .montreux-map #map .leaflet-popup-content a.btn {
  position: relative;
  min-height: 30px;
  max-width: 100%;
  margin: 14px 0 7px;
  padding: 4px 12px;
  border-color: var(--event-accent, #0678b4);
  background: var(--event-accent, #0678b4);
  color: #fff;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  text-transform: none;
  white-space: normal;
}
.ft-site-root .preview-montreux .montreux-map #map .leaflet-popup-content a.btn::before {
  content: "";
  position: absolute;
  inset: -7px 0;
}
.ft-site-root .preview-montreux .montreux-map #map .leaflet-popup-content a.btn:hover {
  border-color: var(--event-accent, #0678b4);
  background: var(--event-surface, #eaf3fa);
  color: var(--event-accent, #0678b4);
}
.ft-site-root .preview-montreux .montreux-extra-photos {
  min-width: 0;
}
.ft-site-root .preview-montreux .montreux-extra-photos .source-photo {
  margin: 0;
}
.ft-site-root .preview-montreux .montreux-extra-photos > .source-photo + .source-photo {
  margin-top: 24px;
}
.ft-site-root .preview-montreux .montreux-conclusion .montreux-copy {
  max-width: 75ch;
}
.ft-site-root .preview-montreux .montreux-conclusion-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px;
  align-items: center;
}
.ft-site-root .preview-montreux .montreux-conclusion-visual {
  min-width: 0;
}
.ft-site-root .preview-montreux .montreux-conclusion-visual .source-photo {
  margin: 0;
}
.ft-site-root .preview-montreux .montreux-conclusion-visual img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 20px;
}
.ft-site-root .preview-montreux .montreux-final-visit {
  display: block;
}
@keyframes montreux-map-arrival {
  0%, 75%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-14px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .preview-montreux .osm-icon.is-arriving .montreux-map-pin-body {
    animation: none;
  }
  .ft-site-root .preview-montreux .montreux-location-pin,
  .ft-site-root .preview-montreux .montreux-location-label {
    transition: none;
  }
}
@media (max-width: 1100px) {
  .ft-site-root .preview-montreux .montreux-reading-layout {
    --montreux-gutter: 28px;
    --montreux-main: 830px;
    --montreux-column-gap: 40px;
    --montreux-aside: 290px;
  }
}
@media (max-width: 1000px) {
  .ft-site-root .preview-montreux .montreux-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
}
@media (max-width: 900px) {
  .ft-site-root .preview-montreux .montreux-reading-layout {
    --montreux-main: 1160px;
    --montreux-column-gap: 0px;
    --montreux-aside: 0px;
  }
  .ft-site-root .preview-montreux .montreux-reading-layout > .editorial-booking-aside {
    display: none;
  }
  .ft-site-root .preview-montreux .montreux-conclusion-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
}
@media (max-width: 600px) {
  .ft-site-root .preview-montreux {
    --editorial-nav-height: 112px;
  }
  .ft-site-root .preview-montreux .montreux-catalogue-heading > h2 {
    overflow-wrap: anywhere;
    -webkit-hyphens: auto;
    hyphens: auto;
  }
  .ft-site-root .preview-montreux .montreux-reading-layout {
    --montreux-gutter: 18px;
    padding-bottom: 32px;
  }
  .ft-site-root .preview-montreux .montreux-cards {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .ft-site-root .preview-montreux .montreux-hotels .montreux-cards {
    grid-template-columns: 1fr;
  }
  .ft-site-root .preview-montreux .montreux-card-copy {
    padding: 20px;
  }
  .ft-site-root .preview-montreux #montreux-map {
    padding-block: 24px var(--editorial-chapter-gap);
  }
  .ft-site-root .preview-montreux .montreux-map-intro {
    margin-bottom: 16px;
  }
  .ft-site-root .preview-montreux .montreux-map-intro ul {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    grid-auto-flow: row;
  }
  .ft-site-root .preview-montreux .montreux-map #map {
    height: 440px;
  }
  .ft-site-root .preview-montreux .montreux-point-label {
    max-width: 136px;
  }
  .ft-site-root .preview-montreux .montreux-reading-main > .section {
    padding-block: 32px;
  }
}
@media (max-width: 360px) {
  .ft-site-root .preview-montreux .montreux-reading-layout {
    --montreux-gutter: 14px;
  }
}
.ft-site-root .mrc-digital-booking-note {
  max-width: 82ch;
  margin: 28px 0 0;
  color: #526674;
  font-size: 15px;
  line-height: 1.65;
}
.ft-site-root .mrc-digital-booking-note strong {
  color: #062f48;
}
.ft-site-root .mrc-digital-tours .regular-price {
  display: block;
  margin-top: 10px;
  color: #526674;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
}
.ft-site-root .mrc-digital-guide-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 64px;
  align-items: start;
}
.ft-site-root .mrc-digital-guide-copy > p:not(.eyebrow) {
  max-width: 57ch;
  margin-top: 20px;
}
.ft-site-root .mrc-digital-rental {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid #c7d6e0;
}
.ft-site-root .mrc-digital-rental h3 {
  font-size: 20px;
  line-height: 1.4;
}
.ft-site-root .mrc-digital-rental p {
  margin-top: 10px;
  color: #526674;
  font-size: 15px;
  line-height: 1.7;
}
.ft-site-root .mrc-digital-steps {
  counter-reset: mrc-step;
  display: grid;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ft-site-root .mrc-digital-steps li {
  counter-increment: mrc-step;
  position: relative;
  padding: 24px 24px 24px 76px;
  border-radius: 20px;
  background: #fff;
}
.ft-site-root .mrc-digital-steps li::before {
  content: counter(mrc-step);
  position: absolute;
  top: 24px;
  left: 24px;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #d7e8f4;
  color: #062f48;
  font-size: 16px;
  font-weight: 700;
}
.ft-site-root .mrc-digital-steps h3 {
  font-size: 21px;
  line-height: 1.4;
}
.ft-site-root .mrc-digital-steps p {
  margin-top: 10px;
  color: #526674;
  font-size: 16px;
  line-height: 1.65;
}
.ft-site-root .mrc-digital-benefits {
  min-width: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
}
.ft-site-root .mrc-digital-region-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 64px;
  align-items: start;
}
.ft-site-root .mrc-digital-region-copy {
  min-width: 0;
}
.ft-site-root .mrc-digital-region-copy .section-heading {
  max-width: none;
  margin-bottom: 24px;
}
.ft-site-root .mrc-digital-region-visual {
  min-width: 0;
  width: 50%;
  margin: 0;
  justify-self: end;
}
.ft-site-root .mrc-digital-region-visual img {
  display: block;
  width: 100%;
  height: auto;
}
.ft-site-root .mrc-benefit-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ft-site-root .mrc-digital-benefits .mrc-benefit-filter {
  --secondary-hover: #062f48;
  position: relative;
  min-height: 44px;
  min-width: 0;
  padding: 10px 22px;
  border-color: #062f48;
  color: #062f48;
  background: transparent;
  font-size: 15px;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.ft-site-root .mrc-digital-benefits .mrc-benefit-filter .mrc-benefit-choice {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
.ft-site-root .mrc-digital-benefits .mrc-benefit-filter:has(.mrc-benefit-choice:checked), .ft-site-root .mrc-digital-benefits .mrc-benefit-filter:hover, .ft-site-root .mrc-digital-benefits .mrc-benefit-filter:active {
  --secondary-ink: #fff;
  color: #fff;
  background: #062f48;
  border-color: #062f48;
}
.ft-site-root .mrc-digital-benefits .mrc-benefit-filter:has(.mrc-benefit-choice:focus-visible) {
  border-color: #0678b4;
  outline: none;
  box-shadow: none;
}
.ft-site-root .mrc-benefit-panels {
  margin-top: 24px;
}
.ft-site-root .mrc-benefit-panel {
  display: none;
  min-width: 0;
}
.ft-site-root .mrc-benefit-panel h3 {
  margin: 0 0 14px;
  color: #062f48;
  font-size: 20px;
  line-height: 1.45;
}
.ft-site-root .mrc-benefit-panel ul a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 58px;
  padding: 10px 24px 10px 12px;
  border-bottom: 1px solid #c7d6e0;
  border-radius: 0;
  color: #062f48;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  transition: background-color 0.24s ease-out;
}
.ft-site-root .mrc-benefit-panel ul a > span:first-child {
  min-width: 0;
  transition: translate 0.3s cubic-bezier(0.22, 0.68, 0.3, 1);
}
.ft-site-root .mrc-benefit-panel ul a:focus-visible {
  color: #062f48;
  background: #d7e8f4;
  outline: none;
}
.ft-site-root .mrc-benefit-panel ul a:focus-visible > span:first-child {
  translate: 3px 0;
}
.ft-site-root .mrc-benefit-panel ul a:focus-visible .icon {
  color: #fff;
  background: #062f48;
  translate: 3px 0;
}
.ft-site-root .mrc-benefit-panel ul .icon {
  display: inline-grid;
  flex: 0 0 34px;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: #062f48;
  background: #eaf3fa;
  font-size: 14px;
  transform: rotate(-90deg);
  transition: translate 0.3s cubic-bezier(0.22, 0.68, 0.3, 1), color 0.2s ease-out, background-color 0.2s ease-out;
}
@media (hover: hover) and (pointer: fine) {
  .ft-site-root .mrc-benefit-panel ul a:hover {
    color: #062f48;
    background: rgba(234, 243, 250, 0.7);
  }
  .ft-site-root .mrc-benefit-panel ul a:hover > span:first-child {
    translate: 3px 0;
  }
  .ft-site-root .mrc-benefit-panel ul a:hover .icon {
    color: #fff;
    background: #062f48;
    translate: 3px 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .mrc-benefit-panel ul a, .ft-site-root .mrc-benefit-panel ul a > span, .ft-site-root .mrc-benefit-panel ul .icon {
    transition: none;
  }
  .ft-site-root .mrc-benefit-panel ul a:hover > span, .ft-site-root .mrc-benefit-panel ul a:focus-visible > span {
    translate: none;
  }
}
.ft-site-root .mrc-benefit-panel ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ft-site-root .mrc-benefit-panel li {
  min-width: 0;
}
.ft-site-root .mrc-benefit-panel li > a {
  height: 100%;
}
.ft-site-root .mrc-benefit-panel small {
  display: block;
  margin-top: 4px;
  color: #526674;
  font-size: 12px;
  font-weight: 400;
}
.ft-site-root .mrc-digital-benefits:has(#mrc-benefit-half:checked) #mrc-benefit-panel-half {
  display: block;
}
.ft-site-root .mrc-digital-benefits:has(#mrc-benefit-cinemas:checked) #mrc-benefit-panel-cinemas {
  display: block;
}
.ft-site-root .mrc-digital-benefits:has(#mrc-benefit-excursions:checked) #mrc-benefit-panel-excursions {
  display: block;
}
.ft-site-root .mrc-digital-benefits:has(#mrc-benefit-free:checked) #mrc-benefit-panel-free {
  display: block;
}
.ft-site-root .mrc-digital-official {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px 40px;
  margin-top: 28px;
}
.ft-site-root .mrc-digital-official p {
  max-width: 65ch;
  color: #526674;
  font-size: 14px;
  line-height: 1.65;
}
.ft-site-root .mrc-digital-official .btn {
  flex-shrink: 0;
}
@media (max-width: 1000px) {
  .ft-site-root .mrc-digital-guide-layout {
    gap: 40px;
  }
  .ft-site-root .mrc-digital-region-intro {
    gap: 40px;
  }
  .ft-site-root .mrc-benefit-panel ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ft-site-root .mrc-digital-official {
    align-items: start;
    flex-direction: column;
    gap: 20px;
  }
}
@media (max-width: 760px) {
  .ft-site-root .mrc-digital-guide-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .ft-site-root .mrc-digital-guide-layout {
    gap: 32px;
  }
  .ft-site-root .mrc-digital-region-intro {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  .ft-site-root .mrc-digital-region-copy {
    display: contents;
  }
  .ft-site-root .mrc-digital-region-copy .section-heading {
    margin-bottom: 0;
  }
  .ft-site-root .mrc-digital-region-visual {
    max-width: 540px;
    justify-self: center;
  }
  .ft-site-root .mrc-benefit-filters {
    order: 1;
  }
}
@media (max-width: 500px) {
  .ft-site-root .mrc-digital-steps li {
    padding: 20px 20px 20px 64px;
  }
  .ft-site-root .mrc-digital-steps li::before {
    top: 20px;
    left: 20px;
    width: 28px;
    height: 28px;
  }
  .ft-site-root .mrc-digital-steps h3 {
    font-size: 19px;
  }
  .ft-site-root .mrc-digital-steps p {
    font-size: 15px;
  }
  .ft-site-root .mrc-benefit-filters {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
    gap: 8px;
  }
  .ft-site-root .mrc-digital-benefits .mrc-benefit-filter {
    padding: 10px 6px;
    font-size: 14px;
  }
  .ft-site-root .mrc-benefit-panel h3 {
    font-size: 18px;
  }
  .ft-site-root .mrc-benefit-panel ul {
    grid-template-columns: minmax(0, 1fr);
  }
  .ft-site-root .mrc-digital-official .btn {
    max-width: 100%;
    white-space: normal;
    text-align: center;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .mrc-digital-benefits .mrc-benefit-filter {
    transition: none;
  }
}
.ft-site-root .press-final-visit.editorial-final-visit {
  display: block;
}
.ft-site-root .press-list {
  gap: 0;
}
.ft-site-root .press-story {
  min-width: 0;
}
.ft-site-root .press-story-link {
  color: #17394e;
  font-family: inherit;
  font-weight: 400;
  text-decoration: none;
}
.ft-site-root .press-story-link:focus-visible {
  outline: 2px solid #0678b4;
  outline-offset: -3px;
}
.ft-site-root .press-story-image.is-logo {
  display: grid;
  place-items: center;
  min-height: 148px;
  padding: 20px;
  border: 1px solid #c7d6e0;
  background: #fff;
}
.ft-site-root .press-story-image.is-logo img {
  width: 100%;
  height: auto;
  max-height: 108px;
  object-fit: contain;
}
.ft-site-root .press-story-link[data-id="7"] .press-story-image.is-logo {
  padding: 36px;
}
@media (hover: hover) and (pointer: fine) {
  .ft-site-root .press-story-link:hover {
    color: #17394e;
  }
  .ft-site-root .press-story-link:hover .news-entry__title {
    color: #0678b4;
  }
}
@media (max-width: 600px) {
  .ft-site-root .press-story-image.is-logo {
    min-height: 88px;
    padding: 12px;
  }
  .ft-site-root .press-story-image.is-logo img {
    max-height: 64px;
  }
  .ft-site-root .press-story-link[data-id="7"] .press-story-image.is-logo {
    padding: 18px;
  }
}
.ft-site-root .preview-editorial, .ft-site-root .preview-montreux {
  --editorial-chapter-gap: 64px;
}
.ft-site-root .editorial-navigation-section {
  padding-block: 24px 0;
  background: #fff;
}
.ft-site-root .editorial-navigation-section[data-ft-sticky-nav] {
  position: sticky;
  top: var(--editorial-header-height, 78px);
  z-index: 10;
  padding-block: 20px 8px;
}
.ft-site-root .editorial-navigation-section[data-ft-sticky-nav]::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  width: 100%;
  height: var(--section-edge-height);
  background: var(--band-surface);
  -webkit-mask-image: url("/webimages/habillage/section-edge.svg");
  mask-image: url("/webimages/habillage/section-edge.svg");
  -webkit-mask-size: max(960px, 100%) 100%;
  mask-size: max(960px, 100%) 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center top;
  mask-position: center top;
  mask-mode: alpha;
  pointer-events: none;
  bottom: calc(2px - var(--section-edge-height));
  transform: scaleY(-1);
}
.ft-site-root .editorial-navigation-section[data-ft-sticky-nav] .editorial-nav {
  margin-bottom: 0;
}
.ft-site-root .editorial-navigation-section[data-ft-sticky-nav] .editorial-nav a {
  min-height: 42px;
  padding: 8px 12px;
}
.ft-site-root .preview-editorial main [id] {
  scroll-margin-top: var(--editorial-anchor-gap, 78px);
}
.ft-site-root .editorial-nav {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  padding: 0;
  border: 0;
}
.ft-site-root .editorial-nav a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 60px;
  padding: 12px 14px;
  border: 1px solid #c7d6e0;
  border-radius: 14px;
  color: #062f48;
  background: #eaf3fa;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  white-space: normal;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}
.ft-site-root .editorial-nav a:hover {
  color: #062f48;
  border-color: #062f48;
  background: #eaf3fa;
}
.ft-site-root .editorial-nav a[aria-current=page] {
  color: #fff;
  border-color: #062f48;
  background: #062f48;
}
.ft-site-root .editorial-nav.montreux-nav {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.ft-site-root :is(.preview-editorial, .preview-montreux) [data-ft-sticky-nav] .editorial-nav a {
  font-size: 13px;
}
.ft-site-root .editorial-reading-section, .ft-site-root .montreux-reading-layout {
  padding-top: 48px;
}
.ft-site-root .editorial-opening-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  grid-template-rows: auto 1fr;
  align-items: start;
  gap: 48px 64px;
}
.ft-site-root .editorial-opening-layout > .editorial-story-column {
  grid-column: 1;
  grid-row: 1/span 2;
  min-width: 0;
}
.ft-site-root .editorial-opening-layout > .editorial-news-aside {
  grid-column: 2;
  grid-row: 1;
}
.ft-site-root .editorial-opening-layout > .editorial-booking-aside {
  grid-column: 2;
  grid-row: 2;
}
.ft-site-root .editorial-introduction {
  max-width: none;
}
.ft-site-root .editorial-news-aside {
  min-width: 0;
  padding: 24px;
  border: 1px solid #c7d6e0;
  border-radius: 20px;
  background: #eaf3fa;
}
.ft-site-root .editorial-continuation-layout {
  margin-top: var(--editorial-chapter-gap, 56px);
}
.ft-site-root .editorial-reading-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  align-items: start;
  gap: 64px;
}
.ft-site-root .editorial-booking-aside {
  position: sticky;
  top: 110px;
  min-width: 0;
  max-height: calc(100dvh - 130px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  border-radius: 20px;
}
@media (min-width: 901px) {
  .ft-site-root .preview-editorial .editorial-booking-aside {
    top: calc(var(--editorial-header-height, 78px) + var(--editorial-nav-height, 60px) + 24px);
    max-height: calc(100dvh - var(--editorial-header-height, 78px) - var(--editorial-nav-height, 60px) - 48px);
  }
}
.ft-site-root .editorial-booking-card {
  overflow: hidden;
  color: #17394e;
  background: #eaf3fa;
  border: 1px solid #c7d6e0;
  border-radius: 20px;
}
.ft-site-root .editorial-booking-card__media {
  position: relative;
  min-width: 0;
}
.ft-site-root .editorial-booking-card__photo {
  position: relative;
  display: block;
  overflow: hidden;
  height: 148.8px;
}
.ft-site-root .editorial-booking-card__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.ft-site-root .editorial-booking-card__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 300ms ease;
}
.ft-site-root .editorial-booking-card__slide.is-active {
  opacity: 1;
}
.ft-site-root .editorial-booking-card__slide > picture {
  display: block;
  width: 100%;
  height: 100%;
}
.ft-site-root .editorial-booking-card__body {
  padding: 18px;
}
.ft-site-root .editorial-booking-card h2 {
  margin: 0;
  color: #062f48;
  font-size: 22px;
  line-height: 1.2;
}
.ft-site-root .editorial-booking-card__intro {
  margin-top: 9px;
  font-size: 14px;
  line-height: 1.6;
}
.ft-site-root .editorial-booking-card__routes {
  margin-top: 14px;
  border-top: 1px solid #c7d6e0;
}
.ft-site-root .editorial-booking-card__route {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 60px;
  padding-block: 9px;
  border-bottom: 1px solid #c7d6e0;
  color: #062f48;
  transition: color 180ms ease;
}
.ft-site-root .editorial-booking-card__route:hover, .ft-site-root .editorial-booking-card__route:focus-visible {
  color: #0678b4;
}
.ft-site-root .editorial-booking-card__product {
  min-width: 0;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.5;
}
.ft-site-root .editorial-booking-card__product .product-name {
  font-size: inherit;
}
.ft-site-root .editorial-booking-card__product .product-badge {
  font-size: 8px;
  padding: 3px 4px;
  vertical-align: super;
}
.ft-site-root .editorial-booking-card__duration {
  display: block;
  margin-top: 3px;
  color: #526674;
  font: 400 13px/1.5 "Quicksand", Arial, sans-serif;
}
.ft-site-root .editorial-booking-card__price {
  font-size: 19px;
  line-height: 1.2;
  font-weight: 700;
  white-space: nowrap;
}
.ft-site-root .editorial-booking-card__actions {
  display: grid;
  justify-items: center;
  gap: 10px;
  margin-top: 16px;
}
.ft-site-root .editorial-booking-card__actions .btn {
  width: 100%;
  min-height: 46px;
  padding-inline: 15px;
  font-size: 14px;
  white-space: normal;
}
.ft-site-root .editorial-booking-card__actions .text-link {
  font-family: inherit;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
}
.ft-site-root .editorial-booking-card__advantage {
  margin-top: 12px;
  font-size: 13px;
  line-height: 1.5;
  text-align: center;
}
.ft-site-root .editorial-booking-card__peter {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #c7d6e0;
  font-size: 13px;
  line-height: 1.5;
}
.ft-site-root .editorial-booking-card__peter p {
  margin-top: 5px;
}
.ft-site-root .editorial-tour-teaser {
  color: #17394e;
}
.ft-site-root .editorial-tour-teaser h2 {
  margin: 0;
  color: #062f48;
  font-size: var(--ft-section-title-size);
  line-height: 1.25;
}
.ft-site-root .editorial-tour-teaser__copy {
  min-width: 0;
}
.ft-site-root .editorial-tour-teaser__copy > p {
  margin-top: 14px;
  font-size: 16px;
  line-height: 1.6;
}
.ft-site-root .editorial-tour-teaser__visual {
  display: block;
  min-width: 0;
  overflow: hidden;
  border-radius: 12px;
}
.ft-site-root .editorial-tour-teaser__visual img {
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
}
.ft-site-root .editorial-tour-teaser__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}
.ft-site-root .editorial-tour-teaser__actions .btn {
  margin: 0;
  max-width: 100%;
  font-size: 14px;
  white-space: normal;
}
.ft-site-root .editorial-tour-teaser__routes {
  min-width: 0;
}
.ft-site-root .editorial-tour-teaser__route {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px 16px;
  min-width: 0;
  border: 1px solid #c7d6e0;
  border-radius: 16px;
  padding: 20px 22px;
  color: #062f48;
  background: #fff;
  font-family: inherit;
  font-weight: 400;
  text-decoration: none;
  transition: background-color 180ms ease, border-color 180ms ease;
}
.ft-site-root .editorial-tour-teaser__route h3 {
  margin: 0;
  color: inherit;
  font-size: 20px;
  line-height: 1.4;
}
.ft-site-root .editorial-tour-teaser__route .product-badge {
  font-size: 9px;
}
.ft-site-root .editorial-tour-teaser__route .tour-card-facts {
  grid-column: 1/-1;
  margin: 0;
  padding: 0;
}
.ft-site-root .editorial-tour-teaser__route:hover {
  background: #eaf3fa;
  border-color: #062f48;
}
.ft-site-root .editorial-tour-teaser__route-heading {
  display: contents;
}
.ft-site-root .editorial-tour-teaser__route-price {
  justify-self: end;
  padding: 7px 11px;
  border: 1px solid #c7d6e0;
  border-radius: 9px;
  color: #062f48;
  background: #eaf3fa;
  font-size: 22px;
  line-height: 1.25;
  font-weight: 700;
  white-space: nowrap;
}
.ft-site-root .editorial-tour-teaser__copy > .editorial-tour-teaser__inline-facts {
  margin-top: 12px;
  color: #526674;
  font-size: 13px;
  line-height: 1.6;
}
.ft-site-root .editorial-tour-teaser__copy > .editorial-tour-teaser__peter {
  font-size: 13px;
}
.ft-site-root .editorial-tour-teaser__copy > .editorial-tour-teaser__peter span {
  color: #526674;
}
.ft-site-root .editorial-tour-teaser__copy > .editorial-tour-teaser__peter .text-link {
  margin-top: 0;
}
.ft-site-root .editorial-tour-teaser--inline {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  align-items: stretch;
  gap: 24px;
  margin-block: 32px 40px;
  padding: 24px;
  border: 1px solid #c7d6e0;
  border-radius: 20px;
  background: #eaf3fa;
}
.ft-site-root .editorial-tour-teaser--inline h2 {
  font-size: 24px;
}
.ft-site-root .editorial-tour-teaser--wide {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 70px;
  align-items: center;
}
.ft-site-root .editorial-tour-teaser--wide .editorial-tour-teaser__routes {
  display: grid;
  gap: 14px;
}
.ft-site-root .editorial-tour-teaser--statue {
  grid-template-columns: 148px minmax(0, 1fr);
  column-gap: 20px;
  margin-top: 64px;
  margin-bottom: 40px;
}
.ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__visual {
  position: relative;
  overflow: visible;
  border-radius: 0;
}
.ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__footer {
  position: relative;
  margin-top: 22px;
}
.ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__footer-copy {
  min-width: 0;
  max-width: calc(100% - 215px);
}
.ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__footer-copy .editorial-tour-teaser__actions {
  margin-top: 0;
}
.ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__inline-facts {
  max-width: calc(100% - 148px);
}
.ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__peter {
  max-width: 180px;
  margin-top: 14px;
  font-size: 13px;
  line-height: 1.6;
}
.ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__peter span {
  display: block;
  color: #526674;
}
.ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__peter .text-link {
  margin-top: 0;
}
.ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__album {
  position: absolute;
  right: -28px;
  bottom: -24px;
  width: 210px;
  height: 100px;
  pointer-events: none;
}
.ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__snapshot {
  --snapshot-angle: 12deg;
  position: absolute;
  z-index: 1;
  display: block;
  left: -29px;
  bottom: -4px;
  width: 104px;
  padding: 2px;
  border: 1px solid #c7d6e0;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 7px 16px rgba(0, 0, 0, 0.12);
  transform: rotate(var(--snapshot-angle));
  pointer-events: auto;
  transition: translate 180ms ease-out, scale 180ms ease-out, box-shadow 180ms ease-out;
}
.ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__snapshot:focus-visible {
  outline: 2px solid #062f48;
  outline-offset: 3px;
  translate: 0 -4px;
  scale: 1.025;
}
.ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__snapshot img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  margin: 0;
  border-radius: 5px;
  object-fit: cover;
}
.ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__snapshot:nth-child(2) {
  --snapshot-angle: -5deg;
  z-index: 2;
  left: auto;
  right: -10px;
  bottom: 15px;
  width: 162px;
}
.ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__album .editorial-tour-teaser__snapshot:hover, .ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__album .editorial-tour-teaser__snapshot:active, .ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__album .editorial-tour-teaser__snapshot:focus-visible {
  background: #fff;
}
.ft-site-root .editorial-tour-teaser--statue.has-statue-player:not(.is-statue-in-view) .editorial-tour-teaser__snapshot {
  opacity: 0;
  transform: translateY(16px) rotate(calc(var(--snapshot-angle) * 0.5)) scale(0.96);
}
.ft-site-root .editorial-tour-teaser--statue.is-statue-in-view .editorial-tour-teaser__snapshot {
  transition: transform 800ms cubic-bezier(0.16, 1, 0.3, 1), opacity 600ms ease-out, translate 180ms ease-out, scale 180ms ease-out, box-shadow 180ms ease-out;
  transition-delay: 500ms, 500ms, 0ms, 0ms, 0ms;
}
.ft-site-root .editorial-tour-teaser--statue.is-statue-in-view .editorial-tour-teaser__snapshot:nth-child(2) {
  transition-delay: 620ms, 620ms, 0ms, 0ms, 0ms;
}
@media (hover: hover) and (pointer: fine) {
  .ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__snapshot:hover {
    translate: 0 -4px;
    scale: 1.025;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.16);
  }
}
.ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__statue {
  position: absolute;
  left: calc(50% - 3px);
  bottom: -27px;
  width: 350px;
  height: 350px;
  transform: translate(-50%, 8%);
  pointer-events: none;
}
.ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__statue img, .ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__statue video {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0;
  border: 0;
  border-radius: 0;
  object-fit: contain;
  transform: rotate(-2deg);
  transform-origin: 50% 92%;
}
.ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__statue video[hidden], .ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__statue.is-video-ready img {
  display: none;
}
.ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__statue .editorial-tour-teaser__waves {
  position: absolute;
  z-index: 0;
  left: calc(21.5% - 9px);
  top: 25%;
  width: 33.5%;
  height: auto;
  overflow: visible;
}
.ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__statue .editorial-tour-teaser__arc {
  --editorial-arc-length: 671;
  --editorial-arc-entry-delay: 0ms;
  --editorial-arc-exit-delay: 140ms;
  opacity: 0.55;
  stroke-dasharray: var(--editorial-arc-length);
  stroke-dashoffset: 0;
  transform-box: view-box;
  transform-origin: 58.3% 42.8%;
  transition: stroke-dashoffset 650ms cubic-bezier(0.2, 0.7, 0.2, 1), opacity 160ms ease-out, transform 650ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: var(--editorial-arc-entry-delay);
}
.ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__statue .editorial-tour-teaser__arc:nth-child(2) {
  --editorial-arc-length: 998;
  --editorial-arc-entry-delay: 70ms;
  --editorial-arc-exit-delay: 70ms;
}
.ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__statue .editorial-tour-teaser__arc:nth-child(3) {
  --editorial-arc-length: 1014;
  --editorial-arc-entry-delay: 140ms;
  --editorial-arc-exit-delay: 0ms;
}
.ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__statue.is-waves-muted .editorial-tour-teaser__arc {
  opacity: 0;
  stroke-dashoffset: var(--editorial-arc-length);
  transform: rotate(-8deg) scale(0.93);
  transition-timing-function: cubic-bezier(0.8, 0, 0.8, 0.3), ease-in, cubic-bezier(0.7, 0, 0.84, 0);
  transition-delay: var(--editorial-arc-exit-delay), calc(var(--editorial-arc-exit-delay) + 490ms), var(--editorial-arc-exit-delay);
}
.ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__statue.is-waves-reset .editorial-tour-teaser__arc {
  transition: none;
}
.ft-site-root .preview-page .editorial-final-visit.section-blue {
  --band-surface: #faf7e4;
  background: #faf7e4;
}
.ft-site-root .editorial-story > h2, .ft-site-root .montreux-copy > h2, .ft-site-root .montreux-stay-advice > h2, .ft-site-root .contact-story-copy > h2 {
  font-size: var(--ft-section-title-size);
  line-height: 1.25;
}
.ft-site-root .editorial-story > h3, .ft-site-root .montreux-copy > h3, .ft-site-root .montreux-stay-advice > h3, .ft-site-root .contact-story-copy > h3 {
  font-size: var(--ft-subtitle-size);
  line-height: 1.3;
}
.ft-site-root .preview-montreux .montreux-copy > h2:not(:first-child), .ft-site-root .preview-montreux .montreux-stay-advice > h2:not(:first-child) {
  margin-top: var(--editorial-chapter-gap);
}
.ft-site-root .editorial-story {
  max-width: 68ch;
  min-width: 0;
  font-size: 17px;
  line-height: 1.8;
}
.ft-site-root .editorial-story > :first-child:not(.editorial-tour-teaser--statue) {
  margin-top: 0;
}
.ft-site-root .editorial-story > h2 {
  margin-top: var(--editorial-chapter-gap, 48px);
  margin-bottom: 0;
}
.ft-site-root .editorial-story > h2:first-child, .ft-site-root .editorial-story > .editorial-story-anchor:first-child + h2 {
  margin-top: 0;
}
.ft-site-root .editorial-story > h3 {
  margin-top: 32px;
}
.ft-site-root .editorial-story > p {
  margin-top: 19px;
}
.ft-site-root .editorial-story > ul, .ft-site-root .editorial-story > ol {
  padding-left: 20px;
}
.ft-site-root .editorial-story > .tour-charity {
  max-width: none;
  margin-inline: 0;
}
.ft-site-root .editorial-story .source-photo {
  margin-block: 32px;
}
.ft-site-root .editorial-story .source-photo img {
  margin: 0;
  width: 100%;
  height: auto;
  border-radius: 20px;
}
.ft-site-root .editorial-story .source-photo figcaption {
  font-size: 12px;
  line-height: 1.6;
}
.ft-site-root .editorial-story .source-media-split {
  gap: 28px;
  margin-block: var(--editorial-chapter-gap, 34px) 34px;
  align-items: start;
}
.ft-site-root .editorial-story .source-media-split > div > :first-child {
  margin-top: 0;
}
.ft-site-root .editorial-story .source-media-split .source-photo {
  margin-block: 0;
}
.ft-site-root .editorial-story .source-media-split h2 {
  margin-top: 0;
  font-size: var(--ft-section-title-size);
  line-height: 1.25;
}
.ft-site-root .editorial-story .editorial-tour-teaser h2 {
  margin: 0;
  font-size: 24px;
}
.ft-site-root .editorial-story .editorial-tour-teaser .btn {
  margin-top: 0;
}
.ft-site-root .editorial-story-anchor {
  display: block;
  scroll-margin-top: 120px;
}
.ft-site-root .editorial-related-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}
.ft-site-root .editorial-related-card {
  --secondary-hover: #d7e8f4;
  display: flex;
  min-width: 0;
  overflow: hidden;
  background: #eaf3fa;
  border-radius: 20px;
}
.ft-site-root .editorial-related-card .product-card-link {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.ft-site-root .editorial-related-card__image {
  display: block;
  overflow: hidden;
  aspect-ratio: 1.65;
}
.ft-site-root .editorial-related-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ft-site-root .editorial-related-card__body {
  display: flex;
  flex-direction: column;
  align-items: start;
  flex: 1;
  padding: 22px;
}
.ft-site-root .editorial-related-card__body h3 {
  font-size: 22px;
  line-height: 1.25;
}
.ft-site-root .editorial-related-card__body p {
  margin-top: 14px;
  margin-bottom: 22px;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
}
.ft-site-root .editorial-related-card__body .btn {
  margin-top: auto;
}
.ft-site-root .editorial-related-card:focus-within .product-card-link:focus-visible .editorial-related-card__image img {
  scale: 1.035;
}
.ft-site-root .editorial-related-card:focus-within .product-card-link:focus-visible .btn-secondary,
.ft-site-root .editorial-related-card .product-card-link:active .btn-secondary {
  background: #d7e8f4;
  border-color: #062f48;
  color: #062f48;
}
@media (hover: hover) and (pointer: fine) {
  .ft-site-root .editorial-related-card .product-card-link:hover .btn-secondary {
    background: #d7e8f4;
    border-color: #062f48;
    color: #062f48;
  }
}
@media (max-width: 1100px) {
  .ft-site-root .editorial-opening-layout {
    grid-template-columns: minmax(0, 1fr) 360px;
    column-gap: 40px;
  }
  .ft-site-root .editorial-reading-layout {
    grid-template-columns: minmax(0, 1fr) 290px;
    gap: 40px;
  }
  .ft-site-root .editorial-booking-card__body {
    padding: 18px;
  }
  .ft-site-root .editorial-booking-card__product {
    font-size: 14px;
  }
  .ft-site-root .editorial-story .source-media-split {
    grid-template-columns: 1fr;
  }
  .ft-site-root .editorial-tour-teaser--wide {
    gap: 40px;
  }
  .ft-site-root .editorial-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
  }
  .ft-site-root .editorial-related-card__body {
    padding: 22px;
  }
  .ft-site-root .editorial-related-card__body h3 {
    font-size: 22px;
  }
}
@media (max-width: 900px) {
  .ft-site-root .editorial-opening-layout {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    gap: 36px;
  }
  .ft-site-root .editorial-opening-layout > .editorial-story-column {
    display: contents;
  }
  .ft-site-root .editorial-opening-layout .editorial-introduction {
    grid-column: 1;
    grid-row: 1;
  }
  .ft-site-root .editorial-opening-layout > .editorial-news-aside {
    grid-column: 1;
    grid-row: 2;
  }
  .ft-site-root .editorial-opening-layout .editorial-continuation {
    grid-column: 1;
    grid-row: 3;
    margin-top: 0;
  }
  .ft-site-root .editorial-opening-layout > .editorial-booking-aside {
    grid-column: 1;
    grid-row: 4;
  }
  .ft-site-root .editorial-news-aside {
    width: 100%;
  }
  .ft-site-root .editorial-reading-layout {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .ft-site-root .editorial-booking-aside {
    position: static;
    width: 100%;
    max-width: 68ch;
    max-height: none;
    overflow: visible;
  }
  .ft-site-root .editorial-booking-card {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  }
  .ft-site-root .editorial-booking-card__photo {
    height: 100%;
    aspect-ratio: auto;
  }
  .ft-site-root .editorial-story {
    max-width: 100%;
  }
  .ft-site-root .editorial-final-visit {
    display: none;
  }
  .ft-site-root .editorial-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ft-site-root .editorial-tour-teaser--wide {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .ft-site-root .editorial-tour-teaser--wide .editorial-tour-teaser__routes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 28px;
  }
}
@media (min-width: 901px) and (max-height: 760px) {
  .ft-site-root .editorial-booking-card__photo {
    height: 115.2px;
  }
  .ft-site-root .editorial-booking-card__body {
    padding: 16px 18px;
  }
  .ft-site-root .editorial-booking-card__intro {
    margin-top: 9px;
    line-height: 1.55;
  }
  .ft-site-root .editorial-booking-card__routes {
    margin-top: 15px;
  }
  .ft-site-root .editorial-booking-card__actions {
    margin-top: 15px;
  }
}
@media (max-width: 600px) {
  .ft-site-root .preview-editorial, .ft-site-root .preview-montreux {
    --editorial-chapter-gap: 48px;
  }
  .ft-site-root .editorial-navigation-section {
    padding-top: 20px;
  }
  .ft-site-root .editorial-nav {
    gap: 8px;
  }
  .ft-site-root .editorial-nav a {
    min-height: 58px;
    padding: 11px 12px;
    font-size: 13px;
  }
  .ft-site-root .editorial-nav:not(.montreux-nav) a:first-child {
    grid-column: 1/-1;
  }
  .ft-site-root .editorial-nav, .ft-site-root .editorial-nav.montreux-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ft-site-root .editorial-navigation-section[data-ft-sticky-nav] .editorial-nav a {
    min-height: 40px;
    padding: 7px 8px;
    line-height: 1.3;
  }
  .ft-site-root .preview-editorial [data-ft-sticky-nav] .editorial-nav {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .ft-site-root .preview-editorial [data-ft-sticky-nav] .editorial-nav a {
    grid-column: span 4;
  }
  .ft-site-root .preview-editorial [data-ft-sticky-nav] .editorial-nav a:first-child {
    grid-column: span 3;
  }
  .ft-site-root .preview-editorial [data-ft-sticky-nav] .editorial-nav a:nth-child(3) {
    grid-column: span 5;
  }
  .ft-site-root .preview-editorial [data-ft-sticky-nav] .editorial-nav a:nth-child(n+4) {
    grid-column: span 6;
  }
  .ft-site-root .editorial-reading-section, .ft-site-root .montreux-reading-layout {
    padding-top: 36px;
  }
  .ft-site-root .editorial-opening-layout {
    gap: 28px;
  }
  .ft-site-root .editorial-news-aside {
    padding: 20px;
    border-radius: 18px;
  }
  .ft-site-root .editorial-reading-layout {
    gap: 32px;
  }
  .ft-site-root .editorial-story {
    font-size: 16px;
    line-height: 1.75;
  }
  .ft-site-root .editorial-story > h2 {
    margin-top: var(--editorial-chapter-gap, 36px);
  }
  .ft-site-root .editorial-booking-card {
    display: block;
  }
  .ft-site-root .editorial-booking-card__photo {
    height: auto;
    aspect-ratio: 1.5;
  }
  .ft-site-root .editorial-booking-card__body {
    padding: 24px;
  }
  .ft-site-root .editorial-booking-card__product {
    font-size: 16px;
  }
  .ft-site-root .editorial-tour-teaser--inline {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 20px;
  }
  .ft-site-root .editorial-tour-teaser--inline .editorial-tour-teaser__visual {
    aspect-ratio: 2.1;
    max-height: 200px;
  }
  .ft-site-root .editorial-story .editorial-tour-teaser h2 {
    font-size: 24px;
  }
  .ft-site-root .editorial-tour-teaser__copy > p {
    font-size: 15px;
  }
  .ft-site-root .editorial-tour-teaser__actions {
    flex-direction: column;
    align-items: stretch;
  }
  .ft-site-root .editorial-tour-teaser__actions .btn {
    width: 100%;
  }
  .ft-site-root .editorial-tour-teaser--wide {
    padding: 0;
  }
  .ft-site-root .editorial-tour-teaser--wide .editorial-tour-teaser__routes {
    grid-template-columns: 1fr;
  }
  .ft-site-root .editorial-tour-teaser__route {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px 10px;
  }
  .ft-site-root .editorial-tour-teaser__route h3 {
    grid-row: 1;
    min-width: 0;
    font-size: 18px;
  }
  .ft-site-root .editorial-tour-teaser__route .tour-card-facts {
    grid-row: 2;
  }
  .ft-site-root .editorial-tour-teaser__route-price {
    grid-row: 1;
    padding: 6px 8px;
    font-size: 18px;
  }
  .ft-site-root .editorial-related-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .ft-site-root .editorial-related-card__body {
    padding: 24px;
  }
}
@media (max-width: 620px) {
  .ft-site-root .editorial-tour-teaser--statue {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 16px;
    padding: 20px 20px 8px;
    margin-block: 24px;
    overflow: clip;
  }
  .ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__visual {
    grid-column: 1;
    grid-row: auto;
    order: 1;
    align-self: end;
    width: 100%;
    aspect-ratio: 0.86;
    max-height: none;
  }
  .ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__statue {
    left: 50%;
    bottom: -9px;
    width: 150%;
    height: auto;
    aspect-ratio: 1;
    transform: translate(-50%, 8%);
  }
  .ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__copy, .ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__footer, .ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__footer-copy {
    display: contents;
  }
  .ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__copy > h2, .ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__copy > p, .ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__footer-copy > * {
    grid-column: 1/-1;
    margin: 0;
    max-width: none;
  }
  .ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__album {
    position: relative;
    display: flex;
    flex-direction: column;
    grid-column: 2;
    grid-row: auto;
    order: 1;
    align-self: start;
    gap: 0;
    inset: auto;
    width: 100%;
    height: auto;
    aspect-ratio: auto;
  }
  .ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__snapshot {
    --snapshot-angle: 4deg;
    position: relative;
    order: 1;
    align-self: flex-start;
    inset: auto;
    width: 70%;
    margin-top: calc(5.8% - 8px);
  }
  .ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__snapshot:nth-child(2) {
    --snapshot-angle: -4deg;
    order: 0;
    inset: auto;
    width: 100%;
    margin-top: 0;
  }
  .ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__snapshot:only-child {
    order: 0;
    width: 100%;
    margin-top: 0;
  }
}
@media (max-width: 600px), (max-height: 500px) and (max-width: 1000px) {
  .ft-site-root :is(.preview-editorial, .preview-montreux) [data-ft-sticky-nav] {
    padding-block: 12px 4px;
  }
  .ft-site-root :is(.preview-editorial, .preview-montreux) [data-ft-sticky-nav] .editorial-nav {
    gap: 8px;
  }
  .ft-site-root :is(.preview-editorial, .preview-montreux) [data-ft-sticky-nav] .editorial-nav a {
    min-height: 44px;
    padding: 4px 6px;
    border-radius: 10px;
    font-size: 11.5px;
    line-height: 1.2;
  }
}
@media (max-height: 500px) and (max-width: 1000px) {
  .ft-site-root .editorial-navigation-section[data-ft-sticky-nav] .editorial-nav:not(.montreux-nav) {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .ft-site-root .editorial-navigation-section[data-ft-sticky-nav] .editorial-nav:not(.montreux-nav) a {
    grid-column: auto;
  }
  .ft-site-root .editorial-navigation-section[data-ft-sticky-nav] .editorial-nav:not(.montreux-nav) a:first-child {
    grid-column: auto;
  }
  .ft-site-root .preview-montreux .montreux-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 360px) {
  .ft-site-root .editorial-tour-teaser__route {
    padding-inline: 12px;
    column-gap: 8px;
  }
  .ft-site-root .editorial-tour-teaser__route h3 {
    font-size: 16px;
  }
  .ft-site-root .editorial-tour-teaser__route-price {
    font-size: 16px;
  }
  .ft-site-root .editorial-booking-card__body {
    padding: 20px;
  }
  .ft-site-root .editorial-booking-card__route {
    gap: 8px;
  }
  .ft-site-root .editorial-booking-card__product {
    font-size: 14px;
  }
  .ft-site-root .editorial-booking-card__price {
    font-size: 18px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .editorial-tour-teaser--statue .editorial-tour-teaser__snapshot {
    opacity: 1 !important;
    transform: rotate(var(--snapshot-angle)) !important;
    translate: none !important;
    scale: none !important;
    transition: none !important;
  }
  .ft-site-root .editorial-tour-teaser__arc {
    transition: none !important;
  }
  .ft-site-root .editorial-booking-card__route, .ft-site-root .editorial-booking-card__slide, .ft-site-root .editorial-related-card__image img, .ft-site-root .editorial-nav a, .ft-site-root .editorial-tour-teaser__route {
    transition: none;
  }
  .ft-site-root .editorial-related-card:focus-within .product-card-link:focus-visible .editorial-related-card__image img,
  .ft-site-root .editorial-related-card .product-card-link:hover .editorial-related-card__image img {
    scale: none;
  }
}
.ft-site-root .editorial-story p.editorial-visit-info {
  padding: 24px 28px;
  border: 0;
  border-radius: 20px;
  background: rgb(100%, 98.1176470588%, 83.0588235294%);
  color: #953b0d;
  overflow-wrap: anywhere;
}
.ft-site-root .editorial-story p.editorial-visit-info > :first-child {
  margin-top: 0;
}
.ft-site-root .editorial-story p.editorial-visit-info > :last-child {
  margin-bottom: 0;
}
@media (max-width: 600px) {
  .ft-site-root .editorial-story p.editorial-visit-info {
    padding: 20px;
    border-radius: 16px;
  }
}
.ft-site-root .editorial-story p.editorial-visit-info {
  line-height: 1.65;
}
.ft-site-root .editorial-story p.editorial-visit-info strong {
  font-weight: 700;
}
.ft-site-root .editorial-story .editorial-private-visits {
  padding: 24px 28px;
  border: 0;
  border-radius: 20px;
  background: #eaf3fa;
  color: #17394e;
  overflow-wrap: anywhere;
}
.ft-site-root .editorial-story .editorial-private-visits > :first-child {
  margin-top: 0;
}
.ft-site-root .editorial-story .editorial-private-visits > :last-child {
  margin-bottom: 0;
}
@media (max-width: 600px) {
  .ft-site-root .editorial-story .editorial-private-visits {
    padding: 20px;
    border-radius: 16px;
  }
}
.ft-site-root .editorial-story .editorial-private-visits {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(240px, 0.9fr);
  align-items: center;
  gap: 28px;
  margin-block: 24px;
}
.ft-site-root .editorial-story .editorial-private-visits__intro {
  min-width: 0;
}
.ft-site-root .editorial-story .editorial-private-visits h3 {
  margin: 0;
  color: #062f48;
  font-size: 24px;
  line-height: 1.3;
}
.ft-site-root .editorial-story .editorial-private-visits p {
  margin: 14px 0 0;
  color: #17394e;
  font-size: 15px;
  line-height: 1.65;
}
.ft-site-root .editorial-story .editorial-private-visits .hero-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: 12px;
  margin: 0;
}
.ft-site-root .editorial-story .editorial-private-visits .hero-actions .btn.btn-secondary {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 12px;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-width: 0;
  min-height: 76px;
  padding: 14px;
  border: 1px solid transparent;
  border-radius: 14px;
  color: #062f48;
  background: #fff;
  font-size: 15px;
  line-height: 1.4;
  text-align: left;
  white-space: normal;
}
.ft-site-root .editorial-story .editorial-private-visits .hero-actions .btn.btn-secondary:hover, .ft-site-root .editorial-story .editorial-private-visits .hero-actions .btn.btn-secondary:focus-visible {
  color: #062f48;
  border-color: #d7e8f4;
  background: #d7e8f4;
}
.ft-site-root .editorial-story .editorial-private-visits .hero-actions .btn.btn-secondary:focus-visible {
  outline-color: #062f48;
  outline-offset: -4px;
}
.ft-site-root .editorial-story .editorial-private-visits .hero-actions .btn.btn-secondary > span:nth-child(2) {
  min-width: 0;
}
.ft-site-root .editorial-story .editorial-private-visits .booking-section-icon {
  font-size: 28px;
  text-align: center;
}
.ft-site-root .editorial-story .editorial-private-visits .disclosure-icon {
  justify-self: end;
}
.ft-site-root .editorial-story .editorial-private-visits__school {
  display: block;
  width: 28px;
  height: 28px;
  margin-inline: auto;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21V10h5M21 21V10h-5M8 21V7l4-4 4 4v14M2 21h20M10 21v-5h4v5M5 13h1m-1 4h1m12-4h1m-1 4h1'/%3E%3Ccircle cx='12' cy='9' r='1.5'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21V10h5M21 21V10h-5M8 21V7l4-4 4 4v14M2 21h20M10 21v-5h4v5M5 13h1m-1 4h1m12-4h1m-1 4h1'/%3E%3Ccircle cx='12' cy='9' r='1.5'/%3E%3C/svg%3E") center/contain no-repeat;
}
@media (max-width: 1100px) {
  .ft-site-root .editorial-story .editorial-private-visits {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
  }
  .ft-site-root .editorial-story .editorial-private-visits .hero-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .ft-site-root .editorial-story .editorial-private-visits h3 {
    font-size: 22px;
  }
  .ft-site-root .editorial-story .editorial-private-visits .hero-actions {
    grid-template-columns: minmax(0, 1fr);
  }
}
.ft-site-root .contact-hero .breadcrumb {
  margin-bottom: 32px;
}
.ft-site-root .contact-hero .contact-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  align-items: center;
  gap: 64px;
}
.ft-site-root .contact-hero .contact-hero-copy {
  min-width: 0;
}
.ft-site-root .contact-hero .contact-hero-copy h1 {
  font-size: clamp(36px, 3.75vw, 54px);
  color: #062f48;
}
.ft-site-root .contact-hero .contact-hero-copy .lead {
  max-width: 48ch;
  margin-top: 24px;
  font-size: 19px;
  line-height: 1.65;
}
.ft-site-root .contact-hero .contact-hero-copy .hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 32px;
}
.ft-site-root .contact-social-panel {
  min-width: 0;
  padding-inline-start: 32px;
}
.ft-site-root .contact-social-panel .contact-social-layout {
  display: grid;
  gap: 24px;
}
.ft-site-root .contact-social-panel .contact-social-copy h2 {
  font-size: 25px;
  letter-spacing: 0;
}
.ft-site-root .contact-social-panel .contact-social-copy p {
  max-width: 38ch;
  margin-top: 12px;
  font-size: 16px;
  line-height: 1.7;
  color: #526674;
}
.ft-site-root .contact-social-panel .social-links {
  justify-content: flex-start;
}
.ft-site-root .contact-direct-section {
  background: #fff;
}
.ft-site-root .contact-direct {
  min-width: 0;
}
.ft-site-root .contact-direct h2 {
  font-size: var(--ft-section-title-size);
}
.ft-site-root .contact-direct .contact-direct-intro {
  max-width: 82ch;
  margin-top: 20px;
  color: #526674;
  line-height: 1.7;
}
.ft-site-root .contact-direct .contact-channels {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 24px;
}
.ft-site-root .contact-direct .contact-channel {
  justify-content: flex-start;
  gap: 16px;
  min-width: 0;
  min-height: 80px;
  padding: 16px 24px;
  border-radius: 16px;
  text-align: left;
  white-space: normal;
}
.ft-site-root .contact-direct .contact-channel > .icon {
  flex: 0 0 24px;
  width: 24px;
  font-size: 24px;
  text-align: center;
}
.ft-site-root .contact-direct .contact-channel .contact-channel-label {
  display: block;
  margin-bottom: 2px;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
}
.ft-site-root .contact-direct .contact-channel strong {
  display: block;
  font-size: 16px;
  line-height: 1.4;
}
.ft-site-root .contact-faq-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 64px;
  align-items: start;
}
.ft-site-root .contact-faq-layout > * {
  min-width: 0;
}
.ft-site-root .contact-faq-layout .contact-faq-heading {
  position: sticky;
  top: 128px;
  max-width: none;
  margin: 0;
}
.ft-site-root .contact-faq-layout .contact-faq-heading .eyebrow {
  margin: 0 0 16px;
}
.ft-site-root .contact-faq-layout .contact-faq-heading > p:not(.eyebrow) {
  margin-top: 24px;
}
.ft-site-root .contact-faq-layout .contact-faq-heading .btn {
  margin-top: 24px;
}
.ft-site-root .contact-faq-layout .tour-faq-list {
  width: 100%;
  max-width: none;
  margin: 0;
}
.ft-site-root .contact-faq-layout .tour-faq-list summary {
  min-height: 68px;
}
.ft-site-root .contact-faq-layout .tour-faq-list summary h3 {
  font-size: 17px;
}
.ft-site-root .contact-faq-layout > .contact-faq-more {
  display: none;
}
.ft-site-root .contact-page-section.booking-section {
  --band-surface: #eaf3fa;
  padding-block: 72px;
  background: #eaf3fa;
}
.ft-site-root .contact-page-section.booking-section .contact-layout {
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 64px;
}
.ft-site-root .contact-page-section.booking-section .contact-page-copy {
  min-width: 0;
}
.ft-site-root .contact-page-section.booking-section .contact-page-copy h2 {
  font-size: var(--ft-section-title-size);
}
.ft-site-root .contact-page-section.booking-section .contact-page-copy > p {
  max-width: 48ch;
  margin-top: 16px;
}
.ft-site-root .contact-page-section.booking-section .contact-page-copy > p:first-of-type {
  margin-top: 24px;
}
.ft-site-root .contact-page-section.booking-section .contact-page-copy > p:last-of-type {
  margin-top: 32px;
}
.ft-site-root .contact-page-section.booking-section .contact-form {
  padding: 32px;
}
.ft-site-root .contact-visit-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}
.ft-site-root .contact-visit-links .btn {
  padding-inline: 20px;
  font-size: 14px;
}
@media (max-width: 1000px) {
  .ft-site-root .contact-hero .contact-hero-layout,
  .ft-site-root .contact-faq-layout,
  .ft-site-root .contact-page-section.booking-section .contact-layout {
    gap: 32px;
  }
  .ft-site-root .contact-social-panel {
    padding-inline-start: 0;
  }
  .ft-site-root .contact-direct .contact-channel {
    padding: 16px;
    gap: 12px;
  }
}
@media (max-width: 800px) {
  .ft-site-root .contact-hero .contact-hero-layout,
  .ft-site-root .contact-faq-layout,
  .ft-site-root .contact-page-section.booking-section .contact-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .ft-site-root .contact-hero .contact-hero-copy .lead {
    max-width: 60ch;
  }
  .ft-site-root .contact-faq-layout .contact-faq-heading {
    position: static;
  }
  .ft-site-root .contact-faq-layout .contact-faq-heading .contact-faq-more {
    display: none;
  }
  .ft-site-root .contact-faq-layout > .contact-faq-more {
    display: inline-flex;
    justify-self: start;
  }
  .ft-site-root .contact-social-panel .contact-social-layout {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }
  .ft-site-root .contact-direct .contact-channel {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media (max-width: 600px) {
  .ft-site-root .contact-hero .breadcrumb {
    margin-bottom: 24px;
  }
  .ft-site-root .contact-hero .contact-hero-copy .lead {
    font-size: 17px;
  }
  .ft-site-root .contact-hero .contact-hero-copy .hero-actions {
    margin-top: 24px;
  }
  .ft-site-root .contact-social-panel .contact-social-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  .ft-site-root .contact-direct h2 {
    font-size: 25px;
  }
  .ft-site-root .contact-direct .contact-channels {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
  .ft-site-root .contact-direct .contact-channel {
    flex-direction: row;
    align-items: center;
    padding: 16px 20px;
  }
  .ft-site-root .contact-page-section.booking-section {
    padding-block: 40px;
  }
  .ft-site-root .contact-page-section.booking-section .contact-form {
    padding: 24px 20px;
  }
  .ft-site-root .contact-visit-links .btn {
    flex: 1 1 auto;
    padding-inline: 16px;
  }
}
.ft-site-root .contact-story-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 40px 56px;
}
.ft-site-root .contact-story-layout > * {
  min-width: 0;
}
.ft-site-root .contact-story-layout--illustrated {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
}
.ft-site-root .contact-story-layout--reading {
  max-width: 880px;
}
.ft-site-root .contact-story-copy {
  font-size: 17px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.ft-site-root .contact-story-copy > :first-child {
  margin-top: 0;
}
.ft-site-root .contact-story-copy ul, .ft-site-root .contact-story-copy ol {
  margin-top: 24px;
  padding-inline-start: 20px;
}
.ft-site-root .contact-story-copy li {
  padding-inline-start: 4px;
}
.ft-site-root .contact-story-copy li + li {
  margin-top: 16px;
}
.ft-site-root .contact-story-copy .btn {
  margin-top: 8px;
}
.ft-site-root .contact-story-photo {
  margin: 0;
}
.ft-site-root .contact-story-photo a {
  display: block;
  overflow: hidden;
  border-radius: 20px;
}
.ft-site-root .contact-story-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  object-fit: cover;
  border-radius: 20px;
}
.ft-site-root .contact-story-photo--whole img {
  aspect-ratio: auto;
  object-fit: contain;
}
.ft-site-root .contact-story-photo figcaption {
  margin-top: 12px;
  font-size: 13px;
  line-height: 1.6;
  color: #526674;
}
.ft-site-root .contact-story-photos {
  display: grid;
  gap: 24px;
}
.ft-site-root .contact-story-photos .contact-story-photo {
  position: static;
}
.ft-site-root .contact-story-layout--equipment {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  --tour-equipment-padding-block: 28px;
}
.ft-site-root .contact-story-layout--equipment .contact-story-copy {
  padding-top: calc(var(--tour-equipment-padding-block) + 1px);
}
.ft-site-root .contact-equipment .tour-equipment {
  --equipment-surface: #fff;
}
.ft-site-root .contact-equipment {
  align-content: stretch;
}
.ft-site-root .contact-equipment .tour-equipment-photo {
  width: min(460px, 100% + var(--tour-equipment-padding-inline) + 1px);
  object-fit: contain;
}
.ft-site-root .preview-schools .contact-equipment {
  align-content: start;
}
.ft-site-root .preview-schools .contact-equipment .tour-equipment-photo {
  margin-top: 0;
}
.ft-site-root .contact-story-layout--pedagogy .contact-story-photo img {
  aspect-ratio: 3/2;
}
.ft-site-root .contact-story-layout--cinema {
  align-items: stretch;
}
.ft-site-root .contact-story-layout--cinema .contact-story-photos {
  min-height: 0;
}
.ft-site-root .contact-story-layout--cinema .contact-story-photo {
  position: relative;
  min-height: 0;
}
.ft-site-root .contact-story-layout--cinema .contact-story-photo img, .ft-site-root .contact-story-layout--cinema .contact-story-photo picture, .ft-site-root .contact-story-layout--cinema .contact-story-photo > .page-photo-lightbox {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.ft-site-root .contact-story-layout--cinema .contact-story-photo img {
  aspect-ratio: auto;
  object-fit: cover;
  object-position: 15% center;
}
.ft-site-root .contact-faq-photo {
  position: static;
  margin-top: 28px;
}
.ft-site-root .contact-story-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 12px;
  grid-column: 1/-1;
}
.ft-site-root .contact-story-gallery .contact-story-photo {
  position: static;
}
.ft-site-root .contact-visit-hero + .contact-story-section {
  padding-top: 56px;
}
.ft-site-root .preview-page:is(.preview-groups, .preview-schools) .contact-story-copy img:where([src*="/upload/"][src*="/original/"], [src*="/upload/"][src*="/size-"], [src*="/webimages/front/"]) {
  border-radius: 20px;
}
.ft-site-root .preview-page.preview-groups > main > .booking-section,
.ft-site-root .preview-page.preview-schools > main > .booking-section {
  background: #fff;
  --band-surface: #fff;
}
.ft-site-root .preview-page.preview-groups > main > .booking-section .contact-form,
.ft-site-root .preview-page.preview-schools > main > .booking-section .contact-form {
  background: #eaf3fa;
}
@media (max-width: 1000px) {
  .ft-site-root .contact-story-layout {
    gap: 32px;
  }
  .ft-site-root .contact-story-layout--illustrated {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  }
  .ft-site-root .contact-story-layout--equipment {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 800px) {
  .ft-site-root .contact-story-layout--illustrated {
    grid-template-columns: minmax(0, 1fr);
  }
  .ft-site-root .contact-story-photo {
    position: static;
    max-width: 680px;
  }
  .ft-site-root .contact-story-layout--equipment .contact-story-copy {
    padding-top: 0;
  }
  .ft-site-root .contact-story-layout--cinema .contact-story-photo img, .ft-site-root .contact-story-layout--cinema .contact-story-photo picture, .ft-site-root .contact-story-layout--cinema .contact-story-photo > .page-photo-lightbox {
    position: static;
    height: auto;
  }
  .ft-site-root .contact-story-copy {
    font-size: 16px;
  }
  .ft-site-root .contact-visit-hero + .contact-story-section {
    padding-top: 40px;
  }
}
.ft-site-root .product-card-content-link {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  color: inherit;
  font: inherit;
  text-decoration: none;
}
.ft-site-root .product-card-content-link:focus-visible {
  outline: 2px solid #0678b4;
  outline-offset: -3px;
}
.ft-site-root .product-card-photo-link {
  flex-shrink: 0;
  border-radius: inherit;
  overflow: hidden;
}
.ft-site-root .tour-card .product-card-link {
  font-weight: 400;
}
.ft-site-root .tour-card--home .card-bottom,
.ft-site-root .tour-card--detail .card-bottom {
  background: #d7e8f4;
  align-items: center;
}
.ft-site-root .tour-card-price-block {
  min-width: 0;
}
.ft-site-root .tour-card-action-block {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  flex: 0 1 auto;
  gap: 6px;
  min-width: 0;
  max-width: 100%;
  margin-inline-start: auto;
}
.ft-site-root .tour-card-action-block > .tour-card-availability {
  justify-content: flex-end;
  margin: 0;
  text-align: right;
}
.ft-site-root .tour-card-availability {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  margin-top: 8px;
  color: #062f48;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 400;
}
.ft-site-root .tour-card-availability > .icon-calendar {
  flex: 0 0 16px;
  font-size: 16px;
}
.ft-site-root .editorial-tour-teaser__route > .tour-card-availability {
  grid-column: 1/-1;
  grid-row: 2;
  margin: -8px 0 0;
}
.ft-site-root .editorial-tour-teaser__route .tour-card-facts {
  grid-row: 3;
}
.ft-site-root .tour-card-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px 18px;
  padding: 0;
  margin: 20px 0 0;
  list-style: none;
  color: #062f48;
  font-size: 14px;
  line-height: 1.5;
}
.ft-site-root .tour-card-facts li {
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 4px;
  min-width: 0;
}
.ft-site-root .tour-card-facts span {
  color: #526674;
}
.ft-site-root .tour-card-facts strong {
  font-size: 20px;
  line-height: 1.25;
  white-space: nowrap;
}
.ft-site-root .tour-card-facts--icon-list {
  container: tour-facts/inline-size;
  grid-template-columns: 0.85fr 0.85fr 1.2fr;
  gap: 12px 16px;
}
.ft-site-root .tour-card-facts--icon-list li {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  column-gap: 6px;
  row-gap: 0;
  min-width: 0;
}
.ft-site-root .tour-card-facts--icon-list .icon {
  grid-column: 1;
  grid-row: 1/span 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: 42px;
  height: 42px;
  color: #062f48;
  font-size: 40px;
  line-height: 1;
  overflow: visible;
  translate: 0 -1px;
}
.ft-site-root .tour-card-facts--icon-list .tour-card-fact-label {
  grid-column: 2;
  grid-row: 1;
  color: #526674;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 400;
  overflow-wrap: anywhere;
}
.ft-site-root .tour-card-facts--icon-list strong {
  grid-column: 2;
  grid-row: 2;
  color: #062f48;
  font-size: 18px;
  line-height: 1.3;
  font-weight: 700;
  white-space: normal;
  overflow-wrap: anywhere;
}
@container tour-facts (max-width: 410px) {
  .ft-site-root .tour-card-facts--icon-list > li {
    grid-column: auto;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 42px 1fr auto;
    justify-items: center;
    row-gap: 3px;
    text-align: center;
  }
  .ft-site-root .tour-card-facts--icon-list > li .icon {
    grid-column: 1;
    grid-row: 1;
  }
  .ft-site-root .tour-card-facts--icon-list > li .tour-card-fact-label {
    grid-column: 1;
    grid-row: 2;
  }
  .ft-site-root .tour-card-facts--icon-list > li strong {
    grid-column: 1;
    grid-row: 3;
  }
}
.ft-site-root .tour-card-facts--band {
  margin: 0;
  padding: 22px 28px;
  background: #eaf3fa;
}
.ft-site-root .tour-grid--standard .tour-card .tour-card-body {
  display: grid;
  grid-template-rows: auto 1fr auto auto;
  flex: 1;
  min-width: 0;
}
.ft-site-root .tour-grid--standard .tour-card .card-description {
  margin-top: 12px;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.55;
  text-wrap: pretty;
}
.ft-site-root .tour-grid--standard .tour-card .card-bottom {
  margin-top: 0;
  padding-top: 24px;
  align-items: flex-end;
  flex-wrap: wrap;
}
.ft-site-root .tour-grid--standard .tour-card .card-bottom .price {
  margin: 0;
  min-width: 0;
}
.ft-site-root .tour-grid--standard .tour-card .card-bottom .btn {
  max-width: 100%;
  white-space: normal;
}
.ft-site-root .tour-grid--home {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}
.ft-site-root .tour-comparison-actions {
  display: flex;
  justify-content: center;
  margin-top: 28px;
}
.ft-site-root .tour-comparison-actions .btn {
  max-width: 100%;
  white-space: normal;
}
.ft-site-root .tour-card--home {
  border: 1px solid #c7d6e0;
  border-radius: 22px;
  background: #fff;
}
.ft-site-root .tour-card--home .product-card-link {
  display: flex;
  flex-direction: column;
}
.ft-site-root .tour-card--home .tour-card-image {
  position: relative;
  width: 100%;
  aspect-ratio: 1.75;
  overflow: hidden;
}
.ft-site-root .tour-card--home .tour-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ft-site-root .tour-card--home .tour-card-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10, 17, 23, 0) 18%, rgba(10, 17, 23, 0.06) 36%, rgba(10, 17, 23, 0.22) 52%, rgba(10, 17, 23, 0.5) 66%, rgba(10, 17, 23, 0.7) 80%, rgba(10, 17, 23, 0.82) 100%);
}
.ft-site-root .tour-card--home .tour-card-heading {
  position: absolute;
  z-index: 1;
  right: 28px;
  bottom: 25px;
  left: 28px;
  color: #fff;
}
.ft-site-root .tour-card--home .tour-card-heading .card-kicker {
  margin: 0 0 5px;
  color: #fff;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 400;
}
.ft-site-root .tour-card--home .tour-card-heading h3 {
  margin: 0;
  color: #fff;
  font-size: 31px;
  line-height: 1.3;
}
.ft-site-root .tour-card--home .tour-card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  padding: 26px 28px;
  background: #eaf3fa;
}
.ft-site-root .tour-card--home .card-description {
  margin: 0;
  color: #526674;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 400;
  text-wrap: pretty;
}
.ft-site-root .tour-card--home .card-bottom {
  --cta-bg: #062f48;
  --cta-ink: #fff;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 18px;
  margin: 0;
  padding: 23px 28px;
  color: #062f48;
}
.ft-site-root .tour-card--home .card-bottom .price {
  margin: 0;
  color: #062f48;
  font-size: 29px;
  line-height: 1.2;
}
.ft-site-root .tour-card--home .card-bottom .price > span {
  margin-top: 4px;
  color: #526674;
  font-size: 13px;
  font-weight: 400;
}
.ft-site-root .tour-card--home .card-bottom .tour-card-action-block > .btn {
  max-width: 100%;
  white-space: normal;
}
.ft-site-root .tour-card--home .product-card-link:focus-visible .tour-card-image img {
  scale: 1.035;
}
.ft-site-root .btn.tour-card-map {
  position: relative;
  z-index: 2;
  justify-self: start;
  flex-shrink: 0;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.ft-site-root .btn.tour-card-map .tour-card-map-label {
  display: inline-flex;
  align-items: center;
  padding: 6px 8px;
  border: 1px solid #062f48;
  border-radius: 999px;
  transition: border-color 180ms ease-out, background-color 180ms ease-out;
}
.ft-site-root .btn.tour-card-map img {
  display: block;
  width: auto;
  height: 16px;
  max-width: none;
  margin: 0;
  border-radius: 0;
}
.ft-site-root .btn.tour-card-map:hover {
  background: transparent;
}
.ft-site-root .btn.tour-card-map:hover .tour-card-map-label {
  border-color: #0678b4;
  background: #fff;
}
.ft-site-root .tour-grid--detail {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 28px;
  row-gap: 0;
}
.ft-site-root .tour-card--detail {
  position: relative;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #c7d6e0;
  border-radius: 22px;
  background: #fff;
  font-weight: 400;
}
.ft-site-root .tour-card--detail .tour-card-intro {
  min-width: 0;
  padding: 28px 28px 0;
}
.ft-site-root .tour-card--detail .card-kicker {
  margin: 0;
  color: #0678b4;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 700;
}
.ft-site-root .tour-card--detail h3 {
  margin: 6px 0 0;
  font-size: 30px;
  line-height: 1.3;
}
.ft-site-root .tour-card--detail .tour-card-title-link {
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
  text-decoration: none;
}
.ft-site-root .tour-card--detail .tour-card-title-link::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 22px;
}
.ft-site-root .tour-card--detail .tour-card-title-link:focus-visible {
  outline: none;
}
.ft-site-root .tour-card--detail .tour-card-title-link:focus-visible::after {
  outline: 2px solid #0678b4;
  outline-offset: -3px;
}
.ft-site-root .tour-card--detail .card-description {
  margin-top: 15px;
  color: #526674;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 400;
  text-wrap: pretty;
}
.ft-site-root .tour-card--detail .tour-card-meeting {
  --event-accent: #0678b4;
  min-width: 0;
  margin: 20px 0 0;
  padding: 0;
  background: #eaf3fa;
}
.ft-site-root .tour-card--detail .tour-card-meeting .tour-card-meeting-photo {
  position: relative;
  z-index: 2;
  display: block;
  overflow: hidden;
  cursor: zoom-in;
}
.ft-site-root .tour-card--detail .tour-card-meeting .tour-card-meeting-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3000/1181;
  object-fit: contain;
}
.ft-site-root .tour-card--detail .tour-card-meeting .tour-card-meeting-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 16px 28px 0;
}
.ft-site-root .tour-card--detail .tour-card-meeting .tour-card-meeting-description {
  margin: 0;
  color: #062f48;
  font-size: 15px;
  line-height: 1.55;
  font-weight: 400;
}
.ft-site-root .tour-card--detail .card-bottom {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 18px;
  margin: 0;
  padding: 25px 28px;
}
.ft-site-root .tour-card--detail .card-bottom .price {
  margin: 0;
  font-size: 29px;
  line-height: 1.2;
}
.ft-site-root .tour-card--detail .card-bottom .price > span {
  margin-top: 4px;
  font-size: 13px;
  font-weight: 400;
}
.ft-site-root .tour-card--detail .card-bottom .tour-card-action-block > .btn {
  position: relative;
  z-index: 2;
  max-width: 100%;
  white-space: normal;
}
.ft-site-root .tour-card--detail:focus-within {
  --cta-bg: #0678b4;
  --cta-hover: #0678b4;
}
.ft-site-root .preview-home #tours .tour-card--home,
.ft-site-root .tour-grid--detail .tour-card--detail {
  --tour-facts-spacing: 32px;
  --cta-hover: #0678b4;
}
.ft-site-root .preview-home #tours .tour-card--home .tour-card-body,
.ft-site-root .tour-grid--detail .tour-card--detail .tour-card-body {
  padding-bottom: 0;
}
.ft-site-root .preview-home #tours .tour-card--home .tour-card-facts--band,
.ft-site-root .tour-grid--detail .tour-card--detail .tour-card-facts--band {
  padding-block: var(--tour-facts-spacing);
}
.ft-site-root .preview-home #tours .tour-card--home .tour-card-facts--band > li,
.ft-site-root .tour-grid--detail .tour-card--detail .tour-card-facts--band > li {
  margin: 0;
}
@media (max-width: 600px) {
  .ft-site-root .preview-home #tours .tour-card--home,
  .ft-site-root .tour-grid--detail .tour-card--detail {
    --tour-facts-spacing: 30px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .ft-site-root .tour-card--detail:hover {
    --cta-bg: #0678b4;
    --cta-hover: #0678b4;
  }
  .ft-site-root .tour-card--detail:hover .tour-card-action-block > .btn-primary {
    translate: 0 -2px;
  }
}
@supports not (grid-template-rows: subgrid) {
  .ft-site-root .tour-card--detail {
    grid-template-rows: auto auto 1fr auto;
  }
  .ft-site-root .tour-card--detail .tour-card-intro {
    min-height: 220px;
  }
}
@media (max-width: 1100px) {
  .ft-site-root .tour-card--home .tour-card-image::after {
    background: linear-gradient(180deg, rgba(10, 17, 23, 0) 12%, rgba(10, 17, 23, 0.06) 30%, rgba(10, 17, 23, 0.26) 44%, rgba(10, 17, 23, 0.63) 60%, rgba(10, 17, 23, 0.76) 78%, rgba(10, 17, 23, 0.84) 100%);
  }
}
@media (min-width: 801px) and (max-width: 1100px) {
  .ft-site-root .tour-card--detail .meeting-photo__caption {
    padding-block: 2px;
  }
}
@media (max-width: 800px) {
  .ft-site-root .tour-grid--home, .ft-site-root .tour-grid--detail {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  .ft-site-root .tour-card--detail {
    grid-row: auto;
    grid-template-rows: auto auto auto auto;
  }
  .ft-site-root .tour-card--detail .tour-card-intro {
    min-height: 0;
  }
}
@media (max-width: 600px) {
  .ft-site-root .tour-card-facts--icon-list {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr) minmax(0, 1.2fr);
    gap: 8px;
  }
  .ft-site-root .tour-card-facts--band {
    padding: 20px 24px;
  }
  .ft-site-root .tour-card--home .card-bottom, .ft-site-root .tour-card--detail .card-bottom {
    column-gap: 10px;
  }
  .ft-site-root .tour-card--home .card-bottom .tour-card-action-block > .btn, .ft-site-root .tour-card--detail .card-bottom .tour-card-action-block > .btn {
    padding-inline: 10px;
    font-size: 15px;
  }
  .ft-site-root .tour-card--home .tour-card-heading {
    right: 24px;
    bottom: 21px;
    left: 24px;
  }
  .ft-site-root .tour-card--home .tour-card-heading h3 {
    font-size: 28px;
  }
  .ft-site-root .tour-card--home .tour-card-heading .card-kicker {
    font-size: 13px;
  }
  .ft-site-root .tour-card--home .tour-card-body {
    padding: 24px;
  }
  .ft-site-root .tour-card--home .card-description {
    font-size: 15px;
  }
  .ft-site-root .tour-card--home .card-bottom {
    padding: 24px;
  }
  .ft-site-root .tour-card--detail .tour-card-intro {
    padding: 24px 24px 0;
  }
  .ft-site-root .tour-card--detail h3 {
    font-size: 27px;
  }
  .ft-site-root .tour-card--detail .card-description {
    font-size: 15px;
  }
  .ft-site-root .tour-card--detail .tour-card-meeting {
    position: relative;
  }
  .ft-site-root .tour-card--detail .tour-card-meeting .meeting-photo__labels {
    inset: 10px 125px auto 10px;
  }
  .ft-site-root .tour-card--detail .tour-card-meeting .tour-card-meeting-actions {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding-inline: 24px;
  }
  .ft-site-root .tour-card--detail .tour-card-meeting .tour-card-map {
    position: absolute;
    top: 4px;
    right: 10px;
  }
  .ft-site-root .tour-card--detail .tour-card-meeting .tour-card-map .tour-card-map-label {
    background: #fff;
  }
  .ft-site-root .tour-card--detail .card-bottom {
    padding: 24px;
  }
}
@media (max-width: 360px) {
  .ft-site-root .tour-card-facts--icon-list strong {
    font-size: 16px;
  }
  .ft-site-root .tour-card-facts--band {
    padding-inline: 20px;
  }
  .ft-site-root .tour-card--home .tour-card-heading {
    left: 20px;
    right: 20px;
    bottom: 14px;
  }
  .ft-site-root .tour-card--home .tour-card-heading h3 {
    font-size: 24px;
  }
  .ft-site-root .tour-card--home .tour-card-heading .card-kicker {
    font-size: 12px;
    margin-bottom: 4px;
  }
  .ft-site-root .tour-card--home .tour-card-body {
    padding: 20px;
  }
  .ft-site-root .tour-card--home .card-bottom {
    gap: 14px;
    padding: 20px;
  }
  .ft-site-root .tour-card--home .card-bottom .price {
    font-size: 25px;
  }
  .ft-site-root .tour-card--detail .tour-card-intro {
    padding: 20px 20px 0;
  }
  .ft-site-root .tour-card--detail h3 {
    font-size: 24px;
  }
  .ft-site-root .tour-card--detail .tour-card-meeting .tour-card-meeting-actions {
    padding-inline: 20px;
  }
  .ft-site-root .tour-card--detail .card-bottom {
    padding: 20px;
  }
  .ft-site-root .tour-card--detail .tour-card-action-block {
    width: 100%;
  }
  .ft-site-root .tour-card--detail .tour-card-action-block > .btn {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .tour-card--home .product-card-link:focus-visible .tour-card-image img {
    scale: none;
  }
  .ft-site-root .tour-card--detail:hover .tour-card-action-block > .btn-primary {
    translate: none;
  }
}
.ft-site-root .editorial-news-section {
  margin-top: 32px;
  padding: 0;
  scroll-margin-top: 120px;
}
.ft-site-root .editorial-news-section > :is(h2, h3, h4) {
  margin: 0 0 22px;
  font-size: 24px;
  line-height: 1.3;
}
.ft-site-root .news-feed {
  display: grid;
}
.ft-site-root .news-entry {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  align-items: start;
  gap: 22px;
  min-width: 0;
  padding-block: 28px;
  border-bottom: 1px solid #c7d6e0;
  scroll-margin-top: 120px;
}
.ft-site-root .news-entry__photo {
  display: block;
  width: 100%;
  overflow: hidden;
  border-radius: 14px;
  background: #eaf3fa;
}
.ft-site-root .news-entry__photo img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  border-radius: 0;
  object-fit: contain;
  transition: scale 0.75s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.ft-site-root .news-entry__body {
  min-width: 0;
}
.ft-site-root .news-entry__body > .news-entry__date {
  display: inline-block;
  max-width: 100%;
  margin: 0;
  padding: 4px 10px;
  border-radius: 6px;
  color: #526674;
  background: #eaf3fa;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
}
.ft-site-root .news-entry__body > .news-entry__title {
  margin: 12px 0 0;
  color: #062f48;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  text-wrap: pretty;
}
.ft-site-root .news-entry__body > .news-entry__title a {
  color: inherit;
}
@media (max-width: 600px) {
  .ft-site-root .news-entry__body > .news-entry__title {
    text-wrap: balance;
  }
}
.ft-site-root .news-entry__intro {
  margin-top: 13px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.ft-site-root .news-entry__intro > :first-child {
  margin-top: 0;
}
.ft-site-root .news-entry__intro > :last-child {
  margin-bottom: 0;
}
.ft-site-root .news-entry__intro p {
  margin-top: 12px;
}
.ft-site-root .news-entry__body > .news-entry__read {
  margin-top: 18px;
  padding: 10px 17px;
  min-height: 44px;
  max-width: 100%;
  font-size: 14px;
  white-space: normal;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.ft-site-root .news-entry:focus-within .news-entry__photo img {
  scale: 1.035;
}
.ft-site-root .news-entry:focus-within .news-entry__read {
  background: #062f48;
  border-color: #062f48;
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .ft-site-root .news-entry:hover .news-entry__photo img {
    scale: 1.035;
  }
  .ft-site-root .news-entry:hover .news-entry__read, .ft-site-root .preview-page .news-entry .news-entry__read:hover:not(:disabled):not([aria-disabled=true]) {
    background: #062f48;
    border-color: #062f48;
    color: #fff;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .news-entry__photo img, .ft-site-root .news-entry__body > .news-entry__read {
    transition: none;
  }
  .ft-site-root .news-entry:hover .news-entry__photo img, .ft-site-root .news-entry:focus-within .news-entry__photo img {
    scale: none;
  }
}
.ft-site-root .news-feed > .news-entry:first-child,
.ft-site-root .press-list > .press-story:first-child > .news-entry {
  padding-top: 0;
}
.ft-site-root .news-feed .news-entry {
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 32px;
  padding-block: 32px;
}
.ft-site-root .news-feed:not(.news-feed--press) .news-entry__photo {
  aspect-ratio: auto;
}
.ft-site-root .news-feed:not(.news-feed--press) .news-entry__photo img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.ft-site-root .news-feed .news-entry__body > .news-entry__date {
  display: block;
  padding: 0;
  border-radius: 0;
  background: transparent;
}
.ft-site-root .news-feed .news-entry__body > .news-entry__title {
  max-width: 44ch;
  margin: 10px 0 12px;
  font-size: 22px;
  line-height: 1.35;
}
.ft-site-root .news-feed .news-entry__intro {
  max-width: 72ch;
  margin-top: 0;
  font-size: 16px;
  line-height: 1.65;
}
.ft-site-root .news-feed .news-entry__body > .news-entry__read {
  width: max-content;
  margin-top: 20px;
  padding: 10px 18px;
  border-color: #062f48;
  white-space: nowrap;
}
.ft-site-root .news-feed > .news-entry:first-child {
  padding-top: 0;
}
.ft-site-root .news-list-hero {
  background: #eaf3fa;
}
.ft-site-root .news-list-section .section-heading h2 {
  font-size: var(--ft-section-title-size);
  line-height: 1.3;
}
.ft-site-root .news-list-container {
  max-width: 1080px;
}
.ft-site-root .news-list-section {
  scroll-margin-top: 105px;
}
.ft-site-root .news-list-results {
  transition: opacity 0.16s ease;
}
.ft-site-root .news-list-section .news-list-results > [data-news-batch]:last-of-type > .news-entry:last-child,
.ft-site-root .press-page .news-list-results > [data-news-batch]:last-of-type > .press-story:last-child > .news-entry {
  border-bottom: 0;
}
.ft-site-root [data-news-pagination-section].is-loading .news-list-results {
  opacity: 0.55;
}
.ft-site-root .is-infinite .news-pagination {
  display: none;
}
.ft-site-root [data-news-infinite].is-loading .news-list-results {
  opacity: 1;
}
.ft-site-root .news-list-results > [data-news-batch] + [data-news-batch] > .news-entry,
.ft-site-root .news-list-results > [data-news-batch] + [data-news-batch] > .press-story:first-child > .news-entry {
  padding-top: 32px;
}
.ft-site-root .news-infinite-loader {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  width: fit-content;
  max-width: 100%;
  min-height: 60px;
  margin: 24px auto 0;
  padding: 12px 20px;
  border: 1px solid #c7d6e0;
  border-radius: 999px;
  background: #eaf3fa;
  color: #062f48;
  font-size: 14px;
  line-height: 1.5;
  visibility: hidden;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}
.ft-site-root .is-loading .news-infinite-loader {
  visibility: visible;
  opacity: 1;
  transform: none;
}
.ft-site-root .news-infinite-loader .booking-loader-spinner {
  flex-basis: 32px;
  width: 32px;
  height: 32px;
  border-width: 3px;
}
.ft-site-root [data-news-infinite] .is-news-pending {
  opacity: 0;
}
.ft-site-root [data-news-infinite] .is-news-revealing {
  animation: news-entry-reveal 0.5s cubic-bezier(0.2, 0.65, 0.2, 1) both;
  animation-delay: var(--news-reveal-delay, 0ms);
}
.ft-site-root [data-news-infinite] .is-news-pending:focus-within, .ft-site-root [data-news-infinite] .is-news-revealing:focus-within {
  opacity: 1;
  transform: none;
  animation: none;
}
@keyframes news-entry-reveal {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .news-infinite-loader {
    transition: none;
    transform: none;
  }
  .ft-site-root [data-news-infinite] .is-news-pending, .ft-site-root [data-news-infinite] .is-news-revealing {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .news-list-results {
    transition: none;
  }
}
.ft-site-root .news-final-visit {
  display: block;
}
.ft-site-root .news-article-hero--editorial {
  background: #eaf3fa;
}
.ft-site-root .news-article-hero .page-hero-image img,
.ft-site-root .news-article-layout .article-body img {
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
}
.ft-site-root .news-article-layout .news-article-copy > p:first-of-type {
  font-weight: 700;
}
.ft-site-root .news-article-layout .news-article-copy hr {
  display: none;
}
.ft-site-root .editorial-news-aside .editorial-news-section {
  margin-top: 0;
}
.ft-site-root .editorial-news-aside .editorial-news-section > :is(h2, h3, h4) {
  margin-bottom: 24px;
  font-size: 21px;
}
.ft-site-root .editorial-news-aside .news-feed .news-entry {
  display: flow-root;
  padding-block: 24px;
}
.ft-site-root .editorial-news-aside .news-feed .news-entry:first-child {
  padding-top: 0;
}
.ft-site-root .editorial-news-aside .news-feed .news-entry:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.ft-site-root .editorial-news-aside .news-feed .news-entry__body {
  display: contents;
}
.ft-site-root .editorial-news-aside .news-feed .news-entry__photo {
  float: left;
  width: 120px;
  aspect-ratio: 5/4;
  margin: 0 16px 8px 0;
  border-radius: 10px;
}
.ft-site-root .editorial-news-aside .news-feed .news-entry__photo img {
  height: 100%;
  object-fit: cover;
}
.ft-site-root .editorial-news-aside .news-feed .news-entry__body > .news-entry__date {
  justify-self: stretch;
  margin: 0 0 4px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  font-size: 11px;
  line-height: 1.45;
}
.ft-site-root .editorial-news-aside .news-feed .news-entry__body > .news-entry__title {
  max-width: none;
  margin: 0;
  font-size: 17px;
  line-height: 1.35;
  text-wrap: pretty;
}
.ft-site-root .editorial-news-aside .news-feed .news-entry__intro {
  clear: both;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.6;
}
.ft-site-root .editorial-news-aside .news-feed .news-entry__body > .news-entry__read {
  margin-top: 10px;
  font-size: 14px;
}
@media (max-width: 600px) {
  .ft-site-root .news-list-results > [data-news-batch] + [data-news-batch] > .news-entry,
  .ft-site-root .news-list-results > [data-news-batch] + [data-news-batch] > .press-story:first-child > .news-entry {
    padding-top: 28px;
  }
  .ft-site-root .news-entry {
    grid-template-columns: 96px minmax(0, 1fr);
    grid-template-areas: "photo date" "photo title" "intro intro" "read read";
    gap: 10px 16px;
    padding-block: 24px;
  }
  .ft-site-root .news-entry__body {
    display: contents;
  }
  .ft-site-root .news-entry__photo {
    grid-area: photo;
    align-self: start;
    border-radius: 12px;
  }
  .ft-site-root .news-entry__body > .news-entry__date {
    grid-area: date;
    justify-self: start;
    align-self: start;
    padding: 4px 8px;
    font-size: 12px;
  }
  .ft-site-root .news-entry__body > .news-entry__title {
    grid-area: title;
    align-self: start;
    margin: 0;
    font-size: 17px;
    line-height: 1.35;
  }
  .ft-site-root .news-entry__intro {
    grid-area: intro;
    margin-top: 6px;
    font-size: 14px;
  }
  .ft-site-root .news-entry__body > .news-entry__read {
    grid-area: read;
    justify-self: start;
    margin-top: 5px;
  }
  .ft-site-root .news-feed .news-entry {
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 6px 16px;
    padding-block: 28px;
  }
  .ft-site-root .news-feed .news-entry__body > .news-entry__date {
    padding: 0;
    font-size: 12px;
  }
  .ft-site-root .news-feed .news-entry__body > .news-entry__title {
    margin: 0;
    font-size: 18px;
  }
  .ft-site-root .news-feed .news-entry__intro {
    margin-top: 10px;
    font-size: 15px;
  }
  .ft-site-root .news-feed .news-entry__body > .news-entry__read {
    margin-top: 12px;
  }
  .ft-site-root .editorial-news-aside .news-feed .news-entry__photo {
    width: 108px;
    margin-right: 14px;
  }
  .ft-site-root .news-feed--general .news-entry {
    display: flow-root;
  }
  .ft-site-root .news-feed--general .news-entry__photo {
    float: left;
    width: 120px;
    margin: 0 14px 8px 0;
    border-radius: 10px;
  }
  .ft-site-root .news-feed--general .news-entry__body > .news-entry__date {
    justify-self: stretch;
    margin-bottom: 4px;
  }
  .ft-site-root .news-feed--general .news-entry__body > .news-entry__title {
    font-size: 17px;
    text-wrap: pretty;
  }
  .ft-site-root .news-feed--general .news-entry__intro {
    clear: both;
  }
}
@media (min-width: 601px) and (max-width: 1050px) {
  .ft-site-root .news-list-section .news-entry {
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 24px;
  }
}
@media (max-width: 360px) {
  .ft-site-root .news-feed .news-entry {
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 8px 12px;
  }
  .ft-site-root .editorial-news-aside .news-feed .news-entry__photo {
    width: 96px;
  }
  .ft-site-root .news-feed--general .news-entry__photo {
    width: 96px;
  }
}
.ft-site-root .preview-page > main > section.editorial-page-hero {
  --band-surface: #062f48;
}
.ft-site-root .editorial-page-hero {
  --hero-mountain-far-rise: 144px;
  --hero-mountain-near-rise: 170px;
}
@media (max-width: 800px) {
  .ft-site-root .editorial-page-hero {
    --hero-mountain-far-rise: 72px;
    --hero-mountain-near-rise: 72px;
  }
}
.ft-site-root .editorial-page-hero {
  --cta-bg: #fff078;
  --cta-ink: #062f48;
  --cta-hover: #ffeb4c;
  --secondary-ink: #fff078;
  --secondary-hover: rgb(255 240 120 / 10%);
  --link-color: #fff;
  position: relative;
  z-index: 1;
  isolation: isolate;
  overflow-x: clip;
  overflow-y: visible;
}
.ft-site-root .editorial-page-hero::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  width: 100%;
  height: var(--section-edge-height);
  background: var(--band-surface);
  -webkit-mask-image: url("/webimages/habillage/section-edge.svg");
  mask-image: url("/webimages/habillage/section-edge.svg");
  -webkit-mask-size: max(960px, 100%) 100%;
  mask-size: max(960px, 100%) 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center top;
  mask-position: center top;
  mask-mode: alpha;
  pointer-events: none;
  bottom: calc(2px - var(--section-edge-height));
  transform: scaleY(-1);
}
.ft-site-root .editorial-page-hero .editorial-hero-landscape {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  mask-image: linear-gradient(#000 calc(100% - 32px), transparent);
}
.ft-site-root .editorial-page-hero .editorial-hero-ridge {
  position: absolute;
  inset: 0;
}
@media (min-width: 1001px) {
  .ft-site-root .editorial-page-hero .editorial-hero-ridge {
    height: 610px;
  }
}
.ft-site-root .editorial-page-hero .editorial-hero-ridge--far {
  opacity: 0.38;
}
.ft-site-root .editorial-page-hero .editorial-hero-ridge--far > img {
  position: absolute;
  display: block;
  max-width: none;
  height: auto;
  right: -9%;
  bottom: min(var(--hero-mountain-far-rise) - 1vw, 100% - 28.875vw - 24px);
  width: 126%;
}
@media (max-width: 800px) {
  .ft-site-root .editorial-page-hero .editorial-hero-ridge--far > img {
    right: 2%;
    bottom: calc(var(--hero-mountain-far-rise) - 28px);
    width: 205%;
  }
}
@media (max-width: 600px) {
  .ft-site-root .editorial-page-hero .editorial-hero-ridge--far > img {
    width: 245%;
    right: -12%;
    bottom: calc(var(--hero-mountain-far-rise) - 8.932291667vw);
  }
}
.ft-site-root .editorial-page-hero .editorial-hero-ridge--near {
  opacity: 0.85;
}
.ft-site-root .editorial-page-hero .editorial-hero-ridge--near > img {
  position: absolute;
  display: block;
  max-width: none;
  height: auto;
  right: -15%;
  bottom: min(var(--hero-mountain-near-rise) - 4.2vw, 100% - 27.5vw - 112px);
  width: 120%;
}
@media (max-width: 800px) {
  .ft-site-root .editorial-page-hero .editorial-hero-ridge--near > img {
    right: -33%;
    bottom: calc(var(--hero-mountain-near-rise) - 38px);
    width: 185%;
  }
}
@media (max-width: 600px) {
  .ft-site-root .editorial-page-hero .editorial-hero-ridge--near > img {
    width: 225%;
    right: -41%;
    bottom: calc(var(--hero-mountain-near-rise) - 8.203125vw - 12px);
  }
}
@media (max-width: 800px) {
  .ft-site-root .editorial-page-hero .editorial-hero-ridge--far {
    opacity: 0.4;
  }
  .ft-site-root .editorial-page-hero .editorial-hero-ridge--near {
    opacity: 0.9;
  }
}
.ft-site-root .editorial-page-hero .editorial-hero-ridge img {
  transform-origin: 65% 100%;
}
.ft-site-root .editorial-page-hero .editorial-hero-scene {
  position: relative;
  isolation: isolate;
  min-width: 0;
  width: 100%;
  align-self: start;
  padding: 0 0 8px;
  --hero-photo-offset: 0px;
  --hero-wave-offset: 50px;
}
.ft-site-root .editorial-page-hero .editorial-hero-photo {
  position: relative;
  z-index: 1;
  width: calc(100% - 16px);
  margin-inline: 8px;
  --hero-photo-transform: translateX(var(--hero-photo-offset, -50px)) rotate(-4deg);
  transform: var(--hero-photo-transform);
  transform-origin: 50% 65%;
}
@media (max-width: 1000px) {
  .ft-site-root .editorial-page-hero .editorial-hero-photo {
    --hero-photo-transform: translateX(var(--hero-photo-offset, -26px)) rotate(-4deg);
  }
}
@media (max-width: 600px) {
  .ft-site-root .editorial-page-hero .editorial-hero-photo {
    --hero-photo-transform: translateX(var(--hero-photo-offset, -15px)) rotate(-3deg);
  }
}
@media (max-width: 360px) {
  .ft-site-root .editorial-page-hero .editorial-hero-photo {
    --hero-photo-transform: translateX(var(--hero-photo-offset, -11px)) rotate(-3deg);
  }
}
.ft-site-root .editorial-page-hero .editorial-hero-back-card {
  position: absolute;
  inset: 0;
  border: 2px solid #c8ddea;
  border-radius: 22px;
  transform: var(--editorial-card-open);
  pointer-events: none;
}
.ft-site-root .editorial-page-hero .editorial-hero-back-card--far {
  --editorial-card-open: translate(17px, -12px) rotate(6deg);
  --editorial-card-delay: 820ms;
  z-index: 1;
  background: #c7d6e0;
}
.ft-site-root .editorial-page-hero .editorial-hero-back-card--middle {
  --editorial-card-open: translate(-9px, -7px) rotate(-4deg);
  --editorial-card-delay: 940ms;
  z-index: 2;
  background: #c8ddea;
}
.ft-site-root .editorial-page-hero .editorial-hero-back-card--near {
  --editorial-card-open: translate(9px, -3px) rotate(2.5deg);
  --editorial-card-delay: 1060ms;
  z-index: 3;
  background: #eaf3fa;
}
.ft-site-root .editorial-page-hero .editorial-hero-photo .page-hero-image {
  position: relative;
  z-index: 4;
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 3px;
  border: 1px solid #c7d6e0;
  border-radius: 20px;
  background: #eaf3fa;
  box-shadow: 0 14px 32px rgba(0, 18, 31, 0.18);
}
.ft-site-root .editorial-page-hero .editorial-hero-photo .page-hero-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  object-fit: cover;
  border-radius: 16px;
}
.ft-site-root .editorial-page-hero .editorial-hero-photo figcaption {
  margin-top: 10px;
  color: #526674;
  font-size: 12px;
  text-align: right;
}
.ft-site-root .editorial-page-hero .editorial-hero-waves {
  display: block;
  position: absolute;
  z-index: 0;
  width: 144px;
  height: 241.1162790698px;
  max-width: none;
  left: calc(-238px + var(--hero-wave-offset, 0px));
  top: -96px;
  overflow: visible;
  transform: rotate(40deg);
  transform-origin: 100% 100%;
  pointer-events: none;
}
@media (max-width: 1000px) {
  .ft-site-root .editorial-page-hero .editorial-hero-waves {
    left: calc(-178px + var(--hero-wave-offset, 0px));
    top: -52px;
  }
}
@media (max-width: 800px) {
  .ft-site-root .editorial-page-hero .editorial-hero-waves {
    width: 126px;
    height: 210.976744186px;
    left: calc(-134px + var(--hero-wave-offset, 0px));
  }
}
@media (max-width: 600px) {
  .ft-site-root .editorial-page-hero .editorial-hero-waves {
    width: 90px;
    height: 150.6976744186px;
    left: calc(-80px + var(--hero-wave-offset, 0px));
    top: -38px;
  }
}
.ft-site-root .editorial-page-hero .editorial-hero-arc {
  --editorial-arc-delay: 0ms;
  --editorial-arc-length: 671;
  opacity: 0.42;
  stroke-dasharray: var(--editorial-arc-length);
  stroke-dashoffset: 0;
  transform-box: fill-box;
  transform-origin: center;
}
.ft-site-root .editorial-page-hero .editorial-hero-arc--middle {
  --editorial-arc-delay: 160ms;
  --editorial-arc-length: 998;
}
.ft-site-root .editorial-page-hero .editorial-hero-arc--outer {
  --editorial-arc-delay: 320ms;
  --editorial-arc-length: 1014;
}
@media (max-width: 1000px) {
  .ft-site-root .editorial-page-hero .editorial-hero-scene {
    justify-self: end;
    max-width: 620px;
    padding-top: 20px;
    --hero-wave-offset: 26px;
  }
}
@media (max-width: 600px) {
  .ft-site-root .editorial-page-hero .editorial-hero-scene {
    padding: 26px 0 0;
    --hero-wave-offset: 15px;
  }
  .ft-site-root .editorial-page-hero .editorial-hero-photo {
    width: calc(100% - 24px);
    margin-inline: 12px;
  }
  .ft-site-root .editorial-page-hero .editorial-hero-back-card--far {
    --editorial-card-open: translate(11px, -12px) rotate(6deg);
  }
  .ft-site-root .editorial-page-hero .editorial-hero-back-card--middle {
    --editorial-card-open: translate(-3px, -7px) rotate(-4deg);
  }
  .ft-site-root .editorial-page-hero .editorial-hero-photo .page-hero-image {
    padding: 2px;
  }
  .ft-site-root .editorial-page-hero .editorial-hero-photo .page-hero-image, .ft-site-root .editorial-page-hero .editorial-hero-back-card {
    border-radius: 16px;
  }
  .ft-site-root .editorial-page-hero .editorial-hero-photo .page-hero-image img {
    border-radius: 13px;
  }
}
@media (max-width: 360px) {
  .ft-site-root .editorial-page-hero .editorial-hero-scene {
    --hero-wave-offset: 11px;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .ft-site-root .editorial-page-hero.is-scene-ready .editorial-hero-ridge--far img {
    animation: ft-tour-hero-far-entry 1400ms cubic-bezier(0.16, 1, 0.3, 1) both;
  }
  .ft-site-root .editorial-page-hero.is-scene-ready .editorial-hero-ridge--near img {
    animation: ft-tour-hero-near-entry 1300ms 90ms cubic-bezier(0.16, 1, 0.3, 1) both;
  }
  .ft-site-root .editorial-page-hero.is-scene-ready:not(.is-scene-visible) .editorial-hero-ridge img, .ft-site-root .editorial-page-hero.is-scene-ready[data-motion-state=paused] .editorial-hero-ridge img {
    animation-play-state: paused;
  }
  .ft-site-root .editorial-page-hero .is-scene-ready .editorial-hero-photo {
    animation: editorial-hero-photo-arrive 760ms cubic-bezier(0.16, 0.75, 0.25, 1) both;
  }
  .ft-site-root .editorial-page-hero .is-scene-ready .editorial-hero-back-card {
    animation: editorial-hero-card-open 650ms var(--editorial-card-delay) cubic-bezier(0.16, 0.75, 0.25, 1) both;
  }
  .ft-site-root .editorial-page-hero .is-scene-ready .editorial-hero-arc {
    animation: editorial-hero-wave-arrive 1000ms calc(160ms + var(--editorial-arc-delay)) cubic-bezier(0.16, 0.75, 0.25, 1) both, editorial-hero-wave-breathe 4200ms calc(1350ms + var(--editorial-arc-delay)) ease-in-out infinite;
  }
  .ft-site-root .editorial-page-hero .is-scene-ready:not(.is-scene-visible) .editorial-hero-photo, .ft-site-root .editorial-page-hero .is-scene-ready:not(.is-scene-visible) .editorial-hero-back-card, .ft-site-root .editorial-page-hero .is-scene-ready:not(.is-scene-visible) .editorial-hero-arc, .ft-site-root .editorial-page-hero .is-scene-ready[data-motion-state=paused] .editorial-hero-photo, .ft-site-root .editorial-page-hero .is-scene-ready[data-motion-state=paused] .editorial-hero-back-card, .ft-site-root .editorial-page-hero .is-scene-ready[data-motion-state=paused] .editorial-hero-arc {
    animation-play-state: paused;
  }
}
@keyframes editorial-hero-photo-arrive {
  from {
    opacity: 0;
    transform: translateY(20px) var(--hero-photo-transform);
  }
  to {
    opacity: 1;
    transform: var(--hero-photo-transform);
  }
}
@keyframes editorial-hero-card-open {
  from {
    transform: none;
  }
  to {
    transform: var(--editorial-card-open);
  }
}
@keyframes editorial-hero-wave-arrive {
  from {
    opacity: 0;
    stroke-dashoffset: var(--editorial-arc-length);
    transform: translate(-12px, 10px) scale(0.82) rotate(-7deg);
  }
  68% {
    opacity: 0.42;
    stroke-dashoffset: calc(var(--editorial-arc-length) * 0.08);
    transform: translate(1px, -2px) scale(1.035) rotate(1deg);
  }
  to {
    opacity: 0.42;
    stroke-dashoffset: 0;
    transform: none;
  }
}
@keyframes editorial-hero-wave-breathe {
  from, to {
    opacity: 0.42;
    transform: scale(1);
  }
  50% {
    opacity: 0.3;
    transform: scale(1.045);
  }
}
.ft-site-root .site-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 28px;
}
.ft-site-root .site-pagination .site-pagination__label {
  padding-inline: 8px;
  color: #062f48;
  font-size: 14px;
  line-height: 1.5;
  font-variant-numeric: tabular-nums;
}
.ft-site-root .site-pagination .pagination-gap {
  width: 20px;
  color: #526674;
  text-align: center;
}
.ft-site-root .preview-page .site-pagination__button {
  border: 1px solid #062f48;
  color: #062f48;
  background: #d7e8f4;
  background-clip: border-box;
  box-shadow: none;
  cursor: pointer;
  opacity: 1;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}
.ft-site-root .preview-page .site-pagination__button:hover:not(:disabled):not([disabled]):not([aria-disabled=true]), .ft-site-root .preview-page .site-pagination__button[aria-current=page] {
  color: #fff;
  border-color: #062f48;
  background: #062f48;
}
.ft-site-root .preview-page .site-pagination__button:disabled, .ft-site-root .preview-page .site-pagination__button[disabled], .ft-site-root .preview-page .site-pagination__button[aria-disabled=true] {
  color: #526674;
  border-color: #c7d6e0;
  background: #eaf3fa;
  opacity: 0.55;
  cursor: not-allowed;
}
.ft-site-root .preview-page .site-pagination__button:focus-visible:not(:disabled):not([disabled]):not([aria-disabled=true]) {
  outline: none;
  border: 2px solid #0678b4;
  color: #062f48;
  background: #eaf3fa;
  box-shadow: none;
  transition: none;
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .preview-page .site-pagination__button {
    transition: none;
  }
}
.ft-site-root .preview-page .site-pagination__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex: 0 0 44px;
  width: 44px;
  min-width: 44px;
  max-width: 44px;
  height: 44px;
  min-height: 44px;
  max-height: 44px;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  font: 700 14px/1 "Quicksand", Arial, sans-serif;
  text-align: center;
  text-decoration: none;
}
.ft-site-root .preview-page .site-pagination__button .disclosure-icon {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
}
.ft-site-root .preview-page .site-pagination__button .disclosure-icon::before {
  width: 16px;
  height: 16px;
  font-size: 16px;
}
.ft-site-root .preview-page .site-pagination__button svg {
  display: block;
  width: 22px;
  height: 22px;
}
.ft-site-root .preview-page .site-pagination__button {
  transform: none;
  translate: none;
}
.ft-site-root .preview-page .site-pagination__button:hover {
  transform: none;
  translate: none;
}
.ft-site-root .preview-page .news-pagination {
  flex-wrap: nowrap;
  gap: 4px;
}
.ft-site-root .preview-page .news-pagination .site-pagination__label {
  padding-inline: 2px 8px;
  font-size: 13px;
}
.ft-site-root .currency-estimate {
  display: block;
  max-width: 100%;
  margin-top: 4px;
  color: #526674;
  font-family: inherit;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: normal;
  white-space: normal;
  overflow-wrap: anywhere;
}
.ft-site-root .currency-estimate[hidden] {
  display: none;
}
.ft-site-root .currency-notice {
  margin: 12px 0 0;
  color: #526674;
  font-family: inherit;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  white-space: normal;
  overflow-wrap: anywhere;
}
.ft-site-root .currency-notice[hidden] {
  display: none;
}
.ft-site-root .editorial-booking-card__price {
  min-width: 0;
  text-align: right;
}
.ft-site-root .editorial-tour-teaser__price-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  min-width: 0;
  max-width: 100%;
  text-align: right;
}
.ft-site-root .legacy-booking .booking-summary-amount, .ft-site-root .legacy-booking .booking-mobile-amount {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  min-width: 0;
  text-align: right;
}
.ft-site-root .legacy-booking .booking-actions .currency-notice--mobile {
  display: none;
}
@media (max-width: 600px) {
  .ft-site-root .editorial-tour-teaser__price-stack {
    grid-row: 1;
  }
}
@media (max-width: 600px) {
  .ft-site-root .legacy-booking .booking-actions .currency-notice--mobile:not([hidden]) {
    display: block;
    flex-basis: 100%;
    width: 100%;
    margin: 0;
  }
}
.ft-site-root .disclosure-icon {
  display: inline-flex;
  flex: 0 0 12px;
  align-items: center;
  justify-content: center;
  width: 12px;
  height: 12px;
}
.ft-site-root .disclosure-icon::before {
  content: "\e900";
  display: block;
  width: 12px;
  height: 12px;
  font: normal 12px/1 "icomoon";
  text-align: center;
  text-transform: none;
  letter-spacing: 0;
}
.ft-site-root .disclosure-icon.arrow-prev::before {
  rotate: 90deg;
}
.ft-site-root .disclosure-icon.arrow-next::before {
  rotate: -90deg;
}
.ft-site-root .nav-more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.ft-site-root .nav-more[aria-expanded=true] .disclosure-icon,
.ft-site-root .language-toggle[aria-expanded=true] .disclosure-icon {
  rotate: 180deg;
}
.ft-site-root details > summary {
  position: relative;
  padding-inline-end: 42px;
  list-style: none;
}
.ft-site-root details > summary::marker {
  content: "";
}
.ft-site-root details > summary::-webkit-details-marker {
  display: none;
}
.ft-site-root details > summary::after {
  content: "\e900";
  display: block;
  width: 12px;
  height: 12px;
  font: normal 12px/1 "icomoon";
  text-align: center;
  text-transform: none;
  letter-spacing: 0;
  position: absolute;
  inset-inline-end: 14px;
  top: 50%;
  translate: 0 -50%;
  color: currentColor;
  pointer-events: none;
}
.ft-site-root details > summary {
  min-height: 44px;
}
.ft-site-root details[open] > summary::after {
  rotate: 180deg;
}
.ft-site-root .faq .header {
  padding: 16px 14px 16px 20px;
}
.ft-site-root .faq .header .action .icon {
  width: 12px;
  height: 12px;
  padding: 0;
  color: #062f48;
  transform: none;
  transition: none;
}
.ft-site-root .faq .header .action .icon::before {
  content: "\e900";
  display: block;
  width: 12px;
  height: 12px;
  font: normal 12px/1 "icomoon";
  text-align: center;
  text-transform: none;
  letter-spacing: 0;
}
.ft-site-root .faq article.active .header .action .icon {
  rotate: 180deg;
}
@media (min-width: 1001px) {
  .ft-site-root :is(.event-hotel-grid, .montreux-hotels .montreux-cards, .booking-hotels):has(> .partner-hotel-card:nth-child(3):last-child) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.ft-site-root :is(.partner-hotel-card .hotel-card-location, .montreux-card .montreux-card-location) {
  display: inline-flex;
  align-self: flex-start;
  width: fit-content;
  margin: 0 0 12px;
  padding: 4px 8px;
  border: 1px solid #c7d6e0;
  border-radius: 4px;
  background: transparent;
  color: #526674;
  font: 700 12px/1.2 "Quicksand", "FT Text Fallback", Arial, sans-serif;
}
.ft-site-root :is(.partner-hotel-card .hotel-card-location, .montreux-card .montreux-card-location) + h3 {
  margin-top: 0;
}
.ft-site-root .partner-hotel-card {
  position: relative;
  isolation: isolate;
  --hotel-card-radius: 16px;
}
.ft-site-root .partner-hotel-card.montreux-card {
  --hotel-card-radius: 20px;
}
.ft-site-root .partner-hotel-card .hotel-card-photo {
  overflow: hidden;
}
.ft-site-root .partner-hotel-card .hotel-card-photo img {
  transition: scale 0.75s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.ft-site-root .partner-hotel-card .hotel-card-link {
  position: static;
}
.ft-site-root .partner-hotel-card .hotel-card-link, .ft-site-root .partner-hotel-card .hotel-card-link:hover, .ft-site-root .partner-hotel-card .hotel-card-link:focus-visible, .ft-site-root .partner-hotel-card .hotel-card-link:active {
  translate: none;
  transform: none;
}
.ft-site-root .partner-hotel-card .hotel-card-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: var(--hotel-card-radius);
}
.ft-site-root .partner-hotel-card .hotel-card-link:focus-visible {
  outline: none;
  box-shadow: none;
}
.ft-site-root .partner-hotel-card .hotel-card-link:focus-visible::after {
  outline: 2px solid #0678b4;
  outline-offset: -3px;
}
.ft-site-root .partner-hotel-card .hotel-card-description {
  font-size: 13px;
}
.ft-site-root .partner-hotel-card .hotel-card-description a {
  position: relative;
  z-index: 2;
}
.ft-site-root .partner-hotel-card:focus-within .hotel-card-photo img {
  scale: 1.035;
}
@media (hover: hover) and (pointer: fine) {
  .ft-site-root .partner-hotel-card:hover .hotel-card-photo img {
    scale: 1.035;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ft-site-root .partner-hotel-card .hotel-card-photo img, .ft-site-root .partner-hotel-card:hover .hotel-card-photo img, .ft-site-root .partner-hotel-card:focus-within .hotel-card-photo img {
    scale: none;
    transition: none;
  }
}
.ft-site-root .availability-badge {
  --availability-ink: #2a644e;
  --availability-surface: #e2f1e7;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  flex-shrink: 0;
  width: max-content;
  max-width: 100%;
  padding: 6px 11px;
  border-radius: 999px;
  color: var(--availability-ink);
  background: var(--availability-surface);
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: normal;
  text-transform: none;
  white-space: nowrap;
}
.ft-site-root .availability-badge::before {
  content: "";
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 50%;
  background: currentColor;
}
.ft-site-root .availability-badge--filling {
  --availability-ink: #8a4b0f;
  --availability-surface: #fff1d9;
}
.ft-site-root .availability-badge--limited {
  --availability-ink: #953b0d;
  --availability-surface: #ffdfbf;
}
.ft-site-root .availability-badge--full {
  --availability-ink: #a02b37;
  --availability-surface: #fae8eb;
}
.ft-site-root .availability-badge--private, .ft-site-root .availability-badge--closed {
  --availability-ink: #526878;
  --availability-surface: #eaf3fa;
}
