/* Global Meridian Yacht — Global Meridian Yacht — Le parcours : 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; }
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { font-family: var(--heading-font); font-weight: 400; margin: 0px; text-wrap: balance; }
.h2, h2 { font-size: 3.6rem; line-height: 1.1; }
.h2, h2 { font-size: 3.95rem; }
.h2, h2 { font-size: 4.3rem; }
.h2, h2 { font-size: 4.65rem; }
p { margin: 0px; }
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.--underline .button__content { background-image: linear-gradient(90deg, currentcolor, currentcolor); background-position: 100% 100%; background-repeat: no-repeat; background-size: 100% 0.1rem; padding: 1rem 0px; transition: 0.4s; }
.button.--underline .button__content::before { background-color: currentcolor; bottom: 0px; content: ""; display: block; height: 0.1rem; left: 0px; position: absolute; transform: scaleX(0); transform-origin: left center; transition: transform 0.8s; width: 100%; }
.button.--underline.--chevron .button__content { padding-right: 1.5rem; }
.button.--underline:hover .button__content { background-size: 0px 0.1rem; }
.button.--underline:hover .button__content::before { transform: scaleX(1); }
.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%; }
.rich-text-render { white-space: pre-line; }
.section { --spacing-top: 5.5rem; }
.section { --spacing-top: 6.5rem; }
.section { --spacing-top: 7.7rem; }
.section:first-child { padding-top: var(--spacing-top); }
.section:not(:first-child) { margin-top: var(--spacing-top); }
.section:empty { display: none; }
:root { --swiper-theme-color: #007aff; }
: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__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; }
.section-picture-text__container { align-items: center; display: grid; gap: 5rem; }
.section-picture-text__container { grid-template-columns: repeat(12, 1fr); }
.section-picture-text__container { gap: 10rem; }
.section-picture-text__big-media { grid-column: span 7; position: sticky; top: 0px; }
.section-picture-text__content { align-items: center; display: flex; justify-content: center; }
.section-picture-text__content { grid-column: span 5; }
.section-picture-text__rte > :not(:first-child) { margin-top: 2rem; }
.section-picture-text__elements { display: grid; gap: 5rem; }
.section-picture-text__text { display: grid; gap: 4rem; }
.section-picture-text__cta { display: flex; flex-wrap: wrap; gap: 2.4rem; }
.section-banner__container { display: grid; padding: clamp(3rem, 3.5vw, 7rem); position: relative; }
.section-banner__container { padding: 0px; }
.section-banner__background-media, .section-banner__content { grid-area: 1 / 1 / 2 / 2; }
.section-banner__background-media { place-self: center; height: 100%; object-fit: cover; width: 100%; }
.section-banner__content { place-self: flex-start center; background-color: rgb(255, 255, 255); max-width: 45rem; padding: clamp(3rem, 3.2vw, 5rem); text-align: left; z-index: 1; }
.section-banner__content { place-self: center flex-start; margin: clamp(3rem, 3.5vw, 7rem); }
.section-banner__title { margin-bottom: 1.5rem; }
.section-banner__title { margin-bottom: 3rem; }
.section-banner__cta, .section-banner__popin__link { margin-top: 1rem; }
.section-banner__cta, .section-banner__popin__link { margin-top: 2rem; }
.section-banner.--right .section-banner__content { justify-self: flex-end; }
.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__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; }
.section-picture-text__container { align-items: center; display: grid; gap: 5rem; }
.section-picture-text__container { grid-template-columns: repeat(12, 1fr); }
.section-picture-text__container { gap: 10rem; }
.section-picture-text__big-media { grid-column: span 7; position: sticky; top: 0px; }
.section-picture-text__content { align-items: center; display: flex; justify-content: center; }
.section-picture-text__content { grid-column: span 5; }
.section-picture-text__rte > :not(:first-child) { margin-top: 2rem; }
.section-picture-text__elements { display: grid; gap: 5rem; }
.section-picture-text__text { display: grid; gap: 4rem; }
.section-picture-text__cta { display: flex; flex-wrap: wrap; gap: 2.4rem; }
.section-banner__container { display: grid; padding: clamp(3rem, 3.5vw, 7rem); position: relative; }
.section-banner__container { padding: 0px; }
.section-banner__background-media, .section-banner__content { grid-area: 1 / 1 / 2 / 2; }
.section-banner__background-media { place-self: center; height: 100%; object-fit: cover; width: 100%; }
.section-banner__content { place-self: flex-start center; background-color: rgb(255, 255, 255); max-width: 45rem; padding: clamp(3rem, 3.2vw, 5rem); text-align: left; z-index: 1; }
.section-banner__content { place-self: center flex-start; margin: clamp(3rem, 3.5vw, 7rem); }
.section-banner__title { margin-bottom: 1.5rem; }
.section-banner__title { margin-bottom: 3rem; }
.section-banner__cta, .section-banner__popin__link { margin-top: 1rem; }
.section-banner__cta, .section-banner__popin__link { margin-top: 2rem; }
.section-banner.--right .section-banner__content { justify-self: flex-end; }
