/* ==========================================================================
   My Tour EC — app.css
   Capa de presentación sobre theme.json: header sticky, hero full-bleed,
   tarjetas, footer y microinteracciones. Vanilla, sin dependencias.
   ========================================================================== */

:root {
  --slate: #3A535F;
  --slate-ink: #2C3F49;
  --arena: #EADECB;
  --cream: #FBF8F2;
  --gold: #EFBB2F;
  --gold-deep: #E0A91C;
  --green-sage: #899F7D;
  --lime: #97C600;
  --green-deep2: #4A6256;
  --header-h: 134px;
  --ease: cubic-bezier(.22,.61,.36,1);
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; }
[hidden] { display: none !important; }
/* Mata los gaps blancos entre bloques de nivel raíz (header / main / footer) */
.wp-site-blocks { padding-top: 0 !important; }
.wp-site-blocks > * { margin-block: 0 !important; }
main { display: block; }

/* --- Eyebrow / kicker ---------------------------------------------------- */
.eyebrow,
.is-style-eyebrow {
  font-family: "Montserrat", sans-serif;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold-deep);
  margin: 0 0 1rem;
}
.eyebrow--light { color: var(--gold); }

/* Hairline rule */
.hairline { width: 64px; height: 2px; background: var(--gold); border: 0; margin: 1.25rem 0; }
.hairline--center { margin-inline: auto; }

/* ==========================================================================
   HEADER
   ========================================================================== */
.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 100;
  transition: background-color .3s var(--ease), box-shadow .3s var(--ease), padding .3s var(--ease);
  padding: .5rem 0;
}
.site-header::before {
  content: ""; position: absolute; inset: 0 0 auto 0; height: 260%;
  background: linear-gradient(180deg, rgba(12,18,23,.92) 0%, rgba(12,18,23,.55) 45%, rgba(12,18,23,0) 100%);
  pointer-events: none; z-index: -1; transition: opacity .3s var(--ease);
}
.site-header.is-stuck::before { opacity: 0; }
.site-header:not(.is-stuck) .site-header__inner { text-shadow: 0 1px 7px rgba(0,0,0,.5); }
.site-header:not(.is-stuck) svg { filter: drop-shadow(0 1px 5px rgba(0,0,0,.5)); }
.site-header__inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: .75rem clamp(1rem, 4vw, 3rem);
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.site-header__logo { display: flex; align-items: center; line-height: 0; }
.site-header__logo img { height: 106px; width: auto; transition: height .3s var(--ease); filter: drop-shadow(0 2px 9px rgba(0,0,0,.6)); }

.site-nav { margin-left: auto; }
.nav-list { list-style: none; display: flex; gap: clamp(1rem, 2.2vw, 2.25rem); margin: 0; padding: 0; }
.nav-list > li { position: relative; }
.nav-list > li > a {
  display: inline-block;
  font-family: "Montserrat", sans-serif;
  font-size: .8rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  color: #fff; text-decoration: none; padding: .5rem 0; position: relative;
  transition: color .2s var(--ease);
}
.nav-list > li > a::after {
  content: ""; position: absolute; left: 0; bottom: -2px; width: 100%; height: 1.5px;
  background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--ease);
}
.nav-list > li:hover > a::after,
.nav-list > li:focus-within > a::after { transform: scaleX(1); }
.caret { font-size: .65em; opacity: .8; }

/* Puente invisible: no se pierde el hover al bajar al panel */
.has-sub::after { content: ""; position: absolute; left: -16px; right: -16px; top: 100%; height: 28px; }

/* Dropdown */
.subnav {
  list-style: none; margin: 0; padding: .55rem 0;
  position: absolute; top: calc(100% + 6px); left: 50%;
  transform: translateX(-50%) translateY(8px);
  min-width: 240px; background: var(--slate); border-top: 2px solid var(--gold);
  box-shadow: 0 18px 44px rgba(44,63,73,.30);
  opacity: 0; visibility: hidden;
  transition: opacity .25s var(--ease) .15s, transform .25s var(--ease) .15s, visibility 0s linear .5s;
  z-index: 120;
}
.has-sub:hover .subnav,
.has-sub:focus-within .subnav {
  opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0);
  transition: opacity .2s var(--ease), transform .2s var(--ease), visibility 0s;
}
.subnav li a {
  display: block; padding: .55rem 1.4rem; color: rgba(255,255,255,.85); text-decoration: none;
  font-family: "Montserrat", sans-serif; font-size: .8rem; letter-spacing: .04em;
  transition: background .2s var(--ease), color .2s var(--ease);
}
.subnav li a:hover { background: rgba(239,187,47,.14); color: var(--gold); }

.site-header__cta {
  margin-left: .5rem;
  flex: none;
}

/* Header al hacer scroll: pizarra sólida */
.site-header.is-stuck {
  background: var(--slate);
  box-shadow: 0 6px 24px rgba(44,63,73,.14);
  padding: 0;
}
.site-header.is-stuck .site-header__logo img { height: 84px; }
/* Páginas sin hero oscuro: header pizarra desde el inicio */
.no-hero .site-header { background: var(--slate); }

/* Botón mobile */
.site-nav__toggle {
  display: none;
  margin-left: auto;
  width: 44px; height: 44px;
  background: none; border: 0; cursor: pointer;
  flex-direction: column; justify-content: center; gap: 5px;
}
.site-nav__toggle span { display: block; height: 2px; background: #fff; transition: transform .3s var(--ease), opacity .2s; }
.site-nav__mobile {
  position: fixed; inset: 0;
  background: var(--slate);
  display: flex; flex-direction: column; justify-content: center; align-items: center;
  gap: 1rem; padding: 5rem 2rem 2rem;
  z-index: 99; overflow-y: auto;
}
.m-nav { list-style: none; margin: 0; padding: 0; width: 100%; max-width: 420px; display: grid; gap: .1rem; }
.m-nav > li > a,
.m-sub-toggle {
  display: flex; justify-content: space-between; align-items: center; width: 100%;
  background: none; border: 0; border-bottom: 1px solid rgba(255,255,255,.12);
  color: #fff; text-decoration: none; cursor: pointer;
  font-family: "Montserrat", sans-serif; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  font-size: 1rem; padding: .85rem 0;
}
.m-sub-toggle span { font-size: 1.4rem; line-height: 1; transition: transform .3s var(--ease); }
.m-has-sub.open .m-sub-toggle span { transform: rotate(45deg); }
.m-sub { list-style: none; margin: 0; padding: 0 0 .4rem .6rem; max-height: 0; overflow: hidden; transition: max-height .35s var(--ease); }
.m-has-sub.open .m-sub { max-height: 460px; }
.m-sub li a { display: block; padding: .55rem 0; color: rgba(255,255,255,.82); text-decoration: none; font-size: .92rem; letter-spacing: .03em; }
.site-nav__mobile > .btn { margin-top: 1.5rem; width: 100%; max-width: 420px; text-align: center; }

/* ==========================================================================
   BUTTONS
   ========================================================================== */
.btn {
  display: inline-block;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: .9rem;
  letter-spacing: .03em;
  text-decoration: none;
  padding: .95rem 2.1rem;
  border-radius: 2px;
  border: 1.5px solid transparent;
  cursor: pointer;
  transition: transform .15s var(--ease), background-color .2s var(--ease), color .2s var(--ease);
}
.btn--gold { background: var(--gold); color: var(--slate-ink); }
.btn--gold:hover { background: var(--gold-deep); transform: translateY(-2px); }
.btn--ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.7); }
.btn--ghost:hover { background: var(--gold); color: var(--slate-ink); border-color: var(--gold); }
.btn--ghost-dark { background: transparent; color: #fff; border-color: #fff; }
.btn--ghost-dark:hover { background: var(--slate); border-color: var(--slate); color: #fff; }
/* Ghost buttons placed on light bands need dark ink to stay legible */
.band--cream .btn--ghost,
.band--arena .btn--ghost { color: var(--slate-ink); border-color: var(--slate-ink); }
.band--cream .btn--ghost:hover,
.band--arena .btn--ghost:hover { background: var(--gold); color: var(--slate-ink); border-color: var(--gold); }

/* Chips (e.g. International destination tags) */
.chips { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin: 1.5rem 0 2rem; }
.chip {
  display: inline-block;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: .8rem;
  letter-spacing: .03em;
  padding: .55rem 1.2rem;
  border-radius: 2rem;
  border: 1.5px solid var(--slate-ink);
  color: var(--slate-ink);
}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero {
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  align-items: flex-end;
  color: #fff;
  background: var(--slate);
  background-size: cover;
  background-position: center;
}
.hero::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(28,40,47,.3) 0%, rgba(28,40,47,0) 36%, rgba(18,28,34,.6) 100%);
  z-index: 1;
}
.hero__video {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; z-index: 0; border: 0; pointer-events: none;
}
@media (max-width: 820px) { .hero__video { display: none; } }
.hero__inner {
  position: relative; z-index: 2;
  max-width: 1400px; width: 100%;
  margin: 0 auto;
  padding: 0 clamp(1rem,4vw,3rem) clamp(3.5rem,8vw,7rem);
}
.hero__title {
  font-family: "Bon Vivant", serif;
  font-weight: 400;
  font-size: clamp(2.6rem, 1.4rem + 5vw, 5.25rem);
  line-height: 1.04;
  letter-spacing: -.01em;
  color: #fff;
  max-width: 16ch;
  margin: 0 0 1.25rem;
  text-wrap: balance;
}
.hero__sub {
  font-size: clamp(1.05rem,1rem + .4vw,1.3rem);
  max-width: 46ch;
  color: rgba(255,255,255,.92);
  margin: 0 0 2rem;
  line-height: 1.6;
}

/* ==========================================================================
   SECTIONS / BANDS
   ========================================================================== */
