/* bundled from assets/westfalia-signature-v1.css */
/* Westfalia signature: a small, shared brand detail across Le Monde Ensembles. */
.westfalia-nav-mark{display:inline-block!important;flex:0 0 auto;width:40px;height:28px;object-fit:contain;vertical-align:middle;margin-inline-start:3px;filter:drop-shadow(0 1px 1px #1b302018)}
.lme-westfalia-signature{display:flex;align-items:center;justify-content:center;gap:12px;width:min(100% - 24px,430px);margin:18px auto 0;padding:12px 15px;border-top:1px solid #d9e3dc;color:#52635d;text-align:left}
.lme-westfalia-signature img{display:block;flex:0 0 auto;width:68px;height:46px;object-fit:contain}
.lme-westfalia-signature div{display:grid;gap:2px}
.lme-westfalia-signature strong{font-size:.86rem;line-height:1.35;color:#294746}
.lme-westfalia-signature span{font-size:.77rem;line-height:1.45;color:#62716b}
@media(max-width:650px){.westfalia-nav-mark{width:31px;height:22px;margin-inline-start:1px}.lme-westfalia-signature{margin-top:14px;padding:10px 8px;gap:8px}.lme-westfalia-signature img{width:58px;height:40px}}
@media(prefers-reduced-motion:reduce){.westfalia-nav-mark,.lme-westfalia-signature img{transition:none!important}}

/* bundled from assets/v535-global-design.css */
/* V535 — public visual system: editorial type, warm neutral surfaces, consistent controls */
:root{
  --lme-ink:#342c27;
  --lme-text:#4f4841;
  --lme-muted:#756d64;
  --lme-paper:#fbf8f2;
  --lme-surface:#fff;
  --lme-sand:#f2ece2;
  --lme-border:rgba(91,70,51,.15);
  --lme-terracotta:#9b5b43;
  --lme-terracotta-dark:#7f4836;
  --lme-sage:#4f766e;
  --lme-radius:20px;
  --lme-shadow:0 14px 40px rgba(58,43,30,.08);
}
body.lme-v535-design{
  color:var(--lme-text);
  background:var(--lme-paper);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
}
body.lme-v535-design :where(h1,h2){
  
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;
  letter-spacing:-.035em;
  line-height:1.08;
  text-wrap:balance;
}
body.lme-v535-design :where(h3,h4){line-height:1.25;text-wrap:balance}
body.lme-v535-design :where(p){line-height:1.72}
body.lme-v535-design :where(.eyebrow,.kicker,.xp-kicker,.story-eyebrow){
  color:var(--lme-terracotta);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.16em;
  line-height:1.4;
  text-transform:uppercase;
}
body.lme-v535-design :where(.wrap,.xp-wrap){max-width:1200px}
body.lme-v535-design :where(.card,.panel,.routebox,.day,.info-item,.xp-card,.dest,.travel-video-card,.guide-grid a,.v160-featured-grid a,.coming-card,.toolbox-gateway-card){
  border-color:var(--lme-border);
  border-radius:var(--lme-radius);
  box-shadow:var(--lme-shadow);
}
body.lme-v535-design :where(.card,.panel,.routebox,.day,.info-item,.xp-card,.dest,.travel-video-card,.guide-grid a,.v160-featured-grid a,.coming-card){background:var(--lme-surface)}
body.lme-v535-design :where(.btn,.button,.xp-action,.xp-action-alt,.next-trip-primary,.next-trip-back){
  min-height:44px;
  border:1px solid transparent;
  border-radius:999px;
  font:700 .92rem/1.2 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.005em;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
body.lme-v535-design :where(.btn,.button,.xp-action,.next-trip-primary){background:var(--lme-terracotta);color:#fff}
body.lme-v535-design :where(.btn,.button,.xp-action,.next-trip-primary):hover{background:var(--lme-terracotta-dark);box-shadow:0 8px 20px rgba(127,72,54,.18);transform:translateY(-1px)}
body.lme-v535-design :where(.secondary,.muted,.xp-action-alt,.next-trip-back){border-color:var(--lme-border);background:#fff;color:var(--lme-ink)}
body.lme-v535-design :where(input,select,textarea){
  border:1px solid rgba(91,70,51,.22);
  border-radius:12px;
  background:#fff;
  color:var(--lme-ink);
  font:inherit;
}
body.lme-v535-design :where(input,select,textarea):focus-visible{outline:3px solid rgba(79,118,110,.24);border-color:var(--lme-sage)}
body.lme-v535-design :where(.dest,.xp-card,.guide-grid a,.v160-featured-grid a){overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
body.lme-v535-design :where(.dest:hover,.xp-card:hover,.guide-grid a:hover,.v160-featured-grid a:hover){box-shadow:0 20px 48px rgba(58,43,30,.13);transform:translateY(-3px)}
body.lme-v535-design :where(.dest img,.xp-card img,.v160-featured-grid img,.world-journal-card img){display:block;object-fit:cover}
body.lme-v535-design :where(.top,.xp-top){border-bottom:1px solid rgba(91,70,51,.1)}
body.lme-v535-design :where(.crumb,.back,.next-trip-back){color:var(--lme-muted)}
body.lme-v535-design :where(.route,.route-line,.info-grid,.info){color:var(--lme-text)}
body.lme-v535-design :where(.pill,.chip,.tag,.xp-tag){border-radius:999px}
body.lme-v535-design :where(.notice,.note,.preview-note){border-radius:14px}
@media(max-width:700px){
  body.lme-v535-design{font-size:16px}
  body.lme-v535-design :where(h1){font-size:clamp(2.1rem,10vw,3.4rem)}
  body.lme-v535-design :where(h2){font-size:clamp(1.8rem,8vw,2.7rem)}
  body.lme-v535-design :where(.btn,.button,.xp-action,.xp-action-alt,.next-trip-primary,.next-trip-back){min-height:46px}
  body.lme-v535-design :where(.routebox,.panel,.card,.xp-card,.day,.info-item){border-radius:16px}
}
@media(prefers-reduced-motion:reduce){body.lme-v535-design *,body.lme-v535-design *::before,body.lme-v535-design *::after{scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* bundled from assets/v536-experience-layer.css */
/* V536 — signature layer: a calm editorial journey, linked by a route-line motif */
body.lme-v535-design.lme-v536-journey :where(.eyebrow,.kicker,.xp-kicker,.story-eyebrow){letter-spacing:.17em}
body.lme-v535-design.lme-v536-journey .hero:has(.hero-story-title){
  min-height:clamp(560px,74vh,820px);
  background-image:linear-gradient(90deg,rgba(17,35,34,.66) 0%,rgba(17,35,34,.38) 42%,rgba(17,35,34,.08) 76%),url("banner-couple-beach.webp");
  background-position:center 48%;
  background-size:cover;
  isolation:isolate;
}
body.lme-v535-design.lme-v536-journey .hero:has(.hero-story-title):after{
  position:absolute;z-index:-1;inset:auto 0 0;content:"";height:34%;
  background:linear-gradient(0deg,rgba(20,36,33,.26),transparent);
  pointer-events:none;
}
body.lme-v535-design.lme-v536-journey .hero:has(.hero-story-title) .copy{
  width:min(100%,780px);max-width:780px;padding-block:clamp(88px,13vh,150px);
}
body.lme-v535-design.lme-v536-journey .hero:has(.hero-story-title) .eyebrow{color:#f5dfb7;letter-spacing:.2em}
body.lme-v535-design.lme-v536-journey .hero-story-title{
  max-width:780px;margin:18px 0 0;color:#fff;
  font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.2rem,7vw,6.4rem);
  font-weight:500;letter-spacing:-.055em;line-height:.98;text-wrap:balance;
}
body.lme-v535-design.lme-v536-journey .hero-story-title span{display:block}
body.lme-v535-design.lme-v536-journey .hero-story-title .hero-word-facon{color:#f0d39e}
body.lme-v535-design.lme-v536-journey .hero-introduction{position:relative;z-index:2;margin-top:-24px;padding:0 0 48px;background:transparent}
body.lme-v535-design.lme-v536-journey .hero-introduction-inner{
  max-width:1020px;padding:clamp(24px,4vw,42px);border:1px solid rgba(91,70,51,.12);
  border-radius:24px;background:rgba(255,255,255,.96);box-shadow:0 22px 65px rgba(47,38,29,.1);
}
body.lme-v535-design.lme-v536-journey .hero-introduction-inner>p{max-width:70ch;margin:0 auto 20px;color:var(--lme-muted);font-size:clamp(16px,1.6vw,19px);text-align:center}
body.lme-v535-design.lme-v536-journey .hero-introduction .hero-values{margin-top:20px;color:#82776c;font-size:10px;font-weight:800;letter-spacing:.16em}
body.lme-v535-design.lme-v536-journey .visitor-path{padding-block:clamp(38px,6vw,72px);background:#f2ece2}
body.lme-v535-design.lme-v536-journey .visitor-path-heading{max-width:730px;margin:0 auto 28px;text-align:center}
body.lme-v535-design.lme-v536-journey .visitor-path-heading h2{margin:8px 0 10px;font-size:clamp(2rem,4vw,3.3rem)}
body.lme-v535-design.lme-v536-journey .visitor-path-heading p{margin:0;color:var(--lme-muted)}
body.lme-v535-design.lme-v536-journey .visitor-path-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
body.lme-v535-design.lme-v536-journey .visitor-path-steps li{position:relative;min-width:0}
body.lme-v535-design.lme-v536-journey .visitor-path-steps li:not(:last-child):after{
  position:absolute;z-index:0;top:28px;left:65%;width:70%;height:1px;border-top:1px dashed rgba(155,91,67,.42);content:"";pointer-events:none;
}
body.lme-v535-design.lme-v536-journey .visitor-path-steps a{
  position:relative;z-index:1;display:grid;align-content:start;min-height:220px;padding:20px;
  border:1px solid var(--lme-border);border-radius:18px;background:#fff;color:var(--lme-text);
  box-shadow:0 8px 24px rgba(58,43,30,.045);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
body.lme-v535-design.lme-v536-journey .visitor-path-steps a:hover{transform:translateY(-4px);border-color:rgba(155,91,67,.34);box-shadow:0 18px 38px rgba(58,43,30,.1)}
body.lme-v535-design.lme-v536-journey .visitor-path-number{
  display:grid;place-items:center;width:42px;height:42px;margin-bottom:17px;border:1px solid rgba(155,91,67,.24);
  border-radius:50%;background:#fbf5ec;color:var(--lme-terracotta);font-size:12px;font-weight:850;letter-spacing:.08em;
  box-shadow:0 0 0 5px #fff,0 0 0 6px rgba(155,91,67,.1);
}
body.lme-v535-design.lme-v536-journey .visitor-path-copy{display:grid;gap:9px}
body.lme-v535-design.lme-v536-journey .visitor-path-copy strong{color:var(--lme-ink);font-size:16px;line-height:1.35}
body.lme-v535-design.lme-v536-journey .visitor-path-copy small{color:var(--lme-muted);font-size:13px;line-height:1.55}
body.lme-v535-design.lme-v536-journey .visitor-path-copy em{align-self:end;margin-top:5px;color:var(--lme-terracotta);font-size:12px;font-style:normal;font-weight:800}
body.lme-v535-design.lme-v536-journey .story-section .story-grid,
body.lme-v535-design.lme-v536-journey .photo-story-card{border-radius:26px}
body.lme-v535-design.lme-v536-journey .world-journal-head{margin-bottom:28px}
body.lme-v535-design.lme-v536-journey .world-journal-card img,
body.lme-v535-design.lme-v536-journey .dest img,
body.lme-v535-design.lme-v536-journey .xp-card img,
body.lme-v535-design.lme-v536-journey .v160-featured-grid img{aspect-ratio:4/3;object-fit:cover}
body.lme-v535-design.lme-v536-journey :where(.routebox,.day,.info-item,.xp-card,.world-card.pro-map){border:1px solid var(--lme-border);background:#fff;box-shadow:var(--lme-shadow)}
body.lme-v535-design.lme-v536-journey .routebox{overflow:hidden}
body.lme-v535-design.lme-v536-journey .route-line{position:relative;border-radius:16px;background:#f7f3ec;color:var(--lme-ink)}
body.lme-v535-design.lme-v536-journey .day{position:relative;border-radius:18px}
body.lme-v535-design.lme-v536-journey :where(.day-num,.day-number){color:var(--lme-terracotta);font-weight:850}
body.lme-v535-design.lme-v536-journey .next-trip-path{border:1px solid var(--lme-border);border-radius:22px;background:linear-gradient(135deg,#f8f3ea,#edf3f0);box-shadow:var(--lme-shadow)}
body.lme-v535-design.lme-v536-journey :where(.sources,.map-credit,.video-source){color:#887e73}
@media(max-width:900px){body.lme-v535-design.lme-v536-journey .visitor-path-steps{grid-template-columns:repeat(2,minmax(0,1fr))}body.lme-v535-design.lme-v536-journey .visitor-path-steps li:nth-child(2):after{display:none}}
@media(max-width:700px){
  body.lme-v535-design.lme-v536-journey .hero:has(.hero-story-title){min-height:clamp(500px,74svh,700px);background-position:58% center}
  body.lme-v535-design.lme-v536-journey .hero:has(.hero-story-title) .copy{padding-block:100px 82px}
  body.lme-v535-design.lme-v536-journey .hero-story-title{font-size:clamp(3rem,12vw,4.4rem);line-height:1.01}
  body.lme-v535-design.lme-v536-journey .hero-introduction{margin-top:-18px;padding-bottom:28px}
  body.lme-v535-design.lme-v536-journey .hero-introduction-inner{padding:23px 18px;border-radius:20px}
  body.lme-v535-design.lme-v536-journey .hero-introduction .hero-values{font-size:9px;letter-spacing:.1em}
  body.lme-v535-design.lme-v536-journey .visitor-path-steps{gap:10px}
  body.lme-v535-design.lme-v536-journey .visitor-path-steps a{min-height:215px;padding:16px;border-radius:16px}
  body.lme-v535-design.lme-v536-journey .visitor-path-steps li:after{display:none!important}
  body.lme-v535-design.lme-v536-journey .visitor-path-number{width:38px;height:38px;margin-bottom:13px}
  body.lme-v535-design.lme-v536-journey .visitor-path-copy strong{font-size:14px}
  body.lme-v535-design.lme-v536-journey .visitor-path-copy small{font-size:12px}
}
@media(max-width:390px){body.lme-v535-design.lme-v536-journey .visitor-path-steps{grid-template-columns:1fr}body.lme-v535-design.lme-v536-journey .visitor-path-steps a{min-height:0}}
@media(prefers-reduced-motion:reduce){body.lme-v535-design.lme-v536-journey *{transition:none!important}}

/* bundled from assets/v539-alignment-system.css */
/* V539 — shared alignment rules across public pages. */
body.lme-v539-aligned :where(*,*::before,*::after){box-sizing:border-box}
body.lme-v539-aligned :where(.wrap,.xp-wrap,.top-inner,.xp-top-inner){width:min(calc(100% - 40px),1200px);max-width:1200px;margin-left:auto;margin-right:auto}
body.lme-v539-aligned :where(main>section>.wrap>h1,main>section>.wrap>h2,main>section>.wrap>.section-title,main>section>.wrap>.section-head,main>section>.wrap>.section-heading,main>section>.wrap>.section-intro,main>section>.wrap>.page-heading,main>section>.wrap>.page-intro,main>section>.wrap>.xp-head){max-width:820px;margin-left:auto;margin-right:auto;text-align:center;text-wrap:balance}
body.lme-v539-aligned :where(main>section>.wrap>p.lead,main>section>.wrap>.lead,main>section>.wrap>.section-lead,main>section>.wrap>.intro-copy){max-width:68ch;margin-left:auto;margin-right:auto;text-align:center}
body.lme-v539-aligned :where(.section-head,.section-heading,.section-title-wrap,.section-intro,.page-heading,.page-intro,.xp-head){margin-left:auto;margin-right:auto;text-align:center}
body.lme-v539-aligned :where(.section-head,.section-heading,.section-title-wrap,.section-intro,.page-heading,.page-intro,.xp-head)>:where(p,.lead){max-width:68ch;margin-left:auto;margin-right:auto}
body.lme-v539-aligned .hero:not(:has(.hero-story-title)) .copy{margin-left:auto;margin-right:auto;text-align:center}
body.lme-v539-aligned .hero:not(:has(.hero-story-title)) .copy>:where(.eyebrow,h1,h2,p){margin-left:auto;margin-right:auto;text-align:center;text-wrap:balance}
body.lme-v539-aligned :where(.grid,.cards,.info-grid,.travel-video-grid,.guide-grid,.coming-grid,.v160-featured-grid,.form-grid,.day-grid){align-items:stretch}
body.lme-v539-aligned :where(.grid,.cards,.info-grid,.travel-video-grid,.guide-grid,.coming-grid,.v160-featured-grid,.form-grid,.day-grid)>*{min-width:0}
body.lme-v539-aligned :where(.actions,.buttons,.bottom-cta,.video-actions){justify-content:center;align-items:center}
body.lme-v539-aligned :where(main img,main video,main iframe){max-width:100%}
body.lme-v539-aligned :where(button,a,input,select,textarea):focus-visible{outline-offset:3px}
body.lme-v539-aligned .day :where(p,li),body.lme-v539-aligned .routebox :where(p,li),body.lme-v539-aligned .info-item :where(p,li){text-align:left}
@media(max-width:700px){
  body.lme-v539-aligned :where(.wrap,.xp-wrap,.top-inner,.xp-top-inner){width:calc(100% - 32px)}
  body.lme-v539-aligned :where(.section-head,.section-heading,.section-title-wrap,.section-intro,.page-heading,.page-intro,.xp-head){text-align:center}
  body.lme-v539-aligned :where(.actions,.buttons,.bottom-cta,.video-actions){gap:10px}
}
@media(prefers-reduced-motion:reduce){body.lme-v539-aligned *{scroll-behavior:auto!important}}

/* bundled from assets/v541-top-alignment.css */
/* V541 — align the site header and breadcrumb with the main content column. */
body.lme-v539-aligned header .wrap.nav{
  width:min(calc(100% - 40px),1200px)!important;
  max-width:1200px!important;
  margin-inline:auto!important;
}

body.lme-v539-aligned nav[aria-label="Fil d’Ariane et navigation contextuelle"]{
  padding:10px max(20px,calc((100% - 1200px)/2))!important;
}

@media(max-width:700px){
  body.lme-v539-aligned header .wrap.nav{
    width:calc(100% - 32px)!important;
  }
  body.lme-v539-aligned nav[aria-label="Fil d’Ariane et navigation contextuelle"]{
    padding-inline:16px!important;
  }
}

/* bundled from assets/v548-page-navigation.css */
/* V548 — navigation de retour accessible sur chaque page */
.lme-page-nav-wrap {
  position: sticky;
  top: max(8px, env(safe-area-inset-top, 8px));
  z-index: 10030;
  display: flex;
  justify-content: flex-end;
  width: min(1180px, calc(100% - 32px));
  min-height: 42px;
  margin: 8px auto 0;
  pointer-events: none;
}
.lme-page-nav {
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px;
  border: 1px solid rgba(92, 75, 62, .16);
  border-radius: 999px;
  background: rgba(255, 252, 247, .94);
  box-shadow: 0 5px 18px rgba(40, 32, 24, .10);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  color: #392f2b;
  font: 600 13px/1.2 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.lme-page-nav button,
.lme-page-nav a {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 13px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  font: inherit;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color .18s ease, color .18s ease, transform .18s ease;
}
.lme-page-nav button:hover,
.lme-page-nav a:hover { background: #efe7dd; color: #7f443c; }
.lme-page-nav button:active,
.lme-page-nav a:active { transform: translateY(1px); }
.lme-page-nav button:focus-visible,
.lme-page-nav a:focus-visible { outline: 3px solid #a65d4e; outline-offset: 2px; }
.lme-page-nav button:disabled { opacity: .48; cursor: default; }
.lme-page-nav button:disabled:hover { background: transparent; color: inherit; }
.lme-page-nav .lme-nav-home { background: #f3ece4; }
@media (max-width: 520px) {
  .lme-page-nav-wrap { width: calc(100% - 20px); min-height: 40px; margin-top: 6px; }
  .lme-page-nav { gap: 2px; padding: 3px; font-size: 12px; }
  .lme-page-nav button, .lme-page-nav a { min-height: 34px; padding: 0 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .lme-page-nav button, .lme-page-nav a { transition: none; }
}

/* bundled from assets/v550-mobile-coherence.css */
/* V550 — navigation cohérente sur mobile, tablette et ordinateur */
html { scroll-padding-top: 132px; }
main [id], main section[id], main article[id] { scroll-margin-top: 132px; }

/* Keep Retour and Accueil below the sticky brand header at every width. */
.lme-page-nav-wrap { top: 78px; z-index: 21; }

/* The breadcrumb remains useful; its duplicate Home/Back actions do not. */
#lme-routebar a[href="index.html"],
#lme-routebar .lme-back { display: none !important; }
#lme-routebar:has(> a[href="index.html"]:only-child) { display: none !important; }
@media (max-width: 850px) {
  /* The page controls stay directly below the sticky brand header. */
  .lme-page-nav-wrap {
    position: sticky;
    width: calc(100% - 24px);
    min-height: 46px;
    margin: 0 auto 8px;
    justify-content: flex-end;
  }
  .lme-page-nav {
    min-height: 44px;
    gap: 4px;
    padding: 3px;
    font-size: 13px;
  }
  .lme-page-nav button,
  .lme-page-nav a {
    min-width: 88px;
    min-height: 44px;
    padding: 0 12px;
  }

  /* Keep one clear Back/Home pair beneath the brand. */
  #lme-routebar { display: none !important; }
  .lme-v242-mobilebar .lme-v242-home { display: none !important; }

  /* Long calls to action wrap inside their card without splitting the arrow. */
  .shop-section .coming-card > .mobile-fit-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    padding: 15px 14px;
    white-space: normal;
    text-align: center;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }
  .shop-section .coming-card > .mobile-fit-cta .cta-label { min-width: 0; }
  .shop-section .coming-card > .mobile-fit-cta .cta-arrow { flex: 0 0 auto; }
}
@media (max-width: 380px) {
  .lme-page-nav-wrap { width: calc(100% - 16px); }
  .lme-page-nav button,
  .lme-page-nav a { min-width: 82px; padding-inline: 9px; }
  .shop-section .coming-card > .mobile-fit-cta { gap: 7px; padding-inline: 11px; font-size: 15px; }
}

/* bundled from assets/v551-subtle-motion.css */
/* V551 — effets discrets, lisibles et adaptés aux interactions tactiles */
@keyframes v551-hero-arrive {
  from { opacity: .72; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes v551-pin-arrive {
  0% { box-shadow: 0 2px 8px rgba(42,30,23,.3), 0 0 0 3px rgba(157,84,63,.16); }
  55% { box-shadow: 0 2px 8px rgba(42,30,23,.3), 0 0 0 9px rgba(157,84,63,.2); }
  100% { box-shadow: 0 2px 8px rgba(42,30,23,.3), 0 0 0 4px rgba(157,84,63,.16); }
}

/* Homepage: one calm entrance, with no continuous movement. */
.v131-immersive .hero { animation: v551-hero-arrive .65s ease-out both; }

/* Destination map: make the chosen place unmistakable. */
#professionalWorldMap .geo-pin.active .pin-dot {
  animation: v551-pin-arrive .48s ease-out both;
  transform: scale(1.14);
}
#professionalWorldMap .geo-pin .pin-dot { transition: transform .18s ease, box-shadow .18s ease; }
#professionalWorldMap .geo-pin:focus-visible .pin-dot { transform: scale(1.14); }
.map-cluster-v439:active { transform: translate(-50%,-50%) scale(.96); }
.map-cluster-v439.is-selected { box-shadow: 0 3px 12px #24352d55, 0 0 0 7px #315e573d; }

/* Itinerary cards enter as they become visible; cards stay in normal document flow. */
.days .day.v551-reveal {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .38s ease, transform .38s ease, box-shadow .18s ease, border-color .18s ease;
  transition-delay: var(--v551-delay, 0ms);
}
.days .day.v551-reveal.v551-visible { opacity: 1; transform: none; }
@media (hover: hover) and (pointer: fine) {
  .days .day:hover { border-color: #c6d9d1; box-shadow: 0 10px 26px rgba(24,63,71,.08); }
  .v160-featured-grid a { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
  .v160-featured-grid a:hover { transform: translateY(-3px); border-color: #d4b9a9; box-shadow: 0 12px 26px rgba(61,42,25,.1); }
}
.days .day:active, .v160-featured-grid a:active { transform: scale(.99); }

/* Planner: signal each new step while retaining the existing progress bar. */
#plannerForm .step-body:not([hidden]) { animation: v551-hero-arrive .24s ease-out both; }
#plannerForm .step-dot b { transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease; }
#plannerForm .step-dot[aria-current="step"] b { transform: scale(1.08); }
#plannerForm .btn { transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
#plannerForm .btn:not(:disabled):active { transform: scale(.98); }
#plannerForm .btn:focus-visible { outline: 3px solid #c2d8c5; outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  .v131-immersive .hero,
  #professionalWorldMap .geo-pin.active .pin-dot,
  #plannerForm .step-body:not([hidden]) { animation: none !important; }
  #professionalWorldMap .geo-pin .pin-dot,
  .map-cluster-v439,
  .days .day,
  .v160-featured-grid a,
  #plannerForm .step-dot b,
  #plannerForm .btn { transition: none !important; }
  .map-cluster-v439.is-selected { box-shadow: 0 3px 12px #24352d55, 0 0 0 4px #315e5735; }
  .days .day.v551-reveal { opacity: 1; transform: none; }
}

/* bundled from assets/v552-performance-mobile.css */
/* V552 — mobile fit, page navigation, consistent menu and readable hero */
*, *::before, *::after { box-sizing: border-box; }
html { max-width: 100%; overflow-x: clip; scroll-padding-top: 24px; }
body { width: 100%; max-width: 100%; overflow-x: clip; }
img, video, iframe, svg, canvas { max-width: 100%; }
main, section, article, header, footer, .wrap, .xp-wrap { min-width: 0; }
main :where(h1,h2,h3,p,a,button,small,strong,span) { overflow-wrap: anywhere; }

/* Return/Home stays in the page flow, below the site header. */
.lme-page-nav-wrap {
  position: relative !important;
  inset: auto !important;
  z-index: 2 !important;
  width: min(1180px, calc(100% - 32px)) !important;
  min-height: 44px;
  margin: 8px auto 14px !important;
  justify-content: flex-end;
}
.lme-page-nav {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: 0 3px 12px rgba(40,32,24,.08) !important;
}

/* Keep the atlas inside the phone viewport and show the whole world. */
.world-explorer, .world-explorer > .wrap, .world-card.pro-map,
#professionalWorldMap, #professionalWorldMap .map-stage { min-width: 0 !important; max-width: 100% !important; }
.world-card.pro-map { overflow: hidden; }
#professionalWorldMap {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  contain: layout paint;
}
#professionalWorldMap .map-stage { inset: 0 !important; width: 100%; transform-origin: center center; }
#professionalWorldMap svg { display: block; width: 100% !important; height: 100% !important; max-width: 100% !important; }
@media (max-width: 600px) {
  .world-explorer > .wrap { width: calc(100% - 24px) !important; }
  .world-card.pro-map { width: 100%; }
  #professionalWorldMap {
    height: clamp(220px, 55vw, 320px) !important;
    min-height: 0 !important;
    max-height: 320px !important;
    aspect-ratio: 1200 / 560 !important;
  }
  #professionalWorldMap .map-markers { overflow: visible; }
  #professionalWorldMap .pin-label { font-size: 9px !important; padding: 5px 7px !important; }
  #professionalWorldMap .map-watermark { max-width: 70%; white-space: nowrap; overflow: hidden; }
  #mapExplorerV511, #mapExplorerV511 * { min-width: 0; }
  #mapExplorerV511 .map-explorer-title { align-items: flex-start; }
  #mapExplorerV511 .map-explorer-count { text-align: right; }
}

/* One visual language for grouped submenu entries and headings. */
header .secondary-menu.simple-menu {
  box-sizing: border-box;
  max-width: min(360px, calc(100vw - 24px));
  max-height: min(76dvh, 660px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding: 10px;
  border-color: rgba(70,82,71,.13);
  background: rgba(255,253,249,.98);
}
header .secondary-menu.simple-menu .lme-menu-heading {
  display: block;
  margin: 7px 3px 4px;
  padding: 10px 10px 5px;
  border-top: 1px solid #eee7df;
  color: #98704d;
  font: 800 10px/1.3 system-ui, sans-serif;
  letter-spacing: .14em;
}
header .secondary-menu.simple-menu .lme-menu-heading:first-of-type { border-top: 0; }
header .secondary-menu.simple-menu > a {
  min-height: 56px;
  padding: 9px 10px;
  border-radius: 12px;
  gap: 10px;
}
header .secondary-menu.simple-menu > a:hover { transform: none; background: #f1f5f1; }
header .secondary-menu.simple-menu > a .menu-icon { flex: 0 0 34px; width: 34px; height: 34px; }
header .secondary-menu.simple-menu > a small { display: block; color: #756b61; font-size: 11px; line-height: 1.35; }
header .secondary-menu.simple-menu .menu-search-link { min-height: 44px; border-radius: 11px; }

/* Stronger contrast on the image-led experiences page. */
.xp-hero {
  position: relative;
  isolation: isolate;
  background-image: linear-gradient(90deg, rgba(18,31,34,.78) 0%, rgba(18,31,34,.62) 62%, rgba(18,31,34,.32) 100%), url("hero-emilie-andy-plage.webp") !important;
}
.xp-hero :where(h1,p,.xp-kicker) { color: #fff !important; text-shadow: 0 2px 16px rgba(0,0,0,.45); }
.xp-hero h1 { max-width: 15ch; }
.xp-hero p { max-width: 42ch; }
.xp-hero .xp-action { background: #a85e46; box-shadow: 0 8px 22px rgba(0,0,0,.18); }
@media (max-width: 650px) {
  .xp-top { align-items: flex-start; }
  .xp-top nav { width: 100%; gap: 7px 14px !important; }
  .xp-top nav a { min-height: 40px; display: inline-flex; align-items: center; }
  .xp-hero { min-height: 580px; padding: 58px 0 42px !important; background-position: 58% center !important; }
  .xp-hero .xp-wrap { display: flex; min-height: 480px; flex-direction: column; align-items: flex-start; justify-content: center; }
  .xp-hero h1 { font-size: clamp(2.5rem, 10vw, 3.7rem) !important; }
  .xp-hero p { font-size: 1rem !important; }
  .xp-hero .xp-action { margin-top: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

