/* Global Meridian Yacht — Global Meridian Yacht — Régate des Caraïbes : structure du cadre, réduite aux règles
   utiles à 1440 x 900 (figer.py). Habillage : global-meridian-mockup.css. */
:root { --accent-color: #adbdb2; }
.button { appearance: none; background-color: transparent; border: 0px; border-radius: 0px; box-shadow: none; color: inherit; cursor: pointer; padding: 0px; transition: 0.3s; user-select: none; }
.button:disabled { cursor: not-allowed; opacity: 0.75; }
.text-body-large, body { font-size: 1.4rem; line-height: 1.43; }
.text-body-large, body { font-size: 1.5rem; line-height: 1.5; }
.text-body-large, body { font-size: 1.6rem; }
*, ::after, ::before { box-sizing: border-box; }
html { font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; line-height: 1.15; text-size-adjust: 100%; tab-size: 4; }
body { margin: 0px; }
::-webkit-inner-spin-button, ::-webkit-outer-spin-button { height: auto; }
::-webkit-search-decoration { appearance: none; }
::-webkit-file-upload-button { appearance: button; font: inherit; }
summary { display: list-item; }
html { --beige-color: #fbf6f1; font-size: 62.5%; }
body { color: rgb(var(--primary-color)); font-family: var(--default-font); font-weight: 400; -webkit-font-smoothing: antialiased; }
a { color: inherit; }
a:has(> :is(div, p, section, article, aside, nav, header, footer)) { text-decoration: none; }
.text-uppercase { letter-spacing: 0.07em; text-transform: uppercase; }
.text-body-medium { font-size: 1.4rem; line-height: 1.1428; }
.button { display: inline-block; }
.button__content { align-items: center; color: inherit; cursor: pointer; display: inline-flex; font-weight: 500; gap: 1rem; justify-content: center; line-height: 1; position: relative; text-decoration: none; transition: 0.3s; width: 100%; }
.button.--chevron .icon-chevron { background-color: currentcolor; content: ""; display: block; height: 100%; left: auto; mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='8' fill='none' viewBox='0 0 4 8'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M3.215 4 1.03.358 0 .975 1.816 4 .001 7.025l1.029.617z' clip-rule='evenodd'/%3E%3C/svg%3E"); mask-position: center center; mask-repeat: no-repeat; mask-size: contain; position: absolute; right: 0px; width: 0.5rem; }
.button.--primary .button__content { background-color: rgb(var(--primary-color)); border: .1rem solid rgb(var(--primary-color)); color: rgb(255, 255, 255); padding-block: 1.1rem; padding-inline: 2.5rem 4rem; }
.button.--primary:hover .button__content { background-color: rgb(255, 255, 255); color: rgb(var(--primary-color)); }
.button.--primary.--chevron .icon-chevron { right: 2rem; }
:root { --default-font: Cabin,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",Helvetica,Arial,sans-serif; --heading-font: "Titre",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",Helvetica,Arial,sans-serif; --primary-color: 55,55,55; --secondary-color: 251,246,241; --container-width: 135rem; --container-padding: 1.5rem; --header-height: 6.5rem; }
:focus { box-shadow: none; outline: 0px; }
:focus-visible { box-shadow: 0 0 0 .3rem #fff,0 0 .5rem .4rem rgba(var(--primary-color),.3); outline: .2rem solid rgba(var(--primary-color),.5); outline-offset: 0.3rem; }
html { scroll-behavior: smooth; }
img { height: auto; max-width: 100%; }
figure { margin: 0px; }
details > summary { cursor: pointer; list-style: none; user-select: none; }
details > summary::-webkit-details-marker { display: none; }
.container { margin-inline: auto; max-width: var(--container-width); padding-inline: var(--container-padding); }
:where(.media) { overflow: hidden; position: relative; }
:where(.media)::before { content: ""; display: block; padding-top: calc(var(--media-ratio)*1%); }
:where(.media) img, :where(.media) svg, :where(.media) video { height: 100%; left: 0px; object-fit: cover; position: absolute; top: 0px; width: 100%; }
.section { --spacing-top: 5.5rem; }
.section { --spacing-top: 6.5rem; }
.section { --spacing-top: 7.7rem; }
.section:not(:first-child) { margin-top: var(--spacing-top); }
:root { --swiper-theme-color: #007aff; }
.swiper { display: block; list-style: none; margin-left: auto; margin-right: auto; overflow: hidden; padding: 0px; position: relative; z-index: 1; }
.swiper-wrapper { box-sizing: content-box; display: flex; height: 100%; position: relative; transition-property: transform; transition-timing-function: var(--swiper-wrapper-transition-timing-function,initial); width: 100%; z-index: 1; }
.swiper-android .swiper-slide, .swiper-ios .swiper-slide, .swiper-wrapper { transform: translateZ(0px); }
.swiper-horizontal { touch-action: pan-y; }
.swiper-slide { display: block; flex-shrink: 0; height: 100%; position: relative; transition-property: transform; width: 100%; }
:root { --swiper-navigation-size: 44px; }
.site-header { background-color: rgb(255, 255, 255); border-bottom: 0.1rem solid rgb(215, 215, 215); position: sticky; top: 0px; transition: transform 0.3s; z-index: 5; }
.site-header:has(~ main > .hotel-hero:first-child) { left: 0px; position: fixed; transition: 0.3s; width: 100%; }
.site-header:has(~ main > .hotel-hero:first-child):not(.scrolled) { background-color: transparent; border-color: transparent; }
.site-header:has(~ main > .hotel-hero:first-child):not(.scrolled) .hotel-menu__burger, .site-header:has(~ main > .hotel-hero:first-child):not(.scrolled) .site-header__homepage { color: rgb(255, 255, 255); }
.site-header:has(~ main > .hotel-hero:first-child):not(.scrolled) .site-booking .button { background-color: transparent; border-color: rgb(255, 255, 255); }
.site-header:has(~ main > .hotel-hero:first-child):not(.scrolled) .site-booking .button:hover { background-color: rgb(255, 255, 255); color: rgb(var(--primary-color)); }
.site-header__container { align-items: center; display: flex; gap: 1rem; justify-content: space-between; min-height: 6.2rem; padding-block: 0.5rem; transition: 0.3s; }
.site-header__homepage { display: block; line-height: 0; transition: 0.3s; }
.hotel-menu, .site-booking { flex: 1 1 0%; }
.site-booking { text-align: right; }
.hotel-menu { --menu-max-width: 43rem; --menu-bg: #fff; --menu-inline-padding: 3.5rem; --submenu-bg: #fbf6f1; }
.hotel-menu { --menu-inline-padding: 3.5rem; }
.hotel-menu__summary { line-height: 0; }
.hotel-menu__summary::after { background-color: rgba(55, 55, 55, 0.45); content: ""; height: 100%; left: 0px; opacity: 0; pointer-events: none; position: fixed; top: 0px; transition: opacity 0.3s; width: 100%; }
.hotel-menu__burger { --burger-padding: 1.25rem; padding: var(--burger-padding); transform: translate(calc(var(--burger-padding)*-1)); transition: 0.3s; width: 5rem; }
.hotel-menu__burger { --burger-padding: 1rem; }
.hotel-hero { align-items: center; display: flex; justify-content: center; min-height: 90vh; position: relative; }
.hotel-hero::after { content: " "; inset: 0px; position: absolute; transition: 0.5s; z-index: 1; }
.hotel-hero:first-child::before { background: linear-gradient(rgba(23, 23, 23, 0.7), transparent); content: ""; height: 15rem; left: 0px; position: absolute; top: 0px; width: 100%; z-index: 2; }
.hotel-hero__image { height: 100%; left: 0px; position: absolute; top: 0px; width: 100%; z-index: 0; }
.section-sliderlogo__list .swiper-slide { margin-right: 15px; width: auto !important; }
.section-sliderlogo__list .swiper-slide { margin-right: 50px; }
.section-sliderlogo__list .swiper-slide { margin-right: 100px; }
.section-sliderlogo__list .swiper-wrapper { transition-timing-function: linear; }
.section-sliderlogo__item { display: grid; grid-template-areas: "logo"; height: 14.5rem; padding: 2rem 0px; place-items: center; }
.hotel-menu { --menu-max-width: 43rem; --menu-bg: #fff; --menu-inline-padding: 3.5rem; --submenu-bg: #fbf6f1; }
.hotel-menu { --menu-inline-padding: 3.5rem; }
.hotel-menu__summary { line-height: 0; }
.hotel-menu__summary::after { background-color: rgba(55, 55, 55, 0.45); content: ""; height: 100%; left: 0px; opacity: 0; pointer-events: none; position: fixed; top: 0px; transition: opacity 0.3s; width: 100%; }
.hotel-menu__burger { --burger-padding: 1.25rem; padding: var(--burger-padding); transform: translate(calc(var(--burger-padding)*-1)); transition: 0.3s; width: 5rem; }
.hotel-menu__burger { --burger-padding: 1rem; }
.site-header { background-color: rgb(255, 255, 255); border-bottom: 0.1rem solid rgb(215, 215, 215); position: sticky; top: 0px; transition: transform 0.3s; z-index: 5; }
.site-header:has(~ main > .hotel-hero:first-child) { left: 0px; position: fixed; transition: 0.3s; width: 100%; }
.site-header:has(~ main > .hotel-hero:first-child):not(.scrolled) { background-color: transparent; border-color: transparent; }
.site-header:has(~ main > .hotel-hero:first-child):not(.scrolled) .hotel-menu__burger, .site-header:has(~ main > .hotel-hero:first-child):not(.scrolled) .site-header__homepage { color: rgb(255, 255, 255); }
.site-header:has(~ main > .hotel-hero:first-child):not(.scrolled) .site-booking .button { background-color: transparent; border-color: rgb(255, 255, 255); }
.site-header:has(~ main > .hotel-hero:first-child):not(.scrolled) .site-booking .button:hover { background-color: rgb(255, 255, 255); color: rgb(var(--primary-color)); }
.site-header__container { align-items: center; display: flex; gap: 1rem; justify-content: space-between; min-height: 6.2rem; padding-block: 0.5rem; transition: 0.3s; }
.site-header__homepage { display: block; line-height: 0; transition: 0.3s; }
.hotel-menu, .site-booking { flex: 1 1 0%; }
.site-booking { text-align: right; }
.hotel-hero { align-items: center; display: flex; justify-content: center; min-height: 90vh; position: relative; }
.hotel-hero::after { content: " "; inset: 0px; position: absolute; transition: 0.5s; z-index: 1; }
.hotel-hero:first-child::before { background: linear-gradient(rgba(23, 23, 23, 0.7), transparent); content: ""; height: 15rem; left: 0px; position: absolute; top: 0px; width: 100%; z-index: 2; }
.hotel-hero__image { height: 100%; left: 0px; position: absolute; top: 0px; width: 100%; z-index: 0; }
.section-sliderlogo__list .swiper-slide { margin-right: 15px; width: auto !important; }
.section-sliderlogo__list .swiper-slide { margin-right: 50px; }
.section-sliderlogo__list .swiper-slide { margin-right: 100px; }
.section-sliderlogo__list .swiper-wrapper { transition-timing-function: linear; }
.section-sliderlogo__item { display: grid; grid-template-areas: "logo"; height: 14.5rem; padding: 2rem 0px; place-items: center; }