.section { padding-block: clamp(2.6rem, 6vw, 5rem); }
.band--cream { background: var(--cream); }
.band--topo { background-image:url('/wp-content/uploads/web/home-topo.jpg?v=2'); background-size:cover; background-position:center; background-repeat:no-repeat; }
.band--topo2 { background-image:url('/wp-content/uploads/web/journeys-topo.jpg?v=2'); background-size:cover; background-position:center; background-repeat:no-repeat; }
.band--topo-dark { background-image:url('/wp-content/uploads/web/partners-topo.jpg?v=1') !important; background-size:cover; background-position:center; background-repeat:no-repeat; }
/* Travel Guide: seccion con foto de fondo total + cuadritos (Travel Documents) */
.tg-photo-band { position:relative; background-size:cover; background-position:center; background-attachment:fixed; overflow:hidden; }
.tg-photo-band__overlay { position:absolute; inset:0; background:linear-gradient(rgba(20,30,36,.60), rgba(20,30,36,.72)); }
.tg-photo-band > .wrap { position:relative; z-index:1; }
.tg-photo-band .feature { background:rgba(255,255,255,.96); border-radius:14px; padding:clamp(1.6rem,2.5vw,2.1rem); box-shadow:0 16px 38px rgba(0,0,0,.22); }
.tg-photo-band .feature__icon, .tg-photo-band .feature__eyebrow { color:var(--gold-deep); }
.tg-photo-band .feature__title { color:var(--slate); }
.tg-photo-band .feature p, .tg-photo-band .feature li { color:#4a565d; }
@media (max-width:900px){ .tg-photo-band { background-attachment:scroll; } }
.tg-safe__card { max-width: 62ch; margin: 0 auto; text-align: center; }
/* Tipping: cuadritos */
.tg-tip-cards .grid { align-items: stretch; }
.tg-tip-cards .feature { background: #fff; border: 1px solid rgba(58,83,95,.08); border-radius: 14px; padding: clamp(1.5rem,2.5vw,2rem); box-shadow: 0 12px 30px rgba(44,63,73,.08); }
.tg-tip-cards .feature__eyebrow { color: var(--gold-deep); }
/* FAQ: isotipo de fondo a la izquierda (mitad) */
.faq-band { position: relative; overflow: hidden; }
.faq-band__iso { position: absolute; left: -130px; top: 50%; transform: translateY(-50%); width: 440px; height: auto; opacity: .05; pointer-events: none; z-index: 0; }
.faq-band > .wrap { position: relative; z-index: 1; }
@media (max-width: 700px){ .faq-band__iso { width: 260px; left: -100px; } }
/* Climate & Seasons: gráfico animado */
.tg-climate .climate-legend { display:flex; gap:1.8rem; justify-content:center; flex-wrap:wrap; margin:1.6rem 0 2.6rem; color:rgba(255,255,255,.78); font-size:.82rem; font-family:"Montserrat",sans-serif; }
.climate-legend__dot { display:inline-block; width:12px; height:12px; border-radius:3px; margin-right:.45rem; vertical-align:middle; }
.climate-legend__dot--dry { background:var(--gold); }
.climate-legend__dot--wet { background:#4a7c74; }
.climate-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.4rem,3vw,2.2rem); }
.climate-card { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:clamp(1.6rem,2.5vw,2rem); }
.climate-card__label { font-family:"Montserrat",sans-serif; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin:0 0 .3rem; }
.climate-card__name { color:#fff; font-size:1.4rem; margin:0 0 1rem; line-height:1.2; }
.climate-card__meta { display:flex; gap:.6rem; flex-wrap:wrap; margin-bottom:1.4rem; }
.climate-chip { display:inline-flex; align-items:center; background:rgba(255,255,255,.08); border-radius:20px; padding:.32rem .85rem; font-size:.82rem; color:#fff; font-family:"Montserrat",sans-serif; }
.climate-chip__k { color:rgba(255,255,255,.5); font-size:.66rem; text-transform:uppercase; letter-spacing:.1em; margin-right:.45rem; }
.climate-chip--gold { background:rgba(239,187,47,.16); }
.climate-months { display:flex; gap:4px; margin-bottom:1.3rem; }
.climate-month { flex:1; height:46px; border-radius:5px; display:flex; align-items:flex-end; justify-content:center; padding-bottom:5px; opacity:0; transform:scaleY(.35); transform-origin:bottom; transition:opacity .45s var(--ease), transform .45s var(--ease); transition-delay:var(--d); }
.climate-month b { color:rgba(255,255,255,.9); font-family:"Montserrat",sans-serif; font-weight:600; font-size:.6rem; }
.climate-month--dry { background:linear-gradient(var(--gold-deep),var(--gold)); }
.climate-month--wet { background:linear-gradient(#3a6a62,#4a7c74); }
.climate-card.is-in .climate-month { opacity:1; transform:scaleY(1); }
.climate-card__note { color:rgba(255,255,255,.82); font-size:.92rem; line-height:1.55; margin:0; }
@media (max-width:860px){ .climate-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce){ .climate-month { opacity:1; transform:none; transition:none; } }
/* Getting Here: cuadritos */
#getting-here .feature { background:#fff; border:1px solid rgba(58,83,95,.08); border-top:3px solid var(--gold); border-radius:12px; padding:clamp(1.5rem,2.3vw,1.9rem); box-shadow:0 12px 30px rgba(44,63,73,.08); }
/* FAQ: isotipo girando */
@keyframes spin-y { to { transform: translateY(-50%) rotate(360deg); } }
.faq-band__iso { animation: spin-y 95s linear infinite; }
@media (prefers-reduced-motion:reduce){ .faq-band__iso { animation:none; } }
/* Worth Packing: tablitas sobre banda oscura */
.tg-cards-dark .feature { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-top: 3px solid var(--gold); border-radius: 14px; padding: clamp(1.5rem,2.5vw,2rem); }
.tg-cards-dark .feature__eyebrow { color: var(--gold); }
.tg-cards-dark .feature__title { color: #fff; }
.tg-cards-dark .feature p, .tg-cards-dark .feature li { color: rgba(255,255,255,.82); }
/* On the Ground: overlay mas oscuro para leer el texto blanco */
#on-the-ground .world::before { background: linear-gradient(rgba(20,30,36,.5), rgba(16,25,30,.86)); }
/* About: equipo 5 en una fila + secciones mas anchas */
.about-team__grid { grid-template-columns: repeat(5, 1fr) !important; gap: clamp(1rem,1.6vw,1.5rem); }
.about-team .feature { padding-top: 0; border-top: 0; }
.about-team .feature__title { font-size: 1.02rem; line-height: 1.25; }
.about-team .feature__eyebrow { font-size: .68rem; }
.about-team .feature p { font-size: .8rem; line-height: 1.5; }
.about-text { max-width: 940px; margin: 0 auto; }
@media (max-width:1100px){ .about-team__grid { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width:700px){ .about-team__grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width:480px){ .about-team__grid { grid-template-columns: 1fr !important; } }
.band--topo-legal { background-color:var(--cream); background-image:url('/wp-content/uploads/web/legal-topo.jpg?v=1'); background-size:cover; background-position:center top; background-attachment:fixed; background-repeat:no-repeat; }
@media (max-width:900px){ .band--topo-legal { background-attachment:scroll; background-size:1400px auto; } }

/* ===== Journal: posts como cards (fondo solido sobre textura) + scroll infinito ===== */
.journal-cards .wp-block-post-template { gap: clamp(1.5rem, 3vw, 2.4rem) !important; grid-template-columns: repeat(3, 1fr) !important; list-style: none; padding: 0; margin: 0; }
.journal-cards .wp-block-post { background: #fff; border: 1px solid rgba(58,83,95,.08); border-radius: 16px; overflow: hidden; box-shadow: 0 12px 30px rgba(44,63,73,.10); display: flex; flex-direction: column; transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.journal-cards .wp-block-post:hover { transform: translateY(-5px); box-shadow: 0 18px 42px rgba(44,63,73,.17); }
.journal-cards .wp-block-post-featured-image { margin: 0; overflow: hidden; }
.journal-cards .wp-block-post-featured-image img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .6s var(--ease); }
.journal-cards .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.05); }
.journal-cards .wp-block-post-title { margin: 1.15rem 1.35rem .5rem; font-size: clamp(1.22rem, 1.05rem + .5vw, 1.35rem); line-height: 1.24; }
.journal-cards .wp-block-post-title a { color: var(--slate); text-decoration: none; }
.journal-cards .wp-block-post-title a:hover { color: var(--gold-deep); }
.journal-cards .wp-block-post-excerpt { margin: 0 1.35rem 1.4rem; }
.journal-cards .wp-block-post-excerpt p { color: #5b6f79; font-size: .94rem; line-height: 1.55; margin: 0; }
.journal-cards .wp-block-post-excerpt a { color: var(--gold-deep); text-decoration: none; }
.journal-pagination { display: none !important; }
.journal-sentinel { height: 1px; }
@media (max-width: 900px){ .journal-cards .wp-block-post-template { grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 600px){ .journal-cards .wp-block-post-template { grid-template-columns: 1fr !important; } }

/* ===== Single blog post: contenido + sidebar (etiquetas, recientes, CTA) ===== */
.single-post .single-post__cols { max-width: 1200px; margin: 0 auto; gap: clamp(2rem,4vw,3.5rem); align-items: flex-start; }
/* Hero del artículo: centrado, título grande, con presencia (como las legales) */
.post-hero--article { min-height: clamp(300px,40vh,440px); display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }
.post-hero--article .eyebrow { margin-bottom: .7rem; }
.post-hero--article .wp-block-post-title { font-size: clamp(1.9rem,1.3rem + 2.6vw,3.1rem); line-height: 1.16; margin: 0 auto .9rem; max-width: 24ch; }
.post-hero--article .wp-block-post-date { color: rgba(255,255,255,.72); font-family: "Montserrat", sans-serif; font-size: .85rem; letter-spacing: .02em; }
.single-post__main .wp-block-post-content p { text-align: justify; hyphens: auto; }
.single-post__main .wp-block-post-featured-image { margin: 0 0 2rem; }
.single-post__main .wp-block-post-featured-image img { width: 100%; border-radius: 14px; display: block; }
.single-post__main .wp-block-post-content { font-size: 1.05rem; line-height: 1.7; color: #3f4b52; }
.single-post__main .wp-block-post-content > * { max-width: none; }
.single-post__main .wp-block-post-content h2 { font-size: clamp(1.4rem,1.1rem+1vw,1.9rem); color: var(--slate); margin: 2.2rem 0 .7rem; line-height: 1.25; }
.single-post__main .wp-block-post-content h3 { font-size: 1.28rem; color: var(--slate); margin: 1.6rem 0 .5rem; }
.single-post__main .wp-block-post-content p { margin: 0 0 1.15rem; }
.single-post__main .wp-block-post-content a { color: var(--gold-deep); }
.single-post__main .wp-block-post-content ul, .single-post__main .wp-block-post-content ol { margin: 0 0 1.15rem 1.2rem; }
.single-post__main .wp-block-post-content li { margin-bottom: .5rem; }
.post-tags { margin-top: 2.5rem; padding-top: 1.6rem; border-top: 1px solid rgba(58,83,95,.12); }
.post-tags h4 { font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--slate); margin: 0 0 .8rem; font-family: "Montserrat", sans-serif; }
.post-tags .wp-block-post-terms a { display: inline-block; background: var(--arena); color: var(--slate-ink); font-size: .8rem; padding: .32rem .9rem; border-radius: 20px; margin: 0 .4rem .45rem 0; text-decoration: none; transition: background .2s var(--ease), color .2s var(--ease); }
.post-tags .wp-block-post-terms a:hover { background: var(--gold); color: var(--slate-ink); }
.post-back { margin-top: 2.2rem; }

.single-post__side { position: sticky; top: 100px; }
.side-widget { background: #fff; border: 1px solid rgba(58,83,95,.08); border-radius: 14px; padding: 1.5rem 1.6rem; box-shadow: 0 10px 26px rgba(44,63,73,.08); margin-bottom: 1.6rem; }
.side-widget h4 { font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-deep); margin: 0 0 1rem; padding-bottom: .75rem; border-bottom: 1px solid rgba(58,83,95,.1); font-family: "Montserrat", sans-serif; }
.side-widget p { color: #5b6f79; font-size: .92rem; line-height: 1.55; margin: 0 0 1.1rem; }
.side-widget--cta { background: var(--slate); }
.side-widget--cta h4 { color: var(--gold); border-color: rgba(255,255,255,.14); }
.side-widget--cta p { color: rgba(255,255,255,.85); }
.side-recent { list-style: none; margin: 0; padding: 0; }
.side-recent li { overflow: hidden; margin-bottom: 1.1rem; padding-bottom: 1.1rem; border-bottom: 1px solid rgba(58,83,95,.08); }
.side-recent li:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.side-recent .wp-block-latest-posts__featured-image { float: left; margin-right: .85rem; }
.side-recent .wp-block-latest-posts__featured-image img { width: 58px; height: 58px; object-fit: cover; border-radius: 8px; display: block; }
.side-recent .wp-block-latest-posts__post-title { color: var(--slate); font-weight: 600; font-size: .88rem; line-height: 1.3; text-decoration: none; display: block; }
.side-recent .wp-block-latest-posts__post-title:hover { color: var(--gold-deep); }
.side-recent time, .side-recent .wp-block-latest-posts__post-date { color: #9aa7ae; font-size: .74rem; display: block; margin-top: .25rem; }
@media (max-width: 900px){ .single-post__side { position: static; } .single-post .single-post__cols { flex-wrap: wrap; } .single-post__main, .single-post__side { flex-basis: 100% !important; } }

/* ===== Página 404 ===== */
.error404-band { position: relative; min-height: 100vh; display: flex; align-items: center; justify-content: center; text-align: center; background: var(--slate-ink) url('/wp-content/uploads/web/404-bg.jpg?v=1') center/cover no-repeat; color: #fff; padding: clamp(5rem,12vh,9rem) 1.5rem; overflow: hidden; }
.error404-band__overlay { position: absolute; inset: 0; background: linear-gradient(rgba(20,30,36,.42), rgba(20,30,36,.74)); }
.error404-band__inner { position: relative; z-index: 2; max-width: 780px; }
.error404-band .error404__eyebrow { font-family: "Montserrat", sans-serif; letter-spacing: .3em; text-transform: uppercase; color: var(--gold); font-size: .85rem; font-weight: 700; margin: 0 0 1.4rem; }
.error404-band .error404__title { font-size: clamp(2.8rem,2rem + 4.5vw,5.4rem); line-height: 1.04; color: #fff; margin: 0 0 1.5rem; }
.error404-band .error404__text { font-family: "Montserrat", sans-serif; font-size: clamp(1.05rem,1rem + .45vw,1.35rem); line-height: 1.6; color: rgba(255,255,255,.9); max-width: 40ch; margin: 0 auto 2.6rem; }
.error404__actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.error404__actions .btn { padding: 1rem 2.2rem; font-size: .95rem; }
/* background-color, NO el atajo background: esta regla va después de .band--topo* y el
   atajo reseteaba background-image, dejando sin textura las 9 secciones arena+topo del
   sitio (entre ellas la del formulario de Weddings). */
.band--arena { background-color: var(--arena); }
.band--slate { background: var(--slate); color: #fff; }
.band--slate :is(h1,h2,h3) { color: #fff; }
.wrap { max-width: 1180px; margin: 0 auto; padding-inline: clamp(1rem,4vw,3rem); }
.wrap--wide { max-width: 1400px; }
.measure { max-width: 60ch; }
.center { text-align: center; }
.section__head { margin-bottom: clamp(2rem,4vw,3.25rem); }
.section__title { font-size: clamp(2rem,1.5rem + 2.2vw,3rem); margin: 0; }

/* ==========================================================================
   CARDS
   ========================================================================== */
.grid { display: grid; gap: clamp(1.25rem, 2.5vw, 2rem); }
.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid--4 { grid-template-columns: repeat(4, 1fr); }
.grid--2 { grid-template-columns: repeat(2, 1fr); }

.card { display: flex; flex-direction: column; background: transparent; }
.card__media {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: 2px;
}
.card--wide .card__media { aspect-ratio: 3 / 2; }
.card__media img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .7s var(--ease);
}
.card:hover .card__media img { transform: scale(1.05); }
.card__media::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(44,63,73,0) 45%, rgba(44,63,73,.62) 100%);
}
.card__label {
  position: absolute; z-index: 2; left: 1.25rem; bottom: 1.1rem; right: 1.25rem;
  color: #fff;
}
.card__title { font-family: "Bon Vivant", serif; font-size: 1.5rem; margin: .25rem 0 0; color: #fff; }
.card__eyebrow { font-size: .72rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--gold); }
.card__body { padding: 1.1rem 0 0; }
.card__excerpt { color: #4f5b62; margin: .5rem 0 0; font-size: .95rem; }
.badge {
  position: absolute; z-index: 2; top: 1rem; right: 1rem;
  font-family: "Montserrat", sans-serif; font-size: .72rem; font-weight: 600; letter-spacing: .05em;
  color: #fff; border: 1px solid var(--gold); border-radius: 2px; padding: .3rem .55rem;
  background: rgba(44,63,73,.35); backdrop-filter: blur(2px);
}

/* ==========================================================================
   QUOTE / TESTIMONIAL
   ========================================================================== */
.quote { max-width: 52ch; margin-inline: auto; text-align: center; }
.quote__text { font-family: "Bon Vivant", serif; font-size: clamp(1.4rem,1.1rem + 1.2vw,2rem); line-height: 1.4; font-style: italic; color: var(--slate-ink); }
.band--slate .quote__text { color: #fff; }
.quote__author { font-family: "Montserrat", sans-serif; font-size: .8rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-deep); margin-top: 1.25rem; }
.band--slate .quote__author { color: var(--gold); }

/* ==========================================================================
   CTA BAND
   ========================================================================== */
.cta-band {
  position: relative;
  padding-block: clamp(5.5rem, 11vw, 9rem);
  min-height: clamp(560px, 66vh, 800px);
  display: flex; flex-direction: column; justify-content: center;
  text-align: center; color: #fff;
  background: var(--slate); background-size: cover; background-position: center;
}
.cta-band::after { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.62)); }
.cta-band > * { position: relative; z-index: 2; }
.cta-band h2 { color: #fff; font-family: "Montserrat", sans-serif; font-weight: 700; letter-spacing: .005em; }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer { background: var(--slate); color: rgba(255,255,255,.82); font-size: .92rem; }
.site-footer a { color: rgba(255,255,255,.82); text-decoration: none; }
.site-footer a:hover { color: var(--gold); }
.site-footer__top { display: grid; grid-template-columns: 1.7fr auto auto auto; gap: clamp(1.6rem,2.6vw,2.8rem); align-items: start; padding: clamp(3rem,6vw,4.5rem) clamp(1rem,4vw,3rem) 2.2rem; max-width: 1180px; margin: 0 auto; }
.site-footer__nav { display: contents; }
.site-footer__nav > :first-child { margin-left: -6px; }
.site-footer__brand { display: flex; flex-direction: column; align-items: center; margin-top: -1.5rem; }
.site-footer__brand .social { margin-top: -1.3rem; justify-content: center; }
.site-footer__contactline { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .7rem 1.6rem; max-width: 1180px; margin: 0 auto; padding: 1.4rem clamp(1rem,4vw,3rem); border-top: 1px solid rgba(255,255,255,.10); }
.fcl__item { display: inline-flex; align-items: center; gap: .55rem; color: rgba(255,255,255,.80); font-size: .9rem; line-height: 1.35; }
.fcl__item a { color: rgba(255,255,255,.80); }
.fcl__item a:hover { color: var(--gold); }
.fcl__item .fico { display: inline-flex; color: var(--gold); flex: none; }
.fcl__item .fico svg { width: 16px; height: 16px; }
.fcl__sep { width: 4px; height: 4px; border-radius: 50%; background: rgba(255,255,255,.30); flex: none; }
@media (max-width: 820px){ .site-footer__top{ grid-template-columns: 1fr 1fr; } .site-footer__brand{ grid-column: 1 / -1; } }
@media (max-width: 520px){ .site-footer__top{ grid-template-columns: 1fr; } .fcl__sep{ display: none; } .site-footer__contactline{ flex-direction: column; gap: .7rem; text-align: center; } }
/* Iconos sociales del footer: al hover el fondo es dorado pero el icono queda BLANCO (vence a .site-footer a:hover) */
.site-footer .social__link:hover { color: #fff; }
.site-footer__logo img { height: 132px; width: auto; margin-bottom: 0; }
.site-footer h4 { font-family: "Montserrat", sans-serif; font-size: .78rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: #fff; margin: 0 0 1.1rem; }
.site-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
.site-footer__contact p { margin: .35rem 0; line-height: 1.55; }
.site-footer__legal {
  border-top: 1px solid rgba(239,187,47,.35);
  max-width: 1400px; margin: 0 auto;
  padding: 1.4rem clamp(1rem,4vw,3rem);
  display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; justify-content: space-between;
  font-size: .82rem; color: rgba(255,255,255,.6);
}
.site-footer__credit a { color: var(--gold); }
.site-footer__policies { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .35rem 1.4rem; }
.site-footer__policies a { color: rgba(255,255,255,.62); }
.site-footer__policies a:hover { color: var(--gold); }
@media (max-width: 640px){ .site-footer__legal{ justify-content: center; text-align: center; } }

/* ==========================================================================
   PAGE / POST HERO (banda pizarra bajo el header fijo)
   ========================================================================== */
.page-hero,
.post-hero {
  padding-top: calc(var(--header-h) + clamp(2rem, 5vw, 4rem));
  padding-bottom: clamp(2rem, 5vw, 3.5rem);
}
.page-hero .wp-block-post-title,
.page-hero h1,
.post-hero .wp-block-post-title { margin: 0; }
.page-hero--legal { min-height: clamp(300px, 38vh, 420px); display: flex; flex-direction: column; justify-content: center; text-align: center; }
.page-hero--legal .eyebrow { margin-bottom: .7rem; }
.page-hero--legal h1 { font-size: clamp(2rem, 1.3rem + 3vw, 3.3rem); line-height: 1.14; }
.legal-body .measure { max-width: 1040px; }
.legal-body p, .legal-body li { text-align: justify; hyphens: auto; }
.legal-body .lead { text-align: left; }
.legal-body h2 { font-size: clamp(1.45rem, 1.1rem + 1.1vw, 1.9rem); line-height: 1.25; color: var(--slate); margin: 2.2rem 0 .8rem; }
.legal-body h3 { font-size: clamp(1.12rem, 1rem + .6vw, 1.35rem); line-height: 1.3; color: var(--slate); margin: 1.5rem 0 .55rem; }
/* Numeracion automatica (Terms): h2 = 1. 2. 3. ; h3 = 1.1 1.2 ... */
.legal-numbered { counter-reset: lh2; }
.legal-numbered h2 { counter-reset: lh3; }
.legal-numbered h2::before { counter-increment: lh2; content: counter(lh2) ". "; color: var(--gold-deep); }
.legal-numbered h3 { padding-left: 1.1rem; }
.legal-numbered h3::before { counter-increment: lh3; content: counter(lh2) "." counter(lh3) "  "; color: var(--gold-deep); }
.post-hero .wp-block-post-date { color: rgba(255,255,255,.7); font-family: "Montserrat", sans-serif; font-size: .85rem; margin-top: .75rem; }

/* Lead paragraph */
.lead { font-size: clamp(1.1rem, 1rem + .5vw, 1.35rem); line-height: 1.6; color: #3f4b52; }

/* Feature cards (texto, sin foto) */
.feature { padding-top: 1.5rem; border-top: 2px solid var(--gold); }
.feature__eyebrow { font-family: "Montserrat", sans-serif; font-size: .75rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gold-deep); margin: 0 0 .6rem; }
.feature__title { font-family: "Bon Vivant", serif; font-size: 1.6rem; margin: 0 0 .75rem; }
.feature p { color: #4f5b62; margin: 0 0 1.1rem; }

/* Link dorado con flecha */
.link-gold {
  font-family: "Montserrat", sans-serif; font-weight: 600; font-size: .85rem;
  letter-spacing: .08em; text-transform: uppercase; color: var(--gold-deep);
  text-decoration: none; border-bottom: 1px solid transparent; transition: border-color .25s var(--ease);
}
.link-gold:hover { border-color: var(--gold-deep); }

/* Four worlds */
.world {
  display: flex; flex-direction: column; justify-content: flex-end;
  min-height: 300px; padding: 1.5rem;
  background: var(--slate); background-size: cover; background-position: center;
  color: #fff; text-decoration: none;
  border-radius: 2px; position: relative; overflow: hidden;
  box-shadow: 0 12px 34px rgba(28,40,47,.22);
  transition: transform .4s var(--ease), box-shadow .4s var(--ease);
}
.world::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(28,40,47,.05) 30%, rgba(18,28,34,.74) 100%); transition: opacity .4s var(--ease); }
.world:hover { transform: translateY(-6px); box-shadow: 0 22px 52px rgba(28,40,47,.34); }
.world:hover::before { opacity: .88; }
.world > * { position: relative; z-index: 2; }
.world__name { font-family: "Bon Vivant", serif; font-size: 1.5rem; }
.world__note { font-family: "Montserrat", sans-serif; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); margin-top: .35rem; }

/* Anchors bajo header fijo */
[id] { scroll-margin-top: 96px; }

/* Stats */
.stat { text-align: center; }
.stat__num { display: block; font-family: "Bon Vivant", serif; font-size: clamp(2.2rem,1.5rem + 2vw,3.2rem); color: var(--gold-deep); line-height: 1; }
.band--slate .stat__num { color: var(--gold); }
.stat__label { display: block; margin-top: .5rem; font-family: "Montserrat", sans-serif; font-size: .85rem; letter-spacing: .05em; color: #5a666d; }
.band--slate .stat__label { color: rgba(255,255,255,.82); }

/* FAQ accordion */
.faq details { border-bottom: 1px solid rgba(58,83,95,.18); padding: 1.15rem 0; }
.faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 1rem; font-family: "Bon Vivant", serif; font-size: 1.25rem; color: var(--slate-ink); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; color: var(--gold-deep); font-family: "Montserrat", sans-serif; font-size: 1.5rem; line-height: 1; }
.faq details[open] summary::after { content: "\2013"; }
.faq details > p { margin: .9rem 0 0; color: #4f5b62; }

/* Info cards (contacto / datos) */
.info-card { position: relative; overflow: hidden; display: flex; flex-direction: column; padding: clamp(2rem,3vw,2.6rem); background: var(--slate); border: 1px solid rgba(255,255,255,.1); border-radius: 16px; box-shadow: 0 14px 34px rgba(44,63,73,.16); color: #fff; }
.info-card > * { position: relative; z-index: 1; }
.info-card .feature__eyebrow { color: var(--gold); }
.info-card .feature__title, .info-card h3 { color: #fff; }
.info-card p { color: rgba(255,255,255,.85); }
.info-card .link-gold { color: var(--gold); }
.info-card .info-list__label { color: rgba(255,255,255,.5); }
.info-card__iso { position: absolute; right: -46px; bottom: -46px; width: 240px; height: auto; opacity: .07; z-index: 0; pointer-events: none; }
.info-card__wa { margin-top: auto; align-self: flex-start; }
.info-card .info-list { margin-bottom: .3rem; }
.plan-form { padding: clamp(1.7rem,2.8vw,2.4rem); background: #fff; border: 1px solid rgba(58,83,95,.08); border-radius: 16px; box-shadow: 0 14px 34px rgba(44,63,73,.10); }
.plan-form .btn--gold { width: 100%; }
.info-card h3 { font-size: 1.25rem; margin: 0 0 .6rem; }
.info-card p { margin: .3rem 0; }

/* Formularios */
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.25rem; }
.form-field { display: flex; flex-direction: column; gap: .4rem; margin-bottom: 1.1rem; }
.form-field.full { grid-column: 1 / -1; }
.form-field label { font-family: "Montserrat", sans-serif; font-size: .76rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #5a666d; }
.form-field input, .form-field textarea, .form-field select { font-family: "Montserrat", sans-serif; font-size: 1rem; padding: .85rem 1rem; border: 1px solid rgba(58,83,95,.25); border-radius: 2px; background: #fff; color: var(--slate-ink); width: 100%; }
.form-field input:focus, .form-field textarea:focus { outline: 2px solid var(--gold); border-color: var(--gold); }
.map-embed { width: 100%; aspect-ratio: 16/7; border: 1px solid rgba(58,83,95,.2); border-radius: 2px; }
/* Mapa en banda oscura con textura (Plan Your Trip) */
.map-band { position: relative; background: var(--slate-ink) url('/wp-content/uploads/web/partners-topo.jpg?v=1') center/cover no-repeat; }
.map-frame { max-width: 1120px; margin: 2rem auto 0; border-radius: 16px; overflow: hidden; box-shadow: 0 22px 55px rgba(0,0,0,.34); border: 1px solid rgba(255,255,255,.14); }
.map-band .map-embed { border: 0; border-radius: 0; aspect-ratio: 16/8; display: block; }

/* Alias para formularios/contacto generados */
.field { display: flex; flex-direction: column; gap: .4rem; margin-bottom: 1.1rem; }
.field--full { grid-column: 1 / -1; }
.field label { font-family: "Montserrat", sans-serif; font-size: .76rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #5a666d; }
.field input, .field textarea, .field select { font-family: "Montserrat", sans-serif; font-size: 1rem; padding: .85rem 1rem; border: 1px solid rgba(58,83,95,.18); border-radius: 8px; background: #faf9f6; color: var(--slate-ink); width: 100%; transition: border-color .2s var(--ease), box-shadow .2s var(--ease), background .2s var(--ease); }
.field input:focus, .field textarea:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(239,187,47,.18); background: #fff; }
.form-consent { font-size: .82rem; color: #6a757b; margin: .4rem 0 1.2rem; }
.info-list { list-style: none; padding: 0; margin: .5rem 0; display: grid; gap: .55rem; }
.info-list li { display: flex; gap: .75rem; align-items: baseline; }
.info-list__label { font-family: "Montserrat", sans-serif; font-size: .7rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #8a949a; min-width: 56px; }

/* Card con cuerpo claro (título oscuro) */
.card--light .card__title { color: var(--slate-ink); }
.card--light .card__media::after { display: none; }
@media (max-width: 640px) { .form-grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   REVEAL + REDUCED MOTION
   ========================================================================== */
.js .reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s var(--ease), transform .6s var(--ease); }
.js .reveal.is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .reveal { opacity: 1; transform: none; }
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 980px) {
  .grid--3, .grid--4 { grid-template-columns: repeat(2, 1fr); }
  .site-footer__top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 820px) {
  .site-nav, .site-header__cta { display: none; }
  .site-nav__toggle { display: flex; }
  .grid--2 { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .grid--3, .grid--4 { grid-template-columns: 1fr; }
  .site-footer__top { grid-template-columns: 1fr; gap: 1.75rem; }
  .hero { min-height: 88vh; }
}

/* ============================================================
   UPGRADE: buscador, X móvil, hero controls, galería expandible,
   animación de fotos (refs: Wilderness + Neotropic)
   ============================================================ */

/* --- Buscador en header --- */
.site-search-toggle {
  background: none; border: 0; color: #fff; cursor: pointer;
  width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center;
  margin-left: .25rem; flex: none; transition: color .2s var(--ease);
}
.site-search-toggle:hover { color: var(--gold); }
.site-search-toggle svg { width: 20px; height: 20px; }
.search-overlay {
  position: fixed; inset: 0; z-index: 200;
  background: rgba(18,28,34,.97); display: flex; align-items: center; justify-content: center; padding: 2rem;
}
.search-overlay form { display: flex; align-items: center; gap: .75rem; width: min(680px,92vw); border-bottom: 2px solid var(--gold); }
.search-overlay input { flex: 1; background: none; border: 0; color: #fff; font-family: "Bon Vivant", serif; font-size: clamp(1.6rem,4vw,2.6rem); padding: .5rem 0; outline: none; }
.search-overlay input::placeholder { color: rgba(255,255,255,.35); }
.search-overlay button[type="submit"] { background: none; border: 0; color: var(--gold); font-size: 1.8rem; cursor: pointer; }
.search-close {
  position: absolute; top: 1.75rem; right: 1.75rem; width: 50px; height: 50px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.4); background: none; color: #fff; font-size: 1.3rem; cursor: pointer;
  display: flex; align-items: center; justify-content: center; transition: border-color .2s, color .2s;
}
.search-close:hover { border-color: var(--gold); color: var(--gold); }

/* --- X para cerrar menú móvil --- */
.site-nav__close {
  position: absolute; top: 1.25rem; right: 1.25rem; width: 50px; height: 50px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.4); background: none; color: #fff; font-size: 1.4rem; cursor: pointer;
  align-items: center; justify-content: center; display: none; line-height: 1;
}
.site-nav__close:hover { border-color: var(--gold); color: var(--gold); }
@media (max-width: 820px) { .site-nav__close { display: flex; } }

/* --- Hero controls estilo Wilderness (líneas + play/pause + coords) --- */
.hero__controls {
  position: absolute; left: 0; right: 0; bottom: 1.75rem; z-index: 3;
  display: flex; flex-direction: column; align-items: center; gap: .9rem;
  padding: 0 clamp(1rem,4vw,3rem); pointer-events: none;
}
.hero__playline { display: flex; align-items: center; gap: 1.5rem; width: min(880px,82vw); }
.hero__line { flex: 1; height: 1px; background: rgba(255,255,255,.38); }
.hero__play {
  pointer-events: auto; flex: none; width: 62px; height: 62px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.55); background: rgba(28,40,47,.22); cursor: pointer;
  display: flex; align-items: center; justify-content: center; transition: border-color .3s, background .3s;
}
.hero__play:hover { border-color: var(--gold); background: rgba(28,40,47,.5); }
.hero__play::before { content: ""; display: block; width: 14px; height: 16px; border-left: 4px solid var(--gold); border-right: 4px solid var(--gold); }
.hero__play.is-paused::before { width: 0; height: 0; border: 0; border-left: 14px solid var(--gold); border-top: 9px solid transparent; border-bottom: 9px solid transparent; margin-left: 4px; }
.hero__coords { font-family: "Montserrat", sans-serif; font-size: .7rem; letter-spacing: .25em; text-transform: uppercase; color: rgba(255,255,255,.7); }
@media (max-width: 600px) { .hero__play { width: 52px; height: 52px; } }

/* --- Galería expandible estilo Neotropic --- */
.expand-gallery { display: flex; gap: 4px; height: 520px; }
.ex-panel { position: relative; flex: 1; min-width: 0; overflow: hidden; text-decoration: none; transition: flex .6s var(--ease); }
.ex-panel__bg { position: absolute; inset: 0; background-size: cover; background-position: center; transform: scale(1.06); filter: saturate(.92) brightness(.74); transition: transform 1.3s var(--ease), filter .6s var(--ease); }
.ex-panel::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18,28,34,.08) 40%, rgba(18,28,34,.82) 100%); }
.ex-panel__label { position: absolute; inset: auto 0 0 0; z-index: 2; padding: 1.6rem 1.25rem; color: #fff; text-align: center; }
.ex-panel__eyebrow { display: block; font-family: "Montserrat", sans-serif; font-size: .7rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--gold); margin-bottom: .45rem; }
.ex-panel__title { display: block; font-family: "Bon Vivant", serif; font-size: 1.55rem; line-height: 1.08; }
.ex-panel__cta { display: inline-block; margin-top: .85rem; font-family: "Montserrat", sans-serif; font-size: .76rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #fff; opacity: 0; transform: translateY(10px); transition: opacity .4s var(--ease), transform .4s var(--ease); }
.expand-gallery:hover .ex-panel { flex: .72; }
.expand-gallery .ex-panel:hover { flex: 2.6; }
.ex-panel:hover .ex-panel__bg { transform: scale(1); filter: saturate(1.05) brightness(1); }
.ex-panel:hover .ex-panel__cta { opacity: 1; transform: none; }
@media (max-width: 820px) {
  .expand-gallery { flex-direction: column; height: auto; }
  .ex-panel { height: 210px; }
  .expand-gallery:hover .ex-panel, .expand-gallery .ex-panel:hover { flex: 1; }
  .ex-panel__bg { transform: scale(1); filter: saturate(1) brightness(.82); }
  .ex-panel__cta { opacity: 1; transform: none; }
}

/* --- Animación de fotos al aparecer (wipe + zoom) --- */
.js .reveal-img { clip-path: inset(0 0 102% 0); opacity: 0; transition: clip-path 1.05s var(--ease), opacity 1.05s var(--ease); }
.js .reveal-img.is-in { clip-path: inset(0 0 0 0); opacity: 1; }

/* Cierre de menú móvil: hamburguesa que se convierte en X (estándar, siempre visible) */
.site-header__inner { position: relative; z-index: 102; }
.site-nav__toggle span { transform-origin: center; }
.site-nav__toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.site-nav__toggle.is-open span:nth-child(2) { opacity: 0; }
.site-nav__toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.site-nav__close { display: none !important; }
@media (max-width: 820px) { .site-search-toggle { display: none; } }

/* Hero centrado y sobrio (estilo Wilderness) — solo Home */
.hero--center { align-items: center; text-align: center; }
.hero--center .hero__inner { padding-bottom: 0; }
.hero--center .eyebrow { margin-inline: auto; }
.hero--center .hero__title { margin-inline: auto; max-width: 20ch; }
.hero--center .hero__sub { display: none; }            /* ocultar descripción (no se borra) */
.hero--center .hero__inner > p:last-child {
  display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; margin-top: 2rem;
}
/* Botones sobrios del hero: contorno fino, mayúsculas, sin relleno */
.hero--center .btn {
  background: transparent; border: 1px solid rgba(255,255,255,.55); color: #fff;
  font-weight: 600; letter-spacing: .14em; text-transform: uppercase; font-size: .74rem;
  padding: 1rem 2.1rem; border-radius: 0;
}
.hero--center .btn:hover { background: var(--gold); border-color: var(--gold); color: var(--slate-ink); transform: none; }
.hero--center .btn--gold { background: transparent; border-color: var(--gold); color: var(--gold); }

/* ============================================================
   MEGA-MENÚ estilo Wilderness (full-screen, blur, imagen dinámica)
   ============================================================ */
.site-header__inner { position: relative; }
.site-header__logo { position: absolute; left: 50%; top: 6px; transform: translateX(-50%); z-index: 155; margin: 0; }
.site-header.is-stuck .site-header__logo { top: 50%; transform: translate(-50%, -50%); }
.site-header.is-stuck .site-header__inner { min-height: 100px; }
.site-header__right { margin-left: auto; display: flex; align-items: center; gap: .6rem; position: relative; z-index: 160; }

/* Botón MENU (hamburguesa + label) */
.menu-trigger { display: inline-flex; align-items: center; gap: .8rem; background: none; border: 0; color: #fff; cursor: pointer; padding: 0; position: relative; z-index: 160;
  font-family: "Montserrat", sans-serif; font-size: .78rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.menu-trigger__icon { width: 26px; height: 16px; position: relative; display: inline-block; flex: none; }
.menu-trigger__icon span { position: absolute; left: 0; width: 100%; height: 2px; background: currentColor; transition: transform .3s var(--ease), opacity .2s; }
.menu-trigger__icon span:nth-child(1) { top: 0; }
.menu-trigger__icon span:nth-child(2) { top: 7px; }
.menu-trigger__icon span:nth-child(3) { top: 14px; }
.menu-trigger.is-open .menu-trigger__icon span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-trigger.is-open .menu-trigger__icon span:nth-child(2) { opacity: 0; }
.menu-trigger.is-open .menu-trigger__icon span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Overlay con vidrio esmerilado */
.mega {
  position: fixed; inset: 0; z-index: 150;
  background: rgba(16,24,30,.8);
  -webkit-backdrop-filter: blur(18px) saturate(1.1); backdrop-filter: blur(18px) saturate(1.1);
  padding: calc(var(--header-h) + 1.5rem) clamp(1.5rem,5vw,4.5rem) 2rem;
  overflow-y: auto; display: flex; flex-direction: column; animation: megaFade .4s var(--ease);
}
@keyframes megaFade { from { opacity: 0; } to { opacity: 1; } }
.mega__inner { display: grid; grid-template-columns: 1.1fr 1.1fr 1fr; gap: clamp(2rem,5vw,5rem); max-width: 1500px; margin: 0 auto; width: 100%; flex: 1; align-items: start; }

.mega__cats { display: flex; flex-direction: column; }
.mega__cat { display: flex; align-items: center; justify-content: space-between; gap: 1rem; background: none; border: 0; border-bottom: 1px solid rgba(255,255,255,.13); text-align: left;
  color: #fff; font-family: "Montserrat", sans-serif; font-size: .9rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; padding: 1.15rem 0; cursor: pointer; text-decoration: none; transition: color .2s var(--ease); }
.mega__cat:hover, .mega__cat.is-active { color: var(--gold); }
.mega__arrow { opacity: 0; transform: translateX(-8px); transition: opacity .25s var(--ease), transform .25s var(--ease); color: var(--gold); }
.mega__cat.is-active .mega__arrow, .mega__cat:hover .mega__arrow { opacity: 1; transform: none; }

.mega__panels { position: relative; min-height: 320px; }
.mega__panel { position: absolute; inset: 0; opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .35s var(--ease), transform .35s var(--ease); display: flex; flex-direction: column; }
.mega__panel.is-active { opacity: 1; visibility: visible; transform: none; }
.mega__panel-label { font-family: "Montserrat", sans-serif; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.45); margin-bottom: 1.1rem; }
.mega__panel a { color: rgba(255,255,255,.86); text-decoration: none; font-family: "Bon Vivant", serif; font-size: clamp(1.3rem,1.1rem+.6vw,1.6rem); padding: .45rem 0; transition: color .2s var(--ease), padding-left .25s var(--ease); }
.mega__panel a:hover { color: var(--gold); padding-left: .5rem; }
.mega__explore { margin-top: 1.4rem; align-self: flex-start; font-family: "Montserrat", sans-serif !important; font-size: .76rem !important; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--gold) !important; border: 1px solid rgba(239,187,47,.5); padding: .85rem 1.5rem !important; display: inline-flex; align-items: center; gap: .6rem; transition: background .2s var(--ease), color .2s var(--ease); }
.mega__explore:hover { background: var(--gold); color: var(--slate-ink) !important; padding-left: 1.5rem !important; }

.mega__img { width: 100%; aspect-ratio: 4/3.3; background-size: cover; background-position: center; transition: background-image .35s var(--ease); }
.mega__imgcta { display: flex; align-items: center; gap: .8rem; background: rgba(58,83,95,.55); color: #fff; text-decoration: none; padding: 1rem 1.4rem; font-family: "Montserrat", sans-serif; font-size: .78rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; transition: background .2s var(--ease), color .2s var(--ease); }
.mega__imgcta:hover { background: var(--gold); color: var(--slate-ink); }
.mega__imgcta-arrow { color: var(--gold); border: 1px solid currentColor; border-radius: 50%; width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.mega__imgcta:hover .mega__imgcta-arrow { color: var(--slate-ink); }

.mega__search { display: flex; align-items: center; gap: .9rem; max-width: 1500px; margin: 1.75rem auto 0; width: 100%; border-bottom: 1px solid rgba(255,255,255,.25); padding-bottom: .6rem; }
.mega__search svg { width: 22px; height: 22px; color: var(--gold); flex: none; }
.mega__search input { flex: 1; background: none; border: 0; color: #fff; font-family: "Montserrat", sans-serif; font-size: 1.05rem; padding: .5rem 0; outline: none; }
.mega__search input::placeholder { color: rgba(255,255,255,.4); }

/* Video del hero TAMBIÉN en móvil */
@media (max-width: 820px) { .hero__video { display: block !important; } }

/* Mega responsive */
@media (max-width: 900px) {
  .mega { padding-top: calc(var(--header-h) + .5rem); }
  .mega__inner { grid-template-columns: 1fr; gap: 1.25rem; }
  .mega__media { display: none; }
  .mega__panels { min-height: 0; }
  .mega__panel { position: static; opacity: 1; visibility: visible; transform: none; display: none; }
  .mega__panel.is-active { display: flex; }
  .menu-trigger__label { display: none; }
  .site-header__logo { position: static; transform: none; margin: 0 auto; }
  .site-header__cta { display: none; }
}

/* Hero interno estilo Wilderness: título izq + línea fina + descripción abajo-derecha */
.hero--inner { align-items: flex-end; }
.hero--inner .hero__inner { width: 100%; max-width: 1400px; padding-bottom: clamp(3rem,7vw,6rem); text-align: left; }
.hero--inner .hero__title { max-width: 18ch; margin: 0; }
.hero--inner .hero__sub { display: none; }
.hero__rule { width: 100%; height: 1px; background: rgba(255,255,255,.4); border: 0; margin: clamp(1.5rem,4vw,2.5rem) 0 1.25rem; }
.hero__desc { margin-left: auto; max-width: 46ch; color: rgba(255,255,255,.9); font-size: 1rem; line-height: 1.65; font-family: "Montserrat", sans-serif; }
@media (max-width: 700px) { .hero__desc { margin-left: 0; max-width: 100%; } }

/* Ken Burns: zoom suave de la foto al pasar el mouse */
.world { transition: transform .4s var(--ease), box-shadow .4s var(--ease), background-size 1.1s var(--ease); }
.world:hover { background-size: 118%; }

/* Carrusel infinito de reconocimientos/logos */
.marquee { overflow: hidden; padding: .4rem 0; -webkit-mask-image: linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); mask-image: linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
.marquee__track { display: flex; align-items: center; gap: clamp(2.5rem,5vw,4.5rem); width: max-content; animation: marquee 40s linear infinite; }
.marquee:hover .marquee__track { animation-play-state: paused; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.marquee__logo { font-family: "Montserrat", sans-serif; font-size: .95rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #9aa3a8; white-space: nowrap; transition: color .3s var(--ease); }
.marquee__logo:hover { color: var(--gold-deep); }

/* X clara para cerrar el mega-menú */
.mega__close { position: absolute; top: 1.6rem; right: clamp(1.5rem,5vw,4.5rem); width: 54px; height: 54px; border-radius: 50%; border: 1px solid rgba(255,255,255,.45); background: rgba(0,0,0,.15); color: #fff; font-size: 1.35rem; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 170; transition: border-color .2s var(--ease), color .2s var(--ease), transform .35s var(--ease); }
.mega__close:hover { border-color: var(--gold); color: var(--gold); transform: rotate(90deg); }
.mega-open .site-header__right { opacity: 0; pointer-events: none; }

/* ===== Menú móvil / tablet: accordion funcional (blur + colores de marca) ===== */
.mnav { display: none; width: 100%; max-width: 540px; margin: 0 auto; }
.mnav__head, .mnav__link {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%;
  background: none; border: 0; border-bottom: 1px solid rgba(255,255,255,.15);
  color: #fff; text-decoration: none; cursor: pointer; text-align: left;
  font-family: "Montserrat", sans-serif; font-weight: 600; letter-spacing: .13em; text-transform: uppercase;
  font-size: 1rem; padding: 1.15rem .15rem; transition: color .2s var(--ease);
}
.mnav__head:hover, .mnav__link:hover, .mnav__item.is-open .mnav__head { color: var(--gold); }
.mnav__plus { position: relative; width: 15px; height: 15px; flex: none; color: rgba(255,255,255,.7); transition: color .25s var(--ease), transform .35s var(--ease); }
.mnav__plus::before, .mnav__plus::after { content: ""; position: absolute; background: currentColor; }
.mnav__plus::before { top: 6.5px; left: 0; width: 15px; height: 2px; }
.mnav__plus::after { left: 6.5px; top: 0; width: 2px; height: 15px; transition: opacity .3s var(--ease); }
.mnav__head:hover .mnav__plus, .mnav__item.is-open .mnav__plus { color: var(--gold); }
.mnav__item.is-open .mnav__plus::after { opacity: 0; }
.mnav__sub { max-height: 0; overflow: hidden; transition: max-height .4s var(--ease); }
.mnav__item.is-open .mnav__sub { max-height: 560px; }
.mnav__sub a { display: block; color: rgba(255,255,255,.82); text-decoration: none; font-family: "Bon Vivant", serif; font-size: 1.2rem; padding: .5rem 0 .5rem .2rem; transition: color .2s var(--ease), padding-left .2s var(--ease); }
.mnav__sub a:first-child { padding-top: .9rem; }
.mnav__sub a:last-child { padding-bottom: 1.1rem; }
.mnav__sub a:hover { color: var(--gold); padding-left: .6rem; }
.mnav__all { color: var(--gold) !important; font-family: "Montserrat", sans-serif !important; font-size: .72rem !important; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }

@media (max-width: 1024px) {
  .mega { background: rgba(44,63,73,.82); }   /* pizarra (colores de antes) + blur */
  .mega__inner { display: none; }
  .mnav { display: block; }
}

/* Slider numerado estilo Wilderness (01/06 + flechas) */
.slider__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; flex-wrap: wrap; margin-bottom: 2rem; }
.slider__nav { display: flex; align-items: center; gap: 1.1rem; }
.slider__count { font-family: "Montserrat", sans-serif; font-size: 1.05rem; letter-spacing: .08em; color: #9aa3a8; }
.slider__cur { color: var(--slate-ink); font-weight: 600; }
.slider__arrow { width: 50px; height: 50px; border-radius: 50%; border: 1px solid rgba(58,83,95,.3); background: none; color: var(--slate-ink); font-size: 1.2rem; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease); }
.slider__arrow:hover { background: var(--gold); border-color: var(--gold); color: var(--slate-ink); }
.slider__viewport { overflow: hidden; }
.slider__track { display: flex; transition: transform .6s var(--ease); }
.slide { min-width: 100%; display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(1.5rem,4vw,3.5rem); align-items: center; }
.slide__media { aspect-ratio: 16/11; overflow: hidden; border-radius: 2px; }
.slide__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 7s var(--ease); }
.slide:hover .slide__media img { transform: scale(1.06); }
.slide__eyebrow { font-family: "Montserrat", sans-serif; font-size: .72rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--gold-deep); margin: 0 0 .8rem; }
.slide__title { font-family: "Bon Vivant", serif; font-size: clamp(1.6rem,1.2rem + 1.5vw,2.4rem); margin: 0 0 1rem; line-height: 1.1; }
.slide__text { color: #4f5b62; line-height: 1.65; margin: 0 0 1.4rem; }
@media (max-width: 760px) { .slide { grid-template-columns: 1fr; } }

/* ===== FIX: texto legible sobre bandas pizarra (oscuras) ===== */
.band--slate p, .band--slate li, .band--slate .lead { color: rgba(255,255,255,.86); }
.band--slate .feature__title { color: #fff; }
.band--slate .feature__eyebrow { color: var(--gold); }
.band--slate .feature p { color: rgba(255,255,255,.82); }
.band--slate .feature { border-top-color: var(--gold); }
.band--slate .stat__label { color: rgba(255,255,255,.82); }
.band--slate .faq summary { color: #fff; }
.band--slate .faq details { border-bottom-color: rgba(255,255,255,.2); }
.band--slate .faq summary::after { color: var(--gold); }
.band--slate .faq details > p { color: rgba(255,255,255,.8); }
.band--slate .info-card { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.16); }
.band--slate .info-card h3, .band--slate .info-card p { color: #fff; }
.band--slate .info-list__label { color: rgba(255,255,255,.55); }
.band--slate .link-gold { color: var(--gold); }
.band--slate .section__title, .band--slate h2, .band--slate h3 { color: #fff; }

/* ===== FIX: texto blanco legible sobre fotos (.world) + scrim más fuerte ===== */
.world__note { color: rgba(255,255,255,.92); }
.world::before { background: linear-gradient(180deg, rgba(18,28,34,.05) 22%, rgba(12,18,23,.88) 100%); }

/* Imagen grande por destino + foto de equipo */
.dest-img { margin: 0 auto 1.75rem; max-width: 1100px; aspect-ratio: 16/7; overflow: hidden; border-radius: 2px; }
.dest-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 7s var(--ease); }
.dest-img:hover img { transform: scale(1.06); }
.team-card__photo { aspect-ratio: 5/6; overflow: hidden; border-radius: 2px; margin-bottom: 1.2rem; background: var(--slate); }
.team-card__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; transition: transform .7s var(--ease); }
.feature:hover .team-card__photo img { transform: scale(1.05); }
.feature:has(.team-card__photo) { border-top: 0; padding-top: 0; }

/* Más blackover en el hero: texto siempre legible aunque el video esté claro */
.hero::after { background: linear-gradient(180deg, rgba(12,18,23,.42) 0%, rgba(12,18,23,.24) 42%, rgba(9,14,18,.68) 100%); }
.hero--center::after { background: linear-gradient(180deg, rgba(11,17,21,.52) 0%, rgba(11,17,21,.42) 45%, rgba(9,14,18,.68) 100%); }
/* Línea del hero interno SIEMPRE visible y más marcada */
.js .hero--inner .hero__rule { opacity: 1; transform: none; }
.hero__rule { height: 1px; background: rgba(255,255,255,.62); box-shadow: 0 1px 4px rgba(0,0,0,.4); }

/* ===== Iconos de línea dorados (vectores on-brand) ===== */
.feature__icon { display:inline-flex; color:var(--gold-deep); margin:0 0 1rem; line-height:0; }
.feature__icon svg { width:42px; height:42px; }
.band--slate .feature__icon { color:var(--gold); }
.world__icon { display:block; color:var(--gold); margin:0 0 .85rem; line-height:0; }
.world__icon svg { width:34px; height:34px; }
.site-footer__contact p { display:flex; align-items:flex-start; gap:.6rem; }
.site-footer__contact .fico { flex:none; color:var(--gold); margin-top:.18rem; line-height:0; }
.site-footer__contact .fico svg { width:17px; height:17px; display:block; }
/* FAQ: chevron vectorial dorado (reemplaza el glifo '+') */
.faq summary::after {
  content:""; width:18px; height:18px; flex:none; background:var(--gold-deep);
  -webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>') center/contain no-repeat;
  mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>') center/contain no-repeat;
  transition:transform .3s var(--ease);
}
.faq details[open] summary::after { transform:rotate(180deg); content:""; }
.band--slate .faq summary::after { background:var(--gold); }

/* Imagen editorial inset (secciones de texto: About, etc.) */
.inset-img { margin: 0 auto 2.2rem; aspect-ratio: 3/2; overflow: hidden; border-radius: 2px; background: var(--slate); }
.inset-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 7s var(--ease); }
.inset-img:hover img { transform: scale(1.05); }
/* Accesibilidad: foco de teclado visible (WCAG) */
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 2px;
}

/* ===== Experiences (CPT): ficha de producto + catálogo ===== */
.exp-glance { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:1.4rem 2.5rem; max-width:1100px; margin:0 auto 2.6rem; border-top:1px solid rgba(58,83,95,.18); border-bottom:1px solid rgba(58,83,95,.18); padding:2rem 0; }
.exp-glance__item { display:flex; flex-direction:column; gap:.35rem; }
.exp-glance__k { font-family:"Montserrat",sans-serif; font-size:.66rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-deep); }
.exp-glance__v { font-family:"Bon Vivant",serif; font-size:1.12rem; color:var(--slate-ink); line-height:1.25; }
.band--slate .exp-glance { border-color:rgba(255,255,255,.18); }
.band--slate .exp-glance__v { color:#fff; } .band--slate .exp-glance__k { color:var(--gold); }
.exp-days { display:grid; gap:1.5rem; max-width:780px; margin:0 auto; }
.exp-day { padding-top:1.4rem; border-top:1px solid rgba(58,83,95,.16); }
.exp-day__n { font-family:"Montserrat",sans-serif; font-size:.7rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-deep); margin:0 0 .4rem; }
.exp-day__t { font-family:"Bon Vivant",serif; font-size:1.5rem; margin:0 0 .55rem; color:var(--slate-ink); }
.exp-day p { color:#4f5b62; margin:0; line-height:1.7; }
.exp-incl { display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; max-width:1000px; margin:0 auto; }
.exp-incl h3 { font-family:"Bon Vivant",serif; font-size:1.5rem; margin:0 0 1rem; color:var(--slate-ink); }
.exp-incl ul { list-style:none; margin:0; padding:0; }
.exp-incl li { position:relative; padding:.5rem 0 .5rem 1.7rem; color:#4f5b62; line-height:1.5; border-bottom:1px solid rgba(58,83,95,.1); }
.exp-incl li::before { content:""; position:absolute; left:0; top:.95rem; width:9px; height:9px; border:1.6px solid var(--gold-deep); border-radius:50%; }
.exp-incl .exp-incl--no li::before { border-radius:0; border-width:0 0 1.6px 0; width:12px; height:0; top:1.1rem; border-color:#b08968; }
@media (max-width:680px){ .exp-incl{ grid-template-columns:1fr; gap:1.6rem; } }

/* ===== Detalle de producto: At a glance + Day by day ===== */
.glance{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(58,83,95,.14); border:1px solid rgba(58,83,95,.14); max-width:1000px; margin:0 auto; }
.glance__item{ background:var(--arena); padding:1.3rem 1.5rem; }
.glance__label{ font-family:"Montserrat",sans-serif; font-size:.7rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-deep); margin:0 0 .35rem; }
.glance__value{ font-family:"Bon Vivant",serif; font-size:1.12rem; color:var(--slate-ink); margin:0; line-height:1.32; }
@media (max-width:680px){ .glance{ grid-template-columns:1fr 1fr; } }
.dayplan{ max-width:760px; margin:0 auto; display:grid; gap:1.7rem; }
.day{ position:relative; padding-left:1.7rem; border-left:2px solid var(--gold); }
.day__title{ font-family:"Bon Vivant",serif; font-size:1.32rem; color:var(--slate-ink); margin:0 0 .5rem; }
.day p{ color:#4f5b62; margin:0; line-height:1.66; }

/* ===== Galería de fotos (Weddings / MICE) ===== */
.photo-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem; max-width:1100px; margin:0 auto; }
.photo-grid figure{ margin:0; overflow:hidden; border-radius:5px; }
.photo-grid img{ width:100%; aspect-ratio:4/3; object-fit:cover; object-position:center 28%; display:block; transition:transform .7s var(--ease); }
.photo-grid figure:hover img{ transform:scale(1.06); }
@media (max-width:680px){ .photo-grid{ grid-template-columns:1fr 1fr; gap:.5rem; } }

/* ===== Texturas + micro-animaciones (sutil, luxury) ===== */
/* Grano de película muy sutil en toda la página */
body::after{ content:""; position:fixed; inset:0; z-index:9998; pointer-events:none; opacity:.04; mix-blend-mode:overlay; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
/* Profundidad sutil en bandas oscuras (brillo arriba-centro) */
.band--slate{ background: radial-gradient(120% 95% at 50% -12%, #44606f 0%, var(--slate) 58%); }
/* Lift suave al pasar el mouse en tarjetas */
.feature{ transition: transform .45s var(--ease), box-shadow .45s var(--ease); }
.feature:hover{ transform: translateY(-4px); }
.glance__item{ transition: background .4s var(--ease); }
@media (prefers-reduced-motion: reduce){ body::after{ display:none; } .feature, .glance__item{ transition:none; } }
/* Catálogo (archive) */
.exp-catalog .wp-block-query { max-width:1400px; margin:0 auto; padding-inline:clamp(1rem,4vw,3rem); }
.exp-grid { display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:2.2rem !important; }
.exp-grid > li { list-style:none; }
.exp-grid figure, .exp-grid img { margin:0; }
.exp-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:2px; transition:transform .6s var(--ease); }
.exp-grid > li:hover img { transform:scale(1.04); }
.exp-grid .wp-block-post-terms { font-family:"Montserrat",sans-serif; font-size:.66rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-deep); margin:.9rem 0 .2rem; }
.exp-grid .wp-block-post-title { font-family:"Bon Vivant",serif; font-size:1.45rem; line-height:1.2; margin:.1rem 0 .4rem; }
.exp-grid .wp-block-post-title a { color:var(--slate-ink); text-decoration:none; }
.exp-grid .wp-block-post-title a:hover { color:var(--gold-deep); }
.exp-grid .wp-block-post-excerpt { color:#4f5b62; font-size:.95rem; line-height:1.6; }
.exp-grid .wp-block-post-excerpt__more-link { color:var(--gold-deep); font-family:"Montserrat",sans-serif; font-size:.72rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; }
@media (max-width:900px){ .exp-grid{ grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:600px){ .exp-grid{ grid-template-columns:1fr !important; } }

/* ===== Redes sociales ===== */
.social { display:flex; gap:.65rem; flex-wrap:wrap; }
.social__link { width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.28); display:inline-flex; align-items:center; justify-content:center; color:#fff; transition:background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease); }
.social__link:hover { background:var(--gold); border-color:var(--gold); color:#fff; transform:translateY(-2px); }
.social__link svg { width:18px; height:18px; }
.site-footer__social { margin-top:1.5rem; }
.mega__social { margin-top:1.6rem; }

/* GTranslate: pill flotante */
.gt-float { position:fixed; left:18px; bottom:18px; z-index:140; background:#fff; border-radius:30px; box-shadow:0 6px 20px rgba(28,40,47,.22); padding:.32rem .7rem; }
.gt-float select { border:0; background:none; font-family:"Montserrat",sans-serif; font-size:.85rem; color:var(--slate-ink); cursor:pointer; outline:none; }
.gt-float img { vertical-align:middle; }
@media (max-width:600px){ .gt-float { left:12px; bottom:12px; } }

/* ===== FIX Google Translate: banner que rompe layout + subrayados feos ===== */
.goog-te-banner-frame, .goog-te-banner-frame.skiptranslate, iframe.skiptranslate { display:none !important; visibility:hidden !important; height:0 !important; }
body { top:0 !important; position:static !important; min-height:0 !important; }
.goog-te-gadget-icon, #goog-gt-tt, .goog-te-balloon-frame, .goog-tooltip, .goog-tooltip:hover { display:none !important; }
.goog-text-highlight { background:none !important; box-shadow:none !important; }
font[style] { background:none !important; box-shadow:none !important; vertical-align:inherit !important; }
/* Redes en el header (arriba) */
.site-header__social { display:flex; gap:.4rem; margin-right:.3rem; }
.site-header__social .social__link { width:33px; height:33px; border-color:rgba(255,255,255,.22); }
.site-header__social .social__link svg { width:15px; height:15px; }
@media (max-width:1100px){ .site-header__social { display:none; } }
/* Redes centradas en el footer */
.site-footer__social-row { display:flex; justify-content:center; padding:1.8rem 0 .4rem; }
.site-footer__social-row .social { justify-content:center; }

/* ===== GTranslate robusto: ocultar TODO el chrome de Google + flotantes no tapan el menú ===== */
.skiptranslate { display: none !important; }
body { top: 0 !important; }
html.mega-open .gt-float,
html.mega-open .joinchat,
html.mega-open #joinchat,
html.mega-open .joinchat__button { display: none !important; }

/* ===== Dos landings destacadas bajo el hero (split full-bleed, sin link aún) ===== */
.split-landings { display:grid; grid-template-columns:1fr 1fr; }
.split-panel { position:relative; overflow:hidden; min-height:clamp(380px,48vh,580px); display:flex; align-items:flex-end; padding:clamp(2rem,4vw,3.5rem); }
.split-panel__bg { position:absolute; inset:0; background-size:cover; background-position:center; transition:transform 1.4s var(--ease); z-index:0; }
.split-panel:hover .split-panel__bg { transform:scale(1.07); }
.split-panel::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(12,18,23,.25) 8%, rgba(9,14,18,.9) 100%), linear-gradient(90deg, rgba(10,16,20,.5), rgba(10,16,20,0) 62%); z-index:1; transition:opacity .4s var(--ease); }
.split-panel:hover::before { background:linear-gradient(180deg, rgba(12,18,23,.28) 18%, rgba(9,14,18,.9) 100%); }
.split-panel__inner { position:relative; z-index:2; max-width:34ch; color:#fff; }
.split-panel__eyebrow { font-family:"Montserrat",sans-serif; font-size:.74rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin:0 0 .8rem; }
.split-panel__title { font-family:"Bon Vivant",serif; font-size:clamp(1.7rem,1.2rem+1.6vw,2.6rem); line-height:1.1; margin:0 0 .9rem; color:#fff; }
.split-panel__text { font-family:"Montserrat",sans-serif; font-size:.95rem; line-height:1.6; color:rgba(255,255,255,.86); margin:0 0 1.5rem; }
.split-panel__cta { display:inline-flex; align-items:center; gap:.5rem; font-family:"Montserrat",sans-serif; font-size:.78rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#fff; border:1px solid rgba(255,255,255,.5); padding:.85rem 1.6rem; border-radius:2px; transition:background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease); }
.split-panel:hover .split-panel__cta { background:var(--gold); border-color:var(--gold); color:var(--slate-ink); }
@media (max-width:760px){ .split-landings { grid-template-columns:1fr; } .split-panel { min-height:340px; } }

/* ===== Menú: panels crecen con el contenido (listas largas: productos + artículos) ===== */
.mega__panel { position: static; display: none; opacity: 1; visibility: visible; transform: none; }
.mega__panel.is-active { display: flex; flex-direction: column; }
.mega__panels { min-height: 0; }
.mega__panel-label--sub { margin-top: 1.4rem; }
.mega__panel a.mega__journey { font-size: 1.05rem; padding: .3rem 0; }
.mnav__item.is-open .mnav__sub { max-height: 1400px; }

/* ===== Revisión cliente: footer homologado a Montserrat ===== */
.site-footer, .site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4,
.site-footer__credit, .site-footer__legal, .site-footer a, .site-footer p, .site-footer li {
  font-family: "Montserrat", sans-serif !important;
}

/* ===== Revisión cliente: logo más grande, Partners list, colores Destinations ===== */
.site-header__logo img { height: 118px; }
.site-header.is-stuck .site-header__logo img { height: 90px; }
/* Partners and Memberships (Home) */
.partners { text-align:center; max-width:1000px; margin:0 auto; }
.partners__title { font-family:"Montserrat",sans-serif; font-size:.72rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-deep); margin:1.6rem 0 .7rem; }
.partners__list { font-family:"Montserrat",sans-serif; font-size:.95rem; line-height:1.9; color:#5a666d; max-width:62ch; margin:0 auto; }
/* Carrusel de logos (blancos sobre banda oscura) — Partners & Memberships */
.logo-marquee { position:relative; background:var(--slate); border-radius:10px; padding:2.3rem 0; max-width:1080px; margin:0 auto; overflow:hidden; }
.logo-marquee::before, .logo-marquee::after { content:""; position:absolute; top:0; bottom:0; width:56px; z-index:2; pointer-events:none; }
.logo-marquee::before { left:0; background:linear-gradient(90deg, var(--slate), transparent); }
.logo-marquee::after { right:0; background:linear-gradient(270deg, var(--slate), transparent); }
.logo-marquee__track { display:flex; align-items:center; gap:clamp(2.8rem,6vw,5rem); width:max-content; animation: marquee 30s linear infinite; padding-left:clamp(2.8rem,6vw,5rem); }
.logo-marquee:hover .logo-marquee__track { animation-play-state:paused; }
.logo-marquee__track img { height:50px; width:auto; opacity:.85; filter:brightness(0) invert(1); flex:none; transition:opacity .3s var(--ease); }
.logo-marquee__track img:hover { opacity:1; }
@media (max-width:680px){ .logo-marquee__track img{ height:36px; } .logo-marquee__track{ gap:2.4rem; } }
@media (prefers-reduced-motion: reduce){ .logo-marquee__track{ animation:none; flex-wrap:wrap; justify-content:center; padding-left:0; } }

/* ===== Reviews carousel + isotipo girando (Home: From our guests) ===== */
.reviews-band { position:relative; overflow:hidden; min-height:clamp(720px,78vh,900px); display:flex; flex-direction:column; justify-content:center; }
.reviews-band__iso { position:absolute; top:50%; left:50%; width:min(660px,80vw); height:auto; transform:translate(-50%,-50%); opacity:.07; pointer-events:none; z-index:0; animation:spin 90s linear infinite; }
@keyframes spin { to { transform:translate(-50%,-50%) rotate(360deg); } }
.reviews-band > .wrap, .reviews-band .reviews-mq { position:relative; z-index:1; }
.reviews-mq { position:relative; overflow:hidden; margin-top:2.2rem; -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
.reviews-mq__track { display:flex; gap:1.5rem; width:max-content; animation:marquee 60s linear infinite; }
.reviews-mq:hover .reviews-mq__track { animation-play-state:paused; }
.rev-card { flex:0 0 auto; width:clamp(280px,25vw,360px); min-height:250px; box-sizing:border-box; background:rgba(25,37,44,.86); border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:1.9rem 1.8rem; display:flex; flex-direction:column; box-shadow:0 10px 30px rgba(0,0,0,.18); }
.rev-card__mark { font-family:"Bon Vivant", serif; color:var(--gold); font-size:2.8rem; line-height:.4; height:1.2rem; }
.rev-card__text { font-family:"Bon Vivant", serif; font-style:italic; color:#eef2f2; font-size:1.06rem; line-height:1.5; flex:1 1 auto; }
.rev-card__author { margin-top:1.3rem; color:var(--gold); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700; font-family:"Montserrat",sans-serif; }
/* Carrusel de reviews sobre banda slate/oscura (Testimonials Corporate): tarjeta mas clara para que resalte */
.band--slate .rev-card, .band--topo-dark .rev-card { background: rgba(255,255,255,.08); }
@media (max-width:680px){ .rev-card{ width:80vw; } }
@media (prefers-reduced-motion:reduce){ .reviews-mq__track,.reviews-band__iso{ animation:none; } }

/* ===== Partners & memberships — banda full-width + 2 filas ===== */
.partners-band { position:relative; overflow:hidden; padding:clamp(3rem,6vw,5rem) 0; background:var(--slate-ink); }
.lmq-rows { display:flex; flex-direction:column; gap:1.15rem; width:100%; margin-top:2.4rem; }
.lmq { position:relative; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); }
.lmq__track { display:flex; align-items:center; gap:1.15rem; width:max-content; animation:marquee 78s linear infinite; }
.lmq--rev .lmq__track { animation-direction:reverse; animation-duration:92s; }
.lmq:hover .lmq__track { animation-play-state:paused; }
.lmq__item { flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:180px; height:104px; padding:0 1.3rem; box-sizing:border-box; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.10); border-radius:12px; }
.lmq__item img { max-height:50px; max-width:120px; width:auto; height:auto; object-fit:contain; filter:brightness(0) invert(1); opacity:.8; transition:opacity .3s var(--ease); }
.lmq__item:hover img { opacity:1; }
@media (max-width:680px){ .lmq__item{ width:140px; height:84px; } .lmq__item img{ max-height:38px; } }
@media (prefers-reduced-motion:reduce){ .lmq__track{ animation:none; } }

/* ===== Micro-animaciones "pepa" ===== */
/* Ken Burns sutil (pan lento) en heroes con foto */
@keyframes heroPan { 0%{ background-position:center 44%; } 100%{ background-position:center 56%; } }
.hero--inner { animation: heroPan 26s ease-in-out infinite alternate; }
/* Stagger: las tarjetas aparecen en cascada */
.js .grid > .reveal:nth-child(2){ transition-delay:.08s; }
.js .grid > .reveal:nth-child(3){ transition-delay:.16s; }
.js .grid > .reveal:nth-child(4){ transition-delay:.24s; }
.js .grid > .reveal:nth-child(5){ transition-delay:.32s; }
.js .grid > .reveal:nth-child(6){ transition-delay:.40s; }
.js .stat.reveal:nth-child(2){ transition-delay:.12s; }
.js .stat.reveal:nth-child(3){ transition-delay:.24s; }
/* Hairline que se dibuja al revelar */
.js .hairline.reveal { transform: scaleX(0); transform-origin:center; }
.js .hairline.reveal.is-in { transform: scaleX(1); }
/* Hover más rico en botones y tarjetas */
.btn { transition: background .2s var(--ease), transform .2s var(--ease), box-shadow .3s var(--ease), color .2s var(--ease), border-color .2s var(--ease); }
.btn--gold:hover { box-shadow: 0 10px 26px rgba(239,187,47,.32); }
.feature:hover { box-shadow: 0 16px 36px rgba(44,63,73,.12); }
.glance__item:hover { background: #e6dcc4; }
@media (prefers-reduced-motion: reduce){ .hero--inner{ animation:none; } }
/* Destinations: acentos azul + verde (continuidad de marca) */
.dest-accents .eyebrow:not(.eyebrow--light), .dest-accents .feature__eyebrow { color: var(--green-deep2); }
.dest-accents .hairline { background: var(--green-sage); }
.dest-accents .band--cream .btn--ghost, .dest-accents .band--arena .btn--ghost { border-color:var(--green-deep2); color:var(--green-deep2); }
.dest-accents .band--cream .btn--ghost:hover, .dest-accents .band--arena .btn--ghost:hover { background:var(--green-deep2); color:#fff; border-color:var(--green-deep2); }

/* ===== DESTINATIONS (page-id-7): paleta azul + verde en TODA la página (incl. hero, menú, footer) ===== */
body.page-id-7 .eyebrow:not(.eyebrow--light),
body.page-id-7 .feature__eyebrow,
body.page-id-7 .card__eyebrow,
body.page-id-7 .slide__eyebrow { color: var(--green-deep2); }
body.page-id-7 .eyebrow--light { color: var(--green-sage); }        /* eyebrow del hero (sobre foto oscura) */
body.page-id-7 .hairline { background: var(--green-sage); }
body.page-id-7 .link-gold { color: var(--green-deep2); }
/* Botón dorado -> verde en destinations (header, hero y CTA) */
body.page-id-7 .btn--gold { background: var(--green-deep2); border-color: var(--green-deep2); color: #fff; }
body.page-id-7 .btn--gold:hover { background: var(--green-sage); border-color: var(--green-sage); color: #fff; }
/* Acentos gold del header (hover nav / búsqueda) -> verde en destinations */
body.page-id-7 .site-search-toggle:hover,
body.page-id-7 .site-nav a:hover { color: var(--green-sage); }
/* Footer en verde en destinations (iconos de contacto, credit, hovers) */
body.page-id-7 .site-footer__contact .fico { color: var(--green-sage); }
body.page-id-7 .site-footer a:hover { color: var(--green-sage); }
body.page-id-7 .site-footer__credit a { color: var(--green-sage); }
/* Cifras (stat) -> verde y FONDOS verdosos en destinations */
body.page-id-7 .stat__num { color: var(--green-deep2); }
body.page-id-7 .band--slate .stat__num { color: var(--green-sage); }
body.page-id-7 .band--cream { background: #EDF2E6; }
body.page-id-7 .band--arena { background-color: #D9E4CD; }
body.page-id-7 .page-hero.has-slate-background-color { background: var(--green-deep2) !important; }
/* Mega-menú (dropdown) en verde en destinations */
body.page-id-7 .mega__cat:hover, body.page-id-7 .mega__cat.is-active,
body.page-id-7 .mega__panel a:hover, body.page-id-7 .mega__arrow { color: var(--green-sage); }
body.page-id-7 .quote__author { color: var(--green-deep2); }
body.page-id-7 .band--slate .quote__author { color: var(--green-sage); }
/* === Destinations: superficies oscuras en VERDE (no azul) + acentos claros === */
body.page-id-7 .site-header.is-stuck,
body.page-id-7 .no-hero .site-header,
body.page-id-7 .site-footer { background: var(--green-deep2); }
body.page-id-7 .band--slate { background: radial-gradient(120% 95% at 50% -12%, #5a7365 0%, #4a6256 58%); }
/* CTA que contraste sobre verde y sobre el hero */
body.page-id-7 .btn--gold { background: var(--green-sage); border-color: var(--green-sage); color: var(--slate-ink); }
body.page-id-7 .btn--gold:hover { background: #3a4d43; border-color: #3a4d43; color: #fff; }
/* Acentos claros (verde pálido) sobre las superficies verdes oscuras */
body.page-id-7 .eyebrow--light,
body.page-id-7 .band--slate .stat__num,
body.page-id-7 .band--slate .quote__author,
body.page-id-7 .site-footer__contact .fico,
body.page-id-7 .site-footer a:hover,
body.page-id-7 .site-footer__credit a { color: #c3d4b5; }

/* ==========================================================================
   ABOUT — rediseño editorial (story / my events / mission & vision / giving back)
   ========================================================================== */

/* --- Our story: fotos montadas + texto con cita --- */
.about-split { display:grid; grid-template-columns:1.12fr 1fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.about-split__media { position:relative; padding:0 2.2rem 3.2rem 0; }
.about-split__img { margin:0; border-radius:3px; overflow:hidden; box-shadow:0 26px 60px rgba(28,40,47,.28); }
.about-split__img img, .about-split__img2 img { display:block; width:100%; height:auto; }
.about-split__img2 { position:absolute; right:0; bottom:0; width:46%; margin:0; border-radius:3px; overflow:hidden; border:8px solid var(--cream); box-shadow:0 18px 40px rgba(28,40,47,.32); }
.about-badge { position:absolute; left:-14px; top:-14px; z-index:3; width:104px; height:104px; border-radius:50%; background:var(--gold); color:var(--slate-ink); display:flex; flex-direction:column; align-items:center; justify-content:center; box-shadow:0 14px 30px rgba(28,40,47,.3); }
.about-badge i { font-family:"Montserrat",sans-serif; font-style:normal; font-size:.58rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; }
.about-badge b { font-family:"Bon Vivant",serif; font-weight:400; font-size:1.7rem; line-height:1; margin-top:.2rem; }
.about-split__text .section__title { margin:0; }
.about-split__text .hairline { margin:1.15rem 0 1.5rem; }
.about-split__text p { color:#4f5b62; line-height:1.75; margin:0 0 1.1rem; }
.about-statement { font-family:"Bon Vivant",serif; font-size:clamp(1.22rem,1.05rem + .65vw,1.65rem); color:var(--slate-ink); line-height:1.36; border-left:3px solid var(--gold); padding-left:1.35rem; margin:1.9rem 0 0 !important; }
@media (max-width:980px){
  .about-split { grid-template-columns:1fr; gap:2.4rem; }
  .about-split__media { padding:0 1.4rem 2.4rem 0; max-width:600px; }
  .about-badge { width:86px; height:86px; }
  .about-badge b { font-size:1.4rem; }
}

/* --- My Events: banda con foto total + tarjeta de vidrio --- */
.about-events { position:relative; overflow:hidden; background-size:cover; background-position:center; background-attachment:fixed; padding-block:clamp(3.6rem,8vw,7rem); }
.about-events__scrim { position:absolute; inset:0; background:linear-gradient(100deg, rgba(11,18,23,.90) 0%, rgba(11,18,23,.60) 48%, rgba(11,18,23,.16) 100%); }
.about-events > .wrap { position:relative; z-index:1; }
.about-events__card { max-width:640px; background:rgba(21,33,40,.55); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.14); border-top:3px solid var(--gold); border-radius:16px; padding:clamp(1.7rem,3.4vw,2.9rem); box-shadow:0 28px 64px rgba(0,0,0,.42); }
.about-events__logo { height:62px; width:auto; margin:0 0 1.3rem; display:block; }
.about-events__card .eyebrow { margin-bottom:.7rem; }
.about-events__title { font-family:"Bon Vivant",serif; font-weight:400; color:#fff; font-size:clamp(1.85rem,1.4rem + 1.7vw,2.7rem); line-height:1.1; margin:0; }
.about-events__card .hairline { margin:1.2rem 0 1.4rem; }
.about-events__text { color:rgba(255,255,255,.88); line-height:1.75; margin:0 0 1.5rem; }
.about-events__card .link-gold { color:var(--gold); }
.about-events__card .link-gold:hover { border-color:var(--gold); }
.about-events__caption { position:absolute; right:0; bottom:-1.6rem; margin:0; font-family:"Montserrat",sans-serif; font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.45); }
@media (max-width:900px){
  .about-events { background-attachment:scroll; }
  .about-events__caption { display:none; }
}

/* --- Mission & Vision: isotipo de fondo + dos tarjetas grandes --- */
.about-mv { position:relative; overflow:hidden; background-size:cover; background-position:center; background-attachment:fixed; padding-block:clamp(3.4rem,7.5vw,6.2rem); }
.about-mv__scrim { position:absolute; inset:0; background:linear-gradient(rgba(10,17,22,.66), rgba(10,17,22,.86)); }
.about-mv .section__title { color:#fff; }
.about-mv__card { backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); }
@media (max-width:900px){ .about-mv { background-attachment:scroll; } }
.about-mv__iso { position:absolute; right:-150px; top:50%; transform:translateY(-50%); width:520px; height:auto; opacity:.05; pointer-events:none; z-index:0; animation:spin 130s linear infinite; }
.about-mv > .wrap { position:relative; z-index:1; }
.about-mv__grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.4rem,3vw,2.4rem); }
.about-mv__card { position:relative; overflow:hidden; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.13); border-radius:18px; padding:clamp(1.9rem,3.4vw,2.9rem); }
.about-mv__num { position:absolute; right:1.5rem; top:.2rem; font-family:"Bon Vivant",serif; font-size:5.5rem; line-height:1; color:rgba(239,187,47,.16); pointer-events:none; }
.about-mv__k { font-family:"Montserrat",sans-serif; font-size:.72rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin:0 0 .75rem; }
.about-mv__t { font-family:"Bon Vivant",serif; font-weight:400; color:#fff; font-size:clamp(1.45rem,1.2rem + 1vw,2.05rem); line-height:1.16; margin:0 0 1rem; }
.about-mv__p { color:rgba(255,255,255,.85); line-height:1.78; font-size:1.02rem; margin:0; }
@media (max-width:860px){
  .about-mv__grid { grid-template-columns:1fr; }
  .about-mv__iso { width:340px; right:-120px; }
}
@media (prefers-reduced-motion:reduce){ .about-mv__iso { animation:none; } }

/* --- Social responsibility: banda con foto, tarjeta de compromiso y cierre --- */
.about-culture { position:relative; overflow:hidden; color:#fff; background-size:cover; background-position:center; background-attachment:fixed; padding-block:clamp(3.4rem,7.5vw,6.2rem); }
.about-culture__scrim { position:absolute; inset:0; background:linear-gradient(rgba(9,15,19,.72), rgba(9,15,19,.86)); }
.about-culture > .wrap { position:relative; z-index:1; }
.about-culture .section__title { color:#fff; }
.about-culture .section__head { margin-bottom:clamp(2rem,4vw,3rem); }
.about-culture__lead { font-family:"Bon Vivant",serif; font-size:clamp(1.28rem,1.1rem + .8vw,1.8rem); color:var(--gold); max-width:36ch; margin:1.2rem auto 0; line-height:1.36; }
.about-pledge { display:flex; gap:1.3rem; align-items:flex-start; max-width:900px; margin:0 auto clamp(2.4rem,5vw,3.8rem); background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); border-left:3px solid var(--gold); border-radius:14px; padding:clamp(1.4rem,3vw,2.1rem); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
.about-pledge__icon { flex:none; color:var(--gold); line-height:0; }
.about-pledge__icon svg { width:34px; height:34px; }
.about-pledge p { margin:0; color:rgba(255,255,255,.92); font-size:1.04rem; line-height:1.75; }
.about-culture__grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:clamp(1.8rem,4.5vw,3.4rem); align-items:center; }
.about-culture__photo { margin:0; }
.about-culture__photo img { display:block; width:100%; height:auto; border-radius:4px; box-shadow:0 24px 56px rgba(0,0,0,.5); }
.about-culture__photo figcaption { font-family:"Montserrat",sans-serif; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.52); margin-top:.9rem; }
.about-culture__body p { color:rgba(255,255,255,.85); line-height:1.8; margin:0 0 1.2rem; }
.about-culture__body p:last-child { margin-bottom:0; }
.about-closing { position:relative; text-align:center; font-family:"Bon Vivant",serif; font-size:clamp(1.3rem,1.1rem + .9vw,2rem); color:#fff; max-width:32ch; margin:clamp(2.4rem,5vw,3.8rem) auto 0; padding-top:2.2rem; line-height:1.36; }
.about-closing::before { content:""; position:absolute; top:0; left:50%; transform:translateX(-50%); width:64px; height:2px; background:var(--gold); }
@media (max-width:900px){
  .about-culture { background-attachment:scroll; }
  .about-culture__grid { grid-template-columns:1fr; }
}

/* ===== About — equipo (fundador destacado + tarjetas) ===== */
.team-lead { display:grid; grid-template-columns:.78fr 1.22fr; gap:0; background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 20px 50px rgba(44,63,73,.14); margin-bottom:clamp(1.6rem,3.5vw,2.6rem); }
.team-lead__photo { background:var(--slate); min-height:100%; }
.team-lead__photo img { width:100%; height:100%; object-fit:cover; object-position:center 22%; display:block; }
.team-lead__body { padding:clamp(1.8rem,3.5vw,3rem); display:flex; flex-direction:column; justify-content:center; }
.team-lead__k { font-family:"Montserrat",sans-serif; font-size:.74rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-deep); margin:0 0 .6rem; }
.team-lead__n { font-family:"Bon Vivant",serif; font-weight:400; font-size:clamp(1.7rem,1.3rem + 1.4vw,2.5rem); color:var(--slate-ink); margin:0; line-height:1.12; }
.team-lead .hairline { margin:1.1rem 0 1.3rem; }
.team-lead__b { color:#4f5b62; line-height:1.78; margin:0; font-size:1.02rem; }
/* Equipo (revisión cliente 14-ago-2026): José Rubén va destacado arriba y las otras
   5 tarjetas quedan TODAS del mismo tamaño — 3 en una fila y 2 centradas debajo.
   Rejilla de 6 con span 2: la segunda fila arranca en la columna 2 para centrarse. */
.team-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:clamp(1rem,2.2vw,1.7rem); }
.team-grid > .team-card { grid-column:span 2; }
.team-grid > .team-card:nth-child(4) { grid-column:2 / span 2; }
.team-grid > .team-card:nth-child(5) { grid-column:4 / span 2; }
@media (max-width:1080px){
  .team-grid > .team-card,
  .team-grid > .team-card:nth-child(4),
  .team-grid > .team-card:nth-child(5) { grid-column:span 3; }
}
@media (max-width:560px){ .team-grid > .team-card,
  .team-grid > .team-card:nth-child(4),
  .team-grid > .team-card:nth-child(5) { grid-column:span 6; } }
.team-card { background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 14px 34px rgba(44,63,73,.10); display:flex; flex-direction:column; transition:transform .4s var(--ease), box-shadow .4s var(--ease); }
.team-card:hover { transform:translateY(-5px); box-shadow:0 22px 46px rgba(44,63,73,.18); }
.team-card__ph { aspect-ratio:4/5; overflow:hidden; background:var(--slate); }
.team-card__ph img { width:100%; height:100%; object-fit:cover; object-position:center 20%; display:block; transition:transform .7s var(--ease); }
.team-card:hover .team-card__ph img { transform:scale(1.05); }
.team-card__body { padding:clamp(1.2rem,2vw,1.6rem); }
.team-card__k { font-family:"Montserrat",sans-serif; font-size:.66rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-deep); margin:0 0 .45rem; }
.team-card__n { font-family:"Bon Vivant",serif; font-weight:400; font-size:1.32rem; color:var(--slate-ink); margin:0 0 .7rem; line-height:1.2; }
.team-card__b { color:#5a666d; font-size:.9rem; line-height:1.68; margin:0; }
@media (max-width:1080px){ .team-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:860px){ .team-lead { grid-template-columns:1fr; } .team-lead__photo { aspect-ratio:4/3; } }
@media (max-width:560px){ .team-grid { grid-template-columns:1fr; } }

/* ===== About — curators con foto ===== */
.cur-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(1rem,2.2vw,1.7rem); }
.cur-card { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:16px; overflow:hidden; display:flex; flex-direction:column; transition:transform .4s var(--ease), border-color .4s var(--ease); }
.cur-card:hover { transform:translateY(-5px); border-color:rgba(239,187,47,.5); }
.cur-card__ph { position:relative; aspect-ratio:9/7; overflow:hidden; background:var(--slate-ink); }
.cur-card__ph img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s var(--ease); }
.cur-card:hover .cur-card__ph img { transform:scale(1.06); }
.cur-card__icon { position:absolute; left:.9rem; bottom:.9rem; width:52px; height:52px; border-radius:50%; background:var(--gold); color:var(--slate-ink); display:flex; align-items:center; justify-content:center; box-shadow:0 10px 22px rgba(0,0,0,.32); }
.cur-card__icon svg { width:26px; height:26px; }
.cur-card__body { padding:clamp(1.3rem,2vw,1.7rem) clamp(1.2rem,2vw,1.5rem); }
.cur-card__k { font-family:"Montserrat",sans-serif; font-size:.66rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin:0 0 .45rem; }
.cur-card__t { font-family:"Bon Vivant",serif; font-weight:400; font-size:1.3rem; color:#fff; margin:0 0 .65rem; line-height:1.2; }
.cur-card__p { color:rgba(255,255,255,.8); font-size:.93rem; line-height:1.7; margin:0; }
@media (max-width:1080px){ .cur-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .cur-grid { grid-template-columns:1fr; } }

/* ==========================================================================
   FICHA DE TOUR (single experience) — rediseño
   ========================================================================== */

/* Índice sticky bajo el header */
.exp-nav { position:sticky; top:100px; z-index:40; background:rgba(44,63,73,.97); border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.exp-nav__inner { display:flex; align-items:center; gap:1.5rem; justify-content:space-between; padding-block:.55rem; }
.exp-nav__list { list-style:none; display:flex; flex-wrap:wrap; gap:clamp(1rem,2.4vw,2.2rem); margin:0; padding:0; }
.exp-nav__list a { font-family:"Montserrat",sans-serif; font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.78); text-decoration:none; padding:.45rem 0; display:inline-block; border-bottom:2px solid transparent; transition:color .25s var(--ease), border-color .25s var(--ease); }
.exp-nav__list a:hover { color:#fff; border-color:var(--gold); }
.exp-nav__cta { padding:.55rem 1.3rem; font-size:.72rem; flex:none; }
@media (max-width:980px){ .exp-nav { display:none; } }

/* Overview + At a glance */
.exp-overview__grid { display:grid; grid-template-columns:1.35fr .78fr; gap:clamp(2rem,4.5vw,3.8rem); align-items:start; }
.exp-overview__main .section__title { margin:0; }
.exp-overview__main .hairline { margin:1.1rem 0 1.5rem; }
.exp-overview__body p { color:#4f5b62; line-height:1.78; margin:0 0 1.1rem; }
.exp-aside { position:sticky; top:130px; }
.exp-aside__card { background:var(--slate); border-radius:16px; border-top:3px solid var(--gold); padding:clamp(1.4rem,2.6vw,2rem); box-shadow:0 20px 46px rgba(28,40,47,.24); }
.exp-aside__k { font-family:"Montserrat",sans-serif; font-size:.68rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin:0 0 1rem; }
.exp-facts { margin:0 0 1.6rem; }
.exp-facts__row { padding:.75rem 0; border-bottom:1px solid rgba(255,255,255,.12); }
.exp-facts__row:last-child { border-bottom:0; }
.exp-facts dt { font-family:"Montserrat",sans-serif; font-size:.63rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.52); margin:0 0 .25rem; }
.exp-facts dd { font-family:"Bon Vivant",serif; font-size:1.05rem; color:#fff; margin:0; line-height:1.3; }
.exp-aside__cta { border-top:1px solid rgba(255,255,255,.14); padding-top:1.4rem; }
.exp-aside__t { color:rgba(255,255,255,.78); font-size:.9rem; line-height:1.65; margin:0 0 1.2rem; }
.exp-aside__cta .btn { display:block; text-align:center; }
.exp-aside__wa { display:block; text-align:center; margin-top:.8rem; font-family:"Montserrat",sans-serif; font-size:.74rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.8); text-decoration:none; transition:color .25s var(--ease); }
.exp-aside__wa:hover { color:var(--gold); }
@media (max-width:980px){
  .exp-overview__grid { grid-template-columns:1fr; }
  .exp-aside { position:static; max-width:520px; }
}

/* Día por día — línea de tiempo */
.exp-itinerary .exp-days { list-style:none; margin:0 auto; padding:0; max-width:880px; position:relative; }
.exp-itinerary .exp-days::before { content:""; position:absolute; left:37px; top:8px; bottom:8px; width:2px; background:linear-gradient(var(--gold), rgba(239,187,47,.12)); }
.exp-day { position:relative; display:grid; grid-template-columns:76px 1fr; gap:clamp(1rem,2.4vw,1.8rem); align-items:start; margin-bottom:1.2rem; }
.exp-day__marker { position:relative; z-index:1; width:76px; height:76px; border-radius:50%; background:var(--slate-ink); border:2px solid var(--gold); display:flex; flex-direction:column; align-items:center; justify-content:center; box-shadow:0 8px 22px rgba(0,0,0,.28); }
.exp-day__lbl { font-family:"Montserrat",sans-serif; font-size:.52rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); }
.exp-day__num { font-family:"Bon Vivant",serif; font-size:1.5rem; color:#fff; line-height:1; margin-top:.1rem; }
.exp-day__card { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:clamp(1.2rem,2.4vw,1.8rem); }
.exp-day__title { font-family:"Bon Vivant",serif; font-weight:400; font-size:clamp(1.2rem,1.05rem + .5vw,1.5rem); color:#fff; margin:0 0 .6rem; line-height:1.25; }
.exp-day__card p { color:rgba(255,255,255,.82); line-height:1.75; margin:0; }
@media (max-width:680px){
  .exp-itinerary .exp-days::before { display:none; }
  .exp-day { grid-template-columns:1fr; gap:.8rem; }
  .exp-day__marker { width:62px; height:62px; }
}

/* Incluye / No incluye — dos tarjetas */
.exp-incl2 { display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.2rem,2.6vw,2rem); max-width:1000px; margin:0 auto; align-items:start; }
.exp-incl2__card { border-radius:16px; padding:clamp(1.5rem,2.8vw,2.2rem); }
.exp-incl2__card--yes { background:#fff; box-shadow:0 16px 38px rgba(44,63,73,.10); border-top:3px solid var(--gold); }
.exp-incl2__card--no { background:var(--slate); border-top:3px solid rgba(255,255,255,.28); }
.exp-incl2__card h3 { font-family:"Bon Vivant",serif; font-weight:400; font-size:1.45rem; margin:0 0 1.1rem; color:var(--slate-ink); }
.exp-incl2__card--no h3 { color:#fff; }
.exp-list { list-style:none; margin:0; padding:0; }
.exp-list li { position:relative; padding:.5rem 0 .5rem 1.9rem; line-height:1.6; }
.exp-list--yes li { color:#4f5b62; border-bottom:1px solid rgba(58,83,95,.08); }
.exp-list--yes li:last-child { border-bottom:0; }
.exp-list--yes li::before { content:""; position:absolute; left:4px; top:.72rem; width:7px; height:12px; border:solid var(--gold-deep); border-width:0 2px 2px 0; transform:rotate(45deg); }
.exp-list--no li { color:rgba(255,255,255,.7); border-bottom:1px solid rgba(255,255,255,.1); }
.exp-list--no li:last-child { border-bottom:0; }
.exp-list--no li::before { content:""; position:absolute; left:2px; top:1.15rem; width:12px; height:1.6px; background:rgba(255,255,255,.4); }
@media (max-width:760px){ .exp-incl2 { grid-template-columns:1fr; } }

/* Galería: la primera foto ocupa 2×2 */
.photo-grid--feature figure:first-child { grid-column:span 2; grid-row:span 2; }
.photo-grid--feature figure:first-child img { aspect-ratio:auto; height:100%; }
@media (max-width:680px){ .photo-grid--feature figure:first-child { grid-column:span 2; grid-row:auto; } }

/* Otros viajes */
.exp-related .world { min-height:290px; }
.exp-related .world__note { margin:0 0 .3rem; order:-1; }
.exp-related .world { min-height:300px; padding:1.6rem 1.5rem; }
.exp-related .world__name { font-size:clamp(1.05rem,.95rem + .35vw,1.28rem); line-height:1.25; overflow-wrap:anywhere; }
.exp-related .world__note { font-size:.68rem; letter-spacing:.16em; }
/* Equipo: bio corta + "Read full bio" desplegable */
.team-card__more { margin-top:.7rem; }
.team-card__more summary { cursor:pointer; list-style:none; font-family:"Montserrat",sans-serif; font-size:.68rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:var(--gold-deep); display:inline-flex; align-items:center; gap:.4rem; }
.team-card__more summary::-webkit-details-marker { display:none; }
.team-card__more summary::after { content:"+"; font-size:1rem; line-height:1; }
.team-card__more[open] summary::after { content:"\2013"; }
.team-card__more p { color:#5a666d; font-size:.9rem; line-height:1.68; margin:.7rem 0 0; }
.team-card__b { margin-bottom:0; }
/* Equipo: tarjetas parejas — cargo/nombre a la misma altura y botón siempre abajo */
.team-grid { align-items:stretch; }
.team-card__body { display:flex; flex-direction:column; flex:1 1 auto; }
.team-card__k { min-height:2.7em; display:flex; align-items:flex-end; }
.team-card__n { min-height:2.4em; }
.team-card__more { margin-top:.55rem; }
/* La bio recortada ocupa siempre 4 líneas: tarjetas parejas sin huecos */
.team-card__b { min-height:calc(4 * 1.68 * .9rem); }
/* Al abrir "Read full bio" se oculta el recorte y se ve el texto completo */
.team-card__body:has(.team-card__more[open]) .team-card__b { display:none; }
.team-card__body:has(.team-card__more[open]) .team-card__more { margin-top:0; }
@media (max-width:560px){ .team-card__k, .team-card__n { min-height:0; } }

/* ===== DESTINATIONS — bloques foto + texto alternando ===== */
.dest-split { display:grid; grid-template-columns:1.02fr 1fr; gap:clamp(1.8rem,4.5vw,3.8rem); align-items:center; }
.dest-block--alt .dest-split__img { order:2; }
.dest-split__img { margin:0; border-radius:4px; overflow:hidden; box-shadow:0 24px 56px rgba(28,40,47,.22); }
.dest-split__img img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform 7s var(--ease); }
.dest-split__img:hover img { transform:scale(1.06); }
.dest-split__text .section__title { margin:0; }
.dest-split__text .hairline { margin:1rem 0 1.4rem; }
.dest-split__text p { color:#4f5b62; line-height:1.75; margin:0 0 1rem; }
.dest-split__text .lead { color:#3f4b52; }
.dest-stats { margin:1.7rem 0 1.9rem; padding:1.3rem 0; border-top:1px solid rgba(58,83,95,.18); border-bottom:1px solid rgba(58,83,95,.18); }
.dest-stats .grid--3 { gap:1rem; }
.dest-stats .stat__num { font-size:clamp(1.5rem,1.2rem + 1vw,2.1rem); }
.dest-stats .stat__label { font-size:.76rem; margin-top:.3rem; line-height:1.35; }
@media (max-width:900px){
  .dest-split { grid-template-columns:1fr; }
  .dest-block--alt .dest-split__img { order:0; }
}
/* International: chips sobre banda oscura */
.chips--dark { display:flex; flex-wrap:wrap; gap:.7rem; justify-content:center; }
.chips--dark .chip { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.18); color:#fff; border-radius:30px; padding:.5rem 1.2rem; font-family:"Montserrat",sans-serif; font-size:.8rem; letter-spacing:.04em; transition:border-color .3s var(--ease), background .3s var(--ease); }
.chips--dark .chip:hover { border-color:var(--gold); background:rgba(239,187,47,.12); }

/* ===== EXPERIENCES — catálogo en tarjetas + filtros por línea ===== */
.exp-filters { display:flex; flex-wrap:wrap; gap:.6rem; justify-content:center; margin:0 0 clamp(1.8rem,3.5vw,2.6rem); }
.exp-filter { font-family:"Montserrat",sans-serif; font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--slate-ink); background:transparent; border:1px solid rgba(58,83,95,.28); border-radius:30px; padding:.6rem 1.35rem; cursor:pointer; transition:background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease); }
.exp-filter:hover { border-color:var(--gold-deep); color:var(--gold-deep); }
.exp-filter.is-on { background:var(--slate); border-color:var(--slate); color:#fff; }
.exp-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1rem,2.2vw,1.8rem); align-items:stretch; }
.exp-card { display:flex; flex-direction:column; background:#fff; border-radius:16px; overflow:hidden; text-decoration:none; box-shadow:0 14px 34px rgba(44,63,73,.10); transition:transform .4s var(--ease), box-shadow .4s var(--ease); }
.exp-card:hover { transform:translateY(-6px); box-shadow:0 24px 50px rgba(44,63,73,.18); }
.exp-card__ph { display:block; aspect-ratio:4/3; overflow:hidden; background:var(--slate); }
.exp-card__ph img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s var(--ease); }
.exp-card:hover .exp-card__ph img { transform:scale(1.06); }
.exp-card__body { display:flex; flex-direction:column; flex:1 1 auto; padding:clamp(1.2rem,2vw,1.6rem); }
.exp-card__k { font-family:"Montserrat",sans-serif; font-size:.64rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:.5rem; }
.exp-card__t { font-family:"Bon Vivant",serif; font-size:1.22rem; color:var(--slate-ink); line-height:1.25; margin-bottom:.6rem; }
.exp-card__x { color:#5a666d; font-size:.9rem; line-height:1.68; }
.exp-card__go { margin-top:auto; padding-top:1rem; font-family:"Montserrat",sans-serif; font-size:.7rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-deep); }
.exp-card.is-hidden { display:none; }
@media (max-width:1000px){ .exp-cards { grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px){ .exp-cards { grid-template-columns:1fr; } }
/* ===== HOME — intro editorial + pilares en tarjetas ===== */
.home-intro__grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.6rem,4vw,4rem); align-items:start; }
.home-intro__side { position:relative; padding-left:clamp(0px,1.4vw,18px); }
.home-intro__title { font-family:"Bon Vivant",serif; font-weight:400; font-size:clamp(2.1rem,1.4rem + 2.6vw,3.6rem); line-height:1.06; color:var(--slate-ink); margin:0; text-wrap:balance; }
.home-intro .hairline { margin:1.4rem 0 0; }
.home-intro__body { padding-top:.4rem; }
.home-intro__body .lead { font-size:clamp(1.05rem,1rem + .45vw,1.3rem); line-height:1.75; color:#4a565d; margin:0; }
.home-intro__body .lead::first-letter { font-family:"Bon Vivant",serif; font-size:2.9em; line-height:.82; float:left; margin:.06em .12em 0 0; color:var(--gold-deep); }
@media (max-width:900px){
  .home-intro__grid { grid-template-columns:1fr; gap:1.4rem; }
  .home-intro__body .lead::first-letter { font-size:2.4em; }
}

.home-pillars .section__head { margin-bottom:clamp(2rem,4vw,3rem); }
.pillar-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.1rem,2.4vw,2rem); }
.pillar { position:relative; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:18px; padding:clamp(1.7rem,3vw,2.4rem); transition:transform .4s var(--ease), border-color .4s var(--ease), background .4s var(--ease); }
.pillar:hover { transform:translateY(-6px); border-color:rgba(239,187,47,.45); background:rgba(255,255,255,.09); }
.pillar__icon { display:inline-flex; align-items:center; justify-content:center; width:60px; height:60px; border-radius:50%; background:rgba(239,187,47,.14); border:1px solid rgba(239,187,47,.45); color:var(--gold); margin-bottom:1.3rem; line-height:0; }
.pillar__icon svg { width:28px; height:28px; }
.pillar__k { font-family:"Montserrat",sans-serif; font-size:.66rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin:0 0 .5rem; }
.pillar__t { font-family:"Bon Vivant",serif; font-weight:400; font-size:clamp(1.35rem,1.15rem + .7vw,1.8rem); color:#fff; margin:0 0 .8rem; line-height:1.18; }
.pillar__p { color:rgba(255,255,255,.82); line-height:1.75; margin:0; }
@media (max-width:900px){ .pillar-grid { grid-template-columns:1fr; } }

/* ===== EXPERIENCES — banda My Events: muro de clientes ===== */
.cli-wall { max-width:1100px; margin:clamp(2.4rem,5vw,3.4rem) auto 0; border:1px solid rgba(255,255,255,.14); border-radius:18px; padding:clamp(1.6rem,3vw,2.4rem) clamp(1.2rem,3vw,2.4rem) clamp(1.4rem,3vw,2rem); background:rgba(255,255,255,.03); }
.cli-wall__k { font-family:"Montserrat",sans-serif; font-size:.64rem; font-weight:600; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); text-align:center; margin:0 0 1.6rem; }
.cli-wall__list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); gap:0; }
.cli-wall__list li { display:flex; align-items:center; justify-content:center; text-align:center; min-height:64px; padding:.7rem .9rem; font-family:"Montserrat",sans-serif; font-size:.8rem; letter-spacing:.09em; color:rgba(255,255,255,.82); border-right:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); transition:color .25s var(--ease), background .25s var(--ease); }
.cli-wall__list li:hover { color:var(--gold); background:rgba(255,255,255,.04); }
.cli-wall__list li:nth-child(5n) { border-right:0; }
.cli-wall__list li img { max-height:38px; width:auto; filter:brightness(0) invert(1); opacity:.85; }
@media (max-width:900px){ .cli-wall__list { grid-template-columns:repeat(3,1fr); } .cli-wall__list li:nth-child(5n){ border-right:1px solid rgba(255,255,255,.08); } .cli-wall__list li:nth-child(3n){ border-right:0; } }
@media (max-width:560px){ .cli-wall__list { grid-template-columns:repeat(2,1fr); } .cli-wall__list li:nth-child(3n){ border-right:1px solid rgba(255,255,255,.08); } .cli-wall__list li:nth-child(2n){ border-right:0; } }

/* ===== Ficha de tour — carrusel "Other journeys you may like" ===== */
.exp-rel__head { display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; margin-bottom:clamp(1.6rem,3vw,2.4rem); }
.exp-rel__head .section__title { margin:0; }
.exp-rel__nav { display:flex; gap:.6rem; flex:none; }
.exp-rel__btn { width:48px; height:48px; border-radius:50%; border:1.5px solid rgba(58,83,95,.32); background:transparent; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .25s var(--ease), border-color .25s var(--ease); }
.exp-rel__btn:hover { background:var(--slate); border-color:var(--slate); }
.exp-rel__btn span { display:block; width:9px; height:9px; border-right:2px solid var(--slate-ink); border-bottom:2px solid var(--slate-ink); transition:border-color .25s var(--ease); }
.exp-rel__btn:hover span { border-color:#fff; }
.exp-rel__btn[data-dir="-1"] span { transform:rotate(135deg); margin-left:3px; }
.exp-rel__btn[data-dir="1"] span { transform:rotate(-45deg); margin-right:3px; }
.exp-rel__viewport { overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; -ms-overflow-style:none; margin-inline:-4px; padding:4px; }
.exp-rel__viewport::-webkit-scrollbar { display:none; }
.exp-rel__track { display:flex; gap:clamp(1rem,2vw,1.6rem); }
.exp-rel-card { flex:0 0 clamp(240px,30%,340px); scroll-snap-align:start; display:flex; flex-direction:column; background:#fff; border-radius:16px; overflow:hidden; text-decoration:none; box-shadow:0 14px 34px rgba(44,63,73,.12); transition:transform .4s var(--ease), box-shadow .4s var(--ease); }
.exp-rel-card:hover { transform:translateY(-6px); box-shadow:0 24px 50px rgba(44,63,73,.2); }
.exp-rel-card__ph { display:block; aspect-ratio:4/3; overflow:hidden; background:var(--slate); }
.exp-rel-card__ph img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s var(--ease); }
.exp-rel-card:hover .exp-rel-card__ph img { transform:scale(1.07); }
.exp-rel-card__body { display:flex; flex-direction:column; flex:1 1 auto; padding:1.2rem 1.3rem 1.4rem; }
.exp-rel-card__k { font-family:"Montserrat",sans-serif; font-size:.62rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:.45rem; }
.exp-rel-card__t { font-family:"Bon Vivant",serif; font-size:1.15rem; color:var(--slate-ink); line-height:1.28; }
.exp-rel-card__go { margin-top:auto; padding-top:1rem; font-family:"Montserrat",sans-serif; font-size:.68rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-deep); }
@media (max-width:700px){ .exp-rel__head { flex-direction:column; align-items:flex-start; } .exp-rel-card { flex-basis:78%; } }

/* ===== DESTINATIONS v2 — atlas: índice, numeración, coordenadas y parallax ===== */
.dest-legend { position:sticky; top:100px; z-index:40; background:rgba(44,63,73,.97); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); }
.dest-legend__inner { display:flex; align-items:center; gap:1.6rem; padding-block:.55rem; }
.dest-legend__k { font-family:"Montserrat",sans-serif; font-size:.62rem; font-weight:600; letter-spacing:.26em; text-transform:uppercase; color:var(--gold); flex:none; }
.dest-legend__list { list-style:none; display:flex; flex-wrap:wrap; gap:clamp(.9rem,2.2vw,2rem); margin:0; padding:0; }
.dest-legend__list a { display:inline-flex; align-items:baseline; gap:.4rem; font-family:"Montserrat",sans-serif; font-size:.72rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.75); text-decoration:none; padding:.4rem 0; border-bottom:2px solid transparent; transition:color .25s var(--ease), border-color .25s var(--ease); }
.dest-legend__list a b { font-family:"Bon Vivant",serif; font-weight:400; font-size:.9rem; color:var(--gold); }
.dest-legend__list a:hover { color:#fff; border-color:var(--gold); }
@media (max-width:1080px){ .dest-legend { display:none; } }

.dest-split__text { position:relative; }
.dest-num { position:absolute; right:0; top:-2.6rem; font-family:"Bon Vivant",serif; font-size:clamp(4rem,3rem + 4vw,7rem); line-height:1; color:rgba(58,83,95,.09); pointer-events:none; }
.dest-coords { display:flex; align-items:center; gap:.55rem; font-family:"Montserrat",sans-serif; font-size:.7rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-deep); margin:.7rem 0 0 !important; }
.dest-coords__dot { width:7px; height:7px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 4px rgba(239,187,47,.22); animation:dest-ping 2.6s ease-out infinite; }
@keyframes dest-ping { 0%{ box-shadow:0 0 0 0 rgba(239,187,47,.4);} 70%{ box-shadow:0 0 0 10px rgba(239,187,47,0);} 100%{ box-shadow:0 0 0 0 rgba(239,187,47,0);} }
.dest-split__media { position:relative; }
.dest-split__media::after { content:""; position:absolute; inset:16px -16px -16px 16px; border:1px solid rgba(224,169,28,.55); border-radius:4px; z-index:0; pointer-events:none; }
.dest-split__img { position:relative; z-index:1; }
.dest-block--alt .dest-split__media::after { inset:16px 16px -16px -16px; }
.dest-split__img { overflow:hidden; }
.dest-split__img img { will-change:transform; }
@media (max-width:900px){
  .dest-split__media::after, .dest-block--alt .dest-split__media::after { inset:12px -12px -12px 12px; }
  .dest-num { top:-1.6rem; font-size:3.4rem; }
}
@media (prefers-reduced-motion:reduce){ .dest-coords__dot { animation:none; } }

/* Hero de Experiences: la foto es 16:9, así que se limita la altura para que no se recorte tanto */
/* La foto del hero es 16:9: la banda toma exactamente esa proporción para que se vea COMPLETA */
.hero--exp { min-height:0; height:56.25vw; background-position:center center; background-size:cover; }
@media (max-width:900px){ .hero--exp { height:auto; min-height:72svh; background-position:center 30%; } }
/* Destinations — globo/atlas de fondo en la sección International */
.dest-intl { position:relative; overflow:hidden; }
.dest-intl > .wrap { position:relative; z-index:1; }
.dest-globe { position:absolute; right:-90px; top:50%; transform:translateY(-50%); width:460px; height:460px; color:var(--gold); opacity:.10; pointer-events:none; z-index:0; animation:spin 160s linear infinite; }
@media (max-width:900px){ .dest-globe { width:300px; right:-110px; } }
@media (prefers-reduced-motion:reduce){ .dest-globe { animation:none; } }
/* Tarjeta de destino sin foto: tratamiento de globo/atlas dorado sobre slate */
.world--globe { background:linear-gradient(160deg,#3A535F,#2C3F49); }
.world--globe::after { content:""; position:absolute; right:-70px; top:50%; transform:translateY(-50%); width:300px; height:300px; z-index:1; opacity:.5; pointer-events:none;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none' stroke='%23EFBB2F' stroke-width='0.7'%3E%3Ccircle cx='100' cy='100' r='88'/%3E%3Cellipse cx='100' cy='100' rx='88' ry='30'/%3E%3Cellipse cx='100' cy='100' rx='88' ry='60'/%3E%3Cellipse cx='100' cy='100' rx='30' ry='88'/%3E%3Cellipse cx='100' cy='100' rx='60' ry='88'/%3E%3Cline x1='12' y1='100' x2='188' y2='100'/%3E%3Cline x1='100' y1='12' x2='100' y2='188'/%3E%3C/svg%3E");
  animation:spin 150s linear infinite; }
@media (prefers-reduced-motion:reduce){ .world--globe::after { animation:none; } }

/* ===== DESTINATIONS — apertura, International con foto y cita ===== */
.dest-open__head { max-width:900px; margin-inline:auto; }
.dest-open__title { font-family:"Bon Vivant",serif; font-weight:400; font-size:clamp(2.3rem,1.6rem + 2.6vw,3.7rem); line-height:1.06; color:var(--slate-ink); margin:0; text-wrap:balance; }
.dest-open__lead { max-width:64ch; margin-inline:auto; }

.dest-intl { position:relative; overflow:hidden; background-size:cover; background-position:center; background-attachment:fixed; padding-block:clamp(3.4rem,7.5vw,6.4rem); }
.dest-intl__scrim { position:absolute; inset:0; background:linear-gradient(100deg, rgba(11,18,23,.93) 0%, rgba(11,18,23,.72) 52%, rgba(11,18,23,.28) 100%); }
.dest-intl__card { position:relative; z-index:1; max-width:680px; background:rgba(21,33,40,.52); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.14); border-top:3px solid var(--gold); border-radius:16px; padding:clamp(1.7rem,3.4vw,2.9rem); box-shadow:0 28px 64px rgba(0,0,0,.42); }
.dest-intl__title { font-family:"Bon Vivant",serif; font-weight:400; color:#fff; font-size:clamp(1.9rem,1.4rem + 1.8vw,2.8rem); line-height:1.1; margin:0; }
.dest-intl__card .hairline { margin:1.1rem 0 1.3rem; }
.dest-intl__text { color:rgba(255,255,255,.88); line-height:1.75; margin:0 0 1.5rem; }
.chips--left { justify-content:flex-start; }
@media (max-width:900px){ .dest-intl { background-attachment:scroll; } }

.dest-quote { position:relative; overflow:hidden; }
.dest-quote__iso { position:absolute; left:-120px; top:50%; transform:translateY(-50%); width:420px; opacity:.05; pointer-events:none; animation:spin 140s linear infinite; }
.dest-quote > .wrap { position:relative; z-index:1; }
.dest-quote .eyebrow { text-align:center; }
.dest-quote__card { position:relative; max-width:820px; margin:1.4rem auto 0; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); border-radius:18px; padding:clamp(2rem,4vw,3rem) clamp(1.6rem,3.4vw,3rem) clamp(1.6rem,3vw,2.4rem); text-align:center; }
.dest-quote__mark { position:absolute; left:50%; top:-.35em; transform:translateX(-50%); font-family:"Bon Vivant",serif; font-size:6rem; line-height:1; color:var(--gold); opacity:.55; }
.dest-quote blockquote { font-family:"Bon Vivant",serif; font-size:clamp(1.35rem,1.1rem + 1.1vw,2.1rem); line-height:1.4; color:#fff; margin:0 0 1.4rem; }
.dest-quote figcaption { font-family:"Montserrat",sans-serif; font-size:.72rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); }
@media (prefers-reduced-motion:reduce){ .dest-quote__iso { animation:none; } }

/* ===== FIX Destinations: la paleta verde (background en atajo) borraba las texturas topográficas.
   Se reponen como capa multiply para que la textura se vea SIN perder el verde de la página. ===== */
body.page-id-7 .band--topo2, body.page-id-7 .band--topo { position:relative; }
body.page-id-7 .band--topo2 > *, body.page-id-7 .band--topo > * { position:relative; z-index:1; }
body.page-id-7 .band--topo2::before, body.page-id-7 .band--topo::before {
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:url('/wp-content/uploads/web/journeys-topo.jpg?v=2') center/cover no-repeat;
  mix-blend-mode:multiply; opacity:.42;
}

/* ===== DESTINATIONS — cada destino como banda con foto + tarjeta de vidrio (igual que International) ===== */
.dest-block--photo { position:relative; overflow:hidden; background-size:cover; background-position:center; background-attachment:fixed; padding-block:clamp(3.4rem,7vw,6rem); }
.dest-block__scrim { position:absolute; inset:0; background:linear-gradient(100deg, rgba(11,18,23,.90) 0%, rgba(11,18,23,.74) 48%, rgba(11,18,23,.42) 100%); }
.dest-block--photo.dest-block--alt .dest-block__scrim { background:linear-gradient(260deg, rgba(11,18,23,.90) 0%, rgba(11,18,23,.74) 48%, rgba(11,18,23,.42) 100%); }
.dest-block--photo > .wrap { position:relative; z-index:1; }
.dest-block--photo .dest-split__text { background:rgba(21,33,40,.55); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.14); border-top:3px solid var(--gold); border-radius:16px; padding:clamp(1.6rem,3vw,2.6rem); box-shadow:0 26px 60px rgba(0,0,0,.42); }
.dest-block--photo .section__title { color:#fff; }
.dest-block--photo .eyebrow { color:var(--gold); }
.dest-block--photo .dest-split__text p { color:rgba(255,255,255,.86); }
.dest-block--photo .dest-num { color:rgba(255,255,255,.10); top:-1.4rem; right:.6rem; }
.dest-block--photo .dest-coords { color:var(--gold); }
.dest-block--photo .dest-stats { border-color:rgba(255,255,255,.18); }
.dest-block--photo .stat__num { color:var(--gold); }
.dest-block--photo .stat__label { color:rgba(255,255,255,.75); }
.dest-block--photo .btn--ghost { color:#fff; border-color:rgba(255,255,255,.6); }
.dest-block--photo .btn--ghost:hover { background:var(--gold); border-color:var(--gold); color:var(--slate-ink); }
.dest-block--photo .hairline { background:var(--gold); }
.dest-block--photo .dest-split__media::after { border-color:rgba(239,187,47,.7); }
@media (max-width:900px){ .dest-block--photo { background-attachment:scroll; } }
/* International: mismo esquema que los demás destinos (foto + tarjeta) */
.dest-intl__split { align-items:center; }
.dest-intl__split .dest-intl__card { max-width:none; }

/* ============================================================
   WEDDINGS & CELEBRATIONS (fusionado desde _p-weddings.css, ago-2026)
   ============================================================ */
.wed-story__grid {
  display: grid;
  grid-template-columns: 1fr 1.06fr;
  gap: clamp(2rem, 5vw, 4.4rem);
  align-items: center;
}
.wed-story__media { position: relative; padding: 0 2.4rem 3.4rem 0; }
.wed-story__img {
  margin: 0; border-radius: 3px; overflow: hidden;
  box-shadow: 0 26px 60px rgba(28,40,47,.28);
}
.wed-story__img img,
.wed-story__img2 img { display: block; width: 100%; height: auto; }
.wed-story__img2 {
  position: absolute; right: 0; bottom: 0; width: 47%; margin: 0;
  border-radius: 3px; overflow: hidden;
  border: 8px solid var(--cream);
  box-shadow: 0 18px 40px rgba(28,40,47,.32);
}
/* anillo dorado decorativo detrás del montaje */
.wed-story__media::before {
  content: ""; position: absolute; left: -34px; top: -30px;
  width: 132px; height: 132px; border: 2px solid var(--gold);
  border-radius: 50%; opacity: .55; pointer-events: none; z-index: 2;
}
.wed-story__text .section__title { margin: 0; }
.wed-story__text .hairline { margin: 1.15rem 0 1.5rem; }
.wed-story__text p { color: #4f5b62; line-height: 1.8; margin: 0; }
.wed-story__text .wed-statement {
  font-family: "Bon Vivant", serif;
  font-size: clamp(1.2rem, 1.05rem + .62vw, 1.62rem);
  line-height: 1.4; color: var(--slate-ink);
  border-left: 3px solid var(--gold);
  padding-left: 1.35rem;
  margin: 0 0 1.7rem;
}

/* --------------------------------------------------------------------------
   2) PREMIUM GUEST SERVICES — banda con foto total + tarjetas claras
   Mismo patrón que .tg-photo-band / .about-events.
   -------------------------------------------------------------------------- */
.wed-serv {
  position: relative; overflow: hidden;
  background-size: cover; background-position: center;
  background-attachment: fixed;
  padding-block: clamp(3.4rem, 7.5vw, 6.4rem);
}
.wed-serv__scrim {
  position: absolute; inset: 0;
  background: linear-gradient(rgba(10,16,20,.74), rgba(10,16,20,.88));
}
.wed-serv > .wrap { position: relative; z-index: 1; }
.wed-serv .section__title { color: #fff; }
.wed-serv__grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.1rem, 2.2vw, 1.8rem); align-items: stretch;
}
.wed-card {
  display: flex; flex-direction: column;
  background: rgba(255,255,255,.96);
  border-radius: 16px; border-top: 3px solid var(--gold);
  padding: clamp(1.5rem, 2.4vw, 2.1rem);
  box-shadow: 0 18px 42px rgba(0,0,0,.28);
  transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}
.wed-card:hover { transform: translateY(-6px); box-shadow: 0 26px 54px rgba(0,0,0,.38); }
.wed-card__icon {
  width: 54px; height: 54px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(239,187,47,.16); border: 1px solid rgba(224,169,28,.42);
  color: var(--gold-deep); margin-bottom: 1.15rem; flex: none;
}
.wed-card__icon svg { width: 26px; height: 26px; }
.wed-card p { color: #4f5b62; font-size: .93rem; line-height: 1.72; margin: 0; }
.wed-card p.wed-card__k {
  font-family: "Montserrat", sans-serif; font-size: .68rem; font-weight: 600;
  letter-spacing: .18em; text-transform: uppercase; color: var(--gold-deep);
  margin: 0 0 .45rem;
}
.wed-card__t {
  font-family: "Bon Vivant", serif; font-weight: 400;
  font-size: 1.42rem; line-height: 1.2; color: var(--slate-ink); margin: 0 0 .7rem;
}
/* si la última fila queda con una sola tarjeta (7 servicios), se centra */
.wed-card:last-child:nth-child(3n+1) { grid-column: 2; }
/* cascada al revelar (el stagger de app.css sólo aplica a .grid) */
.js .wed-serv__grid > .reveal:nth-child(2) { transition-delay: .08s; }
.js .wed-serv__grid > .reveal:nth-child(3) { transition-delay: .16s; }
.js .wed-serv__grid > .reveal:nth-child(5) { transition-delay: .08s; }
.js .wed-serv__grid > .reveal:nth-child(6) { transition-delay: .16s; }

/* --------------------------------------------------------------------------
   3) GALERÍA — mosaico (la 1ª foto manda 2x2)
   -------------------------------------------------------------------------- */
.wed-mosaic {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: clamp(.6rem, 1.2vw, 1rem);
  max-width: 1180px; margin: 0 auto;
}
.wed-mosaic figure {
  margin: 0; overflow: hidden; border-radius: 6px;
  box-shadow: 0 14px 32px rgba(28,40,47,.16);
}
.wed-mosaic img {
  width: 100%; aspect-ratio: 4/3;
  object-fit: cover; display: block;
  transition: transform .8s var(--ease);
}
.wed-mosaic figure:hover img { transform: scale(1.06); }
.wed-mosaic figure:first-child { grid-column: span 2; grid-row: span 2; }
.wed-mosaic figure:first-child img { aspect-ratio: auto; height: 100%; }

/* --------------------------------------------------------------------------
   4) INTERNATIONAL GUEST EXPERIENCES — texto + racimo de fotos sobre pizarra
   -------------------------------------------------------------------------- */
.wed-set__grid {
  display: grid; grid-template-columns: 1fr 1.04fr;
  gap: clamp(2rem, 5vw, 4rem); align-items: center;
}
.wed-set__text .section__title { color: #fff; margin: 0; }
.wed-set__text .hairline { margin: 1.15rem 0 1.5rem; }
.wed-set__lead {
  color: rgba(255,255,255,.88);
  font-size: clamp(1.02rem, .98rem + .35vw, 1.2rem);
  line-height: 1.85; margin: 0;
}
.wed-set__photos {
  display: grid; grid-template-columns: 1.22fr 1fr;
  gap: clamp(.6rem, 1.1vw, .95rem);
}
.wed-set__photos figure {
  margin: 0; overflow: hidden; border-radius: 8px;
  box-shadow: 0 22px 48px rgba(0,0,0,.42);
}
.wed-set__photos img {
  width: 100%; object-fit: cover; display: block;
  transition: transform .8s var(--ease);
}
.wed-set__photos figure:hover img { transform: scale(1.05); }
.wed-set__photos figure:first-child { grid-row: span 2; }
.wed-set__photos figure:first-child img { height: 100%; }
.wed-set__photos figure:not(:first-child) img { aspect-ratio: 1/1; }

/* --------------------------------------------------------------------------
   5) CTA — botones en fila con respiro
   -------------------------------------------------------------------------- */
.wed-cta__btns { display: flex; flex-wrap: wrap; gap: .9rem; justify-content: center; }

/* --------------------------------------------------------------------------
   RESPONSIVE
   -------------------------------------------------------------------------- */
@media (max-width: 980px) {
  .wed-story__grid { grid-template-columns: 1fr; gap: 2.4rem; }
  .wed-story__media { padding: 0 1.6rem 2.6rem 0; max-width: 620px; margin-inline: auto; }
  .wed-story__media::before { width: 96px; height: 96px; left: -18px; top: -18px; }
  .wed-serv__grid { grid-template-columns: repeat(2, 1fr); }
  .wed-card:last-child:nth-child(3n+1) { grid-column: auto; }
  .wed-set__grid { grid-template-columns: 1fr; }
  .wed-set__photos { max-width: 620px; margin-inline: auto; }
  .wed-serv { background-attachment: scroll; }
}
@media (max-width: 680px) {
  .wed-serv__grid { grid-template-columns: 1fr; }
  .wed-mosaic { grid-template-columns: 1fr 1fr; }
  .wed-mosaic figure:first-child { grid-column: span 2; grid-row: auto; }
  .wed-mosaic figure:first-child img { aspect-ratio: 4/3; }
}

/* --- Weddings: cómo trabajamos con el planner (pasos numerados) --- */
.wed-flow__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.2rem,2.4vw,2.2rem); margin-top:2.6rem; }
.wed-flow__step { position:relative; padding-top:1.6rem; border-top:1px solid rgba(28,40,47,.16); }
.wed-flow__n { font-family:"Bon Vivant",serif; font-size:2.5rem; line-height:1; color:var(--gold-deep); display:block; margin-bottom:.6rem; }
.wed-flow__t { font-family:"Bon Vivant",serif; font-size:1.25rem; margin:0 0 .5rem; }
.wed-flow__step p { font-size:.93rem; line-height:1.7; margin:0; }
.js .wed-flow__grid > .reveal:nth-child(2){ transition-delay:.08s; }
.js .wed-flow__grid > .reveal:nth-child(3){ transition-delay:.16s; }
.js .wed-flow__grid > .reveal:nth-child(4){ transition-delay:.24s; }
@media (max-width:900px){ .wed-flow__grid { grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .wed-flow__grid { grid-template-columns:1fr; } }

/* --- Weddings: FAQ (mismo esquema que Travel Guide) --- */
.wed-faq__grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem,5vw,4rem); align-items:start; }
@media (max-width:900px){ .wed-faq__grid { grid-template-columns:1fr; } }

/* --- Reconocimientos y afiliaciones: nombres en tipografía, no logos ---
   (revisión cliente 7-ago-2026: no se alteran ni se reproducen logos ajenos) */
.lmq__item .pmk {
  color: #fff; opacity: .78; text-align: center; line-height: 1.15;
  transition: opacity .3s var(--ease);
  display: block; max-width: 100%;
}
.lmq__item:hover .pmk { opacity: 1; }
.pmk--serif   { font-family: Georgia, "Times New Roman", serif; font-size: .92rem; font-weight: 400; letter-spacing: .02em; }
.pmk--wide    { font-family: "Montserrat", sans-serif; font-size: .8rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
.pmk--heavy   { font-family: "Montserrat", sans-serif; font-size: 1.12rem; font-weight: 800; letter-spacing: .01em; text-transform: uppercase; }
.pmk--grotesk { font-family: Helvetica, Arial, sans-serif; font-size: 1.35rem; font-weight: 700; letter-spacing: .1em; }
.pmk--display { font-family: "Bon Vivant", Georgia, serif; font-size: 1.3rem; font-weight: 400; letter-spacing: .01em; }
.pmk--track   { font-family: "Montserrat", sans-serif; font-size: 1.05rem; font-weight: 700; letter-spacing: .34em; text-transform: uppercase; text-indent: .34em; }
@media (max-width:680px){
  .pmk--serif{ font-size:.78rem } .pmk--wide{ font-size:.66rem; letter-spacing:.16em }
  .pmk--heavy{ font-size:.92rem } .pmk--grotesk{ font-size:1.05rem }
  .pmk--display{ font-size:1.02rem } .pmk--track{ font-size:.86rem; letter-spacing:.24em }
}

/* --- Weddings: alcance en el hero y subtítulo de Premium Guest Services
   (revisión cliente 10-ago-2026) --- */
.wed-scope {
  margin: 1.1rem 0 0; font-family:"Montserrat",sans-serif; font-size:.72rem;
  font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--gold); max-width:52ch;
}
.wed-story__sub {
  margin:.35rem 0 0; font-family:"Montserrat",sans-serif; font-size:.95rem;
  font-weight:400; letter-spacing:.01em; color:var(--text-muted,#6b7780);
}
@media (max-width:680px){ .wed-scope { font-size:.64rem; letter-spacing:.12em; } }

/* --- Weddings: "Beyond the celebration" (Galápagos / Sierra & Amazon) --- */
.wed-ext__t {
  font-family:"Bon Vivant",serif; font-size:clamp(1.25rem,1.05rem + .6vw,1.6rem);
  margin:2.6rem 0 1rem; text-align:center; color:var(--slate-ink);
}
.wed-ext__t::after {
  content:""; display:block; width:44px; height:1px; margin:.7rem auto 0;
  background:var(--gold);
}
.wed-ext__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(.6rem,1.2vw,1rem); max-width:1180px; margin:0 auto; }
.wed-ext__grid figure { margin:0; overflow:hidden; border-radius:6px; box-shadow:0 12px 28px rgba(28,40,47,.14); }
.wed-ext__grid img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; transition:transform .8s var(--ease); }
.wed-ext__grid figure:hover img { transform:scale(1.06); }
@media (max-width:900px){ .wed-ext__grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .wed-ext__grid { grid-template-columns:1fr; } }

/* --- Weddings: galería de video. Los seis clips son verticales 9:16 (están grabados
   con el teléfono) y el recuadro cuadrado les cortaba media escena; revisión 2 del
   cliente (14-ago-2026): el recuadro toma la misma proporción que el video. --- */
.wed-vid__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(.7rem,1.4vw,1.1rem); max-width:1060px; margin:0 auto; }
.wed-vid__item {
  position:relative; padding:0; border:0; background:none; cursor:pointer;
  aspect-ratio:9/16; overflow:hidden; border-radius:8px; display:block;
  box-shadow:0 14px 34px rgba(0,0,0,.32); transition:transform .4s var(--ease);
}
.wed-vid__item img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s var(--ease), filter .4s var(--ease); }
.wed-vid__item::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.45) 100%); }
.wed-vid__item:hover { transform:translateY(-4px); }
.wed-vid__item:hover img { transform:scale(1.07); }
.wed-vid__item:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
.wed-vid__play {
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:2;
  width:56px; height:56px; border-radius:50%; display:grid; place-items:center;
  background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.55);
  backdrop-filter:blur(3px); color:#fff; transition:background .3s var(--ease), transform .3s var(--ease);
}
.wed-vid__item:hover .wed-vid__play { background:var(--gold); border-color:var(--gold); color:var(--slate-ink); transform:translate(-50%,-50%) scale(1.08); }
.wed-vid__play svg { width:24px; height:24px; margin-left:2px; }
@media (max-width:720px){ .wed-vid__grid { grid-template-columns:repeat(2,1fr); } .wed-vid__play { width:44px; height:44px; } }

/* Lightbox de video */
.vlb { position:fixed; inset:0; z-index:9999; display:none; align-items:center; justify-content:center; background:rgba(12,18,22,.92); padding:clamp(1rem,4vw,3rem); }
.vlb.is-open { display:flex; }
.vlb video { max-width:min(94vw,1100px); max-height:88vh; width:auto; height:auto; border-radius:8px; box-shadow:0 30px 80px rgba(0,0,0,.6); background:#000; }
.vlb__close { position:absolute; top:clamp(.8rem,3vw,2rem); right:clamp(.8rem,3vw,2rem); width:44px; height:44px; border-radius:50%; border:1px solid rgba(255,255,255,.4); background:rgba(255,255,255,.08); color:#fff; font-size:1.4rem; line-height:1; cursor:pointer; }
.vlb__close:hover { background:var(--gold); border-color:var(--gold); color:var(--slate-ink); }

/* Marquee de marcas embebido dentro de otra banda (clientes MICE en Experiences):
   sin fondo ni padding propios, para que se integre en la sección que lo contiene. */
.partners-band--bare { background:none; padding:0; margin-top:2.4rem; }
.partners-band--bare .lmq-rows { margin-top:1rem; }
.partners-band--bare .lmq__item { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.13); }
/* Variantes tipográficas adicionales para el muro de clientes */
.pmk--times { font-family:"Times New Roman", Times, serif; font-size:1.02rem; font-weight:400; letter-spacing:.01em; }
.pmk--soft  { font-family:"Montserrat", sans-serif; font-size:1.1rem; font-weight:600; letter-spacing:-.01em; text-transform:none; }
.pmk--thin  { font-family:"Montserrat", sans-serif; font-size:.82rem; font-weight:400; letter-spacing:.2em; text-transform:uppercase; }
@media (max-width:680px){
  .pmk--times{ font-size:.86rem } .pmk--soft{ font-size:.92rem } .pmk--thin{ font-size:.68rem; letter-spacing:.14em }
}


/* --- About: hero con textura de iglesia y la foto del equipo en pequeño a la derecha
   (revisión cliente 14-ago-2026: a pantalla completa se veía pixelada) --- */
/* Los heros internos llevan un padding-bottom grande porque su texto va abajo.
   Aquí el bloque va centrado, así que el padding tiene que ser simétrico o el
   contenido queda descuadrado hacia arriba. */
.hero--about { align-items:center; }
/* El header es fijo y se superpone al hero. En vez de compensarlo con padding en el
   contenido (frágil), el hero RESERVA su altura arriba y centra el bloque en el espacio
   que queda: así queda ópticamente al medio sin importar el largo del texto. */
.hero--about { padding-top:clamp(88px,12vh,160px); }
.hero--about .hero__inner { padding-block:clamp(1.2rem,3.5vw,2.6rem); }
.hero--about .abt-hero__text { display:flex; flex-direction:column; align-items:flex-start; }
.hero--about .hero__rule { width:min(100%,420px); margin:1.4rem 0; }
.hero--about__scrim {
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(100deg, rgba(18,28,34,.86) 0%, rgba(18,28,34,.72) 42%, rgba(18,28,34,.42) 100%);
}
.abt-hero { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; width:100%; }
.abt-hero__text .hero__title { max-width:14ch; }
.abt-hero__text .hero__desc { max-width:46ch; }
.abt-hero__photo { margin:0; position:relative; }
.abt-hero__photo img {
  width:100%; height:auto; display:block; border-radius:4px;
  box-shadow:0 26px 60px rgba(0,0,0,.5);
  border:1px solid rgba(255,255,255,.16);
}
.abt-hero__photo figcaption {
  margin-top:.7rem; font-family:"Montserrat",sans-serif; font-size:.66rem;
  font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:rgba(255,255,255,.62); text-align:right;
}
@media (max-width:900px){
  .abt-hero { grid-template-columns:1fr; gap:2rem; }
  .abt-hero__photo { max-width:420px; }
  .abt-hero__photo figcaption { text-align:left; }
}

/* El muro de clientes tiene 26 marcas (el de partners solo 7): con la misma duración
   el recorrido se ve disparado. Se alarga para que pase despacio y dé tiempo a leer. */
.partners-band--bare .lmq__track { animation-duration:150s; }
.partners-band--bare .lmq--rev .lmq__track { animation-duration:170s; }

/* ============================================================
   WEDDINGS — FORMULARIO CON MARCA
   El formulario reutilizaba las clases .pln-* de Plan Your Trip, pero ese CSS vive en
   _p-plan.css y esta landing no lo carga: salían los inputs crudos del navegador.
   Aquí van estilos propios, con más carácter que el original.
   ============================================================ */
.wed-form__box {
  position:relative; background:var(--cream);
  border:1px solid rgba(58,83,95,.10); border-top:3px solid var(--gold);
  border-radius:4px; padding:clamp(1.6rem,3.4vw,3.2rem);
  box-shadow:0 26px 60px rgba(44,63,73,.14);
  max-width:920px; margin-inline:auto; overflow:hidden;
}
/* Filete dorado interior, como en las tarjetas del sitio */
.wed-form__box::before {
  content:""; position:absolute; inset:10px; border:1px solid rgba(224,169,28,.16);
  border-radius:2px; pointer-events:none;
}
/* Monograma de marca, muy tenue, detrás del formulario */
.wed-form__box::after {
  content:""; position:absolute; right:-70px; bottom:-70px; width:320px; height:320px;
  background:url("/wp-content/uploads/web/isotipo-white.png") center/contain no-repeat;
  filter:brightness(0); opacity:.035; pointer-events:none;
}
.wed-form__box > * { position:relative; z-index:1; }

/* --- Bloques numerados --- */
.wed-form__box .pln-fs { border:0; margin:0 0 2.2rem; padding:0; min-width:0; }
.wed-form__box .pln-fs:last-of-type { margin-bottom:1.4rem; }
.wed-form__box .pln-fs__lg {
  width:100%; display:flex; align-items:baseline; gap:.85rem;
  margin:0 0 1.5rem; padding:0 0 .9rem;
  border-bottom:1px solid rgba(58,83,95,.14);
  font-family:"Montserrat",sans-serif; font-size:.72rem; font-weight:600;
  letter-spacing:.19em; text-transform:uppercase; color:var(--slate-ink);
}
.wed-form__box .pln-fs__n {
  font-family:"Bon Vivant",serif; font-size:1.9rem; line-height:.9;
  color:var(--gold-deep); letter-spacing:0; font-weight:400;
}

/* --- Campos: línea inferior en vez de caja (más editorial) --- */
.wed-form__box .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem 1.8rem; }
.wed-form__box .field--full { grid-column:1 / -1; }
.wed-form__box .field { display:flex; flex-direction:column; gap:.45rem; }
.wed-form__box .field label {
  font-family:"Montserrat",sans-serif; font-size:.66rem; font-weight:600;
  letter-spacing:.17em; text-transform:uppercase; color:#8b959b;
  transition:color .25s var(--ease);
}
.wed-form__box .field:focus-within label { color:var(--gold-deep); }
.wed-form__box input,
.wed-form__box select,
.wed-form__box textarea {
  width:100%; box-sizing:border-box;
  font-family:"Montserrat",sans-serif; font-size:.98rem; color:var(--slate-ink);
  background:transparent; border:0; border-bottom:1px solid rgba(58,83,95,.26);
  border-radius:0; padding:.6rem .1rem; outline:0;
  transition:border-color .25s var(--ease), box-shadow .25s var(--ease);
}
.wed-form__box input::placeholder,
.wed-form__box textarea::placeholder { color:#b3bbc0; }
.wed-form__box input:focus,
.wed-form__box select:focus,
.wed-form__box textarea:focus {
  border-bottom-color:var(--gold); box-shadow:0 1px 0 0 var(--gold);
}
.wed-form__box textarea { resize:vertical; min-height:130px; line-height:1.7; }
/* Flecha propia para los selects */
.wed-form__box select {
  appearance:none; -webkit-appearance:none; cursor:pointer; padding-right:1.8rem;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23E0A91C' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right .2rem center; background-size:11px;
}
.wed-form__box select:invalid,
.wed-form__box select option[value=""] { color:#b3bbc0; }

/* --- Consentimiento y envío --- */
.wed-form__box .pln-consent {
  font-family:"Montserrat",sans-serif; font-size:.76rem; line-height:1.7; color:#7b858c;
  margin:0 0 1.4rem; padding-top:1.3rem; border-top:1px solid rgba(58,83,95,.14);
}
.wed-form__box .pln-send { margin:0; text-align:center; }
.wed-form__box .pln-send .btn { min-width:min(100%,280px); }

@media (max-width:680px){
  .wed-form__box .form-grid { grid-template-columns:1fr; gap:1.3rem; }
  .wed-form__box::after { width:210px; height:210px; right:-50px; bottom:-50px; }
}

/* ============================================================
   WEDDINGS — PANEL DE PILARES (qué hacemos), montado sobre el hero
   Responde al "no se entiende de qué va": verbo dorado + sustantivo grande.
   Una wedding planner DECIDE; MY TOUR EC consigue, produce y mueve.
   ============================================================ */
/* Lo que sube el panel sobre el hero y lo que el hero le reserva abajo son el
   MISMO número: si se declaran por separado, en pantallas bajas el panel tapa la
   última línea del texto (pasaba en 1440x740). Una sola variable manda en ambos. */
:root { --wed-lift: clamp(3rem,6vw,5.25rem); }
.hero--wed .hero__inner { padding-bottom:calc(var(--wed-lift) + clamp(2rem,4.5vh,4.5rem)); }
.wed-pillars { position:relative; z-index:3; margin-top:calc(-1 * var(--wed-lift)); }
.wed-pillars__panel {
  background:var(--slate-ink); color:#fff;
  border-top:3px solid var(--gold);
  box-shadow:0 30px 70px rgba(28,40,47,.34);
  padding:clamp(2rem,4vw,3.1rem) clamp(1.4rem,3.4vw,3rem) clamp(1.6rem,3vw,2.4rem);
}
.wed-pillars__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(1.2rem,2.6vw,2.4rem); }
.wed-pillars__item { position:relative; padding-left:clamp(1rem,2vw,1.8rem); }
.wed-pillars__item:first-child { padding-left:0; }
/* Filete vertical dorado que se apaga en los extremos, no una línea plana */
.wed-pillars__item + .wed-pillars__item::before {
  content:""; position:absolute; left:0; top:.2rem; bottom:.2rem; width:1px;
  background:linear-gradient(rgba(239,187,47,0), rgba(239,187,47,.6), rgba(239,187,47,0));
}
.wed-pillars__k {
  font-family:"Montserrat",sans-serif; font-weight:600; text-transform:uppercase;
  letter-spacing:.16em; font-size:.66rem; color:var(--gold); margin:0 0 .5rem;
}
.wed-pillars__t {
  font-family:"Bon Vivant",serif; font-weight:400; color:#fff;
  font-size:clamp(1.35rem,1.1rem + .75vw,1.85rem); line-height:1.08; margin:0 0 .6rem;
}
.wed-pillars__item p { margin:0; font-size:.88rem; line-height:1.65; color:rgba(255,255,255,.82); }
/* Línea de rol: afirma lo que son y cierra el equívoco al final */
.wed-pillars__role {
  margin:clamp(1.6rem,3vw,2.4rem) 0 0; padding-top:clamp(1.1rem,2vw,1.5rem);
  border-top:1px solid rgba(255,255,255,.16); text-align:center;
  font-family:"Bon Vivant",serif; line-height:1.45; color:#fff;
  font-size:clamp(1.05rem,.95rem + .5vw,1.4rem);
}
.wed-pillars__role b { color:var(--gold); font-weight:400; }
.js .wed-pillars__grid > .reveal:nth-child(2){ transition-delay:.08s; }
.js .wed-pillars__grid > .reveal:nth-child(3){ transition-delay:.16s; }
.js .wed-pillars__grid > .reveal:nth-child(4){ transition-delay:.24s; }
@media (max-width:980px){
  /* A esta anchura el panel ya no cabe montado: se apoya en vez de solaparse.
     Con lift 0 el hero vuelve a su padding normal por la misma fórmula. */
  :root { --wed-lift: 0px; }
  .hero--wed .hero__inner { padding-bottom:clamp(3rem,7vw,6rem); }
  .wed-pillars__grid { grid-template-columns:repeat(2,1fr); row-gap:clamp(1.4rem,3vw,2rem); }
  .wed-pillars__item:nth-child(odd) { padding-left:0; }
  .wed-pillars__item:nth-child(odd)::before { display:none; }
}
@media (max-width:560px){
  .wed-pillars__grid { grid-template-columns:1fr; }
  .wed-pillars__item { padding-left:0; }
  .wed-pillars__item::before { display:none; }
  .wed-pillars__item + .wed-pillars__item { padding-top:1.3rem; border-top:1px solid rgba(255,255,255,.14); }
}

/* --- Weddings: la galería de video pasa de rejilla a carrusel --- */
.wed-vid { position:relative; max-width:1180px; margin:0 auto; }
.wed-vid__viewport { overflow:hidden; }
.wed-vid__track {
  display:flex; gap:clamp(.7rem,1.4vw,1.1rem);
  scroll-snap-type:x mandatory; overflow-x:auto; scroll-behavior:smooth;
  padding-bottom:.4rem; scrollbar-width:none;
}
.wed-vid__track::-webkit-scrollbar { display:none; }
/* Al pasar el recuadro a vertical la tarjeta creció de alto, así que se estrecha
   para que la fila no quede como un muro. */
.wed-vid__track > .wed-vid__item { flex:0 0 clamp(180px,21%,255px); scroll-snap-align:start; }
/* Flechas del carrusel, mismo lenguaje que "Other journeys you may like" */
.wed-vid__nav {
  position:absolute; top:50%; transform:translateY(-50%); z-index:3;
  width:46px; height:46px; border-radius:50%; cursor:pointer;
  background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.45);
  backdrop-filter:blur(3px); display:grid; place-items:center;
  transition:background .3s var(--ease), border-color .3s var(--ease), opacity .3s var(--ease);
}
.wed-vid__nav:hover { background:var(--gold); border-color:var(--gold); }
.wed-vid__nav[disabled] { opacity:.28; cursor:default; }
.wed-vid__nav--prev { left:-14px; }
.wed-vid__nav--next { right:-14px; }
.wed-vid__nav span {
  display:block; width:10px; height:10px; border-top:2px solid #fff; border-right:2px solid #fff;
}
.wed-vid__nav:hover span { border-color:var(--slate-ink); }
.wed-vid__nav--prev span { transform:rotate(-135deg); margin-left:3px; }
.wed-vid__nav--next span { transform:rotate(45deg); margin-right:3px; }
@media (max-width:1240px){ .wed-vid__nav--prev { left:4px; } .wed-vid__nav--next { right:4px; } }
@media (max-width:680px){
  .wed-vid__track > .wed-vid__item { flex:0 0 56%; }
  .wed-vid__nav { display:none; }
}

/* Brochure de bodas: vive dentro de la banda con foto de "Everything For Your Guests",
   así que va centrado y con aire para no pegarse a la última tarjeta. */
.wed-serv__brochure { margin:clamp(2rem,4vw,3rem) 0 0; text-align:center; }

/* --- Weddings: el video del concierto es muy luminoso (velas y blancos) y se comía el
   texto. Capa oscura propia + los textos pequeños con más cuerpo y sombra. --- */
.hero--wed::after {
  background:
    linear-gradient(180deg, rgba(10,16,20,.62) 0%, rgba(10,16,20,.38) 34%, rgba(8,13,17,.72) 100%),
    linear-gradient(100deg, rgba(8,13,17,.58) 0%, rgba(8,13,17,.18) 62%, rgba(8,13,17,0) 100%);
}
.hero--wed .hero__inner { text-shadow: 0 2px 18px rgba(0,0,0,.45); }
.hero--wed .eyebrow {
  font-size: .92rem; letter-spacing: .2em; color: var(--gold); font-weight: 700;
}
.hero--wed .hero__desc {
  font-size: 1.2rem; line-height: 1.75; color: #fff;
}
.hero--wed .wed-scope {
  font-size: .95rem; letter-spacing: .14em; color: var(--gold); font-weight: 700;
  max-width: 60ch;
}
.hero--wed .hero__rule { border-color: rgba(255,255,255,.5); }
@media (max-width: 700px) {
  .hero--wed .eyebrow { font-size: .8rem; }
  .hero--wed .hero__desc { font-size: 1.06rem; }
  .hero--wed .wed-scope { font-size: .8rem; letter-spacing: .1em; }
}

/* --- Crédito del video del hero: cuando el material es del hotel o del operador
   hay que nombrarlo. Línea discreta, esquina inferior derecha, encima de la capa. --- */
.hero__credit {
  position: absolute; right: clamp(1rem,4vw,3rem); bottom: .85rem; z-index: 3;
  margin: 0;
  font-size: .68rem; letter-spacing: .1em; text-transform: uppercase;
  color: rgba(255,255,255,.62);
  text-shadow: 0 1px 8px rgba(0,0,0,.6);
}
.hero__credit a { color: rgba(255,255,255,.78); text-decoration: none; border-bottom: 1px solid rgba(239,187,47,.5); }
.hero__credit a:hover, .hero__credit a:focus-visible { color: var(--gold); border-bottom-color: var(--gold); }
@media (max-width: 820px) {
  .hero__credit { position: static; padding: 0 clamp(1rem,4vw,3rem) 1.1rem; text-align: left; }
}

/* --- Heros en pantallas panorámicas bajas (1920x900, 1600x768, laptops con
   escalado): la tipografía crecía solo con el ancho (vw) mientras el alto
   disponible manda. El título llegaba a 5.25rem y el bloque no entraba en la
   pantalla. Aquí el hero también se achica cuando sobra ancho y falta alto. --- */
@media (min-width: 821px) and (max-height: 900px) {
  .hero__title { font-size: clamp(2.4rem, 3.4vw + .6rem, 4.1rem); }
  .hero__inner { padding-bottom: clamp(2.5rem, 6vh, 4.5rem); }
  .hero--wed .hero__desc { font-size: 1.08rem; line-height: 1.6; }
  .hero--wed .eyebrow { font-size: .84rem; }
  .hero--wed .wed-scope { font-size: .86rem; }
}
@media (min-width: 821px) and (max-height: 760px) {
  .hero__title { font-size: clamp(2.2rem, 2.9vw + .5rem, 3.4rem); }
  .hero__inner { padding-bottom: clamp(2rem, 5vh, 3.5rem); }
  .hero__desc { font-size: 1rem; }
  .hero--wed .hero__desc { font-size: 1rem; line-height: 1.55; }
  .hero--wed .wed-scope { font-size: .8rem; letter-spacing: .1em; }
  .hero--wed .hero__rule { margin-block: .9rem; }
  .wed-pillars__panel { padding-block: clamp(1.3rem, 3vh, 1.9rem); }
  .wed-pillars__item p { font-size: .82rem; line-height: 1.55; }
  .wed-pillars__role { margin-top: .9rem; }
}

/* --- Marquee de marcas: la caja tenía ancho fijo de 180px y los nombres largos
   (Schlumberger, Boehringer Ingelheim) se salían. Ahora la caja crece con el texto. --- */
.lmq__item { width:auto; min-width:180px; max-width:320px; }
.lmq__item .pmk { max-width:100%; overflow-wrap:break-word; hyphens:none; }

/* --- Galería de video: al pasar el mouse el clip se reproduce solo y en silencio;
   el clic sigue abriendo el video completo en el lightbox. --- */
.wed-vid__item video {
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity .45s var(--ease); z-index:1;
}
.wed-vid__item.is-previewing video { opacity:1; }
.wed-vid__item.is-previewing img { opacity:0; }
.wed-vid__item img { transition:transform .8s var(--ease), opacity .45s var(--ease); }

/* --- Formulario de contacto: honeypot y aviso de error ---------------------
   El honeypot tiene que ser invisible pero NO display:none ni hidden: algunos
   bots detectan eso y saltan el campo. Se saca del flujo y de la vista. */
.pln-form__hp {
  position: absolute !important; left: -9999px !important;
  width: 1px; height: 1px; opacity: 0; pointer-events: none;
}
.pln-form__note {
  margin: .9rem 0 0; font-size: .9rem; line-height: 1.5;
  color: #8c2f2f; background: rgba(140,47,47,.07);
  border-left: 2px solid #8c2f2f; padding: .6rem .85rem;
}
.wed-form__box .pln-form__note { color: #b3563f; border-left-color: #b3563f; background: rgba(179,86,63,.09); }

/* ==========================================================================
   MY EVENTS — landing de la submarca MICE (myevents.bluenova.com.ec)
   Casi todo se reusa del tema: hero, pilares, tarjetas de servicio, mosaico y
   formulario son los mismos de la landing de bodas. Aquí va solo lo que no existía.
   ========================================================================== */

/* El reveal en cascada estaba resuelto solo hasta donde llegaban las secciones
   existentes: los pilares tenían 3 retardos (aquí hay 4) y los servicios 6 (aquí
   hay 9). Sin esto, los últimos entran de golpe y se nota el salto. */
.js .wed-pillars__grid > .reveal:nth-child(4) { transition-delay:.24s; }
.js .wed-serv__grid > .reveal:nth-child(7) { transition-delay:.28s; }
.js .wed-serv__grid > .reveal:nth-child(8) { transition-delay:.32s; }
.js .wed-serv__grid > .reveal:nth-child(9) { transition-delay:.36s; }

/* Header de la landing: sin mega-menú, así que el logo y las acciones van a los
   extremos y el conjunto respira más. */
.site-header--landing .site-header__inner { justify-content:space-between; }
.site-header__navlink {
  color:#fff; text-decoration:none; font-size:.82rem; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; white-space:nowrap;
  border-bottom:1px solid transparent; transition:color .3s var(--ease), border-color .3s var(--ease);
}
.site-header__navlink:hover, .site-header__navlink:focus-visible { color:var(--gold); border-bottom-color:var(--gold); }
@media (max-width:760px){ .site-header__navlink { display:none; } }

/* Lista de destinos de pre/post tours: tres bloques con filete dorado arriba. */
.mev-list { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.2rem,3vw,2.4rem); max-width:1100px; margin:0 auto; }
.mev-list__item { padding-top:1.1rem; border-top:2px solid var(--gold); }
.mev-list__t { font-family:"Bon Vivant",serif; font-weight:400; font-size:clamp(1.15rem,1rem + .5vw,1.45rem); color:var(--slate-ink); margin:0 0 .5rem; }
.mev-list__item p { margin:0; font-size:.94rem; line-height:1.7; color:var(--slate); }
@media (max-width:820px){ .mev-list { grid-template-columns:1fr; gap:1.4rem; } }

/* Ubicaciones de incentivos, dentro de la banda oscura. */
.mev-places { list-style:none; padding:0; margin:1.6rem 0 0; }
.mev-places li { position:relative; padding-left:1.2rem; margin-bottom:.8rem; font-size:.94rem; line-height:1.7; color:rgba(255,255,255,.86); }
.mev-places li::before { content:""; position:absolute; left:0; top:.7em; width:6px; height:1px; background:var(--gold); }
.mev-places b { color:#fff; font-weight:600; }

/* Destinos internacionales: tres columnas de países, sin fotos a propósito —
   son 25 países y una foto por país sería un muro de banco de imágenes. */
.mev-intl { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.4rem,3vw,3rem); max-width:1000px; margin:0 auto; }
.mev-intl__r {
  font-family:"Bon Vivant",serif; font-weight:400; font-size:clamp(1.1rem,1rem + .4vw,1.35rem);
  color:var(--slate-ink); margin:0 0 1rem; padding-bottom:.7rem; border-bottom:1px solid rgba(58,83,95,.22);
}
.mev-intl__list { list-style:none; padding:0; margin:0; }
.mev-intl__list li { font-size:.92rem; line-height:2; color:var(--slate); }
@media (max-width:760px){ .mev-intl { grid-template-columns:1fr 1fr; } }
@media (max-width:460px){ .mev-intl { grid-template-columns:1fr; } }

/* --- Subtítulos de los artículos del Journal ------------------------------
   Camila (19-ago-2026): "los subtitulos tienen diferentes tamaños de fuente...
   mejor dejar los subtitulos en la misma fuente Montserrat en negrita".
   Venía de dos sitios: heredaban Bon Vivant en peso 400 desde theme.json, y el h2
   escalaba con el ancho (clamp) mientras el h3 tenía un tamaño fijo distinto, así que
   dentro de un mismo artículo se veían de tres tamaños. Ahora todos los subtítulos son
   el mismo: Montserrat, negrita y un solo cuerpo. La jerarquía la marca el aire de
   arriba, no el tamaño. --- */
.single-post__main .wp-block-post-content :is(h2, h3, h4) {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 1.22rem;
  line-height: 1.4;
  letter-spacing: 0;
  color: var(--slate-ink);
}
.single-post__main .wp-block-post-content h2 { margin: 2.4rem 0 .8rem; }
.single-post__main .wp-block-post-content h3 { margin: 1.8rem 0 .6rem; }
.single-post__main .wp-block-post-content h4 { margin: 1.4rem 0 .5rem; }

/* --- MY EVENTS: los 25 destinos internacionales como pastillas ---------------
   Reunión 19-ago-2026: el cliente los quería "como botoncitos que cambian de
   colorcitos". Eran una lista de texto plano; ahora cada país es una pastilla que se
   enciende en dorado al pasar el ratón. --- */
.mev-chips { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:.45rem; }
.mev-chip {
  font-size:.84rem; line-height:1; letter-spacing:.02em; color:var(--slate);
  padding:.52rem .8rem; border:1px solid rgba(58,83,95,.24); border-radius:100px;
  background:rgba(255,255,255,.5); white-space:nowrap;
  transition:background .28s var(--ease), border-color .28s var(--ease), color .28s var(--ease), transform .28s var(--ease);
}
.mev-chip:hover {
  background:var(--gold); border-color:var(--gold); color:var(--slate-ink);
  transform:translateY(-2px);
}
/* Con pastillas, las columnas necesitan más ancho que con la lista vertical. */
.mev-intl { grid-template-columns:repeat(3,1fr); gap:clamp(1.6rem,3vw,2.6rem); max-width:1180px; }
@media (max-width:900px){ .mev-intl { grid-template-columns:1fr; } .mev-intl__col + .mev-intl__col { margin-top:.6rem; } }

/* El logo de MY EVENTS lleva tagline debajo: a la misma altura que el de MY TOUR EC el
   texto se lee más pequeño, así que va más grande y la cabecera le hace sitio. */
.site-header--landing .site-header__logo img { height: 82px; width: auto; }
.site-header--landing .site-header__inner { min-height: 122px; }
.site-header.is-stuck.site-header--landing .site-header__logo img { height: 62px; }
.site-header.is-stuck.site-header--landing .site-header__inner { min-height: 92px; }
@media (max-width: 700px){
  .site-header--landing .site-header__logo img { height: 54px; }
  .site-header--landing .site-header__inner { min-height: 84px; }
}

/* ==========================================================================
   MY EVENTS — reestructura tras la reunión del 10-sep-2026
   ("está planísima, está desordenada").
   ========================================================================== */

/* Entradillas: ocupaban ~1.290 px (líneas de 170 caracteres) y no se alineaban con lo
   que va debajo. Mismo tope que en bodas. */
.mev-lead { max-width: 62ch; margin-inline: auto; }

/* Quiénes somos: .wed-story__text p lleva margin:0 y los dos párrafos se leían como uno. */
.mev-about .wed-story__text p + p { margin-top: 1.05rem; }

/* Galería: con 6 fotos y la primera a dos columnas, en móvil la última quedaba sola con un
   hueco al lado. Misma solución que ya usa el tema en otro mosaico. */
@media (max-width: 680px) {
  .mev-gal .photo-grid--feature figure:last-child:nth-child(even) { grid-column: span 2; }
}

/* Banda de pruebas: clientes arriba, certificaciones quietas debajo, con aire entre ambas. */
.mev-proof .mev-certs { margin-top: clamp(2.4rem, 5vw, 3.6rem); padding-top: clamp(2rem, 4vw, 3rem); border-top: 1px solid rgba(255,255,255,.12); }

/* Pre y post tours: cuatro destinos con foto sobre la rejilla de bodas (.wed-ext__grid). */
.mev-pp__grid { max-width: 1180px; }
.mev-pp__item .mev-list__t { margin: 1.1rem 0 .35rem; }
.mev-pp__item p { margin: 0; font-size: .92rem; line-height: 1.65; color: var(--slate); }

/* Incentivos: la foto vertical tenía media imagen de cielo vacío. */
.mev-inc .wed-set__photos figure:first-child img { object-position: center 72%; }

/* Testimonios: tres cartas quietas en escritorio; en móvil se desplazan con el dedo,
   sin animación. Sustituye al carrusel, que duplicaba cartas y se movía junto a otro. */
.mev-revs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; max-width: 1180px; margin: 0 auto; position: relative; z-index: 1; }
.mev-revs .rev-card { width: auto; margin: 0; }
.mev-revs .rev-card__text { margin: 0; }
@media (max-width: 1099px) {
  .mev-revs { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 1rem; padding-bottom: .6rem; -webkit-overflow-scrolling: touch; }
  .mev-revs .rev-card { flex: 0 0 min(82vw, 380px); scroll-snap-align: center; }
}

/* Formulario: la caja cream por fin destaca sobre arena liso. */
.mev-form .field--full .pln-file { margin-top: .2rem; }

/* ---- Mapa interactivo de destinos internacionales ---- */
/* --- MY EVENTS — mapa de destinos internacionales -----------------------------
   Reunión con el cliente: "un mapita donde vas a ingresar en los coroncitos", y
   después pidió fotos. Mapa del mundo en matriz de puntos (SVG estático generado en
   build), 25 pins dorados, Ecuador marcado como punto de salida, filtro por región que
   hace zoom y lista de países de referencia debajo. Markup: inc/edit-mev-map.php
   (myt_mev_world_map). Interacción: assets/js/mev-map.js.
   Sustituye al bloque de pastillas .mev-intl: la lista del mapa ya las trae. --- */

@property --mev-s { syntax: "<number>"; inherits: true; initial-value: 1; }

.mev-map { position: relative; max-width: 1180px; margin: 0 auto; }
.mev-map__sr {
  position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}

/* Filtro por región */
.mev-map__filters { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin: 0 0 1.5rem; }
.mev-map__pill {
  font: 500 .84rem/1 "Montserrat", sans-serif; letter-spacing: .02em; color: var(--slate-ink);
  padding: .68rem 1.1rem; border: 1px solid rgba(58,83,95,.26); border-radius: 100px;
  background: rgba(255,255,255,.6); cursor: pointer;
  transition: background .28s var(--ease), border-color .28s var(--ease), color .28s var(--ease), transform .28s var(--ease);
}
.mev-map__pill:hover { border-color: var(--gold); transform: translateY(-2px); }
.mev-map__pill.is-on { background: var(--gold); border-color: var(--gold); color: var(--slate-ink); }
/* Reunión 21-sep-2026: sin contadores en las pastillas (se quitó .mev-map__count). */
.mev-map__pill:focus-visible { outline: 2px solid var(--slate-ink); outline-offset: 3px; }

/* Panel: el mapa vive en una lámina oscura para que el dorado tenga contraste. El
   padding marca la zona útil; el JS encaja cada vista dentro de ella. */
.mev-map__panel {
  position: relative; overflow: hidden; isolation: isolate;
  aspect-ratio: 1.93; padding: 2.5% 2.5% 6.2%;
  border-radius: 18px; color: var(--arena);
  background:
    radial-gradient(120% 90% at 50% 35%, rgba(58,83,95,.95) 0%, rgba(44,63,73,1) 55%, #22323a 100%);
  box-shadow: 0 34px 70px -34px rgba(28,40,47,.65), inset 0 0 0 1px rgba(239,187,47,.14);
}
.mev-map__panel::after {
  content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; border-radius: inherit;
  background: radial-gradient(130% 110% at 50% 45%, transparent 62%, rgba(20,30,36,.5) 100%);
}
.mev-map__stage {
  position: absolute; left: 0; top: 0; width: 100%; aspect-ratio: 360 / 163.322;
  transform-origin: 0 0; z-index: 1;
}
.mev-map.is-ready .mev-map__stage { transition: transform .9s var(--ease), --mev-s .9s var(--ease); }
.mev-map.is-instant .mev-map__stage { transition: none; }
.mev-map__svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; overflow: visible; }

.mev-map__dots { fill: none; stroke: currentColor; stroke-linecap: round; transition: opacity .7s var(--ease), visibility 0s linear .7s; }
.mev-map__dots--world { color: rgba(234,222,203,.38); }
.mev-map__dots--europe,
.mev-map__dots--asia-africa { color: rgba(234,222,203,.38); opacity: 0; visibility: hidden; }
/* Con zoom a Europa o a Asia y África la rejilla gruesa se sustituye por una más fina,
   para que la textura se vea igual de densa a cualquier escala. */
.mev-map[data-view="europe"] .mev-map__dots--europe,
.mev-map[data-view="asia-africa"] .mev-map__dots--asia-africa { opacity: 1; visibility: visible; transition: opacity .7s var(--ease) .15s, visibility 0s; }
.mev-map[data-view="europe"] .mev-map__dots--world,
.mev-map[data-view="asia-africa"] .mev-map__dots--world { opacity: 0; visibility: hidden; }

/* Rutas desde Ecuador */
.mev-map__arc {
  fill: none; stroke: var(--gold); stroke-linecap: round;
  stroke-dasharray: 1; stroke-dashoffset: 1; opacity: 0;
  transition: stroke-dashoffset .8s var(--ease), opacity .4s var(--ease);
}
.mev-map__arc.is-soft { stroke-dashoffset: 0; opacity: .22; }
.mev-map__arc.is-on { stroke-dashoffset: 0; opacity: .95; }

/* Pins y Ecuador. Van en HTML encima del SVG y se escalan al revés que el mapa, así
   el zoom los mueve pero no los agranda. */
.mev-map__pins { position: absolute; inset: 0; }
.mev-map__pin,
.mev-map__home {
  position: absolute; transform: translate(-50%, -50%) scale(calc(1 / var(--mev-s)));
}
.mev-map__pin {
  width: 26px; height: 26px; margin: 0; padding: 0; border: 0; border-radius: 50%;
  background: transparent; cursor: pointer; z-index: 2;
  transition: opacity .45s var(--ease);
}
.mev-map.is-ready .mev-map__pin { pointer-events: none; } /* el JS elige el pin más cercano al puntero */
.mev-map__pin-dot {
  position: absolute; left: 50%; top: 50%; width: 10px; height: 10px; margin: -5px 0 0 -5px;
  border-radius: 50%; background: var(--gold);
  box-shadow: 0 0 0 2px rgba(34,50,58,.95), 0 0 12px 2px rgba(239,187,47,.35);
  transition: transform .3s var(--ease), background-color .3s var(--ease);
}
.mev-map__pin-dot::after {
  content: ""; position: absolute; inset: -8px; border-radius: 50%;
  border: 1px solid rgba(239,187,47,.75); opacity: 0; transform: scale(.4);
  transition: opacity .3s var(--ease), transform .3s var(--ease);
}
.mev-map__pin.is-active { z-index: 3; }
.mev-map__pin.is-active .mev-map__pin-dot { transform: scale(1.35); background: #FFD35C; }
.mev-map__pin.is-active .mev-map__pin-dot::after { opacity: 1; transform: scale(1); }
.mev-map__pin:focus { outline: none; }
.mev-map__pin:focus-visible .mev-map__pin-dot { outline: 2px solid #fff; outline-offset: 5px; }
.mev-map__pin.is-dim { opacity: .22; }

.mev-map__home { z-index: 2; pointer-events: none; }
.mev-map__home-dot {
  display: block; width: 11px; height: 11px; border-radius: 50%;
  background: var(--cream); box-shadow: 0 0 0 3px rgba(251,248,242,.18);
}
.mev-map__home-dot::before {
  content: ""; position: absolute; left: 50%; top: 50%; width: 11px; height: 11px; margin: -5.5px 0 0 -5.5px;
  border-radius: 50%; border: 1px solid rgba(251,248,242,.7); animation: mev-map-pulse 2.8s var(--ease) infinite;
}
@keyframes mev-map-pulse { from { transform: scale(1); opacity: .9; } to { transform: scale(3.6); opacity: 0; } }
.mev-map__home-label {
  position: absolute; right: calc(100% + 10px); top: 50%; transform: translateY(-50%);
  font: 600 .66rem/1.25 "Montserrat", sans-serif; letter-spacing: .18em; text-transform: uppercase;
  color: var(--cream); white-space: nowrap; text-align: right;
}
.mev-map__home-label small { display: block; font-size: .58rem; font-weight: 500; letter-spacing: .14em; color: var(--gold); }

/* Leyenda */
.mev-map__legend {
  position: absolute; left: 2.5%; bottom: 1.6%; z-index: 4; margin: 0;
  display: flex; flex-wrap: wrap; gap: .35rem 1.4rem; align-items: center;
  font: 500 .7rem/1.4 "Montserrat", sans-serif; letter-spacing: .12em; text-transform: uppercase;
  color: rgba(234,222,203,.72); pointer-events: none;
}
.mev-map__key { display: inline-flex; align-items: center; gap: .55rem; }
.mev-map__key::before { content: ""; width: 8px; height: 8px; border-radius: 50%; }
.mev-map__key--home::before { background: var(--cream); box-shadow: 0 0 0 3px rgba(251,248,242,.18); }
.mev-map__key--dest::before { background: var(--gold); box-shadow: 0 0 8px 1px rgba(239,187,47,.4); }

/* Tarjeta del destino. En escritorio flota junto al pin; en móvil va debajo del mapa. */
.mev-map__card {
  position: absolute; left: 0; top: 0; z-index: 20; width: 272px;
  background: var(--cream); color: var(--slate-ink); border-radius: 14px;
  box-shadow: 0 26px 50px -20px rgba(12,18,23,.55), 0 2px 8px rgba(12,18,23,.12);
  pointer-events: none; opacity: 0; transform: translateY(6px);
  transition: opacity .25s var(--ease), transform .25s var(--ease);
}
.mev-map__card.is-shown { opacity: 1; transform: none; }
.mev-map__card::after {
  content: ""; position: absolute; left: var(--mev-ax, 50%); bottom: -6px; width: 12px; height: 12px;
  margin-left: -6px; background: var(--cream); transform: rotate(45deg); border-radius: 0 0 2px 0;
}
.mev-map__card.is-below::after { bottom: auto; top: -6px; border-radius: 2px 0 0 0; }
.mev-map__card-photo { margin: 0; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 14px 14px 0 0; background: var(--arena); }
.mev-map__card-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mev-map__card-body { position: relative; z-index: 1; padding: .9rem 1.15rem 1.05rem; }
.mev-map__card-region {
  margin: 0 0 .3rem; font: 600 .64rem/1.2 "Montserrat", sans-serif; letter-spacing: .2em;
  text-transform: uppercase; color: var(--gold-deep);
}
.mev-map__card-name { margin: 0; font-family: "Bon Vivant", serif; font-size: 1.55rem; line-height: 1.1; color: var(--slate-ink); }
.mev-map__card-cap { margin: .45rem 0 0; font-size: .78rem; line-height: 1.4; color: #5f6d74; }
.mev-map__card-cap:empty { display: none; }

.mev-map__hint {
  margin: 1rem 0 0; text-align: center; font: 500 .74rem/1.4 "Montserrat", sans-serif;
  letter-spacing: .12em; text-transform: uppercase; color: rgba(58,83,95,.7);
}
.mev-map__hint-touch { display: none; }
@media (hover: none), (pointer: coarse) {
  .mev-map__hint-mouse { display: none; }
  .mev-map__hint-touch { display: inline; }
}

/* Lista de países por región: solo referencia. Reunión 21-sep-2026: no debe parecer
   clicable, así que es texto plano en columnas (sin pastillas, sin mano, sin hover ni
   amarillo). El JS solo atenúa las columnas de las regiones no filtradas. */
.mev-map__list {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.6rem, 3vw, 2.6rem);
  margin-top: clamp(1.8rem, 3.5vw, 2.8rem);
}
.mev-map__list--sr {
  position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
.mev-map__col { transition: opacity .4s var(--ease); }
.mev-map__col.is-dim { opacity: .55; }
.mev-map__col-title {
  font-family: "Bon Vivant", serif; font-weight: 400; font-size: clamp(1.1rem, 1rem + .4vw, 1.35rem);
  color: var(--slate-ink); margin: 0 0 1rem; padding-bottom: .7rem; border-bottom: 1px solid rgba(58,83,95,.22);
}
.mev-map__names { list-style: none; padding: 0; margin: 0; columns: 2; column-gap: 1.5rem; }
.mev-map__names li {
  font: 400 .92rem/1.95 "Montserrat", sans-serif; letter-spacing: .01em; color: var(--slate);
  break-inside: avoid; cursor: default;
}

/* Móvil: panel más alto, tarjeta en el flujo (debajo del mapa) y lista a una columna. */
@media (max-width: 900px) {
  .mev-map__list { grid-template-columns: 1fr; gap: 1.5rem; }
  .mev-map__names { columns: 3; }
}
@media (max-width: 480px) {
  .mev-map__names { columns: 2; }
}
@media (max-width: 640px) {
  .mev-map__filters { gap: .4rem; margin-bottom: 1.1rem; }
  .mev-map__pill { font-size: .78rem; padding: .6rem .85rem; }
  .mev-map__panel { aspect-ratio: 1.42; padding: 7% 3% 13%; border-radius: 14px; }
  /* A esta escala la rejilla fina se vuelve bruma: puntos más gruesos y más claros. */
  .mev-map__dots--europe, .mev-map__dots--asia-africa { stroke-width: .62px; color: rgba(234,222,203,.5); }
  .mev-map__legend { left: 4%; bottom: 3.5%; font-size: .6rem; letter-spacing: .1em; gap: .3rem 1rem; }
  .mev-map__home-label { font-size: .56rem; right: calc(100% + 7px); }
  .mev-map__home-label small { font-size: .5rem; }
  .mev-map__pin-dot { width: 8px; height: 8px; margin: -4px 0 0 -4px; box-shadow: 0 0 0 1.5px rgba(34,50,58,.95), 0 0 8px 1px rgba(239,187,47,.35); }
  .mev-map__pin-dot::after { inset: -6px; }
  /* Mundo entero en 360 px: los pins de Europa se tocan, así que van más pequeños. */
  .mev-map[data-view="all"] .mev-map__pin-dot { width: 6px; height: 6px; margin: -3px 0 0 -3px; box-shadow: 0 0 0 1px rgba(34,50,58,.95), 0 0 6px 1px rgba(239,187,47,.3); }

  .mev-map__card {
    position: relative; left: auto !important; top: auto !important; width: auto; margin-top: .9rem;
    display: grid; grid-template-columns: 118px 1fr; align-items: center; min-height: 88px;
    transform: none; pointer-events: auto; box-shadow: 0 14px 30px -16px rgba(12,18,23,.4);
  }
  .mev-map__card::after { display: none; }
  .mev-map__card:not(.has-photo) { grid-template-columns: 1fr; }
  .mev-map__card-photo { aspect-ratio: auto; height: 100%; min-height: 88px; border-radius: 14px 0 0 14px; }
  .mev-map__card-body { padding: .75rem 1rem; }
  .mev-map__card-name { font-size: 1.3rem; }
  .mev-map__card-cap { margin-top: .25rem; font-size: .72rem; }
  .mev-map__card:not([hidden]) ~ .mev-map__hint { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .mev-map.is-ready .mev-map__stage,
  .mev-map__dots, .mev-map__arc, .mev-map__pin, .mev-map__pin-dot, .mev-map__pin-dot::after,
  .mev-map__card, .mev-map__col, .mev-map__pill { transition: none !important; }
  .mev-map__home-dot::before { animation: none; }
}

/* ---- Certificaciones en una fila ---- */
/* ==========================================================================
   MY EVENTS - Banda de reconocimientos y membresias (UNA fila, sin movimiento)
   Reunion: las certificaciones van en una sola fila y con logos reales para
   distinguirse del carrusel tipografico de clientes (.lmq / .pmk).
   Va dentro de <section class="section band--slate band--topo-dark">.
   Los PNG ya son blancos con fondo transparente: NO aplicar filter/invert.
   ========================================================================== */
.mev-certs { --cert-h: 52px; text-align: center; }  /* max 64px CSS: los PNG son 2x */
.mev-certs .eyebrow { margin-bottom: 0; }
.mev-certs .hairline { margin-top: 1rem; }

.mev-certs__row {
  list-style: none; margin: 2.4rem auto 0; padding: 0;
  display: flex; flex-wrap: nowrap; align-items: center; justify-content: center;
  gap: clamp(1.6rem, 3.6vw, 3.6rem);
}
.mev-certs__item { flex: 0 0 auto; display: flex; align-items: center; margin: 0; }

.mev-certs__item img {
  display: block; width: auto; height: var(--cert-h); max-width: none;
  opacity: .88; transition: opacity .3s var(--ease, ease);
}
.mev-certs__item:hover img { opacity: 1; }

/* Compensacion optica: todos los PNG miden 128px de alto (2x de 64px, por eso ningun alto final pasa de 64px), pero el sello Q es
   estrecho con texto chico y SITE es muy ancho. Ajuste leve, no de marca. */
.mev-certs__item--q img    { height: calc(var(--cert-h) * 1.22); }
.mev-certs__item--site img { height: calc(var(--cert-h) * .82); }

/* Tablet: la fila se mantiene, se reduce el alto */
@media (max-width: 1024px) {
  .mev-certs { --cert-h: 46px; }
}

/* Movil: no caben en una fila legible; se reparten en filas centradas,
   siguen estaticas (nunca carrusel) para no confundirse con los clientes. */
@media (max-width: 680px) {
  .mev-certs { --cert-h: 38px; }
  .mev-certs__row { flex-wrap: wrap; row-gap: 1.6rem; column-gap: 2rem; max-width: 26rem; }
}

/* ---- Campo de adjunto del brief ---- */
/* --- MY EVENTS: adjunto del brief (.pln-file) --------------------------------
   Zona para soltar o elegir UN archivo dentro de .wed-form__box. El <input type=file>
   real queda encima de todo en el orden de tabulación pero invisible: el foco de
   teclado se pinta en la zona (:focus-within). Si hay archivo, la zona se cambia por
   la ficha con nombre, peso y "Remove". Markup en campo.html; JS en app.js (.pln-file). */
.pln-file { display:flex; flex-direction:column; gap:.6rem; margin-top:1.7rem; }
/* La etiqueta hereda la tipografía de la caja, igual que el <span> de "Tell us more".
   Si algún día se estiliza ".pln-f > span", hay que añadir ".pln-file__lb" a esa regla. */
.pln-file__lb { display:block; }

/* Zona */
.pln-file__drop {
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:.4rem; text-align:center; cursor:pointer;
  padding:1.7rem 1.2rem 1.55rem;
  border:1px dashed rgba(58,83,95,.34); border-radius:3px;
  background:rgba(234,222,203,.32);
  transition:border-color .25s var(--ease), background-color .25s var(--ease), box-shadow .25s var(--ease);
}
.pln-file__drop:hover,
.pln-file.is-over .pln-file__drop { border-color:var(--gold-deep); background:rgba(239,187,47,.09); }
.pln-file.is-over .pln-file__drop { border-style:solid; box-shadow:inset 0 0 0 1px var(--gold-deep); }
.pln-file__drop:focus-within { border-color:var(--gold-deep); border-style:solid; box-shadow:0 0 0 3px rgba(239,187,47,.32); }

/* El input real: accesible por teclado y lector de pantalla, fuera de la vista.
   Especificidad por encima de ".wed-form__box input" (que le da width:100% y borde). */
.pln-file input.pln-file__input {
  position:absolute; width:1px; height:1px; padding:0; margin:0; border:0;
  overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; opacity:0;
}
.pln-file__ico { width:26px; height:26px; color:var(--gold-deep); margin-bottom:.15rem; transition:transform .3s var(--ease); }
.pln-file__drop:hover .pln-file__ico,
.pln-file.is-over .pln-file__ico { transform:translateY(-3px); }
.pln-file__cta { font-family:"Montserrat",sans-serif; font-size:.93rem; line-height:1.5; color:var(--slate-ink); }
.pln-file__browse {
  font-weight:600; color:var(--slate-ink);
  text-decoration:underline; text-decoration-color:var(--gold); text-decoration-thickness:1px; text-underline-offset:4px;
}
.pln-file__hint { font-family:"Montserrat",sans-serif; font-size:.74rem; line-height:1.5; color:#7b858c; letter-spacing:.02em; }

/* Ficha del archivo elegido */
.pln-file__chosen {
  display:flex; align-items:center; gap:.9rem;
  padding:.85rem .9rem .85rem 1rem;
  background:#fff; border:1px solid rgba(58,83,95,.16); border-left:3px solid var(--gold); border-radius:3px;
}
.pln-file__doc { flex:none; width:22px; height:22px; color:var(--gold-deep); }
.pln-file__meta { flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:.1rem; }
.pln-file__name {
  font-family:"Montserrat",sans-serif; font-size:.92rem; font-weight:500; color:var(--slate-ink);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.pln-file__size { font-family:"Montserrat",sans-serif; font-size:.72rem; color:#7b858c; letter-spacing:.03em; }
.pln-file__remove {
  flex:none; cursor:pointer;
  font-family:"Montserrat",sans-serif; font-size:.64rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--slate-ink); background:transparent;
  border:1px solid rgba(58,83,95,.3); border-radius:2px; padding:.55rem .85rem;
  transition:background-color .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease);
}
.pln-file__remove:hover { background:var(--slate-ink); border-color:var(--slate-ink); color:#fff; }

/* Error: mismo tono que el aviso del formulario dentro de la caja */
.pln-file__err {
  margin:0; font-family:"Montserrat",sans-serif; font-size:.85rem; line-height:1.5;
  color:#b3563f; background:rgba(179,86,63,.09); border-left:2px solid #b3563f; padding:.55rem .8rem;
}

@media (max-width:680px){
  .pln-file__drop { padding:1.4rem 1rem 1.3rem; }
  .pln-file__chosen { gap:.7rem; padding:.75rem .7rem .75rem .85rem; }
}
@media (prefers-reduced-motion:reduce){
  .pln-file__ico { transition:none; }
}

/* ==========================================================================
   Correcciones de la revisión adversarial (14-sep-2026)
   ========================================================================== */

/* GLOBAL — en móvil, al bajar, el logo de la cabecera fija se iba arriba a la izquierda y
   salía cortado en los tres sitios: .site-header.is-stuck .site-header__logo (0,3,0) ganaba
   al reset móvil .site-header__logo (0,1,0) y le devolvía el translate(-50%,-50%). */
@media (max-width: 900px) {
  .site-header.is-stuck .site-header__logo { top: auto; transform: none; }
}
/* GLOBAL — el ajuste óptico de -6px de la columna Explore del pie es de escritorio. */
@media (max-width: 980px) {
  .site-footer__nav > :first-child { margin-left: 0; }
}

/* MY EVENTS — testimonios en móvil y tablet: .reviews-band es flex en columna y su .wrap,
   con margin auto, no se estiraba; crecía al ancho del contenido (1023 px), así que las
   cartas no se podían deslizar, la tercera no se alcanzaba y el antetítulo salía fuera. */
.mev-revs-sec > .wrap { width: 100%; min-width: 0; }

/* MY EVENTS — cabecera en móvil: logo a la izquierda, el botón de propuesta visible y en
   pequeño (el tema lo oculta porque tiene menú hamburguesa; esta landing no lo tiene). */
@media (max-width: 820px) {
  .site-header--landing .site-header__logo { margin: 0; }
  .site-header--landing .site-header__social { display: none; }
  .site-header--landing .site-header__cta { display: inline-flex; padding: .55rem .85rem; font-size: .72rem; white-space: nowrap; }
  /* En teléfonos bajos el logo quedaba encima del H1: el hero reserva el alto de la cabecera. */
  .mev-hero .hero__inner { padding-top: calc(100px + 1.2rem); }
}

/* MY EVENTS — botón de pausa del video, discreto en la esquina inferior derecha. */
.mev-hero__play { position: absolute; right: clamp(1rem, 3vw, 2.4rem); bottom: clamp(1rem, 3vw, 2.2rem); z-index: 4; width: 46px; height: 46px; }
.mev-hero__play::before { width: 11px; height: 13px; border-left-width: 3px; border-right-width: 3px; }
.mev-hero__play.is-paused::before { width: 0; height: 0; border-style: solid; border-width: 7px 0 7px 12px; border-color: transparent transparent transparent var(--gold); margin-left: 3px; }

/* MY EVENTS — formulario. */
/* El nombre de un archivo largo empujaba la ficha 380 px fuera de la pantalla: sin
   min-width:0 la elipsis de .pln-file__name nunca se activaba. */
.mev-form .field, .mev-form .pln-file, .mev-form .pln-file__chosen { min-width: 0; }
/* La etiqueta del adjunto va como las demás, y la zona de soltar no hereda el estilo de
   etiqueta (es un <label> y salía en mayúsculas espaciadas). */
.mev-form .pln-file__lb { font-family: "Montserrat", sans-serif; font-size: .66rem; font-weight: 600; letter-spacing: .17em; text-transform: uppercase; color: #8b959b; margin-bottom: .45rem; }
.mev-form .field label.pln-file__drop { text-transform: none; letter-spacing: normal; font-size: .9rem; font-weight: 400; color: var(--slate); }
.mev-form .field:focus-within .pln-file__lb { color: var(--gold-deep); }
/* Consentimiento centrado como el botón que lleva debajo. */
.mev-form .pln-consent { text-align: center; }

/* MY EVENTS — servicios en tablet: con 9 tarjetas a dos columnas la última quedaba sola. */
@media (min-width: 681px) and (max-width: 980px) {
  #services .wed-serv__grid .wed-card:last-child:nth-child(odd) { grid-column: 1 / -1; justify-self: center; width: calc(50% - .75rem); }
}


/* ==== MY EVENTS · rediseño "Marca gráfica" (14-sep-2026): la brújula del isotipo como sistema.
   Todo bajo body.mev-page, que solo existe en la portada de MY EVENTS. ==== */
/* ==========================================================================
   MY EVENTS — "Marca gráfica"
   La brújula del isotipo como sistema: aro que gira, puntos cardinales que guían,
   la flecha horizontal del logo como filete, líneas topográficas doradas,
   botánicos con oro en las esquinas y el lema como sello.
   Todo con prefijo .mev-; se apoya en app.css (wed-*, band--*, hero--*).
   ========================================================================== */
.mev-page {
  --gold-soft: #DEC398;
  --mev-ink: #1F2E36;
  --mev-line: rgba(222,195,152,.24);
  --mev-iso-mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjI4IDI4IDE0Mi41IDE0Mi41Ij48cGF0aCBkPSJNOTUuNCwzNS45M2MuNDksMS4wNS45OCwyLjEsMS40OCwzLjE1LjQzLjkzLjg3LDEuODYsMS4zLDIuNzguMi40My41Ni42NiwxLjAzLjY2LjQ4LDAsLjgzLS4yMywxLjAzLS42Ni45My0xLjk4LDEuODUtMy45NiwyLjc4LTUuOTMuMDMtLjA3LjAzLS4xMy4wNC0uMi0xLjI4LS4wOC0yLjU2LS4xMy0zLjg2LS4xM3MtMi41OC4wNS0zLjg2LjEzYy4wMi4wNy4wMi4xMy4wNS4yWiIvPjxwYXRoIGQ9Ik0xNjIuNyw5NS4zNmMtLjA3LjAxLS4xMy4wMS0uMi4wNC0xLjk4LjkzLTMuOTYsMS44NS01LjkzLDIuNzgtLjQzLjItLjY2LjU2LS42NiwxLjAzLDAsLjQ3LjIzLjgzLjY2LDEuMDMuOTMuNDQsMS44NS44NywyLjc4LDEuMywxLjA1LjQ5LDIuMS45OCwzLjE1LDEuNDguMDcuMDMuMTMuMDMuMi4wNS4wOC0xLjI4LjEzLTIuNTYuMTMtMy44NnMtLjA1LTIuNTgtLjEzLTMuODZaIi8+PHBhdGggZD0iTTEwMy4wMywxNjIuNWMtLjkzLTEuOTgtMS44NS0zLjk2LTIuNzgtNS45My0uMi0uNDMtLjU2LS42Ni0xLjAzLS42Ni0uNDcsMC0uODMuMjMtMS4wMy42Ni0uNDQuOTMtLjg3LDEuODUtMS4zLDIuNzgtLjQ5LDEuMDUtLjk4LDIuMS0xLjQ4LDMuMTUtLjAzLjA3LS4wMy4xMy0uMDUuMiwxLjI4LjA4LDIuNTYuMTMsMy44Ni4xM3MyLjU4LS4wNSwzLjg2LS4xM2MtLjAxLS4wNy0uMDEtLjEzLS4wNC0uMloiLz48cGF0aCBkPSJNMzkuMDgsMTAxLjU1Yy45My0uNDMsMS44Ni0uODcsMi43OC0xLjMuNDMtLjIuNjYtLjU2LjY2LTEuMDMsMC0uNDgtLjIzLS44My0uNjYtMS4wMy0xLjk4LS45My0zLjk2LTEuODUtNS45My0yLjc4LS4wNy0uMDMtLjEzLS4wMy0uMi0uMDQtLjA4LDEuMjgtLjEzLDIuNTYtLjEzLDMuODZzLjA1LDIuNTguMTMsMy44NmMuMDctLjAxLjEzLS4wMi4yLS4wNSwxLjA1LS40OSwyLjEtLjk4LDMuMTUtMS40OFoiLz48cGF0aCBkPSJNOTkuMjEsMTYzLjdjLTM1LjU2LDAtNjQuNDktMjguOTMtNjQuNDktNjQuNDlTNjMuNjUsMzQuNzIsOTkuMjEsMzQuNzJzNjQuNDksMjguOTMsNjQuNDksNjQuNDktMjguOTMsNjQuNDktNjQuNDksNjQuNDlaTTk5LjIxLDM1LjZjLTM1LjA3LDAtNjMuNjEsMjguNTQtNjMuNjEsNjMuNjFzMjguNTQsNjMuNjEsNjMuNjEsNjMuNjEsNjMuNjEtMjguNTQsNjMuNjEtNjMuNjEtMjguNTQtNjMuNjEtNjMuNjEtNjMuNjFaIi8+PHBhdGggZD0iTTk5LjIxLDE3MC4wOGMtMzkuMDgsMC03MC44Ny0zMS43OS03MC44Ny03MC44N1M2MC4xNCwyOC4zNSw5OS4yMSwyOC4zNXM3MC44NywzMS43OSw3MC44Nyw3MC44Ny0zMS43OSw3MC44Ny03MC44Nyw3MC44N1pNOTkuMjEsMjkuNzZjLTM4LjMsMC02OS40NSwzMS4xNi02OS40NSw2OS40NXMzMS4xNiw2OS40NSw2OS40NSw2OS40NSw2OS40NS0zMS4xNiw2OS40NS02OS40NVMxMzcuNTEsMjkuNzYsOTkuMjEsMjkuNzZaIi8+PHBhdGggZD0iTTY1Ljg0LDEyOS43MWwxNy4zMy00Ny4xNi0xLjE2LTMuODRjLS4wOS0uMjctLjE3LS41NC0uMjYtLjgxbC0xLjQxLDQuMTQtMTcuNTQsNDcuNzFjLS45Mi42NS0yLjA0LDEuMDYtMy4yOCwxLjE5di44OGg4Ljg4di0uODhjLTEuMzYtLjEzLTIuMTgtLjU0LTIuNTYtMS4yM1oiLz48cGF0aCBkPSJNMTM1LjYyLDEyOS43NWwtMTcuNTQtNDcuNzEtMS40MS00LjE0Yy0uMDkuMjctLjE3LjU0LS4yNi44bC0xLjE2LDMuODQsMTcuMzMsNDcuMTZjLS4zOC42OS0xLjIsMS4xLTIuNTYsMS4yM3YuODhoOC44OHYtLjg4Yy0xLjI0LS4xMi0yLjM1LS41NC0zLjI4LTEuMTlaIi8+PHBhdGggZD0iTTk5LjIxLDEyNy4zMmgwYy40Ny0xLjYuOTQtMy4xOSwxLjQxLTQuNzh2LTU1LjkzaC0yLjgzdjU1LjkzYy40NywxLjU5Ljk1LDMuMTksMS40Miw0Ljc4WiIvPjxwYXRoIGQ9Ik0xMTguNjUsNTcuMzJjLTEuNTcuNzktMy4xOSwxLjQ2LTQuODgsMS45NS0yLjUyLjczLTUuMDksMS03LjcxLjc1LTIuMDItLjE5LTMuOTgtLjY5LTUuOTEtMS4yOS0xLjk5LS42Mi0zLjk2LTEuMzItNi0xLjc1LTIuOTgtLjYyLTUuOC0uMjUtOC40NywxLjI1LTEuNjguOTQtMy4xNiwyLjE1LTQuNTIsMy41LS42MS42LTEuMjEsMS4yMi0xLjc4LDEuODkuMTUuMDEuMjItLjA3LjMtLjEyLjg4LS41MiwxLjc4LTEsMi43MS0xLjQyLDIuNDktMS4xMyw1LjA4LTEuOCw3LjgzLTEuNzgsMi4yMy4wMiw0LjM4LjUxLDYuNSwxLjE3LDIuMDIuNjMsNC4wMSwxLjM4LDYuMDcsMS44NywyLjk2LjcxLDUuODYuNTgsOC42Ny0uNjQsMi4wNS0uODksMy44NS0yLjE2LDUuNTQtMy42LjcyLS42MiwxLjQyLTEuMjYsMi4wNi0xLjk4LS4xNC4wNy0uMjcuMTMtLjQxLjJaIi8+PHBhdGggZD0iTTEyNC4xNCw5OC41MWwuNTEsMS4zOGM0Ljc1LDAsOS41LjAxLDE0LjI1LjAzdi0xLjM4Yy00LjkyLS4wMi05Ljg0LS4wMy0xNC43Ni0uMDNaIi8+PHBhdGggZD0iTTczLjc3LDk5LjkxbC41MS0xLjM4Yy00Ljk5LS4wMy05Ljg0LS4wMy0xNC43NSwwdjEuMzljNC43NS0uMDQsOS40NC0uMDQsMTQuMjQtLjAxWiIvPjxwb2x5Z29uIHBvaW50cz0iMTA3Ljc2IDk4LjUgMTAwLjYzIDk4LjUgMTAwLjYzIDk5LjkyIDEwNy4zNCA5OS45MiAxMDcuNzYgOTguNSIvPjxwb2x5Z29uIHBvaW50cz0iOTEuMDggOTkuOTIgOTcuOCA5OS45MiA5Ny44IDk4LjUgOTAuNjYgOTguNSA5MS4wOCA5OS45MiIvPjxwYXRoIGQ9Ik0xNDEuNzMsOTkuMjFjMCwuNzMsMCwxLjQ2LDAsMi4yLDAsLjI1LjExLjQ1LjMzLjU3LjE4LjA5LjM2LjA5LjU1LDAsLjc2LS4zNiwxLjUzLS43MiwyLjI5LTEuMDcuNjctLjMyLDEuMzUtLjYzLDIuMDItLjk1LjMxLS4xNS40OC0uNC40OC0uNzUsMC0uMzUtLjE2LS42LS40OC0uNzUtMS40NC0uNjgtMi44OC0xLjM1LTQuMzItMi4wMi0uMzctLjE3LS43OS4wMy0uODcuNDQtLjAxLjA1LS4wMS4xLS4wMS4xNiwwLC43MywwLDEuNDUsMCwyLjE4WiIvPjxwYXRoIGQ9Ik01Ni42OSw5OS4yMWMwLC43MywwLDEuNDYsMCwyLjIsMCwuMjUtLjExLjQ1LS4zMy41Ny0uMTguMDktLjM2LjA5LS41NSwwLS43Ni0uMzYtMS41My0uNzItMi4yOS0xLjA3LS42Ny0uMzItMS4zNS0uNjMtMi4wMi0uOTUtLjMxLS4xNS0uNDgtLjQtLjQ4LS43NSwwLS4zNS4xNi0uNi40OC0uNzUsMS40NC0uNjgsMi44OC0xLjM1LDQuMzItMi4wMi4zNy0uMTcuNzkuMDMuODcuNDQuMDEuMDUuMDEuMS4wMS4xNiwwLC43MywwLDEuNDUsMCwyLjE4WiIvPjxwYXRoIGQ9Ik0xMTkuNzIsNzEuMjRjLS4zNC0uNjMtMi4yNC0uNDctMy41LjQ4LS4zNi4yNy0uNjMuNjgtLjg1LDEuMzJsLTEuMzIsNC4yOS0xMy4zOCw0NS4wOWMtLjQ4LDEuNjMtLjk3LDMuMjYtMS40NSw0Ljg5aDBjLS40OS0xLjYzLS45Ny0zLjI2LTEuNDYtNC45bC0xMy4zOC00NS4wOS0xLjMyLTQuMjljLS4yMS0uNjQtLjQ5LTEuMDUtLjg1LTEuMzItMS4yNi0uOTQtMy4xNi0xLjEtMy41LS40OC0uMjQuNDMuNDIuOTksMS4zLDIuNDkuODEsMS4zOCwxLjI3LDIuNjMsMS41MywzLjUxLjE2LjQ5LjMxLjk3LjQ3LDEuNDZsMTUuNzQsNTIuMTN2NC4xNGMwLDMuMDQtMS4xNiw1LjQxLTMuODgsNS42NHYxLjEzaDEwLjY3di0xLjEzYy0yLjcyLS4zNC0zLjg4LTIuNTktMy44OC01LjY0di00LjEzbDE1Ljc0LTUyLjEzYy4xNi0uNDkuMzEtLjk3LjQ3LTEuNDYuMjctLjg4LjczLTIuMTMsMS41My0zLjUxLjg4LTEuNSwxLjU0LTIuMDYsMS4zLTIuNDlaIi8+PC9zdmc+");
  --mev-rule-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 12'%3E%3Cpath d='M13 6h95M132 6h95' stroke='%23000' stroke-width='1.3'/%3E%3Cpath d='M0 6l10-4.6v9.2zM240 6l-10-4.6v9.2z'/%3E%3Cpath d='M120 .8l5.2 5.2-5.2 5.2-5.2-5.2z' fill='none' stroke='%23000' stroke-width='1.3'/%3E%3Ccircle cx='120' cy='6' r='1.7'/%3E%3C/svg%3E");
}
.mev-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.mev-ico { fill: currentColor; display: block; }
@keyframes mevSpin { to { transform: rotate(360deg); } }

/* --- Sistema: antetítulo con el isotipo y filete-flecha del logo ------------- */
.mev-page .eyebrow { display: flex; align-items: center; gap: .7em; }
.mev-page .center .eyebrow, .mev-page .center.eyebrow { justify-content: center; }
.mev-page .eyebrow::before {
  content: ""; flex: none; width: 1.9em; height: 1.9em; background: currentColor;
  -webkit-mask: var(--mev-iso-mask) center / contain no-repeat; mask: var(--mev-iso-mask) center / contain no-repeat;
}
.mev-page .hairline {
  width: 190px; height: 12px; border: 0; background: var(--gold-deep);
  -webkit-mask: var(--mev-rule-mask) center / contain no-repeat; mask: var(--mev-rule-mask) center / contain no-repeat;
  margin-block: 1.15rem 1.5rem;
}
.mev-page .band--slate .hairline, .mev-page .wed-serv .hairline, .mev-page .band--topo-dark .hairline { background: var(--gold); }
.mev-page .section__title em { font-style: normal; color: var(--gold-deep); }

/* Texturas y botánicos (capa de fondo de cada banda) */
.mev-tex { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; z-index: 0; }
.mev-tex--light { opacity: .16; -webkit-mask-image: radial-gradient(ellipse 70% 65% at 50% 50%, transparent 35%, #000 100%); mask-image: radial-gradient(ellipse 70% 65% at 50% 50%, transparent 35%, #000 100%); }
.mev-reelsec .mev-tex--light { opacity: .22; }
.mev-tex--dark { opacity: .05; mix-blend-mode: screen; }
.mev-serv .mev-tex--dark { opacity: .035; }
.mev-leaf { position: absolute; pointer-events: none; z-index: 0; height: auto; user-select: none; }

/* ==========================================================================
   1) PORTADA
   ========================================================================== */
.mev-hero { overflow: hidden; }
.mev-hero__compass {
  position: absolute; z-index: 1; pointer-events: none;
  width: min(92vh, 900px); aspect-ratio: 1; right: -8vw; top: 44%;
  transform: translateY(-50%); color: var(--gold);
}
.mev-hero__compass svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.mev-hero__ring { opacity: .5; animation: mevSpin 160s linear infinite; }
.mev-hero__mono { opacity: .13; }
.mev-rail {
  position: absolute; z-index: 2; left: clamp(.7rem,1.3vw,1.4rem); top: 50%;
  transform: translateY(-50%) rotate(180deg); writing-mode: vertical-rl; margin: 0;
  display: flex; align-items: center; gap: 1.1rem;
  font: 600 .62rem/1 "Montserrat", sans-serif; letter-spacing: .42em; text-transform: uppercase; color: rgba(255,255,255,.62); white-space: nowrap;
}
.mev-rail::before, .mev-rail::after { content: ""; width: 1px; height: 72px; background: linear-gradient(rgba(239,187,47,0), var(--gold)); }
.mev-rail::after { background: linear-gradient(var(--gold), rgba(239,187,47,0)); }
.mev-hero .hero__title { font-size: clamp(2.8rem, 1.1rem + 4.6vw, 5.6rem); max-width: 14ch; line-height: 1; }
.mev-hero .hero__desc { font-size: 1.1rem; line-height: 1.7; }
.mev-hero__title span { display: block; color: var(--gold-soft); }
.mev-hero__rule { position: relative; height: 1px; background: linear-gradient(90deg, var(--gold) 0, rgba(255,255,255,.5) 22%, rgba(255,255,255,.5) 78%, var(--gold) 100%); box-shadow: none; }
.mev-hero__rule::before, .mev-hero__rule::after {
  content: ""; position: absolute; top: 50%; width: 0; height: 0;
  border-top: 5px solid transparent; border-bottom: 5px solid transparent; transform: translateY(-50%);
}
.mev-hero__rule::before { left: -2px; border-right: 11px solid var(--gold); }
.mev-hero__rule::after { right: -2px; border-left: 11px solid var(--gold); }
.mev-scope {
  list-style: none; margin: 1.5rem 0 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center;
  gap: .5rem 1rem; font: 700 .86rem/1.3 "Montserrat", sans-serif; letter-spacing: .15em; text-transform: uppercase; color: var(--gold);
}
.mev-scope li { display: flex; align-items: center; gap: 1rem; }
.mev-scope li + li::before { content: ""; width: 6px; height: 6px; border: 1px solid currentColor; transform: rotate(45deg); opacity: .85; }

/* ==========================================================================
   2) LOS 4 BLOQUES
   ========================================================================== */
.mev-pillars .wed-pillars__panel {
  position: relative; background: linear-gradient(160deg, #33495399 0%, transparent 60%), var(--slate-ink);
  padding-top: clamp(3.6rem, 5.5vw, 4.6rem);
}
.mev-pillars__tex { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.mev-pillars__tex img { width: 100%; height: 100%; object-fit: cover; opacity: .06; }
.mev-medal {
  position: absolute; left: 50%; top: 0; transform: translate(-50%, -50%); z-index: 2;
  width: 96px; height: 96px; border-radius: 50%; padding: 12px;
  background: var(--slate-ink); color: var(--gold);
  box-shadow: 0 0 0 1px rgba(239,187,47,.5), 0 14px 30px rgba(0,0,0,.35);
}
.mev-medal svg { width: 100%; height: 100%; }
.mev-pillars .wed-pillars__grid { position: relative; }
.mev-bearing { width: 54px; height: 54px; margin: 0 0 1.05rem; color: var(--gold); overflow: visible; }
.mev-bearing .o { fill: none; stroke: currentColor; stroke-opacity: .55; stroke-width: 1.2; }
.mev-bearing .i { fill: none; stroke: currentColor; stroke-opacity: .3; stroke-width: .8; }
.mev-bearing .t { fill: rgba(255,255,255,.28); }
.mev-bearing .t.on { fill: var(--gold); }
.mev-bearing .needle { transform-origin: 28px 28px; transform: rotate(var(--r)); transition: transform 1.1s var(--ease); }
.mev-bearing .needle .up { fill: var(--gold); }
.mev-bearing .needle .dn { fill: rgba(255,255,255,.34); }
.mev-bearing .hub { fill: var(--slate-ink); stroke: var(--gold); stroke-width: 1.2; }
.wed-pillars__item:hover .mev-bearing .needle { transform: rotate(calc(var(--r) + 360deg)); }
.mev-pillars .wed-pillars__t { font-size: clamp(1.5rem, 1.15rem + .9vw, 2.1rem); }
.mev-pillars__tag { position: relative; display: flex; align-items: center; justify-content: center; gap: 1.4rem; letter-spacing: .01em; }
.mev-pillars__tag::before, .mev-pillars__tag::after {
  content: ""; flex: 0 1 180px; height: 12px; background: var(--gold); opacity: .75;
  -webkit-mask: var(--mev-rule-mask) center / 100% 100% no-repeat; mask: var(--mev-rule-mask) center / 100% 100% no-repeat;
}
.mev-pillars .wed-pillars__role { border-top-color: rgba(222,195,152,.18); font-size: clamp(1.2rem, 1rem + .7vw, 1.65rem); }

/* ==========================================================================
   3) QUIÉNES SOMOS
   ========================================================================== */
.mev-about { position: relative; overflow: hidden; background-image: none; padding-block: clamp(4.5rem, 9vw, 8rem) clamp(4rem, 8vw, 7rem); }
.mev-about > .wrap { position: relative; z-index: 1; }
.mev-about__wm { position: absolute; z-index: 0; right: -10vw; top: 50%; width: min(52vw, 760px); aspect-ratio: 1; transform: translateY(-50%); color: var(--slate); opacity: .045; }
.mev-leaf--about { width: clamp(200px, 22vw, 360px); left: -70px; bottom: -40px; transform: rotate(24deg); z-index: 1; }
.mev-about .wed-story__media::before { display: none; }
.mev-about .wed-story__img { position: relative; z-index: 1; }
.mev-about .wed-story__img2 { z-index: 2; }
.mev-offset {
  position: absolute; z-index: 0; top: 30px; left: -30px; right: calc(2.4rem + 30px); bottom: calc(3.4rem - 30px);
  border: 1px solid rgba(199,154,62,.7);
}
.mev-offset i, .mev-film__ticks i, .mev-letter__ticks i { position: absolute; width: 0; height: 0; border: 6px solid transparent; }
.mev-offset i.n { top: -1px; left: 50%; margin-left: -6px; border-top: 9px solid var(--gold-deep); border-bottom: 0; }
.mev-offset i.s { bottom: -1px; left: 50%; margin-left: -6px; border-bottom: 9px solid var(--gold-deep); border-top: 0; }
.mev-offset i.w { left: -1px; top: 50%; margin-top: -6px; border-left: 9px solid var(--gold-deep); border-right: 0; }
.mev-offset i.e { right: -1px; top: 50%; margin-top: -6px; border-right: 9px solid var(--gold-deep); border-left: 0; }
.mev-seal { position: absolute; z-index: 3; width: clamp(118px, 10.5vw, 150px); aspect-ratio: 1; top: -48px; right: calc(2.4rem - 58px); filter: drop-shadow(0 14px 24px rgba(28,40,47,.3)); }
.mev-seal svg { width: 100%; height: 100%; display: block; overflow: visible; }
.mev-seal__txt { transform-origin: 100px 100px; animation: mevSpin 38s linear infinite; }
.mev-seal text { font: 600 11.2px "Montserrat", sans-serif; letter-spacing: .2em; text-transform: uppercase; fill: var(--slate-ink); }
.mev-about .section__title { font-size: clamp(2.2rem, 1.5rem + 2.6vw, 3.6rem); line-height: 1.04; }
.mev-about .wed-story__text p + p { margin-top: 1.05rem; }
.mev-about .mev-statement {
  display: flex; align-items: center; gap: 1.2rem; margin: 2.1rem 0 0; padding: 1.5rem 0 0;
  border-top: 1px solid rgba(58,83,95,.16);
  font-family: "Bon Vivant", serif; font-size: clamp(1.35rem, 1.1rem + .85vw, 1.95rem); line-height: 1.28; color: var(--slate-ink);
}
.mev-statement .mev-ico { flex: none; width: 64px; height: 64px; color: var(--gold-deep); }

/* ==========================================================================
   4) SERVICIOS — carta náutica
   ========================================================================== */
.mev-serv { padding-block: clamp(4.5rem, 9vw, 7.5rem); }
.mev-serv__scrim { background: linear-gradient(180deg, rgba(31,46,54,.9) 0%, rgba(24,36,43,.94) 100%); }
.mev-serv .mev-tex { z-index: 0; }
.mev-serv__wm { position: absolute; z-index: 0; left: 50%; top: 50%; width: min(120vh, 1100px); aspect-ratio: 1; margin: calc(min(120vh, 1100px) / -2) 0 0 calc(min(120vh, 1100px) / -2); color: var(--gold); opacity: .06; animation: mevSpin 220s linear infinite; }
.mev-serv .section__title { font-size: clamp(2.4rem, 1.6rem + 2.8vw, 4rem); }
.mev-chart {
  position: relative; max-width: 1240px; margin: 0 auto;
  display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 1fr;
  border-top: 1px solid var(--mev-line); border-bottom: 1px solid var(--mev-line);
}
.mev-svc {
  position: relative; padding: clamp(1.8rem, 3vw, 2.8rem) clamp(1.4rem, 2.6vw, 2.6rem);
  border-right: 1px solid var(--mev-line); border-bottom: 1px solid var(--mev-line);
  transition: background-color .45s var(--ease);
}
.mev-svc:nth-child(3n) { border-right: 0; }
.mev-svc:nth-child(n+7) { border-bottom: 0; }
.mev-svc::before { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 2px; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform .6s var(--ease); }
.mev-svc:hover { background-color: rgba(239,187,47,.06); }
.mev-svc:hover::before { transform: scaleX(1); }
.mev-svc__icon { position: relative; display: grid; place-items: center; width: 74px; height: 74px; margin: 0 0 1.35rem; color: var(--gold); }
.mev-svc__icon .mev-ico { position: absolute; inset: 0; width: 100%; height: 100%; transition: transform 1.2s var(--ease); }
.mev-svc:hover .mev-svc__icon .mev-ico { transform: rotate(90deg); }
.mev-svc__icon > svg:last-child { position: relative; width: 28px; height: 28px; color: #fff; }
.mev-svc__t { font-family: "Bon Vivant", serif; font-weight: 400; color: #fff; font-size: clamp(1.35rem, 1.15rem + .5vw, 1.62rem); line-height: 1.16; margin: 0 0 .7rem; }
.mev-svc p { margin: 0; font-size: .92rem; line-height: 1.72; color: rgba(255,255,255,.7); }
.mev-chart__x { position: absolute; z-index: 2; width: 15px; height: 15px; color: var(--gold); left: calc(var(--x) * 100% / 3); top: calc(var(--y) * 100% / 3); transform: translate(-50%, -50%); }
.mev-serv .wed-serv__brochure { margin-top: clamp(2.6rem, 5vw, 3.6rem); }
.mev-serv .btn--ghost { border-color: rgba(239,187,47,.7); }

/* ==========================================================================
   5) GALERÍA + VIDEO (pieza de portafolio, nunca más ancho que su 848 px nativo)
   ========================================================================== */
.mev-reelsec { position: relative; overflow: hidden; padding-block: clamp(4.5rem, 9vw, 7.5rem); }
.mev-reelsec > .wrap { position: relative; z-index: 1; }
.mev-reelsec .section__title { font-size: clamp(2.4rem, 1.6rem + 2.8vw, 4rem); }
.mev-leaf--gal { width: clamp(220px, 24vw, 380px); right: -80px; top: -50px; transform: rotate(200deg); }
.mev-leaf--gal2 { width: clamp(160px, 16vw, 250px); left: -50px; bottom: -40px; transform: rotate(-28deg); }
.mev-reel {
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(.6rem, 1.1vw, 1rem);
  max-width: 1240px; margin: 0 auto;
}
.mev-reel figure { margin: 0; }
.mev-film { grid-column: 1 / span 8; grid-row: 1 / span 2; background: var(--mev-ink); padding: 14px 14px 0; position: relative; box-shadow: 0 30px 60px rgba(28,40,47,.3); }
.mev-film__screen { position: relative; max-width: 848px; margin: 0 auto; background: #000; outline: 1px solid rgba(239,187,47,.55); outline-offset: 6px; }
.mev-film__video { display: block; width: 100%; height: auto; aspect-ratio: 848 / 480; object-fit: contain; background: #000; }
.mev-film__play {
  position: absolute; inset: 0; width: 100%; border: 0; padding: 0; cursor: pointer; display: grid; place-items: center;
  background: radial-gradient(closest-side, rgba(18,28,34,.28), rgba(18,28,34,0)), linear-gradient(180deg, rgba(31,46,54,0) 55%, rgba(31,46,54,.45));
  transition: opacity .5s var(--ease), visibility 0s linear 0s;
}
.mev-film__ring { position: absolute; left: 50%; top: 50%; width: clamp(96px, 12vw, 150px); height: auto; aspect-ratio: 1; transform: translate(-50%, -50%); color: var(--gold); }
.mev-film__ring { animation: mevSpinC 30s linear infinite; }
@keyframes mevSpinC { to { transform: translate(-50%, -50%) rotate(360deg); } }
.mev-film__btn { position: relative; width: clamp(58px, 7vw, 84px); aspect-ratio: 1; border-radius: 50%; background: var(--gold); box-shadow: 0 10px 30px rgba(0,0,0,.35); transition: transform .4s var(--ease), background-color .3s; }
.mev-film__btn::after { content: ""; position: absolute; left: 54%; top: 50%; transform: translate(-50%, -50%); border-style: solid; border-width: 11px 0 11px 18px; border-color: transparent transparent transparent var(--slate-ink); }
.mev-film__play:hover .mev-film__btn, .mev-film__play:focus-visible .mev-film__btn { transform: scale(1.1); background: #FFD35C; }
.mev-film__play:focus-visible { outline: 2px solid var(--gold); outline-offset: -6px; }
.mev-film.is-playing .mev-film__play { opacity: 0; visibility: hidden; transition: opacity .5s var(--ease), visibility 0s linear .5s; }
.mev-film__ticks { position: absolute; inset: -7px; pointer-events: none; }
.mev-film__ticks i.n { top: -9px; left: 50%; margin-left: -6px; border-top: 9px solid var(--gold); border-bottom: 0; }
.mev-film__ticks i.s { bottom: -9px; left: 50%; margin-left: -6px; border-bottom: 9px solid var(--gold); border-top: 0; }
.mev-film__ticks i.w { left: -9px; top: 50%; margin-top: -6px; border-left: 9px solid var(--gold); border-right: 0; }
.mev-film__ticks i.e { right: -9px; top: 50%; margin-top: -6px; border-right: 9px solid var(--gold); border-left: 0; }
.mev-film__cap { display: flex; align-items: center; gap: 1rem; padding: 1.05rem 4px 1rem; color: rgba(255,255,255,.8); font: 600 .72rem/1.3 "Montserrat", sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.mev-film__dur { color: var(--mev-ink); background: var(--gold); padding: .3rem .55rem; letter-spacing: .08em; }
.mev-film__iso { margin-left: auto; width: 34px; height: 34px; color: var(--gold); opacity: .9; }
.mev-reel__ph { position: relative; overflow: hidden; min-height: 0; }
.mev-reel__ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .9s var(--ease); }
.mev-reel__ph:hover img { transform: scale(1.06); }
.mev-reel__ph:nth-of-type(2) { grid-column: 9 / span 4; grid-row: 1; }
.mev-reel__ph:nth-of-type(3) { grid-column: 9 / span 4; grid-row: 2; }
.mev-reel__ph:nth-of-type(n+4) { grid-column: span 3; aspect-ratio: 4 / 3; }
.mev-reel__ph::after { content: ""; position: absolute; inset: 8px; border: 1px solid rgba(255,255,255,.0); transition: border-color .5s var(--ease), inset .5s var(--ease); pointer-events: none; }
.mev-reel__ph:hover::after { inset: 12px; border-color: rgba(239,187,47,.85); }

/* ==========================================================================
   10) TESTIMONIOS — una carta en papel y dos en vidrio
   ========================================================================== */
.mev-letters-sec { position: relative; overflow: hidden; padding-block: clamp(4.5rem, 9vw, 7.5rem); }
.mev-letters-sec > .wrap { position: relative; z-index: 1; }
.mev-letters-sec__ring { position: absolute; z-index: 0; width: min(95vh, 900px); aspect-ratio: 1; left: -18vw; top: 50%; margin-top: calc(min(95vh, 900px) / -2); color: var(--gold); opacity: .09; animation: mevSpin 180s linear infinite; }
.mev-leaf--rev { width: clamp(190px, 19vw, 290px); left: -70px; top: -50px; transform: rotate(160deg); }
.mev-letters-sec .section__head { margin-bottom: clamp(1.6rem, 3vw, 2.4rem); }
.mev-letters { display: grid; grid-template-columns: 7fr 5fr; grid-template-rows: auto auto; gap: clamp(1rem, 2vw, 1.6rem); max-width: 1180px; margin: 0 auto; }
.mev-letter { position: relative; margin: 0; padding: clamp(1.7rem, 3vw, 2.4rem); display: flex; flex-direction: column; background: rgba(255,255,255,.06); border: 1px solid rgba(222,195,152,.28); backdrop-filter: blur(2px); }
.mev-letter__q { font-family: "Bon Vivant", serif; font-size: 4.4rem; line-height: .6; height: 1.9rem; color: var(--gold); }
.mev-letter__text { margin: 0; flex: 1 1 auto; font-family: "Bon Vivant", serif; font-size: clamp(1.12rem, 1rem + .35vw, 1.3rem); line-height: 1.5; color: #eef2f2; }
.mev-letter__by { margin-top: 1.5rem; padding-top: 1.1rem; border-top: 1px solid rgba(222,195,152,.25); display: grid; gap: .3rem; }
.mev-letter__by b { font-family: "Bon Vivant", serif; font-weight: 400; font-size: 1.22rem; color: var(--gold); }
.mev-letter__by span { font: 600 .66rem/1.5 "Montserrat", sans-serif; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.66); }
.mev-letter--lead {
  grid-row: 1 / span 2; background: var(--cream); border: 0; border-top: 3px solid var(--gold);
  padding: clamp(2.2rem, 4.5vw, 3.8rem); box-shadow: 0 34px 70px rgba(0,0,0,.3); overflow: hidden;
}
.mev-letter--lead .mev-letter__q { font-size: 8rem; height: 3.6rem; color: var(--gold-deep); }
.mev-letter--lead .mev-letter__text { color: var(--slate-ink); font-size: clamp(1.4rem, 1.05rem + 1.05vw, 2.05rem); line-height: 1.34; position: relative; z-index: 1; }
.mev-letter--lead .mev-letter__by { border-top-color: rgba(58,83,95,.18); position: relative; z-index: 1; }
.mev-letter--lead .mev-letter__by b { color: var(--slate-ink); font-size: 1.5rem; }
.mev-letter--lead .mev-letter__by span { color: var(--slate); }
.mev-letter__wm { position: absolute; right: -60px; bottom: -60px; width: 300px; height: 300px; color: var(--gold-deep); opacity: .1; z-index: 0; }
.mev-letter__ticks { position: absolute; inset: 14px; border: 1px solid rgba(199,154,62,.35); pointer-events: none; }
.mev-letter__ticks i.n { top: -1px; left: 50%; margin-left: -6px; border-top: 8px solid var(--gold-deep); border-bottom: 0; }
.mev-letter__ticks i.s { bottom: -1px; left: 50%; margin-left: -6px; border-bottom: 8px solid var(--gold-deep); border-top: 0; }
.mev-letter__ticks i.w { left: -1px; top: 50%; margin-top: -6px; border-left: 8px solid var(--gold-deep); border-right: 0; }
.mev-letter__ticks i.e { right: -1px; top: 50%; margin-top: -6px; border-right: 8px solid var(--gold-deep); border-left: 0; }


/* --- Ajustes de la 2ª pasada --- */
.mev-pillars .wed-pillars__k { color: var(--gold); }
.mev-hero__play { bottom: calc(var(--wed-lift) + 1.6rem); }
.mev-about .wed-story__text .eyebrow { color: var(--gold-deep); }
.mev-page .band--slate .eyebrow--light, .mev-page .mev-proof .eyebrow { color: var(--gold); }

/* --- Brújula de lectura: gira con el scroll y lleva arriba ------------------ */
.mev-north {
  position: fixed; z-index: 90; left: clamp(1rem, 2vw, 1.8rem); bottom: clamp(1rem, 2vw, 1.8rem);
  width: 64px; height: 64px; border-radius: 50%; background: rgba(31,46,54,.88); color: var(--gold);
  box-shadow: 0 10px 26px rgba(0,0,0,.28); opacity: 0; transform: translateY(12px); pointer-events: none;
  transition: opacity .4s var(--ease), transform .4s var(--ease);
}
.mev-north.is-on { opacity: 1; transform: none; pointer-events: auto; }
.mev-north svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.mev-north__track circle { fill: none; stroke: rgba(222,195,152,.22); stroke-width: 2; }
.mev-north__track .mev-north__prg { stroke: var(--gold); stroke-dasharray: 100; stroke-dashoffset: calc(100 - var(--p, 0) * 100); transform: rotate(-90deg); transform-origin: 32px 32px; }
.mev-north__iso { inset: 11px !important; width: 42px !important; height: 42px !important; transform: rotate(calc(var(--p, 0) * 360deg)); }
.mev-north:hover { background: var(--slate-ink); }

/* ==========================================================================
   Secciones que no se rediseñan: solo heredan el sistema (antetítulo + filete)
   ========================================================================== */
.mev-page .mev-proof, .mev-page .mev-inc { position: relative; }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1100px) {
  .mev-reel { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .mev-film { grid-column: 1 / -1; grid-row: auto; }
  .mev-reel__ph:nth-of-type(n) { grid-column: span 3; grid-row: auto; aspect-ratio: 4 / 3; }
}
@media (max-width: 980px) {
  .mev-medal { width: 76px; height: 76px; padding: 9px; }
  .mev-pillars .wed-pillars__panel { margin-top: 3rem; }
  .mev-chart { grid-template-columns: repeat(2, 1fr); }
  .mev-svc:nth-child(n) { border-right: 1px solid var(--mev-line); border-bottom: 1px solid var(--mev-line); }
  .mev-svc:nth-child(2n) { border-right: 0; }
  .mev-chart__x { display: none; }
  .mev-letters { grid-template-columns: 1fr; }
  .mev-letter--lead { grid-row: auto; }
  .mev-rail { display: none; }
}
@media (max-width: 820px) {
  .mev-hero__compass { width: 120vw; right: -48vw; top: 34%; }
  .mev-hero__ring { opacity: .26; }
  .mev-about .wed-story__media { margin: 0 0 1rem 1.2rem; }
  .mev-seal { right: -8px; top: -44px; }
  .mev-north { display: none; }
}
@media (max-width: 640px) {
  .mev-hero .hero__title { font-size: clamp(2.6rem, 11.5vw, 3.4rem); }
  .mev-scope { font-size: .68rem; letter-spacing: .1em; gap: .45rem .9rem; }
  .mev-scope li { white-space: nowrap; }
  .mev-scope li { gap: .75rem; }
    .mev-chart { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .mev-svc:nth-child(n) { border-right: 0; border-bottom: 1px solid var(--mev-line); display: grid; grid-template-columns: 58px 1fr; column-gap: 1.1rem; padding: 1.5rem .2rem; }
  .mev-svc:last-child { border-bottom: 0; }
  .mev-svc__icon { width: 58px; height: 58px; margin: 0; grid-row: span 2; }
  .mev-svc__icon > svg:last-child { width: 22px; height: 22px; }
  .mev-svc__t { font-size: 1.3rem; }
  .mev-reel { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
  .mev-film { padding: 8px 8px 0; margin: 0 -.2rem .6rem; }
  .mev-film__screen { outline-offset: 4px; }
  .mev-film__cap { font-size: .62rem; gap: .7rem; padding: .85rem 2px .8rem; }
  .mev-film__iso { width: 26px; height: 26px; }
  .mev-reel__ph:nth-of-type(n) { grid-column: span 1; }
  .mev-reel__ph:nth-of-type(2), .mev-reel__ph:nth-of-type(7) { grid-column: 1 / -1; aspect-ratio: 16 / 10; }
  .mev-statement .mev-ico { width: 48px; height: 48px; }
  .mev-leaf--about { width: 150px; left: -58px; top: -28px; bottom: auto; transform: rotate(150deg); }
  .mev-leaf--gal { width: 180px; right: -70px; top: -40px; }
  .mev-leaf--gal2 { display: none; }
  .mev-leaf--rev { width: 120px; left: -64px; top: -46px; }
  .mev-pillars__tag::before, .mev-pillars__tag::after { display: none; }
  .mev-scope { display: grid; grid-template-columns: auto auto; justify-content: start; }
  .mev-scope li::before, .mev-scope li + li::before { content: ""; width: 5px; height: 5px; border: 1px solid currentColor; transform: rotate(45deg); flex: none; }
  .mev-letter--lead .mev-letter__q { font-size: 6rem; height: 2.8rem; }
  .mev-page .hairline { width: 160px; }
}
@media (prefers-reduced-motion: reduce) {
  .mev-hero__ring, .mev-seal__txt, .mev-serv__wm, .mev-film__ring, .mev-letters-sec__ring { animation: none; }
}

/* Botánicos: nunca deformar la imagen, aunque la caja cambie de proporción. */
.mev-page .mev-leaf { object-fit: contain; }

/* 14-sep (David): certificaciones centradas y logos más grandes. */
.mev-page .mev-certs { --cert-h: 80px; text-align: center; }
.mev-page .mev-certs .eyebrow { justify-content: center; }
.mev-page .mev-certs__row { margin-top: 2.2rem; gap: clamp(2rem, 4vw, 4rem); }
@media (max-width: 1180px) { .mev-page .mev-certs { --cert-h: 64px; } }
@media (max-width: 900px)  { .mev-page .mev-certs { --cert-h: 52px; } .mev-page .mev-certs__row { flex-wrap: wrap; row-gap: 1.8rem; max-width: 34rem; } }
@media (max-width: 680px)  { .mev-page .mev-certs { --cert-h: 50px; } .mev-page .mev-certs__row { column-gap: 2.2rem; max-width: 22rem; } }

/* Galería: visor para ver cada foto completa, sin recorte. */
.mev-page .mev-reel__ph { cursor: zoom-in; }
.mev-page .mev-reel__ph:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.mev-lb { position: fixed; inset: 0; z-index: 9999; background: rgba(20,30,36,.94); display: flex; align-items: center; justify-content: center; padding: 3.5rem 4.5rem; }
.mev-lb[hidden] { display: none !important; }
.mev-lb__fig { margin: 0; display: flex; flex-direction: column; align-items: center; gap: .8rem; max-width: 100%; max-height: 100%; }
.mev-lb__fig img { display: block; width: auto; height: auto; max-width: min(1400px, calc(100vw - 9rem)); max-height: calc(100vh - 8rem); object-fit: contain; box-shadow: 0 20px 60px rgba(0,0,0,.5); }
.mev-lb__n { color: #EFBB2F; font: 600 .78rem/1 "Montserrat", sans-serif; letter-spacing: .2em; }
.mev-lb__x, .mev-lb__nav { position: absolute; background: none; border: 1px solid rgba(239,187,47,.6); color: #fff; border-radius: 50%; width: 48px; height: 48px; font-size: 1.9rem; line-height: 1; cursor: pointer; display: grid; place-items: center; }
.mev-lb__x:hover, .mev-lb__nav:hover { background: #EFBB2F; color: #2C3F49; }
.mev-lb__x { top: 1rem; right: 1rem; }
.mev-lb__prev { left: 1rem; top: 50%; transform: translateY(-50%); }
.mev-lb__next { right: 1rem; top: 50%; transform: translateY(-50%); }
html.mev-lb-open { overflow: hidden; }
@media (max-width: 680px) {
  .mev-lb { padding: 4rem .5rem 5rem; }
  .mev-lb__fig img { max-width: calc(100vw - 1rem); max-height: calc(100vh - 10rem); }
  .mev-lb__nav { top: auto; bottom: 1rem; transform: none; }
  .mev-lb__prev { left: calc(50% - 60px); } .mev-lb__next { right: calc(50% - 60px); }
}

/* Galería por categorías (15-sep): video arriba, pestañas y filas justificadas que respetan la
   proporción de cada foto (nada estirado ni aplastado). */
.mev-page .mev-reelsec .mev-film { max-width: 1000px; margin: 0 auto; }
.mev-gl-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: .55rem .6rem; margin: clamp(2.6rem, 5vw, 3.6rem) auto clamp(1.6rem, 3vw, 2.2rem); max-width: 1100px; }
.mev-gl-tab { font: 600 .72rem/1 "Montserrat", sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--mev-ink, #2C3F49); background: transparent; border: 1px solid rgba(44,63,73,.28); border-radius: 999px; padding: .78rem 1.1rem; cursor: pointer; transition: background-color .3s, color .3s, border-color .3s; }
.mev-gl-tab span { color: #B8891A; margin-left: .35em; letter-spacing: .04em; }
.mev-gl-tab:hover { border-color: #EFBB2F; }
.mev-gl-tab.is-on { background: #2C3F49; border-color: #2C3F49; color: #fff; }
.mev-gl-tab.is-on span { color: #EFBB2F; }
.mev-gl-tab:focus-visible { outline: 2px solid #EFBB2F; outline-offset: 2px; }
.mev-gl { display: flex; flex-wrap: wrap; gap: clamp(.45rem, .9vw, .8rem); max-width: 1240px; margin: 0 auto; }
.mev-gl::after { content: ""; flex-grow: 999; }
.mev-gl__item { position: relative; margin: 0; flex-grow: var(--r); flex-basis: calc(var(--r) * clamp(150px, 15vw, 215px)); aspect-ratio: var(--r); overflow: hidden; cursor: zoom-in; background: #2C3F49; }
.mev-gl__item[hidden] { display: none !important; }
.mev-gl__item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--ease, ease), opacity .4s; }
.mev-gl__item:hover img { transform: scale(1.05); }
.mev-gl__item figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.6rem .9rem .7rem; color: #fff; font: 600 .62rem/1 "Montserrat", sans-serif; letter-spacing: .18em; text-transform: uppercase; background: linear-gradient(0deg, rgba(28,40,47,.75), rgba(28,40,47,0)); opacity: 0; transform: translateY(6px); transition: opacity .4s, transform .4s; }
.mev-gl__item:hover figcaption, .mev-gl__item:focus-visible figcaption { opacity: 1; transform: none; }
.mev-gl__item::after { content: ""; position: absolute; inset: 8px; border: 1px solid rgba(239,187,47,0); transition: border-color .5s, inset .5s; pointer-events: none; }
.mev-gl__item:hover::after { inset: 12px; border-color: rgba(239,187,47,.85); }
.mev-gl__item:focus-visible { outline: 2px solid #EFBB2F; outline-offset: 3px; }
@media (max-width: 680px) {
  .mev-gl-tabs { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; margin-inline: -1rem; padding: 0 1rem .4rem; scrollbar-width: none; }
  .mev-gl-tabs::-webkit-scrollbar { display: none; }
  .mev-gl-tab { flex: 0 0 auto; }
  .mev-gl__item { flex-basis: calc(var(--r) * 130px); }
  .mev-gl__item figcaption { opacity: 1; transform: none; font-size: .55rem; padding: 1.2rem .6rem .5rem; }
}

/* "All" recortado a 5 filas: la última fila va completa y justificada. */
.mev-gl.is-trimmed::after { display: none; }

/* ==== Responsabilidad social: Fundación San Luis (21-sep-2026) ==== */
.myt-purpose__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; max-width: 1120px; margin: 0 auto; }
.myt-purpose__card { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.4rem; aspect-ratio: 4 / 3; padding: clamp(2rem, 4vw, 3.2rem); background: #2C3F49; color: #fff; text-decoration: none; box-shadow: 0 30px 60px rgba(28,40,47,.22); outline: 1px solid rgba(239,187,47,.5); outline-offset: -14px; transition: transform .5s var(--ease, ease), box-shadow .5s; }
.myt-purpose__card:hover { transform: translateY(-4px); box-shadow: 0 36px 70px rgba(28,40,47,.3); }
.myt-purpose__card img { display: block; width: min(100%, 340px); height: auto; }
.myt-purpose__card-k { font: 600 .66rem/1 "Montserrat", sans-serif; letter-spacing: .2em; text-transform: uppercase; color: #EFBB2F; }
.myt-purpose__text .section__title { margin-top: .2rem; }
.myt-purpose__text .hairline { margin: 1.2rem 0 1.4rem; }
.myt-purpose__text p { max-width: 58ch; }
.myt-purpose__text .btn { margin-top: .6rem; }
@media (max-width: 820px) {
  .myt-purpose__grid { grid-template-columns: 1fr; }
  .myt-purpose__card { aspect-ratio: auto; padding: 2.4rem 1.6rem; }
  .myt-purpose__card img { width: min(80%, 300px); }
}

/* ==== MY EVENTS · revisión final 21/22-sep-2026 ==== */

/* Portada: en portátiles (p. ej. 1366×657 útiles) el contenido quedaba debajo del header y se
   veía apretado. El bloque arranca siempre por debajo del header y el título se ajusta también
   por la altura de la pantalla, no solo por el ancho. */
.mev-page .mev-hero .hero__inner { padding-top: calc(140px + clamp(1rem, 3vh, 2.4rem)); }
.mev-page .mev-hero .hero__title { font-size: clamp(2.6rem, min(1.1rem + 4.6vw, 11vh), 5.6rem); }
.mev-page .mev-hero .hero__desc { font-size: clamp(.98rem, .6rem + 1.1vh, 1.1rem); line-height: 1.65; }
@media (max-height: 820px) and (min-width: 821px) {
  .mev-page .mev-hero .hero__rule { margin-block: clamp(.8rem, 2.2vh, 1.6rem); }
  .mev-page .mev-hero__compass { width: min(80vh, 760px); }
}
@media (max-width: 820px) { .mev-page .mev-hero .hero__inner { padding-top: calc(100px + 1.2rem); } }

/* "MICE Excellence by MY TOUR EC": con más presencia (antes casi se perdía). */
.mev-page .mev-hero .eyebrow {
  font-size: clamp(.82rem, .62rem + .45vw, 1.06rem); letter-spacing: .3em; color: #EFBB2F;
  text-shadow: 0 2px 14px rgba(0,0,0,.55); gap: .9em; margin-bottom: clamp(.8rem, 2vh, 1.4rem);
}
.mev-page .mev-hero .eyebrow::before { width: 1.9em; height: 1.9em; }
.mev-page .mev-hero .eyebrow::after { content: ""; flex: 0 0 clamp(2.5rem, 6vw, 5rem); height: 1px; background: linear-gradient(90deg, #EFBB2F, rgba(239,187,47,0)); }

/* Galería: las pestañas ya no llevan contador. */
.mev-gl-tab span { display: none; }

/* Clientes: menos aire entre el borde de la banda y el carrusel. */
.mev-page .mev-proof { padding-top: clamp(2.6rem, 5vw, 4rem); }
.mev-page .mev-proof .partners-band--bare { margin-top: 0; }
.mev-page .mev-proof .partners-band--bare .lmq-rows { margin-top: .9rem; }

/* Programas corporativos e incentivos (sección unificada). */
.mev-prog .mev-lead { color: rgba(255,255,255,.86); max-width: 70ch; margin-inline: auto; }
.mev-prog__photos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: clamp(150px, 15vw, 220px); gap: clamp(.5rem, 1vw, .9rem); max-width: 1240px; margin: clamp(2rem, 4vw, 3rem) auto 0; }
.mev-prog__photos figure { margin: 0; overflow: hidden; background: #22323b; }
.mev-prog__photos figure:first-child { grid-column: span 2; grid-row: span 2; }
.mev-prog__photos img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .9s var(--ease, ease); }
.mev-prog__photos figure:hover img { transform: scale(1.05); }
.mev-prog__lead { max-width: 72ch; margin: clamp(2rem, 4vw, 3rem) auto clamp(1.6rem, 3vw, 2.2rem); text-align: center; color: rgba(255,255,255,.82); font-size: 1.02rem; line-height: 1.7; }
.mev-prog__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(.8rem, 1.6vw, 1.4rem); max-width: 1240px; margin: 0 auto; }
.mev-prog__item { display: flex; flex-direction: column; background: rgba(255,255,255,.04); border: 1px solid rgba(239,187,47,.28); color: #fff; text-decoration: none; transition: transform .45s var(--ease, ease), border-color .3s, background-color .3s; }
.mev-prog__item:hover, .mev-prog__item:focus-visible { transform: translateY(-4px); border-color: #EFBB2F; background: rgba(255,255,255,.07); }
.mev-prog__item:focus-visible { outline: 2px solid #EFBB2F; outline-offset: 3px; }
.mev-prog__item figure { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; }
.mev-prog__item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .9s var(--ease, ease); }
.mev-prog__item:hover img { transform: scale(1.06); }
.mev-prog__body { padding: 1.1rem 1.15rem 1.25rem; display: flex; flex-direction: column; gap: .45rem; flex: 1; }
.mev-prog__t { font-family: "Bon Vivant", serif; font-weight: 400; font-size: 1.45rem; line-height: 1.15; margin: 0; color: #fff; }
.mev-prog__body p { margin: 0; color: rgba(255,255,255,.78); font-size: .95rem; line-height: 1.55; }
.mev-prog__more { margin-top: auto; padding-top: .5rem; font: 600 .68rem/1 "Montserrat", sans-serif; letter-spacing: .2em; text-transform: uppercase; color: #EFBB2F; }
.mev-prog__cta { text-align: center; margin-top: clamp(2rem, 4vw, 2.8rem); }
@media (max-width: 1024px) { .mev-prog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) {
  .mev-prog__photos { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 130px; }
  .mev-prog__grid { grid-template-columns: 1fr; }
}

/* Teléfono con código de país (los tres formularios). */
.phone-in { display: grid; grid-template-columns: minmax(0, 11rem) minmax(0, 1fr); gap: .5rem; }
.phone-in select { min-width: 0; }
@media (max-width: 480px) { .phone-in { grid-template-columns: minmax(0, 8.5rem) minmax(0, 1fr); } }

/* Testimonios: destacado + carrusel vertical (de abajo hacia arriba). */
.mev-vlist { grid-column: 2; grid-row: 1 / span 2; position: relative; overflow: hidden; min-height: 460px;
  -webkit-mask-image: linear-gradient(transparent, #000 9%, #000 91%, transparent); mask-image: linear-gradient(transparent, #000 9%, #000 91%, transparent); }
.mev-vlist__track { position: absolute; inset-inline: 0; top: 0; display: flex; flex-direction: column; gap: clamp(1rem, 2vw, 1.6rem); animation: mevVlist calc(var(--n, 2) * 11s) linear infinite; }
.mev-vlist:hover .mev-vlist__track, .mev-vlist:focus-within .mev-vlist__track { animation-play-state: paused; }
.mev-vlist:focus-visible { outline: 2px solid #EFBB2F; outline-offset: 4px; }
@keyframes mevVlist { from { transform: translateY(0); } to { transform: translateY(calc(-50% - clamp(.5rem, 1vw, .8rem))); } }
@media (prefers-reduced-motion: reduce) {
  .mev-vlist { -webkit-mask-image: none; mask-image: none; overflow: auto; }
  .mev-vlist__track { position: static; animation: none; }
  .mev-vlist__track > [aria-hidden="true"] { display: none; }
}
@media (max-width: 980px) { .mev-vlist { grid-column: auto; grid-row: auto; min-height: 520px; } }

/* ==== MY EVENTS · escala de escritorio (22-sep-2026) ====
   En un monitor grande (1920 px) la landing respira; en portátiles (1280-1600 px, a menudo con
   Windows al 125-150 %) salía todo casi igual de grande y se veía "comprimido". Pedido del
   cliente: que en todas las pantallas se vea como en el monitor grande. Entre 1025 y 1759 px la
   página entera se escala en proporción (zoom), sin mover nada de sitio; en tablet y móvil no. */
@media (min-width: 1025px) and (max-width: 1759.98px) { body.mev-page { --mev-z: .92; zoom: .92; } }
@media (min-width: 1025px) and (max-width: 1599.98px) { body.mev-page { --mev-z: .86; zoom: .86; } }
@media (min-width: 1025px) and (max-width: 1499.98px) { body.mev-page { --mev-z: .8; zoom: .8; } }
/* El zoom también encoge las alturas en vh: la portada sigue ocupando la pantalla completa. */
@media (min-width: 1025px) and (max-width: 1759.98px) {
  body.mev-page .hero { min-height: calc(100vh / var(--mev-z)); min-height: calc(100svh / var(--mev-z)); }
  body.mev-page .mev-hero__compass { width: min(calc(92vh / var(--mev-z)), 900px); }
}

/* Who we are (22-sep-2026, la clienta): la foto del grupo en La Compañía, más grande. */
.mev-page .mev-about .wed-story__img2 { width: 60%; }
@media (max-width: 680px) { .mev-page .mev-about .wed-story__img2 { width: 64%; } }

/* Lista de países bajo el mapa (22-sep-2026, Camila: "se pierde con el fondo"): va sobre una
   tarjeta clara con sombra, como el mapa, y el texto un punto más oscuro. */
.mev-map__list:not(.mev-map__list--sr) {
  background: rgba(255,255,255,.94); border: 1px solid rgba(58,83,95,.1); border-top: 3px solid #EFBB2F;
  border-radius: 14px; box-shadow: 0 22px 50px rgba(28,40,47,.14);
  padding: clamp(1.4rem, 3vw, 2.4rem) clamp(1.3rem, 3.2vw, 2.8rem);
}
.mev-map__list:not(.mev-map__list--sr) .mev-map__names li { color: var(--slate-ink); }
@media (max-width: 680px) { .mev-map__list:not(.mev-map__list--sr) { padding: 1.3rem 1.2rem; } }
