{"id":4128,"date":"2026-05-13T15:49:31","date_gmt":"2026-05-13T15:49:31","guid":{"rendered":"https:\/\/henryhateshiking.com\/?page_id=4128"},"modified":"2026-07-03T00:47:26","modified_gmt":"2026-07-03T00:47:26","slug":"encuentra-tu-ruta","status":"publish","type":"page","link":"https:\/\/henryhateshiking.com\/es\/encuentra-tu-ruta\/","title":{"rendered":"encuentra tu ruta"},"content":{"rendered":"<section class=\"hhh-tff2\" id=\"hhhTrailFinderFastV2\" aria-label=\"Quiz de rutas Henry Hates Hiking\">\n      <style>\n        body:has(#hhhTrailFinderFastV2) .entry-header,\n        body:has(#hhhTrailFinderFastV2) #trp-floater-ls,\n        body:has(#hhhTrailFinderFastV2) .trp-floater-ls {\n          display: none !important;\n        }\n\n        body:has(#hhhTrailFinderFastV2) .site-content,\n        body:has(#hhhTrailFinderFastV2) .content-area,\n        body:has(#hhhTrailFinderFastV2) .entry-content,\n        body:has(#hhhTrailFinderFastV2) .wp-block-post-content,\n        body:has(#hhhTrailFinderFastV2) .ast-container {\n          max-width: none !important;\n          width: 100% !important;\n          margin-left: 0 !important;\n          margin-right: 0 !important;\n          padding-left: 0 !important;\n          padding-right: 0 !important;\n        }\n\n        body:has(#hhhTrailFinderFastV2) .site-header,\n        body:has(#hhhTrailFinderFastV2) .main-header-bar,\n        body:has(#hhhTrailFinderFastV2) .ast-primary-header-bar,\n        body:has(#hhhTrailFinderFastV2) .ast-above-header-bar,\n        body:has(#hhhTrailFinderFastV2) .ast-below-header-bar {\n          background: transparent !important;\n          box-shadow: none !important;\n          border-bottom: none !important;\n        }\n\n        body:has(#hhhTrailFinderFastV2) .site-header,\n        body:has(#hhhTrailFinderFastV2) #masthead {\n          position: absolute !important;\n          top: 0;\n          left: 0;\n          width: 100%;\n          z-index: 9999;\n        }\n\n        body:has(#hhhTrailFinderFastV2) .main-header-menu .menu-link,\n        body:has(#hhhTrailFinderFastV2) .ast-builder-menu-1 .menu-item > .menu-link {\n          color: #ffffff !important;\n        }\n\n        #hhhTrailFinderFastV2,\n        #hhhTrailFinderFastV2 * {\n          box-sizing: border-box;\n        }\n\n        #hhhTrailFinderFastV2 {\n          --bg: #fbf7ef;\n          --text: #16231d;\n          --muted: #625f56;\n          --green: #173d30;\n          --green2: #256456;\n          --teal: #4fb7c5;\n          --orange: #ee6f2d;\n          --orange-dark: #c9551f;\n          --mint: #7ff0d2;\n          --border: rgba(22, 35, 29, .12);\n          --shadow: 0 18px 44px rgba(22, 35, 29, .12);\n          width: 100vw;\n          max-width: 100vw;\n          margin-left: calc(50% - 50vw);\n          margin-right: calc(50% - 50vw);\n          background: var(--bg);\n          color: var(--text);\n          font-family: inherit;\n          overflow-x: hidden;\n        }\n\n        #hhhTrailFinderFastV2 a {\n          color: inherit;\n          text-decoration: none;\n        }\n\n        #hhhTrailFinderFastV2 img {\n          display: block;\n          max-width: 100%;\n          height: auto;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-hero {\n          position: relative;\n          min-height: 100svh;\n          display: flex;\n          align-items: center;\n          overflow: hidden;\n          color: #fff;\n          background: linear-gradient(180deg, #4fb7c5 0%, #256456 52%, #173d30 100%);\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-bg {\n          position: absolute;\n          inset: 0;\n          z-index: 1;\n          pointer-events: none;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-bg svg {\n          width: 100%;\n          height: 100%;\n          display: block;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-cloud-1 {\n          animation: hhhTff2CloudMove 42s linear infinite;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-cloud-2 {\n          animation: hhhTff2CloudMove 56s linear infinite;\n          animation-delay: -22s;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-mountain-back {\n          animation: hhhTff2MountainBack 10s ease-in-out infinite;\n          transform-origin: center bottom;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-mountain-mid {\n          animation: hhhTff2MountainMid 8s ease-in-out infinite;\n          transform-origin: center bottom;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-mountain-front {\n          animation: hhhTff2MountainFront 7s ease-in-out infinite;\n          transform-origin: center bottom;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-glow {\n          animation: hhhTff2Glow 8s ease-in-out infinite;\n          transform-origin: center;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-overlay {\n          position: absolute;\n          inset: 0;\n          z-index: 2;\n          background: linear-gradient(180deg, rgba(18,61,48,.08) 0%, rgba(18,61,48,.44) 48%, rgba(18,61,48,.82) 100%);\n          pointer-events: none;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-wrap {\n          width: min(1120px, calc(100% - 32px));\n          margin: 0 auto;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-hero-inner {\n          position: relative;\n          z-index: 3;\n          width: min(1120px, calc(100% - 32px));\n          margin: 0 auto;\n          padding: 132px 0 78px;\n          display: grid;\n          grid-template-columns: minmax(0, 1fr) minmax(330px, 480px);\n          gap: 42px;\n          align-items: center;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-eyebrow,\n        #hhhTrailFinderFastV2 .hhh-tff2-kicker {\n          display: block;\n          margin: 0 0 18px;\n          color: rgba(255,255,255,.74);\n          font-size: 13px;\n          font-weight: 950;\n          letter-spacing: .13em;\n          text-transform: uppercase;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-title {\n          margin: 0;\n          max-width: 820px;\n          color: #fff;\n          font-size: clamp(48px, 6.2vw, 92px);\n          line-height: .9;\n          letter-spacing: -3px;\n          font-weight: 950;\n          text-shadow: 0 12px 42px rgba(0,0,0,.24);\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-subtitle {\n          max-width: 720px;\n          margin: 28px 0 0;\n          color: rgba(255,255,255,.86);\n          font-size: clamp(18px, 1.7vw, 23px);\n          line-height: 1.55;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-proof {\n          display: grid;\n          gap: 12px;\n          margin-top: 30px;\n          max-width: 620px;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-proof-item {\n          display: flex;\n          gap: 12px;\n          align-items: flex-start;\n          padding: 14px 16px;\n          border-radius: 18px;\n          background: rgba(255,255,255,.10);\n          border: 1px solid rgba(255,255,255,.16);\n          backdrop-filter: blur(8px);\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-check {\n          width: 24px;\n          height: 24px;\n          min-width: 24px;\n          flex: 0 0 24px;\n          border-radius: 999px;\n          display: flex;\n          align-items: center;\n          justify-content: center;\n          background: rgba(255,255,255,.16);\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-check::before {\n          content: \"\u2713\";\n          display: flex;\n          align-items: center;\n          justify-content: center;\n          width: 100%;\n          height: 100%;\n          color: #fff;\n          font-size: 15px;\n          font-weight: 950;\n          line-height: 1;\n          transform: translateY(-1px);\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-proof-item strong {\n          display: block;\n          color: #fff;\n          margin-bottom: 2px;\n          font-weight: 950;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-proof-item span {\n          display: block;\n          color: rgba(255,255,255,.76);\n          line-height: 1.4;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-quiz {\n          background: rgba(255,255,255,.96);\n          border: 1px solid rgba(255,255,255,.26);\n          border-radius: 30px;\n          padding: 30px;\n          color: var(--text);\n          box-shadow: 0 22px 60px rgba(0,0,0,.22);\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-progress-meta {\n          display: flex;\n          justify-content: space-between;\n          gap: 16px;\n          margin-bottom: 10px;\n          color: var(--muted);\n          font-size: 13px;\n          font-weight: 900;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-progress {\n          height: 10px;\n          overflow: hidden;\n          border-radius: 999px;\n          background: rgba(22,35,29,.10);\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-progress-fill {\n          width: 0%;\n          height: 100%;\n          border-radius: 999px;\n          background: linear-gradient(90deg, var(--orange), var(--mint));\n          transition: width .25s ease;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-question {\n          padding-top: 26px;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-question h2 {\n          margin: 0;\n          color: var(--text);\n          font-size: clamp(30px, 3vw, 42px);\n          line-height: .98;\n          letter-spacing: -1.5px;\n          font-weight: 950;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-question p {\n          margin: 12px 0 0;\n          color: var(--muted);\n          font-size: 16px;\n          line-height: 1.5;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-answers {\n          display: grid;\n          gap: 12px;\n          margin-top: 24px;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-answer {\n          width: 100%;\n          display: grid;\n          grid-template-columns: auto 1fr auto;\n          align-items: center;\n          gap: 13px;\n          padding: 15px;\n          border-radius: 18px;\n          border: 1px solid rgba(22,35,29,.12);\n          background: #fbf7ef;\n          color: var(--text);\n          text-align: left;\n          cursor: pointer;\n          font: inherit;\n          transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-answer:hover {\n          transform: translateY(-2px);\n          background: #fff;\n          border-color: rgba(238,111,45,.55);\n          box-shadow: 0 14px 28px rgba(22,35,29,.08);\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-answer-emoji {\n          width: 44px;\n          height: 44px;\n          display: grid;\n          place-items: center;\n          border-radius: 15px;\n          background: #fff;\n          font-size: 22px;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-answer-title {\n          display: block;\n          color: var(--text);\n          font-weight: 950;\n          line-height: 1.15;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-answer-desc {\n          display: block;\n          margin-top: 3px;\n          color: var(--muted);\n          font-size: 14px;\n          line-height: 1.35;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-answer-arrow {\n          color: var(--orange);\n          font-weight: 950;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-nav {\n          display: flex;\n          justify-content: space-between;\n          gap: 12px;\n          margin-top: 22px;\n          padding-top: 18px;\n          border-top: 1px solid var(--border);\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-nav button,\n        #hhhTrailFinderFastV2 .hhh-tff2-btn {\n          display: inline-flex;\n          align-items: center;\n          justify-content: center;\n          min-height: 46px;\n          padding: 13px 18px;\n          border-radius: 999px;\n          border: 0;\n          cursor: pointer;\n          font: inherit;\n          font-size: 15px;\n          font-weight: 950;\n          line-height: 1;\n          text-decoration: none !important;\n          transition: transform .18s ease, background .18s ease, box-shadow .18s ease;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-nav button {\n          background: var(--green);\n          color: #fff;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-nav button[disabled] {\n          opacity: .35;\n          cursor: not-allowed;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-nav .hhh-tff2-restart {\n          background: rgba(22,35,29,.08);\n          color: var(--text);\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-btn-primary {\n          background: var(--orange);\n          color: #fff !important;\n          box-shadow: 0 14px 30px rgba(238,111,45,.24);\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-results {\n          padding: 76px 0;\n          background: var(--bg);\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-results-head {\n          max-width: 780px;\n          margin: 0 auto 34px;\n          text-align: center;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-results-head .hhh-tff2-kicker {\n          color: var(--orange-dark);\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-results-head h2 {\n          margin: 0;\n          color: var(--text);\n          font-size: clamp(34px, 4.4vw, 62px);\n          line-height: .95;\n          letter-spacing: -2px;\n          font-weight: 950;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-results-head p {\n          max-width: 680px;\n          margin: 18px auto 0;\n          color: var(--muted);\n          font-size: 18px;\n          line-height: 1.58;\n          font-weight: 650;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-alert {\n          max-width: 900px;\n          margin: 0 auto 22px;\n          padding: 18px;\n          border-radius: 20px;\n          background: rgba(238,111,45,.12);\n          border: 1px solid rgba(238,111,45,.22);\n          color: #76320d;\n          line-height: 1.55;\n          font-weight: 750;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-grid {\n          display: grid;\n          grid-template-columns: repeat(3, minmax(0, 1fr));\n          gap: 20px;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-card,\n        #hhhTrailFinderFastV2 .hhh-tff2-card-skeleton {\n          min-height: 520px;\n          border-radius: 28px;\n          background: #fff;\n          border: 1px solid var(--border);\n          box-shadow: 0 12px 28px rgba(22,35,29,.08);\n          overflow: hidden;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-card {\n          display: flex;\n          flex-direction: column;\n          transition: transform .18s ease, box-shadow .18s ease;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-card:hover {\n          transform: translateY(-4px);\n          box-shadow: 0 20px 44px rgba(22,35,29,.13);\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-card-img {\n          width: 100%;\n          aspect-ratio: 16 \/ 10;\n          overflow: hidden;\n          background: linear-gradient(135deg, #4fb7c5, #173d30);\n          border: 0;\n          padding: 0;\n          cursor: pointer;\n          display: block;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-card-img img {\n          width: 100%;\n          height: 100%;\n          object-fit: cover;\n          transition: transform .3s ease;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-card:hover img {\n          transform: scale(1.04);\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-card-body {\n          display: flex;\n          flex-direction: column;\n          flex: 1;\n          padding: 22px;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-rank {\n          display: inline-flex;\n          width: fit-content;\n          margin-bottom: 14px;\n          padding: 8px 10px;\n          border-radius: 999px;\n          background: rgba(238,111,45,.14);\n          color: var(--orange-dark);\n          font-size: 12px;\n          font-weight: 950;\n          line-height: 1;\n          letter-spacing: .08em;\n          text-transform: uppercase;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-card h3 {\n          margin: 0;\n          color: var(--text);\n          font-size: 25px;\n          line-height: 1.05;\n          letter-spacing: -0.8px;\n          font-weight: 950;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-title-button {\n          width: 100%;\n          display: block;\n          border: 0;\n          padding: 0;\n          background: transparent;\n          color: inherit;\n          font: inherit;\n          text-align: left;\n          cursor: pointer;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-card-location {\n          margin: 8px 0 0;\n          color: var(--muted);\n          font-size: 15px;\n          line-height: 1.4;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-card-meta {\n          display: flex;\n          flex-wrap: wrap;\n          gap: 7px;\n          margin: 16px 0 0;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-chip {\n          display: inline-flex;\n          align-items: center;\n          padding: 7px 9px;\n          border-radius: 999px;\n          background: #f0eadf;\n          color: var(--green);\n          font-size: 12px;\n          font-weight: 900;\n          line-height: 1;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-card-desc {\n          margin: 16px 0 0;\n          color: var(--muted);\n          font-size: 16px;\n          line-height: 1.5;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-card-why {\n          margin: 16px 0 0;\n          padding: 14px;\n          border-radius: 18px;\n          background: #fbf7ef;\n          color: var(--muted);\n          font-size: 14px;\n          line-height: 1.45;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-card-link {\n          width: 100%;\n          margin-top: auto;\n          display: inline-flex;\n          align-items: center;\n          justify-content: center;\n          min-height: 52px;\n          padding: 14px 18px;\n          border-radius: 18px;\n          background: var(--orange);\n          color: #fff !important;\n          font-weight: 950;\n          border: 0;\n          cursor: pointer;\n          font: inherit;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-card-skeleton {\n          background: linear-gradient(90deg, rgba(255,255,255,.65), rgba(255,255,255,.95), rgba(255,255,255,.65));\n          background-size: 220% 100%;\n          animation: hhhTff2Skeleton 1.2s linear infinite;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-cta {\n          margin-top: 34px;\n          padding: clamp(28px, 4vw, 48px);\n          border-radius: 30px;\n          background: radial-gradient(circle at top right, rgba(238,111,45,.28), transparent 32%), linear-gradient(135deg, #173d30, #0f3127);\n          color: #fff;\n          box-shadow: var(--shadow);\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-cta-inner {\n          display: grid;\n          grid-template-columns: minmax(0, 1fr) auto;\n          gap: 24px;\n          align-items: center;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-cta h2 {\n          margin: 0;\n          color: #fff;\n          font-size: clamp(30px, 3.5vw, 52px);\n          line-height: .98;\n          letter-spacing: -1.8px;\n          font-weight: 950;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-cta p {\n          max-width: 760px;\n          margin: 12px 0 0;\n          color: rgba(255,255,255,.80);\n          font-size: 17px;\n          line-height: 1.55;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-modal[hidden] {\n          display: none !important;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-modal {\n          position: fixed;\n          inset: 0;\n          z-index: 100000;\n          display: grid;\n          place-items: center;\n          padding: 22px;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-modal-backdrop {\n          position: absolute;\n          inset: 0;\n          background: rgba(15, 49, 39, .78);\n          backdrop-filter: blur(7px);\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-modal-panel {\n          position: relative;\n          width: min(980px, 100%);\n          max-height: min(86svh, 880px);\n          overflow: auto;\n          border-radius: 30px;\n          background: #ffffff;\n          color: var(--text);\n          box-shadow: 0 30px 90px rgba(0,0,0,.34);\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-modal-close {\n          position: sticky;\n          top: 14px;\n          z-index: 5;\n          float: right;\n          margin: 14px 14px -60px 0;\n          width: 46px;\n          height: 46px;\n          border: 0;\n          border-radius: 999px;\n          background: var(--green);\n          color: #fff;\n          font-size: 30px;\n          line-height: 1;\n          cursor: pointer;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-modal-loading {\n          padding: 42px;\n          color: var(--muted);\n          font-weight: 900;\n          text-align: center;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-modal-gallery {\n          display: grid;\n          grid-template-columns: 1.4fr .8fr .8fr;\n          gap: 0;\n          max-height: 390px;\n          overflow: hidden;\n         1.4fr .8fr .8fr;\n          gap: 0;\n          max-height: 390px;\n          overflow: hidden;\n          background: #ddd4c8;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-modal-gallery img {\n          width: 100%;\n          height: 100%;\n          min-height: 270px;\n          object-fit: cover;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-modal-copy {\n          padding: clamp(24px, 4vw, 44px);\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-modal-kicker {\n          display: block;\n          margin-bottom: 12px;\n          color: var(--orange-dark);\n          font-size: 13px;\n          font-weight: 950;\n          letter-spacing: .12em;\n          text-transform: uppercase;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-modal-copy h2 {\n          margin: 0;\n          color: var(--text);\n          font-size: clamp(34px, 4vw, 58px);\n          line-height: .95;\n          letter-spacing: -2px;\n          font-weight: 950;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-modal-location {\n          margin: 12px 0 0;\n          color: var(--muted);\n          font-size: 18px;\n          line-height: 1.45;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-modal-meta {\n          display: flex;\n          flex-wrap: wrap;\n          gap: 8px;\n          margin: 22px 0 0;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-modal-meta span {\n          display: inline-flex;\n          padding: 8px 10px;\n          border-radius: 999px;\n          background: #f0eadf;\n          color: var(--green);\n          font-size: 13px;\n          font-weight: 900;\n          line-height: 1;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-modal-section {\n          margin-top: 28px;\n          padding-top: 24px;\n          border-top: 1px solid var(--border);\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-modal-section h3 {\n          margin: 0 0 10px;\n          color: var(--text);\n          font-size: 25px;\n          line-height: 1.05;\n          letter-spacing: -.8px;\n          font-weight: 950;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-modal-section p,\n        #hhhTrailFinderFastV2 .hhh-tff2-modal-section li {\n          color: var(--muted);\n          font-size: 17px;\n          line-height: 1.65;\n        }\n\n        #hhhTrailFinderFastV2 .hhh-tff2-modal-button {\n          width: fit-content;\n          display: inline-flex;\n          align-items: center;\n          justify-content: center;\n          min-height: 54px;\n          margin-top: 28px;\n          padding: 15px 22px;\n          border-radius: 999px;\n          background: var(--orange);\n          color: #fff !important;\n          font-size: 16px;\n          font-weight: 950;\n        }\n\n        @keyframes hhhTff2CloudMove {\n          from { transform: translateX(-280px); }\n          to { transform: translateX(1260px); }\n        }\n\n        @keyframes hhhTff2Glow {\n          0%, 100% { opacity: .28; transform: scale(1); }\n          50% { opacity: .44; transform: scale(1.08); }\n        }\n\n        @keyframes hhhTff2MountainBack {\n          0%, 100% { transform: translateY(0) scale(1); }\n          50% { transform: translateY(7px) scale(1.008); }\n        }\n\n        @keyframes hhhTff2MountainMid {\n          0%, 100% { transform: translateY(0) scale(1); }\n          50% { transform: translateY(5px) scale(1.006); }\n        }\n\n        @keyframes hhhTff2MountainFront {\n          0%, 100% { transform: translateY(0) scale(1); }\n          50% { transform: translateY(3px) scale(1.004); }\n        }\n\n        @keyframes hhhTff2Skeleton {\n          from { background-position: 100% 0; }\n          to { background-position: -100% 0; }\n        }\n\n        @media (max-width: 960px) {\n          #hhhTrailFinderFastV2 .hhh-tff2-hero-inner,\n          #hhhTrailFinderFastV2 .hhh-tff2-cta-inner {\n            grid-template-columns: 1fr;\n          }\n\n          #hhhTrailFinderFastV2 .hhh-tff2-quiz {\n            max-width: 620px;\n          }\n\n          #hhhTrailFinderFastV2 .hhh-tff2-grid {\n            grid-template-columns: 1fr;\n          }\n        }\n\n        @media (max-width: 620px) {\n          #hhhTrailFinderFastV2 .hhh-tff2-hero {\n            min-height: auto;\n          }\n\n          #hhhTrailFinderFastV2 .hhh-tff2-hero-inner {\n            width: min(100% - 24px, 1120px);\n            padding: 122px 0 56px;\n            text-align: center;\n          }\n\n          #hhhTrailFinderFastV2 .hhh-tff2-title {\n            font-size: clamp(42px, 12vw, 62px);\n            letter-spacing: -2px;\n          }\n\n          #hhhTrailFinderFastV2 .hhh-tff2-subtitle {\n            margin-top: 22px;\n            font-size: 18px;\n          }\n\n          #hhhTrailFinderFastV2 .hhh-tff2-proof-item,\n          #hhhTrailFinderFastV2 .hhh-tff2-quiz {\n            text-align: left;\n          }\n\n          #hhhTrailFinderFastV2 .hhh-tff2-quiz {\n            padding: 24px;\n            border-radius: 24px;\n          }\n\n          #hhhTrailFinderFastV2 .hhh-tff2-answer {\n            grid-template-columns: auto 1fr;\n          }\n\n          #hhhTrailFinderFastV2 .hhh-tff2-answer-arrow {\n            display: none;\n          }\n\n          #hhhTrailFinderFastV2 .hhh-tff2-results {\n            padding: 56px 0;\n          }\n\n          #hhhTrailFinderFastV2 .hhh-tff2-card-body {\n            padding: 20px;\n          }\n\n          #hhhTrailFinderFastV2 .hhh-tff2-cta {\n            border-radius: 24px;\n            padding: 24px;\n          }\n\n          #hhhTrailFinderFastV2 .hhh-tff2-cta .hhh-tff2-btn {\n            width: 100%;\n          }\n\n          #hhhTrailFinderFastV2 .hhh-tff2-modal {\n            padding: 12px;\n          }\n\n          #hhhTrailFinderFastV2 .hhh-tff2-modal-panel {\n            border-radius: 24px;\n            max-height: 88svh;\n          }\n\n          #hhhTrailFinderFastV2 .hhh-tff2-modal-gallery {\n            grid-template-columns: 1fr;\n            max-height: none;\n          }\n\n          #hhhTrailFinderFastV2 .hhh-tff2-modal-gallery img:not(:first-child) {\n            display: none;\n          }\n\n          #hhhTrailFinderFastV2 .hhh-tff2-modal-close {\n            width: 42px;\n            height: 42px;\n            font-size: 28px;\n          }\n        }\n\n        @media (prefers-reduced-motion: reduce) {\n          #hhhTrailFinderFastV2 .hhh-tff2-cloud-1,\n          #hhhTrailFinderFastV2 .hhh-tff2-cloud-2,\n          #hhhTrailFinderFastV2 .hhh-tff2-mountain-back,\n          #hhhTrailFinderFastV2 .hhh-tff2-mountain-mid,\n          #hhhTrailFinderFastV2 .hhh-tff2-mountain-front,\n          #hhhTrailFinderFastV2 .hhh-tff2-glow,\n          #hhhTrailFinderFastV2 .hhh-tff2-card-skeleton {\n            animation: none !important;\n          }\n        }\n      <\/style>\n\n      <section class=\"hhh-tff2-hero\">\n        <div class=\"hhh-tff2-bg\" aria-hidden=\"true\">\n          <svg viewbox=\"0 0 1440 760\" preserveaspectratio=\"xMidYMid slice\">\n            <defs>\n              <lineargradient id=\"hhhTff2Sky\" x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\n                <stop offset=\"0%\" stop-color=\"#58beca\"\/>\n                <stop offset=\"50%\" stop-color=\"#24796f\"\/>\n                <stop offset=\"100%\" stop-color=\"#123d30\"\/>\n              <\/lineargradient>\n\n              <radialgradient id=\"hhhTff2Glow\" cx=\"72%\" cy=\"14%\" r=\"56%\">\n                <stop offset=\"0%\" stop-color=\"#ffffff\" stop-opacity=\".42\"\/>\n                <stop offset=\"55%\" stop-color=\"#ffffff\" stop-opacity=\".08\"\/>\n                <stop offset=\"100%\" stop-color=\"#ffffff\" stop-opacity=\"0\"\/>\n              <\/radialgradient>\n\n              <lineargradient id=\"hhhTff2BackMountain\" x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\n                <stop offset=\"0%\" stop-color=\"#2d8c7f\"\/>\n                <stop offset=\"100%\" stop-color=\"#155144\"\/>\n              <\/lineargradient>\n\n              <lineargradient id=\"hhhTff2MidMountain\" x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\n                <stop offset=\"0%\" stop-color=\"#1d6d5f\"\/>\n                <stop offset=\"100%\" stop-color=\"#103d31\"\/>\n              <\/lineargradient>\n\n              <lineargradient id=\"hhhTff2FrontMountain\" x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\n                <stop offset=\"0%\" stop-color=\"#195a4a\"\/>\n                <stop offset=\"100%\" stop-color=\"#0d2e25\"\/>\n              <\/lineargradient>\n            <\/defs>\n\n            <rect width=\"1440\" height=\"760\" fill=\"url(#hhhTff2Sky)\"\/>\n            <circle class=\"hhh-tff2-glow\" cx=\"1050\" cy=\"100\" r=\"260\" fill=\"url(#hhhTff2Glow)\"\/>\n\n            <g class=\"hhh-tff2-cloud-1\" opacity=\".32\">\n              <path d=\"M70 130 C110 95, 160 100, 190 130 C220 112, 270 120, 298 148 C335 148, 370 160, 392 185 L36 185 C42 158, 50 145, 70 130Z\" fill=\"rgba(255,255,255,.34)\"\/>\n            <\/g>\n\n            <g class=\"hhh-tff2-cloud-2\" opacity=\".22\">\n              <path d=\"M180 220 C220 184, 270 194, 305 224 C344 202, 398 214, 428 252 C466 250, 504 266, 528 294 L140 294 C146 260, 158 238, 180 220Z\" fill=\"rgba(255,255,255,.32)\"\/>\n            <\/g>\n\n            <g class=\"hhh-tff2-mountain-back\" opacity=\".58\">\n              <path d=\"M-80 720 L-80 370 C50 315, 150 405, 255 360 C365 312, 450 388, 540 300 C635 208, 720 405, 820 316 C920 226, 1015 374, 1115 305 C1210 240, 1290 380, 1520 324 L1520 720 Z\" fill=\"url(#hhhTff2BackMountain)\"\/>\n            <\/g>\n\n            <g class=\"hhh-tff2-mountain-mid\" opacity=\".88\">\n              <path d=\"M-80 760 L-80 458 C70 418, 150 474, 250 430 C346 388, 410 455, 500 398 C585 344, 628 238, 704 202 C764 174, 842 248, 894 326 C930 380, 982 390, 1038 330 C1096 268, 1175 284, 1235 350 C1308 430, 1375 480, 1520 438 L1520 760 Z\" fill=\"url(#hhhTff2MidMountain)\"\/>\n              <path d=\"M670 250 C704 224, 736 220, 768 244 C738 268, 708 292, 690 334 C682 300, 674 274, 670 250Z\" fill=\"rgba(255,255,255,.18)\"\/>\n            <\/g>\n\n            <g class=\"hhh-tff2-mountain-front\" opacity=\".95\">\n              <path d=\"M-80 760 L-80 600 C20 548, 110 612, 215 560 C310 514, 380 604, 480 548 C600 480, 680 612, 805 542 C930 470, 1010 630, 1140 560 C1280 486, 1360 618, 1520 552 L1520 760 Z\" fill=\"url(#hhhTff2FrontMountain)\"\/>\n              <path d=\"M140 638 C220 604, 285 616, 360 584 C430 554, 485 600, 540 574\" fill=\"none\" stroke=\"rgba(116,211,166,.18)\" stroke-width=\"24\" stroke-linecap=\"round\"\/>\n            <\/g>\n          <\/svg>\n        <\/div>\n\n        <div class=\"hhh-tff2-overlay\" aria-hidden=\"true\"><\/div>\n\n        <div class=\"hhh-tff2-hero-inner\">\n          <div>\n            <span class=\"hhh-tff2-eyebrow\">Quiz de rutas<\/span>\n\n            <h1 class=\"hhh-tff2-title\">Encuentra una ruta que s\u00ed tiene sentido para ti.<\/h1>\n\n            <p class=\"hhh-tff2-subtitle\">\n              Contesta unas preguntas r\u00e1pidas y te recomiendo hikes seg\u00fan tu nivel, tiempo disponible,\n              ganas de sufrir y tolerancia a decisiones cuestionables.\n            <\/p>\n\n            <div class=\"hhh-tff2-proof\">\n              <div class=\"hhh-tff2-proof-item\">\n                <span class=\"hhh-tff2-check\" aria-hidden=\"true\"><\/span>\n                <div>\n                  <strong>Usa rutas reales<\/strong>\n                  <span>Compara distancia, desnivel, tiempo, dificultad y estilo de ruta.<\/span>\n                <\/div>\n              <\/div>\n\n              <div class=\"hhh-tff2-proof-item\">\n                <span class=\"hhh-tff2-check\" aria-hidden=\"true\"><\/span>\n                <div>\n                  <strong>M\u00e1s r\u00e1pido que comparar 30 gu\u00edas<\/strong>\n                  <span>Te da las mejores opciones sin abrir cada trail una por una.<\/span>\n                <\/div>\n              <\/div>\n\n              <div class=\"hhh-tff2-proof-item\">\n                <span class=\"hhh-tff2-check\" aria-hidden=\"true\"><\/span>\n                <div>\n                  <strong>Menos ego, m\u00e1s sentido com\u00fan<\/strong>\n                  <span>Si eres principiante, evita rutas que no te corresponden todav\u00eda.<\/span>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <main class=\"hhh-tff2-quiz\" id=\"hhhTff2Quiz\">\n            <div class=\"hhh-tff2-progress-meta\">\n              <span id=\"hhhTff2StepText\">Pregunta 1 de 6<\/span>\n              <span id=\"hhhTff2PercentText\">0%<\/span>\n            <\/div>\n\n            <div class=\"hhh-tff2-progress\" aria-hidden=\"true\">\n              <div class=\"hhh-tff2-progress-fill\" id=\"hhhTff2ProgressFill\"><\/div>\n            <\/div>\n\n            <div class=\"hhh-tff2-question\" id=\"hhhTff2QuestionArea\">\n              <p>Cargando preguntas...<\/p>\n            <\/div>\n\n            <div class=\"hhh-tff2-nav\">\n              <button id=\"hhhTff2BackBtn\" type=\"button\">Atr\u00e1s<\/button>\n              <button id=\"hhhTff2RestartBtn\" class=\"hhh-tff2-restart\" type=\"button\">Reiniciar<\/button>\n            <\/div>\n          <\/main>\n        <\/div>\n      <\/section>\n\n      <section class=\"hhh-tff2-results\" id=\"hhhTff2Results\" hidden>\n        <div class=\"hhh-tff2-wrap\">\n          <div class=\"hhh-tff2-results-head\">\n            <span class=\"hhh-tff2-kicker\">Tus resultados<\/span>\n\n            <h2>Estas rutas tienen m\u00e1s sentido para ti.<\/h2>\n\n            <p>\n              Estos son tus mejores matches usando las rutas reales de tu p\u00e1gina de Trails.\n            <\/p>\n          <\/div>\n\n          <div class=\"hhh-tff2-alert\" id=\"hhhTff2SafetyNote\" hidden><\/div>\n\n          <div class=\"hhh-tff2-grid\" id=\"hhhTff2ResultGrid\"><\/div>\n\n          <div class=\"hhh-tff2-cta\">\n            <div class=\"hhh-tff2-cta-inner\">\n              <div>\n                <h2>\u00bfQuieres progresar sin meterte en rutas que no te corresponden?<\/h2>\n                <p>\n                  La Gu\u00eda de Hikes Monterrey te ayuda a elegir rutas por nivel, avanzar con m\u00e1s cabeza\n                  y evitar el cl\u00e1sico \u201cs\u00ed aguanto\u201d cinco minutos antes de arrepentirte.\n                <\/p>\n              <\/div>\n\n              <a class=\"hhh-tff2-btn hhh-tff2-btn-primary\" href=\"https:\/\/henryhateshiking.com\/es\/guia-de-hikes-monterrey\/\">\n                Ver la gu\u00eda\n              <\/a>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/section>\n\n      <div class=\"hhh-tff2-modal\" id=\"hhhTff2TrailModal\" hidden>\n        <div class=\"hhh-tff2-modal-backdrop\" data-hhh-tff2-close><\/div>\n\n        <div class=\"hhh-tff2-modal-panel\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Trail details\">\n          <button class=\"hhh-tff2-modal-close\" type=\"button\" data-hhh-tff2-close aria-label=\"Cerrar\">\u00d7<\/button>\n\n          <div class=\"hhh-tff2-modal-body\" id=\"hhhTff2TrailModalBody\">\n            <div class=\"hhh-tff2-modal-loading\">Cargando ruta...<\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <script>\n        (function () {\n          const root = document.getElementById('hhhTrailFinderFastV2');\n          if (!root) return;\n\n          const trails = [{\"id\":2946,\"title\":\"Calabace\u00f1as\",\"location\":\"San Pedro Garza Garcia, Nuevo Leon, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/wp-1763410886837896252580264548652.jpg\",\"difficulty\":\"moderate\",\"difficultySlug\":\"moderate\",\"distance\":5,\"elevation\":577,\"time\":3,\"snippet\":\"A very scenic, calm route. You need to know someone who can let you into the private neighborhood to get to the trailhead.\",\"expMin\":2,\"effort\":2,\"exposure\":1,\"technical\":1,\"close\":true,\"tags\":[\"vistas\",\"entrenamiento\",\"bosque\"]},{\"id\":2865,\"title\":\"Ca\u00f1\u00f3n de la Virgen\",\"location\":\"Santiago, Nuevo Leon, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/wp-17632396689231495664098864355994.jpg\",\"difficulty\":\"medium\",\"difficultySlug\":\"medium\",\"distance\":11.48,\"elevation\":360,\"time\":5.5,\"snippet\":\"A canyon scramble where you hop between giant rocks, climb the river bed, and get rewarded with a secret waterfall.\",\"expMin\":2,\"effort\":2,\"exposure\":1,\"technical\":2,\"close\":true,\"tags\":[\"agua\",\"aventura\",\"explorar\",\"remota\"]},{\"id\":4257,\"title\":\"Ca\u00f1\u00f3n El Mandarin\",\"location\":\"Allende, Nuevo Leon, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2026\/06\/Screenshot-2026-06-21-at-6.44.21-AM.png\",\"difficulty\":\"medium\",\"difficultySlug\":\"medium\",\"distance\":6.14,\"elevation\":1064,\"time\":5,\"snippet\":\"A short but intense canyon route with crystal-clear pools, waterfalls, downclimbs, water jumps, and rugged river walking.\",\"expMin\":3,\"effort\":4,\"exposure\":1,\"technical\":1,\"close\":false,\"tags\":[\"vistas\",\"cumbre\",\"agua\",\"aventura\"]},{\"id\":3759,\"title\":\"Casa Dr. Aguirre Peque\u00f1o\",\"location\":\"La Huasteca, Santa Catarina, Nuevo Leon, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2026\/02\/Screenshot_20260211_111725_Gallery.jpg\",\"difficulty\":\"easy\",\"difficultySlug\":\"easy\",\"distance\":3.5,\"elevation\":80,\"time\":2,\"snippet\":\"An abandoned house built into the side of the cliff. This place is super fun if you like exploring abandoned and historic places.\",\"expMin\":1,\"effort\":1,\"exposure\":0,\"technical\":0,\"close\":true,\"tags\":[\"explorar\",\"principiante\",\"historia\",\"tranqui\"]},{\"id\":2864,\"title\":\"Cascada del Chipit\u00edn\",\"location\":\"Potrero Redondo, Santiago, Nuevo Le\u00f3n, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/wp-17632388007535870793801104839611.jpg\",\"difficulty\":\"easy\",\"difficultySlug\":\"easy\",\"distance\":4.4,\"elevation\":300,\"time\":2.5,\"snippet\":\"A downhill rush to the craziest waterfall I've ever seen. There's also some giant pools of crystalline water for some cliff jumping.\",\"expMin\":2,\"effort\":2,\"exposure\":1,\"technical\":1,\"close\":false,\"tags\":[\"agua\",\"cascada\",\"aventura\"]},{\"id\":2948,\"title\":\"Cascada el Salto\",\"location\":\"Cinega de Gonzalez, Nuevo Leon, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/wp-17634108862413931207813370890156.jpg\",\"difficulty\":\"easy\",\"difficultySlug\":\"easy\",\"distance\":5.71,\"elevation\":1035,\"time\":7,\"snippet\":\"A pleasant route through a crazy canyon which leads to an even crazier waterfall.\",\"expMin\":2,\"effort\":3,\"exposure\":1,\"technical\":1,\"close\":false,\"tags\":[\"agua\",\"cascada\",\"aventura\"]},{\"id\":4061,\"title\":\"Cascada la Cebolla\",\"location\":\"Allende, Nuevo Leon, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2026\/04\/la-cebolla.png\",\"difficulty\":\"medium\",\"difficultySlug\":\"medium\",\"distance\":20,\"elevation\":1497,\"time\":6,\"snippet\":\"One of the most beautiful waterfalls in Nuevo Leon! The hike to arrive, however, is quite demanding.\",\"expMin\":3,\"effort\":4,\"exposure\":1,\"technical\":1,\"close\":false,\"tags\":[\"agua\",\"cascada\",\"larga\",\"entrenamiento\"]},{\"id\":2949,\"title\":\"Cascada Lamadrid\",\"location\":\"Lamadrid, Coahuila, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/wp-17634108861565240005353811983543.jpg\",\"difficulty\":\"medium\",\"difficultySlug\":\"medium\",\"distance\":25,\"elevation\":284,\"time\":11,\"snippet\":\"This route will take you out into the middle of the desert. Just when you think you are not going to find anything, you stumble across a real oasis.\",\"expMin\":3,\"effort\":4,\"exposure\":1,\"technical\":1,\"close\":false,\"tags\":[\"agua\",\"cascada\",\"remota\",\"larga\",\"desierto\"]},{\"id\":3930,\"title\":\"Cerro el Chup\u00f3n\",\"location\":\"Monterrey, Nuevo Le\u00f3n, M\u00e9xico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2026\/03\/DJI_20260314135721_0004_D-scaled.jpg\",\"difficulty\":\"easy\",\"difficultySlug\":\"easy\",\"distance\":4.5,\"elevation\":415,\"time\":2.5,\"snippet\":\"A quick and accessible hike in south Monterrey, Cerro El Chup\u00f3n is a solid option when you want good views, a decent climb, and a quick route.\",\"expMin\":1,\"effort\":2,\"exposure\":1,\"technical\":1,\"close\":true,\"tags\":[\"vistas\",\"principiante\",\"entrenamiento\",\"cumbre\"]},{\"id\":2835,\"title\":\"Cerro el Musgo\",\"location\":\"San Juan de los Dolores, Coahuila, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/wp-17632351281514414471138878854011.jpg\",\"difficulty\":\"moderate\",\"difficultySlug\":\"moderate\",\"distance\":9.7,\"elevation\":940,\"time\":5.5,\"snippet\":\"Mines, forests, and sick views. What more could you possible ask for in a hike? El Musgo has it all.\",\"expMin\":2,\"effort\":3,\"exposure\":1,\"technical\":1,\"close\":false,\"tags\":[\"bosque\",\"vistas\",\"explorar\",\"remota\"]},{\"id\":2845,\"title\":\"Cumbre La Viga\",\"location\":\"Los Lirios, Coahuila, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/wp-17632367181921208483796905557161.jpg\",\"difficulty\":\"medium\",\"difficultySlug\":\"medium\",\"distance\":9.21,\"elevation\":1238,\"time\":6,\"snippet\":\"High elevation hike through a chill forest. Not technically difficult, but very rewarding views from the peak and lots of vegetation.\",\"expMin\":3,\"effort\":4,\"exposure\":2,\"technical\":2,\"close\":false,\"tags\":[\"cumbre\",\"vistas\",\"bosque\",\"alta-montana\"]},{\"id\":2853,\"title\":\"El Cielito\",\"location\":\"Santiago, Nuevo Leon, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/wp-17632378634502543834350535105759.jpg\",\"difficulty\":\"easy\",\"difficultySlug\":\"easy\",\"distance\":14,\"elevation\":448,\"time\":5,\"snippet\":\"A criminally underrated route that takes you along a winding river, through an insane valley, and to some crazy waterfalls.\",\"expMin\":2,\"effort\":2,\"exposure\":1,\"technical\":2,\"close\":false,\"tags\":[\"agua\",\"aventura\",\"explorar\",\"remota\"]},{\"id\":3926,\"title\":\"El Sapo\",\"location\":\"Garc\u00eda, Nuevo Le\u00f3n, M\u00e9xico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2026\/03\/DJI_20260201121317_0024_D-scaled.jpg\",\"difficulty\":\"difficult\",\"difficultySlug\":\"difficult\",\"distance\":14,\"elevation\":1607,\"time\":8,\"snippet\":\"One of the toughest hikes near Monterrey, El Sapo is a steep, exposed climb with massive elevation gain and summit views that make it worth the suffering.\",\"expMin\":4,\"effort\":4,\"exposure\":3,\"technical\":2,\"close\":false,\"tags\":[\"cumbre\",\"vistas\",\"sufrimiento\",\"entrenamiento\"]},{\"id\":2936,\"title\":\"La Eme\",\"location\":\"Parque Ecol\u00f3gico Chipinque, Monterrey, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/wp-17634108885751335593090040648305.jpg\",\"difficulty\":\"hard\",\"difficultySlug\":\"hard\",\"distance\":16.28,\"elevation\":939,\"time\":8,\"snippet\":\"A classic Monterrey hike. There are several moderately intense climbing sections. The trail is very nice and scenic. You do have to pay to do it.\",\"expMin\":3,\"effort\":4,\"exposure\":2,\"technical\":2,\"close\":true,\"tags\":[\"clasica\",\"vistas\",\"bosque\",\"cumbre\",\"entrenamiento\"]},{\"id\":2941,\"title\":\"La Rayita\",\"location\":\"Parque Ecol\u00f3gico la Huasteca, Monterrey, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/wp-17634108858275585330782211665572.jpg\",\"difficulty\":\"easy\",\"difficultySlug\":\"easy\",\"distance\":4,\"elevation\":400,\"time\":3.5,\"snippet\":\"My first hike ever in Monterrey. Very easy and a great introduction to hiking. Nice views of the inside of la Huasteca.\",\"expMin\":1,\"effort\":1,\"exposure\":1,\"technical\":1,\"close\":true,\"tags\":[\"principiante\",\"vistas\",\"clasica\",\"cumbre\"]},{\"id\":4222,\"title\":\"La rayita\",\"location\":\"La huasteca, santa catarina, Nuevo Leon\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2026\/05\/1000011228.jpg\",\"difficulty\":\"easy\",\"difficultySlug\":\"easy\",\"distance\":2,\"elevation\":150,\"time\":1,\"snippet\":\"La rayita es un lugar f\u00e1cil si cuentas con algo de experiencia, o si quieres empezar a subir de nivel\",\"expMin\":1,\"effort\":1,\"exposure\":1,\"technical\":1,\"close\":true,\"tags\":[\"principiante\",\"vistas\",\"clasica\",\"cumbre\"]},{\"id\":4261,\"title\":\"Las Cascaditas & Cozumelito\",\"location\":\"Allende, Nuevo Leon, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2026\/06\/Screenshot-2026-06-21-at-7.01.36-AM.png\",\"difficulty\":\"moderate\",\"difficultySlug\":\"moderate\",\"distance\":12,\"elevation\":156,\"time\":6,\"snippet\":\"A fun route along Rio Ramos with lots of water, waterfalls, and clear pools for swimming.\",\"expMin\":2,\"effort\":3,\"exposure\":1,\"technical\":1,\"close\":false,\"tags\":[\"vistas\"]},{\"id\":2944,\"title\":\"Mirador Telef\u00e9rico\",\"location\":\"Cerro de la Silla, Monterrey, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/wp-1763410887214285404230851453057.jpg\",\"difficulty\":\"easy\",\"difficultySlug\":\"easy\",\"distance\":4.88,\"elevation\":500,\"time\":3.9,\"snippet\":\"A steady ascent from urban trailhead to the Telef\u00e9rico lookout on Cerro de la Silla. 180 degree panoramic views from the top.\",\"expMin\":1,\"effort\":2,\"exposure\":0,\"technical\":0,\"close\":true,\"tags\":[\"principiante\",\"vistas\",\"clasica\",\"entrenamiento\"]},{\"id\":4265,\"title\":\"Nido de los Aguiluchos\",\"location\":\"La Huasteca, Santa Catarina, Nuevo Leon\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2026\/06\/20260607_111117-scaled.jpg\",\"difficulty\":\"medium\",\"difficultySlug\":\"medium\",\"distance\":5.6,\"elevation\":500,\"time\":2.5,\"snippet\":\"A short but steep route in La Huasteca with loose rock, exposed sun, scrambling sections, and some of the best views over the canyon and the city.\",\"expMin\":3,\"effort\":3,\"exposure\":1,\"technical\":1,\"close\":true,\"tags\":[\"vistas\"]},{\"id\":4217,\"title\":\"Parque La Estanzuela\",\"location\":\"Santiago, Nuevo Le\u00f3n\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2026\/05\/B7A6D963-7097-4D41-AAB0-86710806DB94.jpeg\",\"difficulty\":\"easy\",\"difficultySlug\":\"easy\",\"distance\":10,\"elevation\":545,\"time\":5,\"snippet\":\"A great hike to the 3 main waterfalls of parque la Estanzuela, it can be a bit steep sometimes but the trail is very well marked and easy to follow.\",\"expMin\":1,\"effort\":2,\"exposure\":0,\"technical\":0,\"close\":false,\"tags\":[\"vistas\",\"principiante\"]},{\"id\":2945,\"title\":\"Pico Alfa\",\"location\":\"Cerro de las Mitras, Monterrey, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/wp-17634108870124872573660955425144.jpg\",\"difficulty\":\"hard\",\"difficultySlug\":\"hard\",\"distance\":14,\"elevation\":1200,\"time\":9.6,\"snippet\":\"Only true sigmas can make it to the top of Pico Alfa.\",\"expMin\":3,\"effort\":4,\"exposure\":2,\"technical\":2,\"close\":true,\"tags\":[\"cumbre\",\"vistas\",\"sufrimiento\",\"mitras\"]},{\"id\":2935,\"title\":\"Pico Antena\",\"location\":\"Cerro de la Silla, Monterrey, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/wp-17634082941368871249999517237131.jpg\",\"difficulty\":\"medium\",\"difficultySlug\":\"medium\",\"distance\":12.3,\"elevation\":1230,\"time\":6,\"snippet\":\"A great intro-to-hiking route due to the fact that the trail is concrete and there is no chance of getting lost. It is a challenge for the calves, though.\",\"expMin\":2,\"effort\":3,\"exposure\":0,\"technical\":0,\"close\":true,\"tags\":[\"clasica\",\"vistas\",\"entrenamiento\",\"cumbre\"]},{\"id\":2943,\"title\":\"Pico Cuauht\u00e9moc\",\"location\":\"Cerro de las Mitras, Monterrey, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/wp-1763410887665905169605319535078.jpg\",\"difficulty\":\"hard\",\"difficultySlug\":\"hard\",\"distance\":13.16,\"elevation\":1635,\"time\":9,\"snippet\":\"A long, high-crest route to the highest point of Cerro de las Mitras featuring rock scrambles, ridge walking and expansive summit views.\",\"expMin\":4,\"effort\":4,\"exposure\":3,\"technical\":3,\"close\":true,\"tags\":[\"cumbre\",\"vistas\",\"mitras\",\"sufrimiento\",\"aventura\"]},{\"id\":2940,\"title\":\"Pico K2\",\"location\":\"Santiago, Nuevo Leon, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/wp-17634108878104039979088152174952.jpg\",\"difficulty\":\"hard\",\"difficultySlug\":\"hard\",\"distance\":16,\"elevation\":1219,\"time\":10,\"snippet\":\"A full canyon-and-ridge ascent to Pico K2 via the Ca\u00f1on de la Virgen, with forest paths, rock scrambles and a demanding final section.\",\"expMin\":4,\"effort\":4,\"exposure\":2,\"technical\":2,\"close\":false,\"tags\":[\"cumbre\",\"aventura\",\"vistas\",\"remota\"]},{\"id\":2875,\"title\":\"Pico Norte\",\"location\":\"Cerro de la Silla, Monterrey, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/wp-17632455125001696972909339808357.jpg\",\"difficulty\":\"moderate\",\"difficultySlug\":\"moderate\",\"distance\":10.9,\"elevation\":1426,\"time\":8,\"snippet\":\"The tallest peak of Cerro de la Silla. There is no technical climbing here, but the path is steep. The views of the city and other peaks from here are crazy.\",\"expMin\":3,\"effort\":4,\"exposure\":2,\"technical\":1,\"close\":true,\"tags\":[\"clasica\",\"cumbre\",\"vistas\",\"entrenamiento\"]},{\"id\":2751,\"title\":\"Pico Perico\",\"location\":\"Monterrey, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/screenshot_20251112_105650_gallery6355022815491007397.jpg\",\"difficulty\":\"hard\",\"difficultySlug\":\"hard\",\"distance\":11.24,\"elevation\":1500,\"time\":8,\"snippet\":\"One of my favorite peaks in Cerro de las Mitras, complete with sketchy climbs, mines, and crazy views.\",\"expMin\":3,\"effort\":4,\"exposure\":2,\"technical\":2,\"close\":true,\"tags\":[\"mitras\",\"cumbre\",\"vistas\",\"aventura\"]},{\"id\":2942,\"title\":\"Pico Piloto\",\"location\":\"Cerro de las Mitras, Monterrey, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/wp-17634108872753406256916535535877.jpg\",\"difficulty\":\"hard\",\"difficultySlug\":\"hard\",\"distance\":10,\"elevation\":1300,\"time\":8.5,\"snippet\":\"Pico Piloto is one of the most fun peaks in Cerro de las Mitras. The final scramble will have you using cords and chains to ascend with nothing but air behind.\",\"expMin\":4,\"effort\":4,\"exposure\":3,\"technical\":3,\"close\":true,\"tags\":[\"mitras\",\"cumbre\",\"vistas\",\"aventura\",\"minas\"]},{\"id\":2939,\"title\":\"Pico Piqu\u00edn\",\"location\":\"Cerro de las Mitras, Monterrey, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/wp-17634108881101504241318965109664.jpg\",\"difficulty\":\"moderate\",\"difficultySlug\":\"moderate\",\"distance\":9.4,\"elevation\":533,\"time\":2.5,\"snippet\":\"This short, easy route takes you up to Pico Piqu\u00edn. From here you will have nice views of Cerro de las Mitras and Cerro de la Silla.\",\"expMin\":2,\"effort\":2,\"exposure\":1,\"technical\":1,\"close\":true,\"tags\":[\"vistas\",\"cumbre\",\"entrenamiento\",\"mitras\"]},{\"id\":2787,\"title\":\"Pico Pir\u00e1mide\",\"location\":\"Cerro de las Mitras, Monterrey, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/wp-17632324808146159372604723106964.jpg\",\"difficulty\":\"hard\",\"difficultySlug\":\"hard\",\"distance\":9.21,\"elevation\":1200,\"time\":7.7,\"snippet\":\"A steep, exposed scramble where the mountain casually checks if your legs, lungs, and will to live are up to code.\",\"expMin\":4,\"effort\":4,\"exposure\":3,\"technical\":3,\"close\":true,\"tags\":[\"mitras\",\"cumbre\",\"vistas\",\"aventura\",\"minas\",\"sufrimiento\"]},{\"id\":2870,\"title\":\"Pico Sur\",\"location\":\"Cerro de la Silla, Monterrey, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/wp-17632450055475757987623800740534.jpg\",\"difficulty\":\"difficult\",\"difficultySlug\":\"difficult\",\"distance\":10,\"elevation\":1310,\"time\":7,\"snippet\":\"A crazy scary and fun climb: you\u2019ll scramble vertical walls, clutch chains over exposed drops and feel superior when you stand above Monterrey :)\",\"expMin\":4,\"effort\":4,\"exposure\":3,\"technical\":3,\"close\":true,\"tags\":[\"clasica\",\"cumbre\",\"vistas\",\"aventura\",\"sufrimiento\"]},{\"id\":4210,\"title\":\"Pico Sur\",\"location\":\"Monterrey, Nuevo Le\u00f3n\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2026\/05\/inbound10529956815213308.jpg\",\"difficulty\":\"hard\",\"difficultySlug\":\"hard\",\"distance\":14,\"elevation\":1200,\"time\":8,\"snippet\":\"EL MEJOR PICO DEL CERRO DE LA SILLA . Solo para valientes\",\"expMin\":4,\"effort\":4,\"exposure\":3,\"technical\":3,\"close\":true,\"tags\":[\"clasica\",\"cumbre\",\"vistas\",\"aventura\",\"sufrimiento\"]},{\"id\":2852,\"title\":\"Pico UDEM\",\"location\":\"San Pedro Garza Garcia, Nuevo Leon, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/wp-17632369833162065350992566521868.jpg\",\"difficulty\":\"moderate\",\"difficultySlug\":\"moderate\",\"distance\":12,\"elevation\":940,\"time\":6.5,\"snippet\":\"One of my most frequented routes in Monterrey. This climb is super fun and a nice introduction to climbing. The final push through a giant canyon is amazing.\",\"expMin\":3,\"effort\":3,\"exposure\":2,\"technical\":2,\"close\":true,\"tags\":[\"cumbre\",\"vistas\",\"aventura\",\"entrenamiento\"]},{\"id\":2947,\"title\":\"Potrero de Abrego\",\"location\":\"San Juan de las Boquillas, Nuevo Leon, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/wp-17634108864387803235345194217438.jpg\",\"difficulty\":\"medium\",\"difficultySlug\":\"medium\",\"distance\":15,\"elevation\":1563,\"time\":9,\"snippet\":\"You will feel like you are in the middle of nowhere with this hike. And, to be fair, you will be. There are some secret caves also.\",\"expMin\":3,\"effort\":4,\"exposure\":2,\"technical\":2,\"close\":false,\"tags\":[\"remota\",\"cuevas\",\"vistas\",\"cumbre\",\"aventura\"]},{\"id\":3934,\"title\":\"Puerto Gringo\",\"location\":\"Santiago, Nuevo Le\u00f3n\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2026\/03\/Screenshot_20260325_173227_Gallery.jpg\",\"difficulty\":\"medium\",\"difficultySlug\":\"medium\",\"distance\":20,\"elevation\":1094,\"time\":7,\"snippet\":\"A long and rewarding loop in Santiago, Puerto Gringo is a solid mountain route with strong elevation gain, wide views, and lots of distance.\",\"expMin\":3,\"effort\":4,\"exposure\":1,\"technical\":1,\"close\":false,\"tags\":[\"larga\",\"vistas\",\"entrenamiento\",\"cumbre\"]},{\"id\":2938,\"title\":\"Ruta del Minero\",\"location\":\"Cerro de las Mitras, Monterrey, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/wp-17634108885203838764214444261138.jpg\",\"difficulty\":\"hard\",\"difficultySlug\":\"hard\",\"distance\":17.32,\"elevation\":850,\"time\":8,\"snippet\":\"Climb up to some abandoned mines and cross through the entire mountain! If you like caves and mines then this will be an ideal route for you.\",\"expMin\":4,\"effort\":4,\"exposure\":3,\"technical\":3,\"close\":true,\"tags\":[\"mitras\",\"minas\",\"explorar\",\"aventura\",\"larga\"]},{\"id\":2860,\"title\":\"Salkantay Trek\",\"location\":\"Cusco Region, Peru\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/wp-17632383067058707015479750794639.jpg\",\"difficulty\":\"hard\",\"difficultySlug\":\"hard\",\"distance\":75,\"elevation\":3000,\"time\":20,\"snippet\":\"The coolest experience of my life so far. Trek through the Andes mountains of Peru and see some of the most breathtaking views ever.\",\"expMin\":4,\"effort\":4,\"exposure\":2,\"technical\":2,\"close\":false,\"tags\":[\"remota\",\"larga\",\"alta-montana\",\"aventura\",\"vistas\"]},{\"id\":2841,\"title\":\"Sierra de la Marta\",\"location\":\"Mesa de las Tables, Coahuila, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/wp-17632360122238313782399328050121.jpg\",\"difficulty\":\"moderate\",\"difficultySlug\":\"moderate\",\"distance\":13.26,\"elevation\":813,\"time\":7,\"snippet\":\"This peak has been called the \\\"Switzerland of Mexico\\\" haha. In the fall it is very pretty with the changing colors of the leaves. Moderately difficult.\",\"expMin\":2,\"effort\":3,\"exposure\":1,\"technical\":1,\"close\":false,\"tags\":[\"bosque\",\"vistas\",\"remota\",\"alta-montana\"]},{\"id\":2937,\"title\":\"Sillalogia\",\"location\":\"Cerro de la Silla, Monterrey, Mexico\",\"image\":\"https:\/\/henryhateshiking.com\/wp-content\/uploads\/2025\/11\/wp-17632455125001696972909339808357.jpg\",\"difficulty\":\"difficult\",\"difficultySlug\":\"difficult\",\"distance\":13,\"elevation\":1260,\"time\":8.5,\"snippet\":\"Think you can take on all 4 peaks of Cerro de la Silla in one day? If so, then this is the perfect challenge for you.\",\"expMin\":4,\"effort\":4,\"exposure\":3,\"technical\":3,\"close\":true,\"tags\":[\"clasica\",\"cumbre\",\"sufrimiento\",\"reto\",\"vistas\"]}];\n          const ajaxUrl = \"https:\\\/\\\/henryhateshiking.com\\\/wp-admin\\\/admin-ajax.php\";\n\n          const questions = [\n            {\n              key: 'experience',\n              title: '\u00bfQu\u00e9 tanta experiencia tienes haciendo hiking?',\n              subtitle: 'S\u00e9 honesto. El cerro no se impresiona con mentiras.',\n              options: [\n                { label: 'Soy principiante', desc: 'Quiero algo seguro para empezar sin morir.', emoji: '\ud83c\udf31', value: 1 },\n                { label: 'Ya hice algunas rutas', desc: 'Aguanto una subida, pero todav\u00eda estoy aprendiendo.', emoji: '\ud83e\udd7e', value: 2 },\n                { label: 'Hago hiking seguido', desc: 'Puedo con rutas largas o pesadas si valen la pena.', emoji: '\u26f0\ufe0f', value: 3 },\n                { label: 'Quiero algo serio', desc: 'Tengo experiencia y no me asustan rutas t\u00e9cnicas.', emoji: '\ud83d\uddff', value: 4 }\n              ]\n            },\n            {\n              key: 'time',\n              title: '\u00bfCu\u00e1nto tiempo tienes?',\n              subtitle: 'Incluye subida, bajada, descansos y el momento donde cuestionas tus decisiones.',\n              options: [\n                { label: 'Menos de 3 horas', desc: 'Algo r\u00e1pido antes de seguir con mi vida.', emoji: '\u23f1\ufe0f', value: 3 },\n                { label: '3 a 5 horas', desc: 'Una salida completa, pero no todo el d\u00eda.', emoji: '\ud83c\udf24\ufe0f', value: 5 },\n                { label: '5 a 8 horas', desc: 'Ya se vale sufrir tantito.', emoji: '\ud83d\udd25', value: 8 },\n                { label: 'Todo el d\u00eda', desc: 'Mi agenda dice: cerro y arrepentimiento.', emoji: '\ud83d\udc80', value: 99 }\n              ]\n            },\n            {\n              key: 'effort',\n              title: '\u00bfQu\u00e9 tan destruido quieres terminar?',\n              subtitle: 'La respuesta correcta depende de tu nivel de estabilidad emocional.',\n              options: [\n                { label: 'Tranqui', desc: 'Quiero caminar, ver algo bonito y volver funcional.', emoji: '\ud83d\ude0c', value: 1 },\n                { label: 'Que se sienta', desc: 'Quiero una buena subida sin quedar arruinado.', emoji: '\ud83d\ude24', value: 2 },\n                { label: 'Quiero sufrir tantito', desc: 'Algo pesado, pero todav\u00eda razonable.', emoji: '\ud83e\udd75', value: 3 },\n                { label: 'Destr\u00fayeme', desc: 'Quiero una ruta que me cambie la personalidad.', emoji: '\u2620\ufe0f', value: 4 }\n              ]\n            },\n            {\n              key: 'vibe',\n              title: '\u00bfQu\u00e9 tipo de ruta se te antoja?',\n              subtitle: 'Elige la vibra principal. El algoritmo se encarga del caos.',\n              options: [\n                { label: 'Vistas chidas', desc: 'Quiero miradores, ciudad, monta\u00f1as y fotos.', emoji: '\ud83c\udf04', value: 'vistas' },\n                { label: 'Agua o cascada', desc: 'R\u00edo, pozas, cascada o algo que parezca oasis.', emoji: '\ud83d\udca7', value: 'agua' },\n                { label: 'Cl\u00e1sica de Monterrey', desc: 'Una ruta ic\u00f3nica que todos deber\u00edan hacer.', emoji: '\ud83c\udfd4\ufe0f', value: 'clasica' },\n                { label: 'Explorar algo raro', desc: 'Minas, cuevas, casas abandonadas o ca\u00f1ones.', emoji: '\ud83d\udd26', value: 'explorar' },\n                { label: 'Entrenamiento', desc: 'Quiero mejorar condici\u00f3n para subir de nivel.', emoji: '\ud83c\udfc3', value: 'entrenamiento' },\n                { label: 'Aventura remota', desc: 'Quiero sentir que estoy lejos de todo.', emoji: '\ud83e\udded', value: 'remota' }\n              ]\n            },\n            {\n              key: 'exposure',\n              title: '\u00bfC\u00f3mo te sientes con alturas, trepadas o partes expuestas?',\n              subtitle: 'No hay premio por fingir que no te da miedo.',\n              options: [\n                { label: 'No gracias', desc: 'Prefiero una ruta clara y sin sketchy business.', emoji: '\ud83d\udeab', value: 0 },\n                { label: 'Un poco est\u00e1 bien', desc: 'Puedo con piedra suelta o una subida algo inc\u00f3moda.', emoji: '\ud83e\udea8', value: 1 },\n                { label: 'Estoy c\u00f3modo', desc: 'Puedo con trepadas moderadas y algo de exposici\u00f3n.', emoji: '\ud83e\uddd7', value: 2 },\n                { label: 'Eso es lo divertido', desc: 'Cadenas, crestas, scrambling, caos controlado.', emoji: '\ud83e\udd21', value: 3 }\n              ]\n            },\n            {\n              key: 'access',\n              title: '\u00bfQu\u00e9 tan lejos est\u00e1s dispuesto a ir?',\n              subtitle: 'Porque a veces el verdadero hike es llegar al inicio.',\n              options: [\n                { label: 'Cerca de Monterrey', desc: 'Quiero algo accesible y pr\u00e1ctico.', emoji: '\ud83d\ude97', value: 'close' },\n                { label: 'Puedo manejar un poco', desc: 'Me salgo de la ciudad si vale la pena.', emoji: '\ud83d\udee3\ufe0f', value: 'drive' },\n                { label: 'Distancia no importa', desc: 'Si la ruta est\u00e1 chida, jalo.', emoji: '\ud83c\udf0e', value: 'any' }\n              ]\n            }\n          ];\n\n          let currentStep = 0;\n          const answers = {};\n\n          const questionArea = root.querySelector('#hhhTff2QuestionArea');\n          const backBtn = root.querySelector('#hhhTff2BackBtn');\n          const restartBtn = root.querySelector('#hhhTff2RestartBtn');\n          const stepText = root.querySelector('#hhhTff2StepText');\n          const percentText = root.querySelector('#hhhTff2PercentText');\n          const progressFill = root.querySelector('#hhhTff2ProgressFill');\n          const resultsSection = root.querySelector('#hhhTff2Results');\n          const resultGrid = root.querySelector('#hhhTff2ResultGrid');\n          const safetyNote = root.querySelector('#hhhTff2SafetyNote');\n\n          function escapeHtml(value) {\n            return String(value || '')\n              .replace(\/&\/g, '&amp;')\n              .replace(\/<\/g, '&lt;')\n              .replace(\/>\/g, '&gt;')\n              .replace(\/\"\/g, '&quot;')\n              .replace(\/'\/g, '&#039;');\n          }\n\n          function renderQuestion() {\n            const q = questions[currentStep];\n            const percent = Math.round((currentStep \/ questions.length) * 100);\n\n            stepText.textContent = `Pregunta ${currentStep + 1} de ${questions.length}`;\n            percentText.textContent = `${percent}%`;\n            progressFill.style.width = `${percent}%`;\n            backBtn.disabled = currentStep === 0;\n\n            questionArea.innerHTML = `\n              <h2>${escapeHtml(q.title)}<\/h2>\n              <p>${escapeHtml(q.subtitle)}<\/p>\n              <div class=\"hhh-tff2-answers\">\n                ${q.options.map((option, index) => `\n                  <button class=\"hhh-tff2-answer\" type=\"button\" data-option-index=\"${index}\">\n                    <span class=\"hhh-tff2-answer-emoji\">${escapeHtml(option.emoji)}<\/span>\n                    <span>\n                      <span class=\"hhh-tff2-answer-title\">${escapeHtml(option.label)}<\/span>\n                      <span class=\"hhh-tff2-answer-desc\">${escapeHtml(option.desc)}<\/span>\n                    <\/span>\n                    <span class=\"hhh-tff2-answer-arrow\">\u2192<\/span>\n                  <\/button>\n                `).join('')}\n              <\/div>\n            `;\n\n            questionArea.querySelectorAll('.hhh-tff2-answer').forEach(button => {\n              button.addEventListener('click', () => {\n                const selected = q.options[Number(button.dataset.optionIndex)];\n                answers[q.key] = selected.value;\n\n                if (currentStep < questions.length - 1) {\n                  currentStep += 1;\n                  renderQuestion();\n                  root.querySelector('#hhhTff2Quiz').scrollIntoView({ behavior: 'smooth', block: 'center' });\n                } else {\n                  showResults();\n                }\n              });\n            });\n          }\n\n          function scoreTrail(trail) {\n            let score = 0;\n            const reasons = [];\n            const penalties = [];\n\n            if (answers.experience >= trail.expMin) {\n              score += 26;\n              reasons.push('nivel compatible');\n            } else {\n              score -= (trail.expMin - answers.experience) * 30;\n              penalties.push('requiere m\u00e1s experiencia');\n            }\n\n            if (answers.time === 99) {\n              score += trail.time >= 6 ? 18 : 8;\n            } else if (trail.time <= answers.time) {\n              score += Math.max(18 - Math.abs(trail.time - answers.time) * 3, 5);\n              reasons.push('entra en tu tiempo');\n            } else {\n              score -= Math.min((trail.time - answers.time) * 8, 28);\n              penalties.push('puede tomar m\u00e1s tiempo');\n            }\n\n            const effortDiff = Math.abs(trail.effort - answers.effort);\n            score += Math.max(22 - effortDiff * 8, 0);\n\n            if (effortDiff <= 1) {\n              reasons.push('esfuerzo parecido a lo que pediste');\n            }\n\n            if (Array.isArray(trail.tags) && trail.tags.includes(answers.vibe)) {\n              score += 28;\n              reasons.push('coincide con la vibra que quieres');\n            } else if (answers.vibe === 'explorar' && Array.isArray(trail.tags) && (trail.tags.includes('minas') || trail.tags.includes('cuevas'))) {\n              score += 22;\n              reasons.push('tiene vibra de exploraci\u00f3n');\n            }\n\n            if (trail.exposure <= answers.exposure) {\n              score += 18;\n            } else {\n              score -= (trail.exposure - answers.exposure) * 26;\n              penalties.push('tiene m\u00e1s exposici\u00f3n');\n            }\n\n            if (answers.access === 'close') {\n              if (trail.close) {\n                score += 14;\n                reasons.push('queda cerca de Monterrey');\n              } else {\n                score -= 14;\n              }\n            } else if (answers.access === 'drive') {\n              score += trail.close ? 6 : 10;\n            } else {\n              score += 8;\n            }\n\n            if (answers.experience <= 1 && (trail.expMin >= 3 || trail.exposure >= 2 || trail.time > 6 || trail.elevation > 1000)) {\n              score -= 90;\n              penalties.push('no es ideal para principiantes');\n            }\n\n            if (answers.exposure === 0 && trail.exposure >= 2) {\n              score -= 80;\n              penalties.push('tiene exposici\u00f3n que probablemente no quieres');\n            }\n\n            return { ...trail, score, reasons, penalties };\n          }\n\n          function fallbackCardHtml(result, index) {\n            const rank = index === 0 ? 'Mejor match' : `Opci\u00f3n ${index + 1}`;\n\n            const img = result.image\n              ? `<button class=\"hhh-tff2-card-img hhh-tff2-open-trail\" type=\"button\" data-trail-id=\"${escapeHtml(result.id)}\"><img decoding=\"async\" src=\"${escapeHtml(result.image)}\" alt=\"${escapeHtml(result.title)}\" loading=\"lazy\"><\/button>`\n              : `<button class=\"hhh-tff2-card-img hhh-tff2-open-trail\" type=\"button\" data-trail-id=\"${escapeHtml(result.id)}\"><\/button>`;\n\n            const stats = [\n              result.distance ? `\ud83e\udd7e ${result.distance} km` : '',\n              result.elevation ? `\u26f0\ufe0f ${result.elevation} m` : '',\n              result.time ? `\u23f1\ufe0f ${result.time} h` : '',\n              result.difficulty ? `\ud83d\udd25 ${result.difficulty}` : ''\n            ].filter(Boolean);\n\n            const why = result.reasons && result.reasons.length\n              ? `Por qu\u00e9 te sali\u00f3: ${result.reasons.slice(0, 3).join(', ')}.`\n              : 'Buena opci\u00f3n seg\u00fan tus respuestas. Revisa los detalles antes de ir.';\n\n            return `\n              <article class=\"hhh-tff2-card\">\n                ${img}\n                <div class=\"hhh-tff2-card-body\">\n                  <span class=\"hhh-tff2-rank\">${escapeHtml(rank)}<\/span>\n                  <h3>\n                    <button class=\"hhh-tff2-title-button hhh-tff2-open-trail\" type=\"button\" data-trail-id=\"${escapeHtml(result.id)}\">\n                      ${escapeHtml(result.title)}\n                    <\/button>\n                  <\/h3>\n                  ${result.location ? `<p class=\"hhh-tff2-card-location\">${escapeHtml(result.location)}<\/p>` : ''}\n                  <div class=\"hhh-tff2-card-meta\">\n                    ${stats.map(stat => `<span class=\"hhh-tff2-chip\">${escapeHtml(stat)}<\/span>`).join('')}\n                  <\/div>\n                  ${result.snippet ? `<p class=\"hhh-tff2-card-desc\">${escapeHtml(result.snippet)}<\/p>` : ''}\n                  <p class=\"hhh-tff2-card-why\">${escapeHtml(why)}<\/p>\n                  <button class=\"hhh-tff2-card-link hhh-tff2-open-trail\" type=\"button\" data-trail-id=\"${escapeHtml(result.id)}\">\n                    Ver detalles de la ruta \u2192\n                  <\/button>\n                <\/div>\n              <\/article>\n            `;\n          }\n\n          async function loadResultCards(topResults) {\n            resultGrid.innerHTML = `\n              <div class=\"hhh-tff2-card-skeleton\"><\/div>\n              <div class=\"hhh-tff2-card-skeleton\"><\/div>\n              <div class=\"hhh-tff2-card-skeleton\"><\/div>\n            `;\n\n            const formData = new FormData();\n            formData.append('action', 'hhh_tff2_load_result_cards');\n            formData.append('ids', topResults.map(result => result.id).join(','));\n\n            try {\n              const response = await fetch(ajaxUrl, {\n                method: 'POST',\n                body: formData,\n                credentials: 'same-origin'\n              });\n\n              const data = await response.json();\n\n              if (!data.success || !data.data || !data.data.html) {\n                throw new Error('Could not load result cards.');\n              }\n\n              resultGrid.innerHTML = data.data.html;\n\n              topResults.forEach(result => {\n                const whyEl = resultGrid.querySelector(`[data-why-for=\"${result.id}\"]`);\n\n                if (!whyEl) return;\n\n                const why = result.reasons && result.reasons.length\n                  ? `Por qu\u00e9 te sali\u00f3: ${result.reasons.slice(0, 3).join(', ')}.`\n                  : 'Buena opci\u00f3n seg\u00fan tus respuestas. Revisa los detalles antes de ir.';\n\n                whyEl.textContent = why;\n              });\n            } catch (error) {\n              resultGrid.innerHTML = topResults.map(fallbackCardHtml).join('');\n            }\n          }\n\n          async function openTrailModal(trailId) {\n            const modal = root.querySelector('#hhhTff2TrailModal');\n            const modalBody = root.querySelector('#hhhTff2TrailModalBody');\n\n            if (!modal || !modalBody) return;\n\n            modal.hidden = false;\n            document.body.style.overflow = 'hidden';\n            modalBody.innerHTML = '<div class=\"hhh-tff2-modal-loading\">Cargando ruta...<\/div>';\n\n            const formData = new FormData();\n            formData.append('action', 'hhh_tff2_load_modal');\n            formData.append('id', trailId);\n\n            try {\n              const response = await fetch(ajaxUrl, {\n                method: 'POST',\n                body: formData,\n                credentials: 'same-origin'\n              });\n\n              const data = await response.json();\n\n              if (!data.success || !data.data || !data.data.html) {\n                throw new Error('Could not load trail.');\n              }\n\n              modalBody.innerHTML = data.data.html;\n            } catch (error) {\n              modalBody.innerHTML = '<div class=\"hhh-tff2-modal-loading\">No se pudo cargar la ruta. Intenta de nuevo.<\/div>';\n            }\n          }\n\n          function closeTrailModal() {\n            const modal = root.querySelector('#hhhTff2TrailModal');\n            const modalBody = root.querySelector('#hhhTff2TrailModalBody');\n\n            if (!modal) return;\n\n            modal.hidden = true;\n            document.body.style.overflow = '';\n\n            if (modalBody) {\n              modalBody.innerHTML = '<div class=\"hhh-tff2-modal-loading\">Cargando ruta...<\/div>';\n            }\n          }\n\n          function showResults() {\n            progressFill.style.width = '100%';\n            percentText.textContent = '100%';\n            stepText.textContent = 'Resultados listos';\n\n            if (!Array.isArray(trails) || !trails.length) {\n              resultGrid.innerHTML = '<p>No encontr\u00e9 rutas publicadas todav\u00eda.<\/p>';\n              resultsSection.hidden = false;\n              resultsSection.scrollIntoView({ behavior: 'smooth', block: 'start' });\n              return;\n            }\n\n            const scored = trails.map(scoreTrail).sort((a, b) => b.score - a.score);\n            const topResults = scored.slice(0, 3);\n\n            loadResultCards(topResults);\n\n            const risky = scored\n              .filter(item => item.penalties.includes('no es ideal para principiantes') || item.penalties.includes('tiene exposici\u00f3n que probablemente no quieres'))\n              .slice(0, 4);\n\n            if (answers.experience <= 1 || answers.exposure === 0) {\n              safetyNote.hidden = false;\n              const names = risky.map(item => item.title).join(', ');\n              safetyNote.innerHTML = `<strong>Nota de seguridad:<\/strong> por tus respuestas, evitar\u00eda por ahora rutas muy t\u00e9cnicas, largas o expuestas${names ? ` como ${escapeHtml(names)}` : ''}. Mejor sube de nivel poco a poco.`;\n            } else {\n              safetyNote.hidden = true;\n              safetyNote.innerHTML = '';\n            }\n\n            resultsSection.hidden = false;\n            resultsSection.scrollIntoView({ behavior: 'smooth', block: 'start' });\n          }\n\n          resultGrid.addEventListener('click', function(event) {\n            const trigger = event.target.closest('.hhh-tff2-open-trail');\n\n            if (!trigger) return;\n\n            const trailId = trigger.getAttribute('data-trail-id');\n\n            if (trailId) {\n              openTrailModal(trailId);\n            }\n          });\n\n          root.querySelectorAll('[data-hhh-tff2-close]').forEach(function(closeTrigger) {\n            closeTrigger.addEventListener('click', closeTrailModal);\n          });\n\n          document.addEventListener('keydown', function(event) {\n            if (event.key === 'Escape') {\n              closeTrailModal();\n            }\n          });\n\n          backBtn.addEventListener('click', function() {\n            if (currentStep > 0) {\n              currentStep -= 1;\n              renderQuestion();\n            }\n          });\n\n          restartBtn.addEventListener('click', function() {\n            currentStep = 0;\n            Object.keys(answers).forEach(key => delete answers[key]);\n            resultsSection.hidden = true;\n            resultGrid.innerHTML = '';\n            safetyNote.hidden = true;\n            safetyNote.innerHTML = '';\n            renderQuestion();\n            root.querySelector('#hhhTff2Quiz').scrollIntoView({ behavior: 'smooth', block: 'center' });\n          });\n\n          renderQuestion();\n        })();\n      <\/script>\n    <\/section>\n\n    \n\n\n\n<p class=\"wp-block-paragraph\"><\/p>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"om_disable_all_campaigns":false,"_uag_custom_page_level_css":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-4128","page","type-page","status-publish","hentry"],"acf":[],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"trp-custom-language-flag":false,"woocommerce_thumbnail":false,"woocommerce_single":false,"woocommerce_gallery_thumbnail":false},"uagb_author_info":{"display_name":"Henry Hates Hiking","author_link":"https:\/\/henryhateshiking.com\/es\/author\/hhenryarthurgmail-com\/"},"uagb_comment_info":0,"uagb_excerpt":null,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/henryhateshiking.com\/es\/wp-json\/wp\/v2\/pages\/4128","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/henryhateshiking.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/henryhateshiking.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/henryhateshiking.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/henryhateshiking.com\/es\/wp-json\/wp\/v2\/comments?post=4128"}],"version-history":[{"count":10,"href":"https:\/\/henryhateshiking.com\/es\/wp-json\/wp\/v2\/pages\/4128\/revisions"}],"predecessor-version":[{"id":4376,"href":"https:\/\/henryhateshiking.com\/es\/wp-json\/wp\/v2\/pages\/4128\/revisions\/4376"}],"wp:attachment":[{"href":"https:\/\/henryhateshiking.com\/es\/wp-json\/wp\/v2\/media?parent=4128"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}