/* ====== ACCEUIL ====== */
.hero {--hero-parallax: 0px;position: relative;overflow: hidden;min-height: clamp(520px, 70vh, 760px);display: flex;align-items: center;margin: calc(100px + var(--starter-topbar-height)) auto 0 auto;padding: 2rem 0;}
.hero__backdrop, .hero__shade {position: absolute;inset: 0}
.hero__poster {position: absolute;inset: -7% 0;width: 100%;overflow: hidden;transform: translate3d(0, var(--hero-parallax), 0);will-change: transform}
.hero__poster-img {position: absolute;inset: 0;width: 100%;height: 100%;display: block;object-fit: cover;opacity: 0;filter: saturate(1.02) contrast(1.05) brightness(1.05);animation: heroPosterFade 24s cubic-bezier(.45, 0, .2, 1) infinite;will-change: opacity}
.hero__poster picture {position: absolute;inset: 0;display: block;width: 100%;height: 100%}
.hero__poster picture:nth-child(1) .hero__poster-img {animation-delay: 0s;object-position: center center}
.hero__poster picture:nth-child(2) .hero__poster-img {animation-delay: 6s;object-position: center center}
.hero__poster picture:nth-child(3) .hero__poster-img {animation-delay: 12s;object-position: center center}
.hero__poster picture:nth-child(4) .hero__poster-img {animation-delay: 18s;object-position: center center}
.hero__shade {background:linear-gradient(90deg, rgba(10, 12, 13, 0.74) 0%, rgba(10, 12, 13, 0.55) 42%, rgba(10, 12, 13, 0.34) 100%),radial-gradient(circle at top right, rgba(255, 255, 255, 0.11), transparent 36%);animation: heroGlow 8s ease-in-out infinite alternate}
.hero__slide-timer {position: absolute;left: 0;right: 0;bottom: 0;z-index: 2;width: 100%;height: 5px;overflow: hidden;background: rgba(255,255,255,.18);box-shadow: inset 0 1px 0 rgba(255,255,255,.12)}
.hero__slide-timer::before {content: "";position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: linear-gradient(90deg, var(--main-color), var(--second-color));box-shadow: 0 0 18px rgba(118,173,161,.55);transform-origin: left center;animation: heroSlideChaser 6s linear infinite}
.hero__slide-timer::after {content: "";position: absolute;inset: 0;background: linear-gradient(90deg, rgba(255,255,255,.2), transparent 18%, rgba(255,255,255,.26) 50%, transparent 82%);opacity: .5;mix-blend-mode: screen}
.hero .container {position: relative;z-index: 1;display: grid;place-items: center}
.hero__content {display: grid;gap: 18px;color: #fff;text-align: center;justify-items: center}
.hero__eyebrow {display: inline-flex;width: fit-content;color:#d8e7ad;font-size: 0.78rem;letter-spacing: 0.18em;text-transform: uppercase;font-weight: 700}
.hero h1 {margin: 0;color: #fff;font-size: clamp(2.4rem, 5.7vw, 4.5rem);line-height: 1.2;text-wrap: balance;text-shadow: 0 10px 24px rgba(0, 0, 0, 0.25);letter-spacing: -.1rem;}
.hero p:not(.hero__eyebrow) {max-width: 90%;margin: 15px 0 20px;line-height: 1.75;text-shadow: 0 10px 30px rgba(0, 0, 0, .36)}
.hero__actions {display: flex;flex-wrap: wrap;gap: 12px;justify-content: center;margin-bottom: 10px;}
.hero__actions .btn-main:hover,.hero__actions a.btn-main:hover,.hero__actions button.btn-main:hover {border-color: #fff}
.hero__content > * {animation: heroFadeUp 1s ease both}
.hero__content > *:nth-child(2) {animation-delay: .12s}
.hero__content > *:nth-child(3) {animation-delay: .22s}
.hero__content > *:nth-child(4) {animation-delay: .32s}
@keyframes heroFadeUp {from {opacity: 0;transform: translateY(14px)} to {opacity: 1;transform: translateY(0)}}
@keyframes heroGlow {from {filter: brightness(1)} to {filter: brightness(1.08)}}
@keyframes heroPosterFade {0%, 100% {opacity: 0} 3%, 25% {opacity: 1} 32% {opacity: 0}}
@keyframes heroSlideChaser {from {transform: scaleX(0)} to {transform: scaleX(1)}}
@media (prefers-reduced-motion: reduce) {
  .hero__poster-img {animation: none;opacity: 0;transform: none}
  .hero__poster-img:first-child {opacity: 1}
  .hero__slide-timer::before {animation: none;transform: scaleX(1)}
}
@media (max-width: 1279px) {
  .hero {width: 100%;margin-top: 50px;border-radius: 0;min-height: 480px}
  .hero h1 {line-height: 1.08}
  .hero p:not(.hero__eyebrow) {max-width: 100%;}
  /* Parallax desactive sur mobile/tablette : perf + lisibilite */
  .hero__poster {inset: 0;transform: none !important;will-change: auto}
  .hero__content {max-width: min(760px, 100%)}
}
@media (max-width: 768px) {
  .hero {min-height: auto;padding-block: 2rem}
  .hero .container {padding-inline: 1rem}
  .hero__eyebrow {font-size: .6rem;letter-spacing: .08em;padding: 0px}
  .hero__content {gap: 14px}
  .hero p:not(.hero__eyebrow) {margin: 10px 0 0;font-size: 1rem}
  .hero__actions {flex-direction: column;align-items: stretch;width: 100%}
  .hero__actions .btn {width: 100%;text-align: center}
  .hero__poster picture:nth-child(1) .hero__poster-img {object-position: center center}
  .hero__poster picture:nth-child(2) .hero__poster-img {object-position: center center}
  .hero__poster picture:nth-child(3) .hero__poster-img {object-position: center center}
  .hero__poster picture:nth-child(4) .hero__poster-img {object-position: center center}
}
/*------*/
.home-proof .grid-4 {}
.home-proof__icon {display: grid;place-items: center;justify-self: start;width: 38px;height: 38px;border-radius: 50%;background: linear-gradient(135deg, var(--main-color), var(--second-color));margin: 0 0 10px 0;line-height: 0}
.home-proof__icon svg {display: block;width: 20px;height: 20px;color: #fff}
.home-proof p.sub {font-size: 0.78rem;letter-spacing: 0.18em;text-transform: uppercase;font-weight: 700;color: var(--second-color);}
.home-proof strong {font-size: 1.5rem;font-weight: 700;margin-bottom: 10px;display: block;letter-spacing: -.05rem}
.home-proof p {color: var(--grey-color)}
.home-proof a {margin-top: 20px}
@media (max-width: 1279px) {
  .home-proof .grid-4 {grid-template-columns: repeat(2, minmax(0, 1fr))}
  .home-proof .card {height: 100%}
}
@media (max-width: 768px) {
  .home-proof {padding-top: 2rem}
  .home-proof .grid-4 {grid-template-columns: 1fr;gap:1rem}
  .home-proof .card {padding: 22px 18px}
}
/*------*/
.home-video {background: linear-gradient(135deg, #f7f4ed 0%, #fff 48%, #eef2df 100%);border-bottom: 1px solid rgba(33,33,33,.08);border-top: 1px solid rgba(33,33,33,.08)}
.home-video .grid-2 {align-items: center;gap:4rem}
.home-video .video {position: relative;margin: 0;padding: 12px 12px 24px 12px;border-radius: var(--border-radius-xl);overflow: hidden;background: rgba(255,255,255,.86);box-shadow: 0 28px 70px rgba(31,41,30,.15)}
.home-video__media {position: relative;z-index: 1;display: block;width: 100%;aspect-ratio: 16 / 9;height: auto;border-radius: var(--border-radius-xl);object-fit: cover}
.home-video__lazy {position: relative;z-index: 1}
.home-video__poster {position: relative;display: block;width: 100%;padding: 0;border: 0;border-radius: var(--border-radius-xl);background: #132d28;cursor: pointer;overflow: hidden}
.home-video__poster::after {content: "";position: absolute;inset: 0;z-index: 2;border-radius: inherit;background: linear-gradient(135deg, rgba(18,45,40,.34), rgba(18,45,40,.08));transition: background .25s ease}
.home-video__poster:hover::after,.home-video__poster:focus-visible::after {background: linear-gradient(135deg, rgba(18,45,40,.18), rgba(18,45,40,.02))}
.home-video__poster:focus-visible {outline: 3px solid rgba(150,153,22,.55);outline-offset: 4px}
.home-video__play {position: absolute;left: 50%;top: 50%;z-index: 3;width: clamp(58px, 7vw, 82px);height: clamp(58px, 7vw, 82px);border-radius: 50%;transform: translate(-50%, -50%);background: rgba(255,255,255,.94);box-shadow: 0 16px 42px rgba(0,0,0,.22)}
.home-video__play::before {content: "";position: absolute;left: 52%;top: 50%;transform: translate(-42%, -50%);border-top: 13px solid transparent;border-bottom: 13px solid transparent;border-left: 20px solid var(--main-color)}
.home-video figcaption {position: relative;z-index: 1;margin:20px 0 20px;padding: 0 15px;color: var(--grey-color);font-size: .9rem;line-height: 1.8;letter-spacing: 0.01rem;}
.home-video__meta {position: relative;z-index: 1;display: flex;flex-wrap: wrap;gap: 8px;margin: 14px 10px 4px;padding: 0;list-style: none}
.home-video__meta li {padding: 7px 10px;border-radius: var(--border-radius-xl);background: rgba(157,174,70,.1);border: 1px solid rgba(157,174,70,.22);color: #62742a;font-size: .78rem;font-weight: 700}
@media (max-width: 1024px) {
  .home-video .grid-2 {grid-template-columns: 1fr}
  .home-video .title {max-width: none}
}
/*------*/
.home-stays {background: #fff;border-bottom: 1px solid rgba(33,33,33,.08)}
.home-stays__intro {margin: 0 auto 46px;text-align: center}
.home-stays__intro .before {margin-inline: auto}
.home-stays__intro hr {margin-inline: auto}
.home-stays__grid {display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap: 18px}
.home-stay-card {position: relative;min-height: 550px;border-radius: var(--border-radius-xl);overflow: hidden;background: #172018;box-shadow: 0 22px 60px rgba(31,41,30,.14)}
.home-stay-card a {position: relative;display: grid;align-items: end;width: 100%;height: 100%;min-height: inherit;color: #fff}
.home-stay-card img {position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;transition: transform .7s ease, filter .7s ease;filter: saturate(1.03) contrast(1.02) brightness(1)}
.home-stay-card__overlay {position: absolute;inset: 0;background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(13,17,13,.35) 65%, rgba(13,17,13,.88) 100%)}
.home-stay-card__content {position: relative;z-index: 1;display: grid;gap: 10px;padding: 26px}
.home-stay-card__content span {width: fit-content;color: #dcebb3;font-size: .72rem;font-weight: 700;line-height: 1;letter-spacing: .12em;text-transform: uppercase;transition: color .25s ease}
.home-stay-card__content h3,
.home-stay-card__content h4 {margin: 0;color: #fff;font-size: clamp(1.35rem, 1.8vw, 1.8rem);line-height: 1.1}
.home-stay-card__content p {color: rgba(255,255,255,.86);font-size: .94rem;line-height: 1.65}
.home-stay-card__content strong {display: inline-flex;align-items: center;gap: 8px;margin-top: 8px;color: #fff;font-size: .9rem;transition: color .25s ease}
.home-stay-card__content strong::after {content: "";width: 22px;height: 1px;background: currentColor;transition: width .25s ease}
.home-stay-card:hover img {transform: scale(1.05);filter: saturate(1.08) contrast(1.05) brightness(.78)}
.home-stay-card:hover .home-stay-card__content span {color: rgba(255,255,255,.86)}
.home-stay-card:hover .home-stay-card__content strong {color: #dcebb3}
.home-stay-card:hover .home-stay-card__content strong::after {width: 36px;background: #dcebb3}
@media (max-width: 1279px) {
  .home-stays__grid {grid-template-columns: repeat(2, minmax(0, 1fr))}
}
@media (max-width: 768px) {
  .home-stays__grid {grid-template-columns: 1fr}
  .home-stay-card {min-height: 380px}
  .home-stay-card__content {padding: 22px}
}
/*------*/
.home-onsite {background: linear-gradient(135deg, #f7f4ed 0%, #fff 55%, #eef2df 100%);border-bottom: 1px solid rgba(33,33,33,.08);text-align: center}
.home-onsite__intro {max-width: 820px;margin: 0 auto 46px;text-align: center}
.home-onsite__intro .before {margin-inline: auto}
.home-onsite__grid {display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap: 18px;text-align: left}
.home-onsite-card {position: relative;min-height: 250px;padding: 28px;border-radius: var(--border-radius-xl);background: rgba(255,255,255,.86);border: 1px solid rgba(157,174,70,.16);box-shadow: 0 18px 50px rgba(31,41,30,.08);overflow: hidden}
.home-onsite-card::after {content: "";position: absolute;right: -28px;top: -28px;width: 96px;height: 96px;border-radius: 50%;background: linear-gradient(135deg, rgba(150,153,22,.14), rgba(118,173,161,.18))}
.home-onsite-card span {display: inline-grid;place-items: center;width: 42px;height: 42px;margin-bottom: 24px;border-radius: 50%;background: linear-gradient(135deg, var(--main-color), var(--second-color));color: #fff;font-weight: 700}
.home-onsite-card h3 {margin-bottom: 10px;color: #172018;font-size: 1.35rem}
.home-onsite-card p {color: var(--grey-color)}
.home-onsite a.btn {margin-top: 40px}
@media (max-width: 1024px) {
  .home-onsite__grid {grid-template-columns: 1fr 1fr}
}
@media (max-width: 768px) {
  .home-onsite__grid {grid-template-columns: 1fr}
}
/*------*/
.home-labels {background: #fff;border-bottom: 1px solid rgba(33,33,33,.08)}
.home-labels__intro {max-width: 860px;margin: 0 auto 42px}
.home-labels__intro .before {margin-inline: auto}
.home-labels__featured {display: grid;grid-template-columns: repeat(1, minmax(0, 1fr));gap: 18px}
.home-labels__certification {display: flex;justify-content: center;margin: clamp(2rem, 4vw, 3.5rem) auto 0;}
.home-labels__certification picture {width: min(100%, 562px);height: auto}
.home-labels__certification img {width: min(100%, 562px);height: auto;object-fit: contain}
.home-label-card {position: relative;display: flex;flex-direction: column;min-height: 300px;padding: 30px;border-radius: var(--border-radius-xl);background: linear-gradient(145deg, #f8f7f1, #fff);border: 1px solid rgba(157,174,70,.18);box-shadow: 0 18px 52px rgba(31,41,30,.07);overflow: hidden}
.home-label-card::after {content: "";position: absolute;right: -36px;top: -36px;width: 120px;height: 120px;border-radius: 50%;background: linear-gradient(135deg, rgba(150,153,22,.14), rgba(118,173,161,.18));pointer-events: none}
.home-label-card__logo {display: grid;place-items: center;width: 100px;height: 100px;margin-bottom: 18px}
.home-label-card__logo img {display: block;width: 100px;height: 100px}
.home-label-card__logo.meuble {width: 156px;height: 100px}
.home-label-card__logo.meuble img {width: 156px;height: 100px}
.home-label-card .sub {margin-bottom: 8px;font-size: 0.78rem;letter-spacing: 0.18em;text-transform: uppercase;font-weight: 700;color: var(--second-color);}
.home-label-card h3 {margin-bottom: 12px;color: #172018;font-size: clamp(1.25rem, 1.7vw, 1.55rem);line-height: 1.25}
.home-label-card p:not(.sub) {color: var(--grey-color);margin-bottom: 20px;}
.home-label-card__stamp {display: inline-flex;align-items: center;align-self: flex-start;width: fit-content;margin-top: auto;padding: 9px 12px;border-radius: 999px;background: rgba(150,153,22,.1);color: var(--main-color);font-size: .88rem;letter-spacing: .08em}
@media (min-width: 1280px) {
  .home-labels__featured {grid-template-columns: repeat(4, minmax(0, 1fr))}
  .home-label-card {min-height: 440px;padding: 28px}
  .home-label-card h3 {font-size: clamp(1.15rem, 1.08vw, 1.35rem)}
}
/*------*/
.home-location {position: relative;background: linear-gradient(135deg, #f7f4ed 0%, #fff 52%, #eef2df 100%);border-bottom: 1px solid rgba(33,33,33,.08);overflow: hidden}
.home-location::before {content: "";position: absolute;right: -10vw;top: -18vw;width: 42vw;height: 42vw;border-radius: 50%;background: radial-gradient(circle, rgba(118,173,161,.18), transparent 68%);pointer-events: none}
.home-location .grid-2 {align-items: center;gap: clamp(2rem, 5vw, 5rem)}
.home-location .title {position: relative;z-index: 1}
.home-location .title p:not(.before):not(.lead) {color: var(--grey-color)}
.home-location__panel {position: relative;z-index: 1;display: grid;gap: 18px}
.home-location__panel img {border-radius: var(--border-radius-xl)}
.home-location__legend {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 12px;margin: 0;padding: 0;list-style: none;counter-reset: none}
.home-location__legend li {display: flex;align-items: flex-start;gap: 11px;padding: 15px 16px;border-radius: var(--border-radius-xl);background: rgba(255,255,255,.84);border: 1px solid rgba(157,174,70,.18);box-shadow: 0 14px 34px rgba(31,41,30,.06)}
.home-location__legend li:first-child {background: #172018;border-color: rgba(23,32,24,.16);color: #fff}
.home-location__legend-number {display: grid;place-items: center;flex: 0 0 28px;width: 28px;height: 28px;border-radius: 50%;background: linear-gradient(135deg, var(--main-color), var(--second-color));color: #fff;font-size: .76rem;font-weight: 800;line-height: 1}
.home-location__legend strong {display: block;margin-bottom: 3px;color: #172018;line-height: 1.2}
.home-location__legend small {display: block;color: var(--grey-color);font-size: .82rem;line-height: 1.45}
.home-location__legend li:first-child strong,.home-location__legend li:first-child small {color: #fff}
@media (max-width: 1024px) {
  .home-location .grid-2 {grid-template-columns: 1fr}
  .home-location__panel img {width: 100%;height: auto;}
}
@media (max-width: 768px) {
  .home-location__legend {grid-template-columns: 1fr}
}

/*
|
|
|
|
|
|
|
|
|
|
*/
