{"id":5221,"date":"2026-05-10T02:09:05","date_gmt":"2026-05-10T02:09:05","guid":{"rendered":"https:\/\/toucandiscovery.com\/destinations-mexique\/sayulita\/"},"modified":"2026-05-10T14:45:38","modified_gmt":"2026-05-10T14:45:38","slug":"sayulita","status":"publish","type":"page","link":"https:\/\/toucandiscovery.com\/zh\/destinations-mexique\/sayulita\/","title":{"rendered":"Sayulita"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"5221\" class=\"elementor elementor-5221\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-32360c9 e-con-full e-flex e-con e-parent\" data-id=\"32360c9\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;grandtour_ext_is_background_parallax&quot;:&quot;false&quot;,&quot;grandtour_ext_is_background_backdrop&quot;:&quot;false&quot;,&quot;grandtour_ext_is_background_on_scroll&quot;:&quot;false&quot;,&quot;grandtour_ext_link_sidemenu&quot;:&quot;false&quot;,&quot;grandtour_ext_link_fullmenu&quot;:&quot;false&quot;,&quot;grandtour_ext_link_closed_fullmenu&quot;:&quot;false&quot;,&quot;grandtour_ext_is_sticky&quot;:&quot;false&quot;,&quot;grandtour_ext_is_scrollme&quot;:&quot;false&quot;,&quot;grandtour_ext_is_smoove&quot;:&quot;false&quot;,&quot;grandtour_ext_is_parallax_mouse&quot;:&quot;false&quot;,&quot;grandtour_ext_is_infinite&quot;:&quot;false&quot;,&quot;grandtour_ext_is_fadeout_animation&quot;:&quot;false&quot;,&quot;grandtour_ext_mobile_static&quot;:&quot;false&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-113ab80 elementor-widget elementor-widget-html\" data-id=\"113ab80\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;grandtour_ext_link_sidemenu&quot;:&quot;false&quot;,&quot;grandtour_ext_link_fullmenu&quot;:&quot;false&quot;,&quot;grandtour_ext_link_closed_fullmenu&quot;:&quot;false&quot;,&quot;grandtour_ext_is_sticky&quot;:&quot;false&quot;,&quot;grandtour_ext_is_scrollme&quot;:&quot;false&quot;,&quot;grandtour_ext_is_smoove&quot;:&quot;false&quot;,&quot;grandtour_ext_is_parallax_mouse&quot;:&quot;false&quot;,&quot;grandtour_ext_is_infinite&quot;:&quot;false&quot;,&quot;grandtour_ext_is_fadeout_animation&quot;:&quot;false&quot;,&quot;grandtour_ext_mobile_static&quot;:&quot;false&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\n  TOUCAN DISCOVERY \u2014 FICHE R\u00c9GION SAYULITA v1\n  ==========================================\n  \u2022 Couleurs 100% Toucan (vert #7DC242, bleu #1B2A5A, orange #F7941D, jaune #FFC107)\n  \u2022 Site web spectaculaire, ludique, inspirant \u2014 pas brochure A4\n  \u2022 Mine d'or d'informations + outil utile pour apprendre\n  \u2022 Tips Experts = vraie rubrique (pas bulle d\u00e9corative)\n  \u2022 Bouton t\u00e9l\u00e9chargement PDF + CTA Dynamics partout\n  \u2022 Pas de faune flottante qui cache du texte\n  \u2022 Animations spectaculaires : parallax, count-up, fade-in, hover\n  CSS scoped sur .td-fiche  +  break-out 100vw pour Elementor.\n-->\n\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Montserrat:wght@300;400;500;600;700;800;900&family=Playfair+Display:wght@400;600;700&display=swap');\n\n\/* ================================================================\n   VARIABLES & RESET (couleurs Toucan strictes)\n   ================================================================ *\/\n.td-fiche {\n  --green:       #7DC242;\n  --green-dark:  #3A7D34;\n  --green-soft:  #e8f3d9;\n  --navy:        #1B2A5A;\n  --navy-soft:   #2D4275;\n  --orange:      #F7941D;\n  --orange-soft: #fdebd2;\n  --yellow:      #FFC107;\n  --yellow-soft: #fff4cd;\n  --white:       #ffffff;\n  --bg:          #f8faf5;\n  --bg-alt:      #eef5e3;\n  --text:        #243154;\n  --text-soft:   #5a6580;\n  --shadow-sm:   0 2px 12px rgba(27,42,90,.06);\n  --shadow:      0 8px 28px rgba(27,42,90,.10);\n  --shadow-lg:   0 16px 48px rgba(27,42,90,.16);\n  --radius:      18px;\n  --radius-lg:   28px;\n\n  \/* Break-out plein \u00e9cran dans widget HTML Elementor *\/\n  width: 100vw;\n  position: relative;\n  left: 50%; right: 50%;\n  margin-left: -50vw; margin-right: -50vw;\n  overflow-x: hidden;\n}\n\/* === KILL Twemoji WP (CSS-only, fonctionne sans JS) === *\/\n.td-fiche img.emoji,\n.td-fiche img.wp-smiley {\n  height: 1em !important;\n  width: 1em !important;\n  max-width: 1em !important;\n  max-height: 1em !important;\n  display: inline-block !important;\n  vertical-align: -.15em !important;\n  margin: 0 .07em !important;\n  padding: 0 !important;\n  border: 0 !important;\n  box-shadow: none !important;\n  background: transparent !important;\n}\n.td-fiche {\n\n  font-family: 'Montserrat', Arial, sans-serif;\n  color: var(--text);\n  background: var(--bg);\n  line-height: 1.6;\n}\n.td-fiche *, .td-fiche *::before, .td-fiche *::after { box-sizing: border-box; }\n.td-fiche img { max-width: 100%; height: auto; display: block; }\n.td-fiche h1, .td-fiche h2, .td-fiche h3, .td-fiche h4 { margin: 0; font-weight: 700; color: var(--navy); }\n.td-fiche a { color: var(--orange); text-decoration: none; }\n\n.td-wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; }\n\n.td-eyebrow {\n  display: inline-block;\n  font-size: .8rem;\n  letter-spacing: 4px;\n  text-transform: uppercase;\n  color: var(--green-dark);\n  font-weight: 700;\n  margin-bottom: 12px;\n}\n.td-eyebrow::before {\n  content: \"\";\n  display: inline-block;\n  width: 24px; height: 2px;\n  background: var(--orange);\n  vertical-align: middle;\n  margin-right: 10px;\n}\n.td-h2 {\n  font-family: 'Playfair Display', Georgia, serif;\n  font-size: clamp(1.8rem, 3.5vw, 2.6rem);\n  font-weight: 700;\n  line-height: 1.2;\n  color: var(--navy);\n  margin-bottom: 14px;\n}\n.td-h2 em { font-style: italic; color: var(--orange); }\n.td-lead {\n  font-size: clamp(1rem, 1.6vw, 1.15rem);\n  color: var(--text-soft);\n  max-width: 720px;\n  margin-bottom: 36px;\n}\n\n\/* ================================================================\n   HERO PLEIN \u00c9CRAN (parallax-ready)\n   ================================================================ *\/\n.td-hero {\n  position: relative;\n  min-height: 92vh;\n  display: flex;\n  align-items: flex-end;\n  color: #fff;\n  overflow: hidden;\n}\n.td-hero__bg {\n  position: absolute; inset: 0; z-index: 0;\n  overflow: hidden;\n}\n.td-hero__bg img.td-hero__photo {\n  position: absolute; inset: 0; width: 100%; height: 100%;\n  object-fit: cover; z-index: 0;\n}\n.td-hero__bg__overlay {\n  position: absolute; inset: 0; z-index: 1;\n  background: linear-gradient(180deg, rgba(27,42,90,.25) 0%, rgba(27,42,90,.55) 60%, rgba(27,42,90,.85) 100%);\n}\n.td-hero__bg::after {\n  content: \"\";\n  position: absolute; inset: 0;\n  background: radial-gradient(circle at 30% 50%, transparent 0%, rgba(27,42,90,.3) 100%);\n}\n.td-hero__brand {\n  position: absolute;\n  top: 26px; left: 26px;\n  z-index: 3;\n  background: rgba(255,255,255,.95);\n  border-radius: 50%;\n  width: 72px; height: 72px;\n  display: flex; align-items: center; justify-content: center;\n  box-shadow: 0 6px 20px rgba(0,0,0,.25);\n}\n.td-hero__brand svg { width: 50px; height: 50px; }\n.td-hero__content {\n  position: relative; z-index: 2;\n  width: 100%;\n  padding: 60px 32px 100px;\n  max-width: 1200px;\n  margin: 0 auto;\n  text-align: center;\n}\n.td-hero__country {\n  display: inline-block;\n  background: var(--orange);\n  color: #fff;\n  font-weight: 700;\n  font-size: .8rem;\n  letter-spacing: 3px;\n  text-transform: uppercase;\n  padding: 8px 18px;\n  border-radius: 50px;\n  margin-bottom: 18px;\n  box-shadow: 0 6px 20px rgba(247,148,29,.5);\n}\n.td-fiche .td-hero__title {\n  font-family: 'Playfair Display', Georgia, serif !important;\n  font-size: clamp(3.5rem, 9vw, 7rem) !important;\n  font-weight: 700 !important;\n  line-height: 1 !important;\n  color: #ffffff !important;\n  margin-bottom: 16px !important;\n  letter-spacing: -2px !important;\n  text-shadow: 0 4px 24px rgba(0,0,0,.65), 0 2px 8px rgba(0,0,0,.45) !important;\n}\n.td-fiche .td-hero__title em {\n  color: #FFC107 !important;\n  font-style: italic !important;\n  text-shadow: 0 4px 20px rgba(0,0,0,.5), 0 2px 6px rgba(0,0,0,.35) !important;\n}\n.td-hero__tagline {\n  font-size: clamp(1.1rem, 2vw, 1.5rem);\n  font-weight: 300;\n  font-style: italic;\n  color: rgba(255,255,255,.95);\n  max-width: 720px;\n  margin: 0 auto 40px;\n  padding-top: 16px;\n  position: relative;\n}\n.td-hero__tagline::before {\n  content: \"\";\n  display: block;\n  width: 60px; height: 3px;\n  background: var(--green);\n  margin: 0 auto 16px;\n  border-radius: 2px;\n}\n.td-hero__stats {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 48px;\n  margin-bottom: 30px;\n  justify-content: center;\n}\n.td-hero__stat { color: #fff; }\n.td-hero__stat-num {\n  font-family: 'Playfair Display', serif;\n  font-size: clamp(2rem, 4vw, 3rem);\n  font-weight: 700;\n  color: var(--yellow);\n  line-height: 1;\n  display: block;\n}\n.td-hero__stat-lab {\n  font-size: .8rem;\n  letter-spacing: 2px;\n  text-transform: uppercase;\n  color: rgba(255,255,255,.85);\n  margin-top: 4px;\n}\n.td-hero__scroll {\n  position: absolute;\n  bottom: 24px;\n  left: 50%; transform: translateX(-50%);\n  z-index: 3;\n  color: #fff;\n  font-size: .75rem;\n  letter-spacing: 3px;\n  text-transform: uppercase;\n  text-align: center;\n  animation: tdBounce 2s infinite ease-in-out;\n}\n.td-hero__scroll::after {\n  content: \"\u2193\";\n  display: block;\n  font-size: 1.6rem;\n  margin-top: 6px;\n}\n@keyframes tdBounce {\n  0%, 100% { transform: translateX(-50%) translateY(0); }\n  50%      { transform: translateX(-50%) translateY(8px); }\n}\n\n\/* ================================================================\n   QUICK BAR (ancres rapides \u2014 pas une sidebar)\n   ================================================================ *\/\n.td-quick {\n  background: var(--navy);\n  color: #fff;\n  padding: 14px 0;\n  position: sticky; top: 0; z-index: 50;\n  box-shadow: 0 4px 20px rgba(0,0,0,.15);\n}\n.td-quick__row {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 6px 18px;\n  justify-content: center;\n  font-size: .82rem;\n}\n.td-quick a {\n  color: rgba(255,255,255,.8);\n  padding: 4px 10px;\n  border-radius: 6px;\n  transition: all .2s;\n  white-space: nowrap;\n}\n.td-quick a:hover { color: var(--yellow); background: rgba(255,255,255,.06); }\n\n\/* ================================================================\n   SECTION INTRO\n   ================================================================ *\/\n.td-section { padding: 90px 0; position: relative; }\n.td-section--alt { background: var(--bg-alt); }\n.td-section--green {\n  background: linear-gradient(135deg, var(--green-dark) 0%, var(--navy) 100%);\n  color: #fff;\n}\n.td-section--green .td-h2 { color: #fff; }\n.td-section--green .td-h2 em { color: var(--yellow); }\n.td-section--green .td-eyebrow { color: var(--yellow); }\n.td-section--green .td-lead { color: rgba(255,255,255,.85); }\n\n.td-intro__grid {\n  display: grid;\n  grid-template-columns: 1.2fr 1fr;\n  gap: 50px;\n  align-items: center;\n}\n.td-intro__txt p { margin-bottom: 18px; font-size: 1.02rem; }\n.td-intro__txt strong { color: var(--green-dark); }\n.td-intro__photo {\n  border-radius: var(--radius-lg);\n  overflow: hidden;\n  box-shadow: var(--shadow-lg);\n  position: relative;\n  aspect-ratio: 4\/5;\n}\n.td-intro__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s; }\n.td-intro__photo:hover img { transform: scale(1.05); }\n.td-intro__badge {\n  position: absolute;\n  bottom: 24px; left: 24px;\n  background: rgba(255,255,255,.95);\n  padding: 12px 18px;\n  border-radius: 12px;\n  font-size: .82rem;\n  font-weight: 600;\n  color: var(--navy);\n  box-shadow: var(--shadow);\n  backdrop-filter: blur(10px);\n}\n@media (max-width: 880px) { .td-intro__grid { grid-template-columns: 1fr; } }\n\n\/* ================================================================\n   G\u00c9O & CLIMAT \u2014 2 cards visuelles\n   ================================================================ *\/\n.td-info-grid {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 26px;\n}\n.td-info-card {\n  background: #fff;\n  border-radius: var(--radius);\n  padding: 30px 32px;\n  box-shadow: var(--shadow);\n  position: relative;\n  overflow: hidden;\n  border-top: 5px solid var(--green);\n}\n.td-info-card--orange { border-top-color: var(--orange); }\n.td-info-card__icon {\n  font-size: 2.4rem;\n  margin-bottom: 12px;\n  display: inline-block;\n}\n.td-info-card__h {\n  font-family: 'Playfair Display', serif;\n  font-size: 1.5rem;\n  margin-bottom: 16px;\n  color: var(--navy);\n}\n.td-info-card ul { list-style: none; padding: 0; margin: 0; }\n.td-info-card li {\n  padding: 10px 0;\n  border-bottom: 1px dashed rgba(27,42,90,.1);\n  display: grid;\n  grid-template-columns: 30px 1fr;\n  gap: 12px;\n  align-items: start;\n  font-size: .94rem;\n}\n.td-info-card li:last-child { border-bottom: 0; }\n.td-info-card li strong { color: var(--navy); display: block; }\n@media (max-width: 720px) { .td-info-grid { grid-template-columns: 1fr; } }\n\n\/* ================================================================\n   CALENDRIER MENSUEL VISUEL\n   ================================================================ *\/\n.td-cal {\n  display: grid;\n  grid-template-columns: repeat(12, 1fr);\n  gap: 6px;\n  margin-top: 30px;\n}\n.td-cal__m {\n  background: #fff;\n  border-radius: 12px;\n  padding: 14px 6px;\n  text-align: center;\n  border: 2px solid #e6ebd9;\n  cursor: pointer;\n  transition: all .25s;\n  position: relative;\n}\n.td-cal__m:hover { transform: translateY(-3px); box-shadow: var(--shadow); border-color: var(--green); }\n.td-cal__m--top {  border-color: var(--green); background: var(--green-soft); }\n.td-cal__m--high { border-color: var(--orange); background: var(--orange-soft); }\n.td-cal__m--low  { border-color: var(--navy-soft); background: #f0f3fa; }\n.td-cal__name { font-weight: 700; font-size: .8rem; color: var(--navy); }\n.td-cal__icon { font-size: 1.3rem; margin: 4px 0; }\n.td-cal__dot {\n  position: absolute;\n  top: 6px; right: 6px;\n  width: 8px; height: 8px;\n  border-radius: 50%;\n  background: var(--orange);\n}\n.td-cal__m--top .td-cal__dot { background: var(--green); }\n.td-cal__m--low .td-cal__dot { background: var(--navy); }\n.td-cal__legend {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 18px;\n  margin-top: 18px;\n  font-size: .8rem;\n}\n.td-cal__legend span { display: flex; align-items: center; gap: 6px; }\n.td-cal__legend i {\n  width: 12px; height: 12px;\n  border-radius: 50%;\n  display: inline-block;\n}\n@media (max-width: 720px) { .td-cal { grid-template-columns: repeat(4, 1fr); } }\n\n\/* ================================================================\n   EXP\u00c9RIENCES SIGNATURE (cards riches avec photo)\n   ================================================================ *\/\n.td-exps {\n  display: grid;\n  grid-template-columns: 1fr;\n  gap: 28px;\n  margin-top: 20px;\n}\n.td-exp {\n  display: grid;\n  grid-template-columns: 1fr 1.5fr;\n  gap: 30px;\n  background: #fff;\n  border-radius: var(--radius-lg);\n  overflow: hidden;\n  box-shadow: var(--shadow);\n  transition: transform .35s, box-shadow .35s;\n}\n.td-exp:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }\n.td-exp:nth-child(even) { grid-template-columns: 1.5fr 1fr; }\n.td-exp:nth-child(even) .td-exp__media { order: 2; }\n.td-exp__media { position: relative; min-height: 280px; }\n.td-exp__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }\n.td-exp__num {\n  position: absolute;\n  top: 16px; left: 16px;\n  background: var(--orange);\n  color: #fff;\n  width: 50px; height: 50px;\n  border-radius: 50%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-family: 'Playfair Display', serif;\n  font-size: 1.4rem;\n  font-weight: 700;\n  box-shadow: 0 6px 16px rgba(247,148,29,.5);\n  z-index: 2;\n}\n.td-exp__body { padding: 32px 30px; display: flex; flex-direction: column; justify-content: center; }\n.td-exp__cat {\n  font-size: .72rem;\n  letter-spacing: 2px;\n  text-transform: uppercase;\n  color: var(--green-dark);\n  font-weight: 700;\n  margin-bottom: 8px;\n}\n.td-exp__title {\n  font-family: 'Playfair Display', serif;\n  font-size: 1.6rem;\n  margin-bottom: 12px;\n  color: var(--navy);\n}\n.td-exp__desc { font-size: .96rem; color: var(--text-soft); margin-bottom: 16px; }\n.td-exp__tips { display: flex; flex-direction: column; gap: 8px; }\n.td-tip {\n  display: flex;\n  align-items: flex-start;\n  gap: 10px;\n  padding: 8px 14px;\n  border-radius: 0 10px 10px 0;\n  font-size: .85rem;\n  line-height: 1.45;\n}\n.td-tip strong { font-weight: 700; }\n.td-tip--secret  { background: var(--green-soft);  border-left: 4px solid var(--green); }\n.td-tip--secret strong  { color: var(--green-dark); }\n.td-tip--vip     { background: var(--yellow-soft); border-left: 4px solid var(--yellow); }\n.td-tip--vip strong     { color: #b8860b; }\n.td-tip--astuce  { background: var(--orange-soft); border-left: 4px solid var(--orange); }\n.td-tip--astuce strong  { color: var(--orange); }\n@media (max-width: 880px) {\n  .td-exp, .td-exp:nth-child(even) { grid-template-columns: 1fr; }\n  .td-exp:nth-child(even) .td-exp__media { order: 0; }\n  .td-exp__media { min-height: 220px; }\n}\n\n\/* ================================================================\n   ZONES CL\u00c9S (Hotel Zone vs Environs)\n   ================================================================ *\/\n.td-zones {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 28px;\n}\n.td-zone {\n  background: #fff;\n  border-radius: var(--radius-lg);\n  padding: 36px 32px;\n  box-shadow: var(--shadow);\n  position: relative;\n  border-left: 6px solid var(--green);\n}\n.td-zone--alt { border-left-color: var(--orange); }\n.td-zone__h {\n  font-family: 'Playfair Display', serif;\n  font-size: 1.6rem;\n  color: var(--navy);\n  margin-bottom: 6px;\n}\n.td-zone__for {\n  font-size: .78rem;\n  text-transform: uppercase;\n  letter-spacing: 2px;\n  color: var(--orange);\n  font-weight: 700;\n  margin-bottom: 18px;\n}\n.td-zone ul { list-style: none; padding: 0; margin: 0; }\n.td-zone li {\n  padding: 10px 0;\n  font-size: .94rem;\n  display: flex;\n  gap: 10px;\n  align-items: flex-start;\n  border-bottom: 1px dashed rgba(27,42,90,.1);\n}\n.td-zone li:last-child { border-bottom: 0; }\n@media (max-width: 720px) { .td-zones { grid-template-columns: 1fr; } }\n\n\/* ================================================================\n   FAUNE & NATURE \u2014 cards horizontales\n   ================================================================ *\/\n.td-fauna {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n  gap: 18px;\n  margin-top: 30px;\n}\n.td-fauna__c {\n  background: #fff;\n  border-radius: var(--radius);\n  padding: 22px;\n  box-shadow: var(--shadow-sm);\n  text-align: center;\n  transition: transform .3s, box-shadow .3s;\n}\n.td-fauna__c:hover { transform: translateY(-5px); box-shadow: var(--shadow); }\n.td-fauna__icon { font-size: 2.5rem; margin-bottom: 10px; }\n.td-fauna__name { font-family: 'Playfair Display', serif; font-size: 1.1rem; color: var(--navy); margin-bottom: 4px; }\n.td-fauna__sci { font-style: italic; font-size: .82rem; color: var(--text-soft); margin-bottom: 8px; }\n.td-fauna__when { font-size: .78rem; color: var(--green-dark); font-weight: 600; }\n\n\/* ================================================================\n   SAVEURS LOCALES\n   ================================================================ *\/\n.td-flavors {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));\n  gap: 22px;\n  margin-top: 24px;\n}\n.td-flav {\n  background: #fff;\n  border-radius: var(--radius);\n  padding: 28px 26px;\n  box-shadow: var(--shadow-sm);\n  border-bottom: 4px solid var(--green);\n  transition: all .3s;\n}\n.td-flav:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-bottom-color: var(--orange); }\n.td-flav__name {\n  font-family: 'Playfair Display', serif;\n  font-size: 1.2rem;\n  color: var(--navy);\n  margin-bottom: 6px;\n}\n.td-flav__price {\n  font-size: .85rem;\n  color: var(--orange);\n  font-weight: 700;\n  margin-bottom: 10px;\n}\n.td-flav__desc { font-size: .9rem; color: var(--text-soft); }\n\n\/* ================================================================\n   H\u00d4TELS SIGNATURE\n   ================================================================ *\/\n.td-hotels {\n  display: grid;\n  gap: 18px;\n  margin-top: 24px;\n}\n.td-hotel {\n  background: #fff;\n  border-radius: var(--radius);\n  padding: 22px 26px;\n  box-shadow: var(--shadow-sm);\n  display: grid;\n  grid-template-columns: 60px 1fr auto;\n  gap: 22px;\n  align-items: center;\n  transition: all .3s;\n  border-left: 5px solid var(--green);\n}\n.td-hotel:hover { box-shadow: var(--shadow); transform: translateX(4px); }\n.td-hotel__stars {\n  background: var(--navy);\n  color: var(--yellow);\n  width: 60px; height: 60px;\n  border-radius: 50%;\n  display: flex; align-items: center; justify-content: center;\n  font-family: 'Playfair Display', serif;\n  font-weight: 700;\n  font-size: 1rem;\n}\n.td-hotel__name { font-family: 'Playfair Display', serif; font-size: 1.15rem; color: var(--navy); margin-bottom: 4px; }\n.td-hotel__style { font-size: .85rem; color: var(--text-soft); }\n.td-hotel__for {\n  font-size: .72rem;\n  background: var(--green-soft);\n  color: var(--green-dark);\n  padding: 4px 10px;\n  border-radius: 20px;\n  font-weight: 700;\n  display: inline-block;\n  margin-top: 4px;\n}\n.td-hotel__cta {\n  background: var(--orange);\n  color: #fff !important;\n  padding: 12px 22px;\n  border-radius: 30px;\n  font-weight: 700;\n  font-size: .9rem;\n  white-space: nowrap;\n  text-decoration: none;\n  box-shadow: 0 4px 14px rgba(247,148,29,.35);\n  display: inline-block;\n}\n.td-hotel__cta:hover { background: var(--navy); color: #fff; }\n@media (max-width: 720px) {\n  .td-hotel { grid-template-columns: 1fr; text-align: left; }\n  .td-hotel__stars { margin-bottom: 8px; }\n}\n\n\/* ================================================================\n   TIPS EXPERTS \u2014 RUBRIQUE COMPL\u00c8TE\n   ================================================================ *\/\n.td-tips-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));\n  gap: 22px;\n  margin-top: 30px;\n}\n.td-tipc {\n  background: #fff;\n  border-radius: var(--radius);\n  padding: 28px 28px;\n  box-shadow: var(--shadow-sm);\n  border-top: 5px solid var(--green);\n  transition: all .3s;\n  position: relative;\n}\n.td-tipc:hover { transform: translateY(-5px); box-shadow: var(--shadow); }\n.td-tipc__ico { font-size: 2rem; margin-bottom: 12px; display: inline-block; }\n.td-tipc__cat {\n  font-size: .68rem;\n  letter-spacing: 2px;\n  text-transform: uppercase;\n  font-weight: 700;\n  color: var(--green-dark);\n  margin-bottom: 6px;\n}\n.td-tipc__h { font-family: 'Playfair Display', serif; font-size: 1.05rem; color: var(--navy); margin-bottom: 8px; line-height: 1.3; }\n.td-tipc__txt { font-size: .92rem; color: var(--text-soft); }\n.td-tipc:nth-child(2n)   { border-top-color: var(--orange); }\n.td-tipc:nth-child(2n) .td-tipc__cat { color: var(--orange); }\n.td-tipc:nth-child(3n)   { border-top-color: var(--yellow); }\n.td-tipc:nth-child(3n) .td-tipc__cat { color: #b8860b; }\n\n\/* ================================================================\n   \u00c0 NE PAS FAIRE \u2014 bandeau attention\n   ================================================================ *\/\n.td-avoid {\n  background: linear-gradient(135deg, #fff8f0 0%, #ffe9d4 100%);\n  border-radius: var(--radius-lg);\n  padding: 36px 38px;\n  margin-top: 28px;\n  border-left: 6px solid var(--orange);\n}\n.td-avoid__h {\n  font-family: 'Playfair Display', serif;\n  font-size: 1.5rem;\n  color: var(--navy);\n  margin-bottom: 18px;\n}\n.td-avoid ul { list-style: none; padding: 0; margin: 0; columns: 2; column-gap: 36px; }\n.td-avoid li {\n  padding: 8px 0;\n  font-size: .92rem;\n  display: flex; gap: 10px;\n  break-inside: avoid;\n}\n@media (max-width: 720px) { .td-avoid ul { columns: 1; } }\n\n\/* ================================================================\n   FAQ ACCORD\u00c9ON\n   ================================================================ *\/\n.td-faq { max-width: 900px; margin: 30px auto 0; }\n.td-faq details {\n  background: #fff;\n  border-radius: var(--radius);\n  margin-bottom: 12px;\n  box-shadow: var(--shadow-sm);\n  border-left: 4px solid transparent;\n  transition: all .3s;\n  overflow: hidden;\n}\n.td-faq details[open] { border-left-color: var(--green); box-shadow: var(--shadow); }\n.td-faq summary {\n  padding: 20px 26px;\n  cursor: pointer;\n  font-weight: 600;\n  color: var(--navy);\n  list-style: none;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  font-size: 1rem;\n}\n.td-faq summary::-webkit-details-marker { display: none; }\n.td-faq summary::after {\n  content: \"+\";\n  font-size: 1.5rem;\n  color: var(--orange);\n  font-weight: 300;\n  transition: transform .25s;\n}\n.td-faq details[open] summary::after { transform: rotate(45deg); }\n.td-faq__answer { padding: 0 26px 22px; color: var(--text-soft); line-height: 1.65; font-size: .95rem; }\n\n\/* ================================================================\n   COMBINAISONS (avec quelles destinations associer)\n   ================================================================ *\/\n.td-combo {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n  gap: 22px;\n  margin-top: 30px;\n}\n.td-combo__c {\n  background: #fff;\n  border-radius: 18px;\n  overflow: hidden;\n  box-shadow: var(--shadow-sm);\n  transition: all .3s;\n  text-decoration: none;\n  color: var(--navy);\n  border-bottom: 4px solid var(--green);\n  display: flex;\n  flex-direction: column;\n}\n.td-combo__c:hover { transform: translateY(-6px); box-shadow: var(--shadow); border-bottom-color: var(--orange); }\n.td-combo__media {\n  height: 170px;\n  background: linear-gradient(135deg, var(--green-soft) 0%, var(--orange-soft) 100%);\n  display: block;\n  position: relative;\n  overflow: hidden;\n}\n.td-combo__media img {\n  width: 100%; height: 100%;\n  object-fit: cover;\n  display: block;\n  transition: transform .6s ease;\n}\n.td-combo__c:hover .td-combo__media img { transform: scale(1.06); }\n.td-combo__body { padding: 18px 20px 20px; text-align: center; }\n.td-combo__name { font-family: 'Playfair Display', serif; font-size: 1.2rem; margin-bottom: 6px; color: var(--navy); }\n.td-combo__dist { font-size: .8rem; color: var(--orange); font-weight: 700; margin-bottom: 10px; letter-spacing: 1px; }\n.td-combo__why { font-size: .85rem; color: var(--text-soft); line-height: 1.5; }\n.td-combo__cta { display: inline-block; margin-top: 12px; font-size: .8rem; color: var(--green-dark); font-weight: 700; }\n\n\/* ================================================================\n   CTA BLOCS (Dynamics, PDF, Contact)\n   ================================================================ *\/\n.td-cta-band {\n  background: #fff;\n  border-radius: var(--radius-lg);\n  padding: 60px 40px;\n  text-align: center;\n  position: relative;\n  overflow: hidden;\n  box-shadow: var(--shadow);\n  border: 2px solid var(--green-soft);\n}\n.td-cta-band::before {\n  content: \"\";\n  position: absolute;\n  top: 0; left: 0; right: 0; height: 6px;\n  background: linear-gradient(90deg, var(--green) 0%, var(--orange) 50%, var(--yellow) 100%);\n}\n.td-cta-band > * { position: relative; }\n.td-cta-band h2 { font-family: 'Playfair Display', serif; color: var(--navy); font-size: clamp(1.8rem, 3vw, 2.5rem); margin-bottom: 14px; }\n.td-cta-band p { color: var(--text-soft); margin-bottom: 32px; font-size: 1.05rem; max-width: 680px; margin-left: auto; margin-right: auto; line-height: 1.6; }\n\n.td-btn {\n  display: inline-flex;\n  align-items: center;\n  gap: 10px;\n  padding: 14px 28px;\n  border-radius: 50px;\n  font-weight: 700;\n  text-decoration: none;\n  font-size: .92rem;\n  transition: all .25s;\n  border: 2px solid transparent;\n}\n.td-btn--main {\n  background: var(--navy);\n  color: #fff;\n  box-shadow: 0 6px 20px rgba(27,42,90,.3);\n}\n.td-btn--main:hover { background: var(--green-dark); transform: translateY(-2px); box-shadow: 0 10px 28px rgba(58,125,52,.4); color: #fff; }\n.td-btn--ghost { background: transparent; border-color: var(--navy); color: var(--navy); }\n.td-btn--ghost:hover { background: var(--navy); color: #fff; }\n.td-btn--pdf {\n  background: var(--green);\n  color: #fff !important;\n  box-shadow: 0 6px 20px rgba(125,194,66,.4);\n  font-weight: 800;\n  letter-spacing: .3px;\n}\n.td-btn--pdf:hover { background: var(--green-dark); color: #fff !important; transform: translateY(-2px); box-shadow: 0 10px 28px rgba(58,125,52,.5); }\n\n.td-cta-row {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 14px;\n  justify-content: center;\n}\n\n\/* CTA download PDF \u2014 section d\u00e9di\u00e9e *\/\n.td-pdf-band {\n  background: #fff;\n  border-radius: var(--radius-lg);\n  padding: 40px 36px;\n  display: grid;\n  grid-template-columns: auto 1fr auto;\n  gap: 28px;\n  align-items: center;\n  box-shadow: var(--shadow);\n  border-left: 6px solid var(--green);\n}\n.td-pdf-band__icon { font-size: 3rem; }\n.td-pdf-band__h { font-family: 'Playfair Display', serif; font-size: 1.4rem; color: var(--navy); margin-bottom: 4px; }\n.td-pdf-band__sub { color: var(--text-soft); font-size: .92rem; }\n@media (max-width: 720px) { .td-pdf-band { grid-template-columns: 1fr; text-align: center; } }\n\n\/* Mention discrete pros (BtoC en priorite) *\/\n.td-pro-discreet {\n  margin-top: 36px;\n  padding: 22px 28px;\n  background: var(--bg-alt);\n  border-radius: 12px;\n  border-left: 4px solid var(--navy);\n  text-align: center;\n}\n.td-pro-discreet p { font-size: .9rem; color: var(--text-soft); margin: 0; line-height: 1.6; }\n.td-pro-discreet a { color: var(--orange); font-weight: 700; }\n.td-pro-discreet strong { color: var(--navy); }\n\n\/* ================================================================\n   ANIMATIONS\n   ================================================================ *\/\n.td-anim {\n  opacity: 1;\n  transform: none;\n  animation: td-fade-in .8s ease both;\n}\n.td-anim.is-in {\n  opacity: 1;\n  transform: translateY(0);\n}\n@keyframes td-fade-in {\n  from { opacity: 0; transform: translateY(20px); }\n  to   { opacity: 1; transform: translateY(0); }\n}\n\n\/* ================================================================\n   RESPONSIVE FINETUNING\n   ================================================================ *\/\n@media (max-width: 720px) {\n  .td-section { padding: 60px 0; }\n  .td-hero__brand { width: 56px; height: 56px; top: 16px; left: 16px; }\n  .td-hero__brand svg { width: 38px; height: 38px; }\n}\n\n\/* ================================================================\n   PIED DE PAGE TOUCAN\n   ================================================================ *\/\n.td-foot {\n  background: linear-gradient(135deg, var(--navy) 0%, #14204a 100%);\n  color: #fff;\n  padding: 60px 0 30px;\n  margin-top: 0;\n}\n.td-foot__grid {\n  display: grid;\n  grid-template-columns: 1.4fr 1fr 1fr 1fr;\n  gap: 40px;\n  padding-bottom: 36px;\n  border-bottom: 1px solid rgba(255,255,255,.1);\n}\n.td-foot__brand { padding-right: 20px; }\n.td-foot__logo {\n  font-family: 'Playfair Display', serif;\n  font-size: 1.6rem;\n  font-weight: 700;\n  letter-spacing: 3px;\n  color: var(--green);\n  margin-bottom: 8px;\n}\n.td-foot__logo span { color: #fff; font-weight: 400; letter-spacing: 2px; }\n.td-foot__tagline {\n  font-style: italic;\n  color: rgba(255,255,255,.7);\n  font-size: .9rem;\n  margin-bottom: 16px;\n}\n.td-foot__legal {\n  font-size: .78rem;\n  color: rgba(255,255,255,.5);\n  line-height: 1.6;\n}\n.td-foot__h {\n  color: var(--yellow);\n  font-family: 'Playfair Display', serif;\n  font-size: 1.05rem;\n  margin-bottom: 14px;\n  letter-spacing: 1px;\n}\n.td-foot ul { list-style: none; padding: 0; margin: 0 0 18px; }\n.td-foot ul li { margin-bottom: 8px; }\n.td-foot ul a {\n  color: rgba(255,255,255,.8);\n  font-size: .88rem;\n  text-decoration: none;\n  transition: color .2s;\n}\n.td-foot ul a:hover { color: var(--green); }\n.td-foot__social { display: flex; gap: 10px; }\n.td-foot__social a {\n  width: 36px; height: 36px;\n  border-radius: 50%;\n  background: rgba(255,255,255,.1);\n  color: #fff;\n  display: flex; align-items: center; justify-content: center;\n  font-weight: 700;\n  text-decoration: none;\n  transition: all .2s;\n}\n.td-foot__social a:hover { background: var(--green); transform: translateY(-2px); }\n.td-foot__bottom {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: space-between;\n  gap: 12px;\n  padding-top: 24px;\n  font-size: .8rem;\n  color: rgba(255,255,255,.5);\n}\n.td-foot__bottom a { color: rgba(255,255,255,.7); text-decoration: none; }\n.td-foot__bottom a:hover { color: var(--green); }\n@media (max-width: 880px) {\n  .td-foot__grid { grid-template-columns: 1fr 1fr; gap: 30px; }\n  .td-foot__brand { grid-column: 1 \/ -1; }\n}\n@media (max-width: 540px) {\n  .td-foot__grid { grid-template-columns: 1fr; }\n  .td-foot__bottom { flex-direction: column; align-items: center; text-align: center; }\n}\n<\/style>\n<script>\n(function(){\n  function killEmojis(){\n    var imgs = document.querySelectorAll('img.emoji, img[src*=\"s.w.org\/images\/core\/emoji\"]');\n    if (!imgs.length) return;\n    imgs.forEach(function(img){\n      var t = document.createTextNode(img.alt || '');\n      if (img.parentNode) img.parentNode.replaceChild(t, img);\n    });\n  }\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', killEmojis);\n  else killEmojis();\n  \/\/ 2 retries differes pour rattraper les emojis injectes apres load (SANS observer infini)\n  setTimeout(killEmojis, 1500);\n  setTimeout(killEmojis, 4000);\n})();\n<\/script>\n\n\n\n<section class=\"td-fiche\">\n\n  <!-- ===== HERO ===== -->\n  <header class=\"td-hero\">\n    <div class=\"td-hero__bg\" aria-hidden=\"true\"><img decoding=\"async\" class=\"td-hero__photo\" src=\"https:\/\/images.pexels.com\/photos\/19049976\/pexels-photo-19049976.jpeg?auto=compress&amp;cs=tinysrgb&amp;w=1920\" alt=\"Surfeur sur vague \u00e0 Sayulita Pacifique\" loading=\"eager\"><div class=\"td-hero__bg__overlay\"><\/div><\/div>\n\n    <div class=\"td-hero__content\">\n      <span class=\"td-hero__country\">Mexique \u00b7 Nayarit<\/span>\n      <h1 class=\"td-hero__title\">Sayu<em>l<\/em>ita<\/h1>\n      <p class=\"td-hero__tagline\">\u00ab Le Pueblo M\u00e1gico du surf hippie\u00a0\u00bb \u2014 drapeaux color\u00e9s, plages boh\u00e8mes, ambiance digital nomad.<\/p>\n      <div class=\"td-hero__stats\">\n        <div class=\"td-hero__stat\">\n          <span class=\"td-hero__stat-num\" data-count=\"3\">3<\/span>\n          <span class=\"td-hero__stat-lab\">plages embl\u00e9matiques<\/span>\n        <\/div>\n        <div class=\"td-hero__stat\">\n          <span class=\"td-hero__stat-num\" data-count=\"2015\">2015<\/span>\n          <span class=\"td-hero__stat-lab\">Pueblo M\u00e1gico<\/span>\n        <\/div>\n        <div class=\"td-hero__stat\">\n          <span class=\"td-hero__stat-num\" data-count=\"6000\">6000<\/span>\n          <span class=\"td-hero__stat-lab\">habitants au village<\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"td-hero__scroll\">D\u00e9couvrir<\/div>\n  <\/header>\n\n  <!-- ===== QUICK BAR (ancres pour navigation, pas une sidebar) ===== -->\n  <nav class=\"td-quick\">\n    <div class=\"td-quick__row td-wrap\">\n      <a href=\"#intro\">Intro<\/a>\n      <a href=\"#geo\">G\u00e9ographie<\/a>\n      <a href=\"#climat\">Climat<\/a>\n      <a href=\"#exp\">Exp\u00e9riences<\/a>\n      <a href=\"#zones\">Zones<\/a>\n      <a href=\"#nature\">Nature<\/a>\n      <a href=\"#saveurs\">Saveurs<\/a>\n      <a href=\"#hotels\">H\u00f4tels<\/a>\n      <a href=\"#tips\">Tips Experts<\/a>\n      <a href=\"#faq\">FAQ<\/a>\n      <a href=\"#combo\">Combiner<\/a>\n      <a href=\"#pdf\">\ud83d\udcc4 PDF<\/a>\n    <\/div>\n  <\/nav>\n\n  <!-- ===== INTRO ===== -->\n  <section class=\"td-section\" id=\"intro\">\n    <div class=\"td-wrap\">\n      <div class=\"td-intro__grid td-anim\">\n        <div class=\"td-intro__txt\">\n          <span class=\"td-eyebrow\">\u00c0 propos de Sayulita<\/span>\n          <h2 class=\"td-h2\">Le Pueblo M\u00e1gico <em>du surf et du slow living<\/em><\/h2>\n          <p>Sayulita \u2014 petit village de p\u00eacheurs Huichol devenu dans les ann\u00e9es 70 destination culte des surfeurs californiens. Aujourd'hui <strong>Pueblo M\u00e1gico depuis 2015<\/strong>, c'est l'\u00e9picentre du <strong>slow lifestyle Pacifique<\/strong> : drapeaux multicolores en papier picado dans les ruelles, maisons aux fa\u00e7ades vives, sc\u00e8ne food internationale, communaut\u00e9 digital nomad tr\u00e8s active.<\/p>\n          <p>Trois plages structurent la vie : <strong>Playa Sayulita<\/strong> (centre, surf d\u00e9butants), <strong>Playa de los Muertos<\/strong> (sud, plus calme, baignade) et <strong>Playa Patzcuarito<\/strong> (nord, sauvage). \u00c0 45 min de Puerto Vallarta, Sayulita reste pr\u00e9serv\u00e9e du tourisme de masse gr\u00e2ce \u00e0 sa taille (6 000 habitants) et son ambiance villageoise authentique.<\/p>\n          <p style=\"font-style: italic; color: var(--green-dark); font-weight: 600;\">Notre conseil terrain : 3 nuits minimum \u00e0 Sayulita pour absorber l'ambiance. Et y aller en COMBINAISON avec Puerto Vallarta \u2014 l'un n'est pas l'autre, les deux sont essentiels.<\/p>\n        <\/div>\n        <div class=\"td-intro__photo\">\n          <img decoding=\"async\" loading=\"eager\" alt=\"Plage de Playa del Carmen, sable blanc et eau turquoise\"\n               src=\"https:\/\/images.pexels.com\/photos\/15036508\/pexels-photo-15036508.jpeg?auto=compress&amp;cs=tinysrgb&amp;w=1280\">\n          <div class=\"td-intro__badge\">\ud83d\udccd Quintana Roo, Mexique \u00b7 Riviera Maya<\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ===== G\u00c9O & CLIMAT ===== -->\n  <section class=\"td-section td-section--alt\" id=\"geo\">\n    <div class=\"td-wrap\">\n      <span class=\"td-eyebrow\">Rep\u00e8res<\/span>\n      <h2 class=\"td-h2\">G\u00e9ographie & <em>climat<\/em><\/h2>\n      <p class=\"td-lead\">L'essentiel \u00e0 conna\u00eetre avant de s'envoler \u2014 situation, acc\u00e8s, temp\u00e9ratures et meilleure p\u00e9riode.<\/p>\n\n      <div class=\"td-info-grid td-anim\">\n        <div class=\"td-info-card\">\n          <span class=\"td-info-card__icon\">\ud83d\uddfa\ufe0f<\/span>\n          <h3 class=\"td-info-card__h\">Situation & Acc\u00e8s<\/h3>\n          <ul>\n            <li><span>\ud83d\udccd<\/span><span><strong>Localisation<\/strong>\u00c9tat de Jalisco, c\u00f4te Pacifique mexicaine, sur la Baie de Banderas (33 km), \u00e0 4\u1d49 plus grande baie du monde<\/span><\/li>\n            <li><span>\u2708\ufe0f<\/span><span><strong>A\u00e9roport<\/strong>Puerto Vallarta International (PVR) \u2014 vols directs Paris (Air France via Mexico), USA (Houston, LA, Dallas), 15 min du Centro<\/span><\/li>\n            <li><span>\ud83d\ude97<\/span><span><strong>Centro Hist\u00f3rico<\/strong>Malec\u00f3n, Iglesia Guadalupe, Plaza de Armas, Cuale Island \u2014 tout \u00e0 pied dans la Zona Rom\u00e1ntica<\/span><\/li>\n            <li><span>\ud83d\ude90<\/span><span><strong>Bus locaux<\/strong>Bus 5 pesos sur la c\u00f4te Sud (vers Mismaloya) ou Nord (vers Sayulita) \u2014 \u00e9conomiques mais lents<\/span><\/li>\n            <li><span>\ud83d\udee3\ufe0f<\/span><span><strong>Excursions cl\u00e9s<\/strong>Sayulita 45 min N \u00b7 Yelapa 1h bateau \u00b7 Mismaloya 30 min S \u00b7 San Sebasti\u00e1n del Oeste 1h30 montagne<\/span><\/li>\n          <\/ul>\n        <\/div>\n\n        <div class=\"td-info-card td-info-card--orange\">\n          <span class=\"td-info-card__icon\">\u2600\ufe0f<\/span>\n          <h3 class=\"td-info-card__h\">Climat & Saison<\/h3>\n          <ul>\n            <li><span>\ud83c\udf21\ufe0f<\/span><span><strong>Temp\u00e9rature<\/strong>28\u00b0C jour \/ 22\u00b0C nuit \u00b7 climat tropical carib\u00e9en toute l'ann\u00e9e<\/span><\/li>\n            <li><span>\u2600\ufe0f<\/span><span><strong>Saison s\u00e8che<\/strong>D\u00e9cembre \u2192 Avril \u00b7 plage parfaite, sargasses absentes \u00b7 haute saison<\/span><\/li>\n            <li><span>\ud83c\udf3f<\/span><span><strong>Sargasses<\/strong>Mai \u2192 Ao\u00fbt \u00b7 vagues d'algues sur la plage (variable, \u00e0 v\u00e9rifier avant d\u00e9part)<\/span><\/li>\n            <li><span>\ud83c\udf2a\ufe0f<\/span><span><strong>Pluies &amp; ouragans<\/strong>Septembre\u2013Octobre \u00b7 vigilance, mais peu d'ouragans frappent directement Playa<\/span><\/li>\n            <li><span>\ud83d\udc8e<\/span><span><strong>Sweet spot<\/strong>D\u00e9cembre-Mars (haute saison parfaite) \u00b7 Novembre (post-pluies, plage propre, prix doux)<\/span><\/li>\n          <\/ul>\n        <\/div>\n      <\/div>\n\n      <!-- CALENDRIER MENSUEL VISUEL -->\n      <div class=\"td-anim\" id=\"climat\" style=\"margin-top: 50px;\">\n        <h3 style=\"font-family: 'Playfair Display', serif; font-size: 1.6rem; color: var(--navy); margin-bottom: 8px;\">Mois par mois \u2014 quand partir ?<\/h3>\n        <p style=\"color: var(--text-soft); margin-bottom: 0;\">Survolez les mois pour identifier les meilleures fen\u00eatres.<\/p>\n        <div class=\"td-cal\">\n          <div class=\"td-cal__m td-cal__m--high\"><span class=\"td-cal__dot\"><\/span><div class=\"td-cal__name\">Jan<\/div><div class=\"td-cal__icon\">\u2600\ufe0f<\/div><\/div>\n          <div class=\"td-cal__m td-cal__m--high\"><span class=\"td-cal__dot\"><\/span><div class=\"td-cal__name\">F\u00e9v<\/div><div class=\"td-cal__icon\">\u2600\ufe0f<\/div><\/div>\n          <div class=\"td-cal__m td-cal__m--high\"><span class=\"td-cal__dot\"><\/span><div class=\"td-cal__name\">Mar<\/div><div class=\"td-cal__icon\">\u2600\ufe0f<\/div><\/div>\n          <div class=\"td-cal__m td-cal__m--top\"><span class=\"td-cal__dot\"><\/span><div class=\"td-cal__name\">Avr<\/div><div class=\"td-cal__icon\">\ud83c\udf24\ufe0f<\/div><\/div>\n          <div class=\"td-cal__m td-cal__m--low\"><span class=\"td-cal__dot\"><\/span><div class=\"td-cal__name\">Mai<\/div><div class=\"td-cal__icon\">\ud83c\udf3f<\/div><\/div>\n          <div class=\"td-cal__m td-cal__m--low\"><span class=\"td-cal__dot\"><\/span><div class=\"td-cal__name\">Jun<\/div><div class=\"td-cal__icon\">\ud83c\udf3f<\/div><\/div>\n          <div class=\"td-cal__m td-cal__m--low\"><span class=\"td-cal__dot\"><\/span><div class=\"td-cal__name\">Jul<\/div><div class=\"td-cal__icon\">\ud83c\udf3f<\/div><\/div>\n          <div class=\"td-cal__m td-cal__m--low\"><span class=\"td-cal__dot\"><\/span><div class=\"td-cal__name\">Ao\u00fb<\/div><div class=\"td-cal__icon\">\ud83c\udf27\ufe0f<\/div><\/div>\n          <div class=\"td-cal__m\"><span class=\"td-cal__dot\"><\/span><div class=\"td-cal__name\">Sep<\/div><div class=\"td-cal__icon\">\ud83c\udf2a\ufe0f<\/div><\/div>\n          <div class=\"td-cal__m\"><span class=\"td-cal__dot\"><\/span><div class=\"td-cal__name\">Oct<\/div><div class=\"td-cal__icon\">\ud83c\udf27\ufe0f<\/div><\/div>\n          <div class=\"td-cal__m td-cal__m--top\"><span class=\"td-cal__dot\"><\/span><div class=\"td-cal__name\">Nov<\/div><div class=\"td-cal__icon\">\ud83d\udc8e<\/div><\/div>\n          <div class=\"td-cal__m td-cal__m--high\"><span class=\"td-cal__dot\"><\/span><div class=\"td-cal__name\">D\u00e9c<\/div><div class=\"td-cal__icon\">\u2600\ufe0f<\/div><\/div>\n        <\/div>\n        <div class=\"td-cal__legend\">\n          <span><i style=\"background: var(--green);\"><\/i>Sweet spot Toucan<\/span>\n          <span><i style=\"background: var(--orange);\"><\/i>Haute saison<\/span>\n          <span><i style=\"background: var(--navy);\"><\/i>Saison d\u00e9conseill\u00e9e<\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ===== EXP\u00c9RIENCES SIGNATURE ===== -->\n  <section class=\"td-section\" id=\"exp\">\n    <div class=\"td-wrap\">\n      <span class=\"td-eyebrow\">\u00c0 ne pas manquer<\/span>\n      <h2 class=\"td-h2\">Les 5 exp\u00e9riences <em>signature<\/em><\/h2>\n      <p class=\"td-lead\">Ce qu'on recommande syst\u00e9matiquement \u00e0 nos voyageurs. Avec, sous chaque exp\u00e9rience, le secret terrain qui fait la diff\u00e9rence.<\/p>\n\n      <div class=\"td-exps\">\n\n        <article class=\"td-exp td-anim\">\n          <div class=\"td-exp__media\">\n            <span class=\"td-exp__num\">1<\/span>\n            <img decoding=\"async\" loading=\"lazy\" alt=\"Surfeurs sur Playa Sayulita\"\n                 src=\"https:\/\/images.pexels.com\/photos\/4784090\/pexels-photo-4784090.jpeg?auto=compress&amp;cs=tinysrgb&amp;w=1280\">\n          <\/div>\n          <div class=\"td-exp__body\">\n            <span class=\"td-exp__cat\">\ud83c\udfc4 Surf d\u00e9butants &amp; interm\u00e9diaires<\/span>\n            <h3 class=\"td-exp__title\">Playa Sayulita &amp; cours de surf<\/h3>\n            <p class=\"td-exp__desc\">La plage centrale du village : <strong>vagues douces parfaites pour apprendre<\/strong>. Plusieurs \u00e9coles de surf align\u00e9es sur la plage (Sayulita Surf School, Patricia's, Wild Mex). Cours de 2h \u00e0 $40-60. Beach clubs avec transats et restos pieds dans le sable. Coucher de soleil l\u00e9gendaire.<\/p>\n            <div class=\"td-exp__tips\">\n              <div class=\"td-tip td-tip--secret\"><strong>\ud83e\udd2b Secret Pro :<\/strong> t\u00f4t le matin (7h) = vagues parfaites + plage d\u00e9serte. Id\u00e9al pour cours d\u00e9butants.<\/div>\n              <div class=\"td-tip td-tip--vip\"><strong>\ud83d\udc51 Option VIP :<\/strong> cours de surf priv\u00e9 avec photographe inclus, $90\/pers, photos GoPro fournies.<\/div>\n            <\/div>\n          <\/div>\n        <\/article>\n\n        <article class=\"td-exp td-anim\">\n          <div class=\"td-exp__media\">\n            <span class=\"td-exp__num\">2<\/span>\n            <img decoding=\"async\" loading=\"lazy\" alt=\"Rues color\u00e9es de Sayulita avec papel picado\"\n                 src=\"https:\/\/images.pexels.com\/photos\/29159332\/pexels-photo-29159332.jpeg?auto=compress&amp;cs=tinysrgb&amp;w=1280\">\n          <\/div>\n          <div class=\"td-exp__body\">\n            <span class=\"td-exp__cat\">\ud83c\udfa8 Art huichol &amp; village<\/span>\n            <h3 class=\"td-exp__title\">Centro &amp; art huichol<\/h3>\n            <p class=\"td-exp__desc\">Ruelles pav\u00e9es tapiss\u00e9es de <strong>drapeaux papel picado multicolores<\/strong>, fa\u00e7ades roses-jaune-bleu-vert, fresques murales. Plaza Principal avec son \u00e9glise blanche. Boutiques d'<strong>art huichol<\/strong> traditionnel : tableaux de perles (chaquira), sculptures de cire color\u00e9e, masques rituels. Authentiques, \u00e0 acheter directement aux artistes.<\/p>\n            <div class=\"td-exp__tips\">\n              <div class=\"td-tip td-tip--astuce\"><strong>\ud83d\udca1 Astuce :<\/strong> Galer\u00eda Tanana = collectif d'artistes huichols, prix justes, qualit\u00e9 garantie.<\/div>\n              <div class=\"td-tip td-tip--secret\"><strong>\ud83e\udd2b Secret Pro :<\/strong> Don Pedro's = restaurant fondateur de Sayulita (1994), terrasse plage, ambiance ic\u00f4nique.<\/div>\n            <\/div>\n          <\/div>\n        <\/article>\n\n        <article class=\"td-exp td-anim\">\n          <div class=\"td-exp__media\">\n            <span class=\"td-exp__num\">3<\/span>\n            <img decoding=\"async\" loading=\"lazy\" alt=\"Playa de los Muertos plage Sayulita\"\n                 src=\"https:\/\/images.pexels.com\/photos\/15036508\/pexels-photo-15036508.jpeg?auto=compress&amp;cs=tinysrgb&amp;w=1280\">\n          <\/div>\n          <div class=\"td-exp__body\">\n            <span class=\"td-exp__cat\">\ud83c\udfd6\ufe0f Plage cach\u00e9e<\/span>\n            <h3 class=\"td-exp__title\">Playa de los Muertos &amp; Patzcuarito<\/h3>\n            <p class=\"td-exp__desc\"><strong>Playa de los Muertos<\/strong> (sud) : 15 min \u00e0 pied du Centro, acc\u00e8s par sentier traversant un cimeti\u00e8re (rassurant \u2014 tombes mexicaines color\u00e9es). Plage en croissant, eau plus calme, parfait pour baignade. <strong>Playa Patzcuarito<\/strong> (nord) : 30 min \u00e0 pied, plus sauvage, surf interm\u00e9diaire, quasi d\u00e9serte.<\/p>\n            <div class=\"td-exp__tips\">\n              <div class=\"td-tip td-tip--astuce\"><strong>\ud83d\udca1 Astuce :<\/strong> Playa de los Muertos = la baignade family-friendly. Patzcuarito = sauvage, pas de service, apporter eau.<\/div>\n              <div class=\"td-tip td-tip--secret\"><strong>\ud83e\udd2b Secret Pro :<\/strong> sentier de Patzcuarito traverse jungle avec singes-araign\u00e9es + iguanes \u2014 observation faune.<\/div>\n            <\/div>\n          <\/div>\n        <\/article>\n\n        <article class=\"td-exp td-anim\">\n          <div class=\"td-exp__media\">\n            <span class=\"td-exp__num\">4<\/span>\n            <img decoding=\"async\" loading=\"lazy\" alt=\"San Pancho Pueblo M\u00e1gico voisin\"\n                 src=\"https:\/\/images.pexels.com\/photos\/27638882\/pexels-photo-27638882.jpeg?auto=compress&amp;cs=tinysrgb&amp;w=1280\">\n          <\/div>\n          <div class=\"td-exp__body\">\n            <span class=\"td-exp__cat\">\ud83c\udf34 Voisin culte<\/span>\n            <h3 class=\"td-exp__title\">San Pancho (San Francisco)<\/h3>\n            <p class=\"td-exp__desc\">\u00c0 10 min au nord, <strong>San Pancho<\/strong> est le \u00ab petit fr\u00e8re \u00bb plus calme de Sayulita. Plus authentique, moins touristique, sc\u00e8ne artistique vibrante (festivals, th\u00e9\u00e2tre), restos branch\u00e9s. La plage est sauvage, immense, parfaite pour la course du matin. \u00c0 ne pas manquer en compl\u00e9ment.<\/p>\n            <div class=\"td-exp__tips\">\n              <div class=\"td-tip td-tip--astuce\"><strong>\ud83d\udca1 Astuce :<\/strong> d\u00eener \u00e0 <em>La Patrona Polo Club<\/em> (Sat night polo) ou Caf\u00e9 del Mar (sunset).<\/div>\n              <div class=\"td-tip td-tip--secret\"><strong>\ud83e\udd2b Secret Pro :<\/strong> Bird Sanctuary \u00e0 San Pancho = sortie ornithologique gratuite, 100+ esp\u00e8ces.<\/div>\n            <\/div>\n          <\/div>\n        <\/article>\n\n        <article class=\"td-exp td-anim\">\n          <div class=\"td-exp__media\">\n            <span class=\"td-exp__num\">5<\/span>\n            <img decoding=\"async\" loading=\"lazy\" alt=\"Islas Marietas r\u00e9serve Pacifique\"\n                 src=\"https:\/\/images.pexels.com\/photos\/4671472\/pexels-photo-4671472.jpeg?auto=compress&amp;cs=tinysrgb&amp;w=1280\">\n          <\/div>\n          <div class=\"td-exp__body\">\n            <span class=\"td-exp__cat\">\ud83c\udf0a R\u00e9serve UNESCO<\/span>\n            <h3 class=\"td-exp__title\">Islas Marietas &amp; Playa Escondida<\/h3>\n            <p class=\"td-exp__desc\">R\u00e9serve de biosph\u00e8re UNESCO \u00e0 1h de bateau. La fameuse <strong>Playa Escondida<\/strong> (Hidden Beach) \u2014 plage cach\u00e9e dans une grotte cr\u00e9\u00e9e par un crat\u00e8re, accessible uniquement \u00e0 la nage \u00e0 mar\u00e9e basse. Snorkeling exceptionnel, observation baleines \u00e0 bosse en hiver (d\u00e9c-mars).<\/p>\n            <div class=\"td-exp__tips\">\n              <div class=\"td-tip td-tip--vip\"><strong>\ud83d\udc51 Option VIP :<\/strong> bateau priv\u00e9 Marietas + d\u00e9jeuner pieds dans l'eau, $200 pour 4 pers.<\/div>\n              <div class=\"td-tip td-tip--secret\"><strong>\ud83e\udd2b Secret Pro :<\/strong> quota strict UNESCO. R\u00e9server 2 semaines avant via op\u00e9rateur certifi\u00e9.<\/div>\n            <\/div>\n          <\/div>\n        <\/article>\n\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ===== ZONES CL\u00c9S ===== -->\n  <section class=\"td-section td-section--alt\" id=\"zones\">\n    <div class=\"td-wrap\">\n      <span class=\"td-eyebrow\">G\u00e9ographie de la ville<\/span>\n      <h2 class=\"td-h2\">Sayulita &amp; ses <em>3 plages<\/em><\/h2>\n      <p class=\"td-lead\">Playa s'organise autour de la <strong>Quinta Avenida<\/strong> (vie urbaine), du <strong>front de mer<\/strong> (plages, beach clubs, ferry) et de <strong>Playacar<\/strong> (r\u00e9sidentiel premium au sud). Comprendre les 3 change tout.<\/p>\n\n      <div class=\"td-zones td-anim\">\n        <div class=\"td-zone\">\n          <h3 class=\"td-zone__h\">Centro &amp; Zona Rom\u00e1ntica<\/h3>\n          <p class=\"td-zone__for\">Pour : marche \u00b7 gastronomie \u00b7 vie nocturne<\/p>\n          <ul>\n            <li>\ud83c\udf05 <span><strong>Malec\u00f3n<\/strong> 2 km de promenade, sculptures, coucher de soleil<\/span><\/li>\n            <li>\u26ea <span><strong>Iglesia de Guadalupe<\/strong> embl\u00e8me, couronne en fer forg\u00e9<\/span><\/li>\n            <li>\ud83c\udf08 <span><strong>Zona Rom\u00e1ntica<\/strong> ambiance boh\u00e8me, sc\u00e8ne LGBTQ+, restos chic<\/span><\/li>\n            <li>\ud83c\udfd6\ufe0f <span><strong>Playa Los Muertos<\/strong> plage la plus anim\u00e9e, beach clubs align\u00e9s<\/span><\/li>\n            <li>\ud83c\udfa8 <span><strong>Galer\u00edas d'art<\/strong> Vallarta sc\u00e8ne artistique vivante depuis les ann\u00e9es 60<\/span><\/li>\n          <\/ul>\n        <\/div>\n\n        <div class=\"td-zone td-zone--alt\">\n          <h3 class=\"td-zone__h\">Marina, Nord &amp; Sierra<\/h3>\n          <p class=\"td-zone__for\">Pour : luxe \u00b7 familles \u00b7 excursions<\/p>\n          <ul>\n            <li>\u2693 <span><strong>Marina Vallarta<\/strong> nord, h\u00f4tels luxe, restos waterfront, golf<\/span><\/li>\n            <li>\ud83c\udfe8 <span><strong>Punta Mita<\/strong> 45 min N, p\u00e9ninsule luxe (Four Seasons, Rosewood)<\/span><\/li>\n            <li>\ud83c\udfd6\ufe0f <span><strong>Sayulita<\/strong> 45 min N, Pueblo M\u00e1gico surf hippie<\/span><\/li>\n            <li>\ud83d\udee5\ufe0f <span><strong>Yelapa<\/strong> 45 min bateau S, village isol\u00e9 sans route<\/span><\/li>\n            <li>\ud83c\udfd4\ufe0f <span><strong>San Sebasti\u00e1n del Oeste<\/strong> 1h30 montagne, pueblo colonial 1 500 m<\/span><\/li>\n          <\/ul>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ===== FAUNE & NATURE ===== -->\n  <section class=\"td-section\" id=\"nature\">\n    <div class=\"td-wrap\">\n      <span class=\"td-eyebrow\">Bestiaire<\/span>\n      <h2 class=\"td-h2\">La nature qui vous <em>attend<\/em><\/h2>\n      <p class=\"td-lead\">Playa del Carmen et son arri\u00e8re-pays carib\u00e9en abritent une biodiversit\u00e9 marine et terrestre exceptionnelle. \u00c0 Cozumel : barri\u00e8re de corail. \u00c0 Akumal : tortues vertes. Dans les cenotes : raies. Et en mer ouverte : requins-baleines (mai-sept).<\/p>\n\n      <div class=\"td-fauna td-anim\">\n        <div class=\"td-fauna__c\"><div class=\"td-fauna__icon\">\ud83d\udc22<\/div><div class=\"td-fauna__name\">Tortue verte<\/div><div class=\"td-fauna__sci\">Chelonia mydas<\/div><div class=\"td-fauna__when\">Akumal \u00b7 toute l'ann\u00e9e<\/div><\/div>\n        <div class=\"td-fauna__c\"><div class=\"td-fauna__icon\">\ud83d\udc20<\/div><div class=\"td-fauna__name\">Raie aigle<\/div><div class=\"td-fauna__sci\">Aetobatus narinari<\/div><div class=\"td-fauna__when\">Cozumel \u00b7 toute l'ann\u00e9e<\/div><\/div>\n        <div class=\"td-fauna__c\"><div class=\"td-fauna__icon\">\ud83e\udd88<\/div><div class=\"td-fauna__name\">Requin-baleine<\/div><div class=\"td-fauna__sci\">Rhincodon typus<\/div><div class=\"td-fauna__when\">Mai \u2192 Septembre (sortie)<\/div><\/div>\n        <div class=\"td-fauna__c\"><div class=\"td-fauna__icon\">\ud83d\udc2c<\/div><div class=\"td-fauna__name\">Dauphin tursiops<\/div><div class=\"td-fauna__sci\">Tursiops truncatus<\/div><div class=\"td-fauna__when\">C\u00f4te cara\u00efbe \u00b7 toute l'ann\u00e9e<\/div><\/div>\n        <div class=\"td-fauna__c\"><div class=\"td-fauna__icon\">\ud83e\udd8e<\/div><div class=\"td-fauna__name\">Iguane vert<\/div><div class=\"td-fauna__sci\">Iguana iguana<\/div><div class=\"td-fauna__when\">Playacar Golf \u00b7 toute l'ann\u00e9e<\/div><\/div>\n        <div class=\"td-fauna__c\"><div class=\"td-fauna__icon\">\ud83d\udc26<\/div><div class=\"td-fauna__name\">Fr\u00e9gate magnifique<\/div><div class=\"td-fauna__sci\">Fregata magnificens<\/div><div class=\"td-fauna__when\">C\u00f4te \u00b7 toute l'ann\u00e9e<\/div><\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ===== SAVEURS ===== -->\n  <section class=\"td-section td-section--alt\" id=\"saveurs\">\n    <div class=\"td-wrap\">\n      <span class=\"td-eyebrow\">Gastronomie<\/span>\n      <h2 class=\"td-h2\">Saveurs <em>de Sayulita<\/em><\/h2>\n      <p class=\"td-lead\">Sayulita = <strong>cuisine mexicaine c\u00f4ti\u00e8re revisit\u00e9e par la sc\u00e8ne internationale<\/strong>. Poisson frais (mahi-mahi, marlin), ceviches, aguachile, tacos de pescado de Baja, et la fameuse <strong>raicilla<\/strong> du Jalisco. Beach restos, food trucks, brunch boho-chic \u2014 l'exp\u00e9rience culinaire fait partie du voyage.<\/p>\n\n            <div class=\"td-flavors td-anim\">\n        <div class=\"td-flav\"><div class=\"td-flav__name\">\ud83d\udc1f Tacos de pescado<\/div><div class=\"td-flav__price\">~$3 \/ taco<\/div><div class=\"td-flav__desc\">L'invention culte de Baja : poisson tempura (mahi-mahi), chou r\u00e2p\u00e9, cr\u00e8me, sauce piquante, citron. Go\u00fbter chez Tacos El Ivan ou Mary's Sayulita \u2014 face \u00e0 la plage, au bord du sable.<\/div><\/div>\n        <div class=\"td-flav\"><div class=\"td-flav__name\">\ud83c\udf2e Tacos al Pastor<\/div><div class=\"td-flav__price\">~$2 \/ taco<\/div><div class=\"td-flav__desc\">Porc marin\u00e9 rouge, cuit sur trompo, ananas grill\u00e9. Le classique mexicain. Tacos Sayulita ou Don Pedro's pour la version locale apr\u00e8s une journ\u00e9e surf.<\/div><\/div>\n        <div class=\"td-flav\"><div class=\"td-flav__name\">\ud83c\udf64 Aguachile<\/div><div class=\"td-flav__price\">~$13 \u2014 entr\u00e9e<\/div><div class=\"td-flav__desc\">Crevettes crues en jus piquant, citron vert, coriandre, chili serrano. Servi en cocktail, pieds dans le sable. La meilleure version chez El Itacate (off the main street).<\/div><\/div>\n        <div class=\"td-flav\"><div class=\"td-flav__name\">\ud83c\udf2f Burrito de pescado<\/div><div class=\"td-flav__price\">~$8 \u2014 plat<\/div><div class=\"td-flav__desc\">Sp\u00e9cialit\u00e9 surfeurs Sayulita : tortilla farine, poisson grill\u00e9, riz, haricots, avocat, salsa. Wakika ou Burrito Revolution sont des institutions locales du midi.<\/div><\/div>\n        <div class=\"td-flav\"><div class=\"td-flav__name\">\ud83e\udd65 Cocktails artisanaux<\/div><div class=\"td-flav__price\">$8\u201314 \u2014 verre<\/div><div class=\"td-flav__desc\">Mezcal-jamaica, mojito-pitaya, tepache. Don Pedro's beach club ou Atico (rooftop) servent les meilleurs cocktails au coucher du soleil.<\/div><\/div>\n        <div class=\"td-flav\"><div class=\"td-flav__name\">\ud83c\udf66 Paletas Sayulita<\/div><div class=\"td-flav__price\">~$3 \u2014 pi\u00e8ce<\/div><div class=\"td-flav__desc\">Glaces artisanales mexicaines aux fruits frais (mangue-chili, hibiscus, coco, tamarin). Go\u00fbter chez Wanderlust Paletas, sur la plaza centrale, le rituel de fin d'apr\u00e8s-midi.<\/div><\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ===== H\u00d4TELS SIGNATURE ===== -->\n  <section class=\"td-section\" id=\"hotels\">\n    <div class=\"td-wrap\">\n      <span class=\"td-eyebrow\">Notre s\u00e9lection terrain<\/span>\n      <h2 class=\"td-h2\">O\u00f9 <em>dormir<\/em> \u00e0 Sayulita ?<\/h2>\n      <p class=\"td-lead\">Sayulita = <strong>boutique-h\u00f4tels intimes<\/strong> et <strong>B&amp;B charme<\/strong>. Pas de grand resort dans le village (volont\u00e9 locale Pueblo M\u00e1gico). Voici notre s\u00e9lection : design, ambiance boh\u00e8me, \u00e0 5-10 min \u00e0 pied de la plage.<\/p>\n\n      <div class=\"td-hotels td-anim\">\n        <div class=\"td-hotel\">\n          <div class=\"td-hotel__stars\">5\u2605<\/div>\n          <div>\n            <div class=\"td-hotel__name\">Casa Camale\u00f3n<\/div>\n            <div class=\"td-hotel__style\">Boutique luxe \u00b7 Punta Mita \u00b7 architecture organique \u00b7 spa<\/div>\n            <span class=\"td-hotel__for\">Lune de miel \u00b7 Voyage signature<\/span>\n          <\/div>\n          <a class=\"td-hotel__cta\" href=\"https:\/\/dynamics.toucandiscovery.com\/?destination=sayulita&amp;hotel=casa-camaleon\" target=\"_blank\" rel=\"noopener\">\u26a1 R\u00e9server Dynamics<\/a>\n        <\/div>\n        <div class=\"td-hotel\">\n          <div class=\"td-hotel__stars\">4\u2605<\/div>\n          <div>\n            <div class=\"td-hotel__name\">Hotel Aurinko<\/div>\n            <div class=\"td-hotel__style\">Boutique design \u00b7 Centro \u00b7 8 chambres \u00b7 piscine \u00b7 vue plage<\/div>\n            <span class=\"td-hotel__for\">Couples \u00b7 Design lovers<\/span>\n          <\/div>\n          <a class=\"td-hotel__cta\" href=\"https:\/\/dynamics.toucandiscovery.com\/?destination=sayulita&amp;hotel=aurinko\" target=\"_blank\" rel=\"noopener\">\u26a1 R\u00e9server Dynamics<\/a>\n        <\/div>\n        <div class=\"td-hotel\">\n          <div class=\"td-hotel__stars\">4\u2605<\/div>\n          <div>\n            <div class=\"td-hotel__name\">Petit Hotel Hafa<\/div>\n            <div class=\"td-hotel__style\">Boutique marocain-mexicain \u00b7 4 chambres \u00b7 \u00e0 100 m plage \u00b7 charme<\/div>\n            <span class=\"td-hotel__for\">Couples \u00b7 Authentique<\/span>\n          <\/div>\n          <a class=\"td-hotel__cta\" href=\"https:\/\/dynamics.toucandiscovery.com\/?destination=sayulita&amp;hotel=hafa\" target=\"_blank\" rel=\"noopener\">\u26a1 R\u00e9server Dynamics<\/a>\n        <\/div>\n        <div class=\"td-hotel\">\n          <div class=\"td-hotel__stars\">3\u2605<\/div>\n          <div>\n            <div class=\"td-hotel__name\">Casa Love<\/div>\n            <div class=\"td-hotel__style\">B&amp;B charme \u00b7 ambiance hippie \u00b7 jardin tropical \u00b7 \u00e0 5 min plage<\/div>\n            <span class=\"td-hotel__for\">Voyageurs curieux \u00b7 Slow travel<\/span>\n          <\/div>\n          <a class=\"td-hotel__cta\" href=\"https:\/\/dynamics.toucandiscovery.com\/?destination=sayulita&amp;hotel=casa-love\" target=\"_blank\" rel=\"noopener\">\u26a1 R\u00e9server Dynamics<\/a>\n        <\/div>\n        <div class=\"td-hotel\">\n          <div class=\"td-hotel__stars\">3\u2605<\/div>\n          <div>\n            <div class=\"td-hotel__name\">Sayulita Beach Hotel<\/div>\n            <div class=\"td-hotel__style\">Bord plage \u00b7 18 chambres \u00b7 piscine \u00b7 ambiance backpacker chic<\/div>\n            <span class=\"td-hotel__for\">Voyageurs solo \u00b7 Surfeurs<\/span>\n          <\/div>\n          <a class=\"td-hotel__cta\" href=\"https:\/\/dynamics.toucandiscovery.com\/?destination=sayulita&amp;hotel=beach-hotel\" target=\"_blank\" rel=\"noopener\">\u26a1 R\u00e9server Dynamics<\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ===== TIPS EXPERTS \u2014 RUBRIQUE ===== -->\n  <section class=\"td-section td-section--alt\" id=\"tips\">\n    <div class=\"td-wrap\">\n      <span class=\"td-eyebrow\">L'expertise terrain<\/span>\n      <h2 class=\"td-h2\">Tips <em>Experts<\/em> Toucan<\/h2>\n      <p class=\"td-lead\">Les vrais conseils que les guides ne vous donnent pas. 8 raccourcis terrain pour \u00e9conomiser temps, argent et frustration.<\/p>\n\n            <div class=\"td-tips-grid td-anim\">\n\n        <div class=\"td-tipc\">\n          <span class=\"td-tipc__ico\">\u2708\ufe0f<\/span>\n          <div class=\"td-tipc__cat\">Acc\u00e8s<\/div>\n          <h3 class=\"td-tipc__h\">A\u00e9roport PVR + 45 min route<\/h3>\n          <p class=\"td-tipc__txt\">Vols directs Mexico City (1h) ou USA (Houston, LA) sur Puerto Vallarta (PVR). Air France via Mexico depuis Paris. Transfert PVR \u2192 Sayulita 45 min, ~$45 priv\u00e9 ou bus ~$5.<\/p>\n        <\/div>\n\n        <div class=\"td-tipc\">\n          <span class=\"td-tipc__ico\">\ud83c\udfc4<\/span>\n          <div class=\"td-tipc__cat\">Surf<\/div>\n          <h3 class=\"td-tipc__h\">Cours de surf 2h $40-60<\/h3>\n          <p class=\"td-tipc__txt\">Plusieurs \u00e9coles align\u00e9es sur Playa Sayulita (Sayulita Surf School, Patricia's, Wild Mex). Vagues douces parfaites d\u00e9butants. Cours 2h tout compris (planche + combinaison + photo).<\/p>\n        <\/div>\n\n        <div class=\"td-tipc\">\n          <span class=\"td-tipc__ico\">\ud83c\udf05<\/span>\n          <div class=\"td-tipc__cat\">Sunset<\/div>\n          <h3 class=\"td-tipc__h\">Don Pedro's beach sunset<\/h3>\n          <p class=\"td-tipc__txt\">Coucher de soleil culte sur Playa Sayulita. Don Pedro's beach club ou Mary's Sayulita \u00e0 l'extr\u00e9mit\u00e9 sud, pieds dans le sable. Cocktail + fish tacos = combo signature du village.<\/p>\n        <\/div>\n\n        <div class=\"td-tipc\">\n          <span class=\"td-tipc__ico\">\ud83c\udfa8<\/span>\n          <div class=\"td-tipc__cat\">Culture<\/div>\n          <h3 class=\"td-tipc__h\">Art huichol authentique<\/h3>\n          <p class=\"td-tipc__txt\">Acheter directement aux artistes huichol sur la plaza ou Calle Marlin : tableaux de perles (chaquira), sculptures de cire color\u00e9e, masques. Authentique, prix corrects, souvenir unique.<\/p>\n        <\/div>\n\n        <div class=\"td-tipc\">\n          <span class=\"td-tipc__ico\">\ud83d\udee5\ufe0f<\/span>\n          <div class=\"td-tipc__cat\">Excursions<\/div>\n          <h3 class=\"td-tipc__h\">Marietas : r\u00e9server 2 sem avant<\/h3>\n          <p class=\"td-tipc__txt\">Islas Marietas (Playa Escondida) : quota strict UNESCO. Sans r\u00e9servation 2 semaines avant, acc\u00e8s refus\u00e9. Bateaux quittent Sayulita ou Punta Mita. ~$80\/pers la journ\u00e9e.<\/p>\n        <\/div>\n\n        <div class=\"td-tipc\">\n          <span class=\"td-tipc__ico\">\ud83d\udc0b<\/span>\n          <div class=\"td-tipc__cat\">Faune<\/div>\n          <h3 class=\"td-tipc__h\">Baleines \u00e0 bosse d\u00e9c-mars<\/h3>\n          <p class=\"td-tipc__txt\">D\u00e9cembre \u00e0 mars : migration des baleines \u00e0 bosse dans la Baie de Banderas. Sortie observation responsable depuis Sayulita ou Punta Mita ~$80\/pers, d\u00e9part matin.<\/p>\n        <\/div>\n\n        <div class=\"td-tipc\">\n          <span class=\"td-tipc__ico\">\ud83c\udf34<\/span>\n          <div class=\"td-tipc__cat\">Voisin<\/div>\n          <h3 class=\"td-tipc__h\">San Pancho \u00e0 10 min<\/h3>\n          <p class=\"td-tipc__txt\">San Francisco (San Pancho) \u00e0 10 min nord = la version plus calme de Sayulita. Plus authentique, sc\u00e8ne artistique, restos branch\u00e9s. \u00c0 combiner pour 1 d\u00eener ou 1 jour plage.<\/p>\n        <\/div>\n\n        <div class=\"td-tipc\">\n          <span class=\"td-tipc__ico\">\ud83d\udec2<\/span>\n          <div class=\"td-tipc__cat\">Formalit\u00e9s<\/div>\n          <h3 class=\"td-tipc__h\">Pas de visa UE &lt; 90 jours<\/h3>\n          <p class=\"td-tipc__txt\">Passeport valide 6 mois apr\u00e8s retour. Carte FMM (~$30) d\u00e9livr\u00e9e \u00e0 l'arriv\u00e9e \u00e0 PVR, \u00e0 conserver durant tout le s\u00e9jour.<\/p>\n        <\/div>\n\n      <\/div>\n\n      <!-- \u00c0 NE PAS FAIRE -->\n      <div class=\"td-avoid td-anim\">\n        <h3 class=\"td-avoid__h\">\u26a0\ufe0f \u00c0 \u00e9viter \u2014 les pi\u00e8ges classiques<\/h3>\n        <ul>\n          <li>\u274c <span><strong>Voiture dans le village :<\/strong> Sayulita = pi\u00e9ton et golf cart. Garer \u00e0 l'entr\u00e9e, marcher partout. H\u00f4tels avec parking limit\u00e9, r\u00e9server \u00e0 l'avance.<\/span><\/li>\n          <li>\u274c <span><strong>Marietas sans r\u00e9servation :<\/strong> quota strict UNESCO. Sans r\u00e9servation 2 semaines avant, acc\u00e8s refus\u00e9. R\u00e9server d\u00e8s l'arriv\u00e9e.<\/span><\/li>\n          <li>\u274c <span><strong>Saison ouragans (ao\u00fbt-octobre) :<\/strong> pluies tropicales, mer agit\u00e9e. Pr\u00e9f\u00e9rer d\u00e9cembre-mai pour profiter de la plage et du surf.<\/span><\/li>\n          <li>\u274c <span><strong>Sayulita en haute saison sans r\u00e9servation :<\/strong> village limit\u00e9, f\u00eates US Thanksgiving + Spring Break = surcharge. R\u00e9server h\u00f4tels 3 mois avant pour janvier-mars.<\/span><\/li>\n          <li>\u274c <span><strong>Boire l'eau du robinet :<\/strong> non potable. Eau filtr\u00e9e \u00e0 l'h\u00f4tel, gourde r\u00e9utilisable. Pratique : la plupart des restos servent eau filtr\u00e9e gratis.<\/span><\/li>\n          <li>\u274c <span><strong>Sous-estimer la marche :<\/strong> village pied + sable + pav\u00e9s. Tongs OK plage, sneakers ou sandales bonnes pour explorer le centro.<\/span><\/li>\n        <\/ul>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ===== T\u00c9L\u00c9CHARGEMENT PDF ===== -->\n  <section class=\"td-section\" id=\"pdf\">\n    <div class=\"td-wrap\">\n      <div class=\"td-pdf-band td-anim\">\n        <div class=\"td-pdf-band__icon\">\ud83d\udcc4<\/div>\n        <div>\n          <h3 class=\"td-pdf-band__h\">Emportez la fiche Sayulita partout<\/h3>\n          <p class=\"td-pdf-band__sub\">Version PDF compl\u00e8te avec carte, climat, Malec\u00f3n, plages, excursions Marietas\/Yelapa, h\u00f4tels et tips experts.<\/p>\n        <\/div>\n        <a class=\"td-btn td-btn--pdf\" href=\"\/wp-content\/uploads\/2026\/05\/fiche-puerto-vallarta-toucan-discovery.pdf\" download>\n          T\u00e9l\u00e9charger la fiche PDF\n        <\/a>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ===== FAQ ===== -->\n  <section class=\"td-section td-section--alt\" id=\"faq\">\n    <div class=\"td-wrap\">\n      <span class=\"td-eyebrow\">Questions fr\u00e9quentes<\/span>\n      <h2 class=\"td-h2\">Vos <em>questions<\/em>, nos r\u00e9ponses<\/h2>\n            <p class=\"td-lead\">Les 6 questions qu'on nous pose le plus souvent \u00e0 propos de Sayulita.<\/p>\n\n      <div class=\"td-faq td-anim\">\n        <details><summary>Combien de nuits pr\u00e9voir \u00e0 Sayulita ?<\/summary><div class=\"td-faq__answer\">3-4 nuits id\u00e9ales pour absorber l'ambiance Pueblo M\u00e1gico : 1 jour Playa Sayulita + cours de surf, 1 jour Marietas\/Yelapa, 1 jour San Pancho ou cycling. Combiner avec Puerto Vallarta (45 min S) pour un duo Pacifique : ville culturelle + village surf-boh\u00e8me.<\/div><\/details>\n        <details><summary>Sayulita ou Puerto Vallarta ?<\/summary><div class=\"td-faq__answer\">Univers tr\u00e8s diff\u00e9rents. <strong>Puerto Vallarta<\/strong> = grande ville (250k hab), Malec\u00f3n, sc\u00e8ne artistique, vie nocturne, gay-friendly. <strong>Sayulita<\/strong> = village (6 000 hab), surf, slow living, Pueblo M\u00e1gico, art huichol. Les deux sont compl\u00e9mentaires : combiner id\u00e9alement (45 min de route).<\/div><\/details>\n        <details><summary>Comment y aller depuis l'Europe ?<\/summary><div class=\"td-faq__answer\"><strong>Vol Air France Paris \u2192 Mexico City<\/strong> (10-12h) puis vol int\u00e9rieur PVR (1h). OU vols US (United, American) via Houston\/LA. Arriv\u00e9e PVR puis transfert priv\u00e9 45 min vers Sayulita (~$45) ou bus public (~$5).<\/div><\/details>\n        <details><summary>Quand y aller ?<\/summary><div class=\"td-faq__answer\">Sweet spot : <strong>novembre \u00e0 avril<\/strong> (sec, ensoleill\u00e9, 27-30\u00b0C, baleines \u00e0 bosse d\u00e9c-mars). \u00c0 \u00e9viter : <strong>juillet-octobre<\/strong> (saison des pluies + ouragans rares mais possibles). Mai-juin = tr\u00e8s chaud (32\u00b0C+) mais moins de touristes.<\/div><\/details>\n        <details><summary>Sayulita est-elle s\u00fbre ?<\/summary><div class=\"td-faq__answer\"><strong>Oui, l'une des destinations les plus s\u00fbres du Mexique<\/strong>. Village tr\u00e8s petit (6 000 hab + tourisme stable), ambiance familiale et boh\u00e8me. Promener seul jour et nuit sans souci. Pr\u00e9sence polici\u00e8re touristique. Prudence standard : ne pas laisser d'objets de valeur sur la plage.<\/div><\/details>\n        <details><summary>Quel budget pr\u00e9voir ?<\/summary><div class=\"td-faq__answer\"><strong>Boutique luxe<\/strong> (Casa Camale\u00f3n, Punta Mita \u00e0 30 min) : $400-1500 USD\/nuit. <strong>Boutique design<\/strong> (Aurinko, Hafa) : $180-350\/nuit. <strong>Charme local<\/strong> (Casa Love, Sayulita Beach) : $80-150\/nuit. <strong>Auberge backpacker<\/strong> ($30-60\/nuit). Repas : $15-30\/pers (resto local), $40-70 (resto branch\u00e9).<\/div><\/details>\n      <\/div>\n  <\/section>\n\n  <!-- ===== COMBINAISONS ===== -->\n  <section class=\"td-section\" id=\"combo\">\n    <div class=\"td-wrap\">\n      <span class=\"td-eyebrow\">Construire son itin\u00e9raire<\/span>\n      <h2 class=\"td-h2\">Combiner Sayulita <em>avec...<\/em><\/h2>\n      <p class=\"td-lead\">Sayulita se combine id\u00e9alement avec Puerto Vallarta (45 min S, sc\u00e8ne culturelle) ou Punta Mita (ultra-luxe). Pour les longs voyages : Mexico City + Yucat\u00e1n via vol int\u00e9rieur depuis PVR.<\/p>\n\n      <div class=\"td-combo td-anim\">\n        <a class=\"td-combo__c\" href=\"\/destinations-mexique\/puerto-vallarta\/\">\n          <div class=\"td-combo__media\"><img decoding=\"async\" src=\"https:\/\/images.pexels.com\/photos\/16811050\/pexels-photo-16811050.jpeg?auto=compress&amp;cs=tinysrgb&amp;w=800\" alt=\"Puerto Vallarta Malec\u00f3n\" loading=\"lazy\"><\/div>\n          <div class=\"td-combo__body\">\n            <div class=\"td-combo__name\">Puerto Vallarta<\/div>\n            <div class=\"td-combo__dist\">45 min \u00b7 40 km<\/div>\n            <div class=\"td-combo__why\">Joyau du Pacifique, Malec\u00f3n, sc\u00e8ne artistique, baleines, gay-friendly<\/div>\n            <span class=\"td-combo__cta\">D\u00e9couvrir \u2192<\/span>\n          <\/div>\n        <\/a>\n        <a class=\"td-combo__c\" href=\"\/destinations-mexique\/guanajuato\/\">\n          <div class=\"td-combo__media\"><img decoding=\"async\" src=\"https:\/\/images.pexels.com\/photos\/18965554\/pexels-photo-18965554.jpeg?auto=compress&amp;cs=tinysrgb&amp;w=800\" alt=\"Maisons color\u00e9es Guanajuato\" loading=\"lazy\"><\/div>\n          <div class=\"td-combo__body\">\n            <div class=\"td-combo__name\">Guanajuato<\/div>\n            <div class=\"td-combo__dist\">Vol \u00b7 500 km<\/div>\n            <div class=\"td-combo__why\">Ville coloniale UNESCO, callejones, Festival Cervantino<\/div>\n            <span class=\"td-combo__cta\">D\u00e9couvrir \u2192<\/span>\n          <\/div>\n        <\/a>\n        <a class=\"td-combo__c\" href=\"\/destinations-mexique\/cancun\/\">\n          <div class=\"td-combo__media\"><img decoding=\"async\" src=\"https:\/\/images.pexels.com\/photos\/20210508\/pexels-photo-20210508.jpeg?auto=compress&amp;cs=tinysrgb&amp;w=800\" alt=\"Vue a\u00e9rienne de Canc\u00fan\" loading=\"lazy\"><\/div>\n          <div class=\"td-combo__body\">\n            <div class=\"td-combo__name\">Canc\u00fan<\/div>\n            <div class=\"td-combo__dist\">Vol \u00b7 1700 km<\/div>\n            <div class=\"td-combo__why\">Plage cara\u00efbe, vie nocturne, acc\u00e8s a\u00e9rien direct depuis Paris<\/div>\n            <span class=\"td-combo__cta\">D\u00e9couvrir \u2192<\/span>\n          <\/div>\n        <\/a>\n        <a class=\"td-combo__c\" href=\"\/destinations-mexique\/oaxaca\/\">\n          <div class=\"td-combo__media\"><img decoding=\"async\" src=\"https:\/\/images.pexels.com\/photos\/17246836\/pexels-photo-17246836.jpeg?auto=compress&amp;cs=tinysrgb&amp;w=800\" alt=\"Vue d'Oaxaca de Ju\u00e1rez\" loading=\"lazy\"><\/div>\n          <div class=\"td-combo__body\">\n            <div class=\"td-combo__name\">Oaxaca<\/div>\n            <div class=\"td-combo__dist\">Vol \u00b7 1100 km<\/div>\n            <div class=\"td-combo__why\">Capitale culturelle, 7 moles, mezcal, D\u00eda de los Muertos<\/div>\n            <span class=\"td-combo__cta\">D\u00e9couvrir \u2192<\/span>\n          <\/div>\n        <\/a>\n        <a class=\"td-combo__c\" href=\"\/destinations-mexique\/los-cabos\/\">\n          <div class=\"td-combo__media\"><img decoding=\"async\" src=\"https:\/\/images.pexels.com\/photos\/27638882\/pexels-photo-27638882.jpeg?auto=compress&amp;cs=tinysrgb&amp;w=800\" alt=\"Plage Pacifique Mexique\" loading=\"lazy\"><\/div>\n          <div class=\"td-combo__body\">\n            <div class=\"td-combo__name\">Los Cabos<\/div>\n            <div class=\"td-combo__dist\">Vol \u00b7 700 km<\/div>\n            <div class=\"td-combo__why\">Pointe Baja California Sur, El Arco, luxe d\u00e9sertique<\/div>\n            <span class=\"td-combo__cta\">D\u00e9couvrir \u2192<\/span>\n          <\/div>\n        <\/a>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ===== CTA FINAL ===== -->\n  <section class=\"td-section\">\n    <div class=\"td-wrap\">\n\n      <!-- Bandeau Dynamics -->\n      <div class=\"td-cta-band td-anim\">\n        <span class=\"td-eyebrow\">Pr\u00eats pour le d\u00e9part ?<\/span>\n        <h2>On organise votre voyage \u00e0 <em>Sayulita<\/em><\/h2>\n        <p>Construisez votre s\u00e9jour Sayulita en quelques clics avec Toucan Dynamics \u2014 disponibilit\u00e9s h\u00f4tels en temps r\u00e9el, tarifs n\u00e9goci\u00e9s, paiement s\u00e9curis\u00e9. Ou laissez-nous tout pr\u00e9parer : un conseiller francophone bas\u00e9 sur place vous accompagne de A \u00e0 Z, transferts depuis PVR, cours de surf, sortie Marietas, escapade San Pancho.<\/p>\n        <div class=\"td-cta-row\">\n          <a class=\"td-btn td-btn--main\" href=\"https:\/\/dynamics.toucandiscovery.com\/?destination=sayulita\" target=\"_blank\" rel=\"noopener\">\u26a1 Composer mon voyage<\/a>\n          <a class=\"td-btn td-btn--ghost\" href=\"https:\/\/toucandiscovery.com\/contact\/\">Demander un devis sur-mesure<\/a>\n        <\/div>\n      <\/div>\n\n      <!-- Mention discrete pour professionnels du voyage -->\n      <div class=\"td-pro-discreet td-anim\">\n        <p>Vous \u00eates <strong>agent de voyage ou TO<\/strong> ? Toucan Discovery est aussi votre <a href=\"https:\/\/dynamics.toucandiscovery.com\/?destination=sayulita\" target=\"_blank\" rel=\"noopener\">r\u00e9ceptif local au Mexique<\/a> \u2014 acc\u00e8s B2B sur Dynamics, tarifs nets, support francophone sur place, sur la c\u00f4te Pacifique comme dans le Yucat\u00e1n.<\/p>\n      <\/div>\n\n    <\/div>\n  <\/section>\n\n  <!-- ===== PIED DE PAGE TOUCAN ===== -->\n  <footer class=\"td-foot\">\n    <div class=\"td-wrap\">\n      <div class=\"td-foot__grid\">\n        <div class=\"td-foot__col td-foot__brand\">\n          <div class=\"td-foot__logo\">TOUCAN <span>DISCOVERY<\/span><\/div>\n          <p class=\"td-foot__tagline\">Vends des voyages. \u00c9cris des histoires.<\/p>\n          <p class=\"td-foot__legal\">Toucan Discovery S.R.L.<br>San Jos\u00e9, Costa Rica \u00b7 C\u00e9dula 3-102-862013<\/p>\n        <\/div>\n        <div class=\"td-foot__col\">\n          <h4 class=\"td-foot__h\">Destinations<\/h4>\n          <ul>\n            <li><a href=\"\/destinations-costa-rica\/\">Costa Rica<\/a><\/li>\n            <li><a href=\"\/destinations-mexique\/\">Mexique<\/a><\/li>\n            <li><a href=\"https:\/\/toucandiscovery.com\/panama\/\">Panama<\/a><\/li>\n            <li><a href=\"https:\/\/toucandiscovery.com\/nicaragua\/\">Nicaragua<\/a><\/li>\n          <\/ul>\n        <\/div>\n        <div class=\"td-foot__col\">\n          <h4 class=\"td-foot__h\">Inspirations<\/h4>\n          <ul>\n            <li><a href=\"https:\/\/toucandiscovery.com\/inspirations\/\">Collection Essentiel<\/a><\/li>\n            <li><a href=\"https:\/\/toucandiscovery.com\/collection-foret\/\">Collection For\u00eat<\/a><\/li>\n            <li><a href=\"https:\/\/toucandiscovery.com\/collection-horizon\/\">Collection Horizon<\/a><\/li>\n            <li><a href=\"https:\/\/toucandiscovery.com\/collection-serenite\/\">Collection S\u00e9r\u00e9nit\u00e9<\/a><\/li>\n          <\/ul>\n        <\/div>\n        <div class=\"td-foot__col\">\n          <h4 class=\"td-foot__h\">Toucan Discovery<\/h4>\n          <ul>\n            <li><a href=\"https:\/\/toucandiscovery.com\/about-us\/\">\u00c0 propos<\/a><\/li>\n            <li><a href=\"https:\/\/toucandiscovery.com\/contact\/\">Contact<\/a><\/li>\n            <li><a href=\"https:\/\/toucandiscovery.com\/blog\/\">Blog<\/a><\/li>\n            <li><a href=\"https:\/\/dynamics.toucandiscovery.com\/\" target=\"_blank\" rel=\"noopener\">\u26a1 Toucan Dynamics<\/a><\/li>\n          <\/ul>\n          <div class=\"td-foot__social\">\n            <a href=\"https:\/\/www.facebook.com\/toucandiscovery\" target=\"_blank\" rel=\"noopener\" aria-label=\"Facebook\">f<\/a>\n            <a href=\"https:\/\/www.instagram.com\/toucan_discovery\" target=\"_blank\" rel=\"noopener\" aria-label=\"Instagram\">@<\/a>\n            <a href=\"https:\/\/www.linkedin.com\/company\/93869964\" target=\"_blank\" rel=\"noopener\" aria-label=\"LinkedIn\">in<\/a>\n          <\/div>\n        <\/div>\n      <\/div>\n      <div class=\"td-foot__bottom\">\n        <p>\u00a9 2026 Toucan Discovery \u2014 Destination Management Company \u00b7 Costa Rica<\/p>\n        <p><a href=\"mailto:admin@toucandiscovery.com\">admin@toucandiscovery.com<\/a> \u00b7 <a href=\"tel:+50687777166\">+506 8777 7166<\/a><\/p>\n      <\/div>\n    <\/div>\n  <\/footer>\n\n<\/section>\n\n\n<script>\n(function(){\n  \/\/ ===== Fade-in au scroll =====\n  if ('IntersectionObserver' in window) {\n    const obs = new IntersectionObserver((entries) => {\n      entries.forEach(en => {\n        if (en.isIntersecting) {\n          en.target.classList.add('is-in');\n          obs.unobserve(en.target);\n        }\n      });\n    }, { threshold: .12, rootMargin: '0px 0px -8% 0px' });\n    document.querySelectorAll('.td-anim').forEach(el => obs.observe(el));\n  } else {\n    document.querySelectorAll('.td-anim').forEach(el => el.classList.add('is-in'));\n  }\n\n  \/\/ ===== Count-up sur les stats du hero =====\n  const counters = document.querySelectorAll('.td-hero__stat-num[data-count]');\n  let started = false;\n  function startCounters() {\n    if (started) return;\n    started = true;\n    counters.forEach(c => {\n      const target = +c.dataset.count;\n      const dur = 1600;\n      const t0 = performance.now();\n      functio\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Mexique \u00b7 Nayarit Sayulita \u00ab Le Pueblo M\u00e1gico du surf hippie\u00a0\u00bb \u2014 drapeaux color\u00e9s, plages boh\u00e8mes, ambiance digital nomad. 3 plages embl\u00e9matiques 2015 Pueblo M\u00e1gico 6000 habitants au village D\u00e9couvrir Intro G\u00e9ographie Climat Exp\u00e9riences Zones Nature Saveurs H\u00f4tels Tips Experts [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":5069,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"class_list":["post-5221","page","type-page","status-publish","hentry"],"aioseo_notices":[],"acf":[],"_links":{"self":[{"href":"https:\/\/toucandiscovery.com\/zh\/wp-json\/wp\/v2\/pages\/5221","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/toucandiscovery.com\/zh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/toucandiscovery.com\/zh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/toucandiscovery.com\/zh\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/toucandiscovery.com\/zh\/wp-json\/wp\/v2\/comments?post=5221"}],"version-history":[{"count":15,"href":"https:\/\/toucandiscovery.com\/zh\/wp-json\/wp\/v2\/pages\/5221\/revisions"}],"predecessor-version":[{"id":5264,"href":"https:\/\/toucandiscovery.com\/zh\/wp-json\/wp\/v2\/pages\/5221\/revisions\/5264"}],"up":[{"embeddable":true,"href":"https:\/\/toucandiscovery.com\/zh\/wp-json\/wp\/v2\/pages\/5069"}],"wp:attachment":[{"href":"https:\/\/toucandiscovery.com\/zh\/wp-json\/wp\/v2\/media?parent=5221"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}