{"id":57,"date":"2023-08-01T17:25:58","date_gmt":"2023-08-01T22:25:58","guid":{"rendered":"https:\/\/tuhus.com.co\/?page_id=57"},"modified":"2026-10-18T07:58:32","modified_gmt":"2026-10-18T12:58:32","slug":"home","status":"publish","type":"page","link":"https:\/\/tuhus.com.co\/","title":{"rendered":"Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"57\" class=\"elementor elementor-57\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6209d00 e-flex e-con-boxed e-con e-parent\" data-id=\"6209d00\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b75cff8 elementor-widget elementor-widget-html\" data-id=\"b75cff8\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<!-- ============================================================\n     TUHUS - Landing principal v2 (rediseno completo)\n     Orden: Hero + video, franja de credencial, comparativo, proyectos,\n     galeria de familias (Sheet BB), Instagram en vivo, formulario, footer.\n     Tipografia: Archivo (titulares condensados, variable) + Instrument Sans.\n     Paleta: obsidiana #17120F, dorado de marca #BA8B24, piedra #EFEBE3, tierra #2B211B.\n     ============================================================ -->\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Archivo:wdth,wght@62..125,500..900&family=Instrument+Sans:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\n\n<style>\n  .tuhus-page {\n    --t-ink: #17120F;\n    --t-pine: #2B211B;\n    --t-gold: #BA8B24;\n    --t-gold-deep: #8A6516;\n    --t-bone: #EFEBE3;\n    --t-white: #FFFFFF;\n    --t-text: #2A3832;\n    --t-muted: #5C6A63;\n    --t-line: rgba(23,18,15,0.16);\n    --t-display: 'Archivo', 'Arial Narrow', Arial, sans-serif;\n    --t-body: 'Instrument Sans', Arial, sans-serif;\n\n    \/* sangrado a todo el ancho aunque Elementor lo meta en una caja *\/\n    width: 100vw;\n    margin-left: calc(50% - 50vw);\n    overflow-x: clip;\n    font-family: var(--t-body);\n    font-size: 19px;\n    line-height: 1.6;\n    color: var(--t-text);\n    background: var(--t-bone);\n  }\n  .tuhus-page *, .tuhus-page *::before, .tuhus-page *::after { box-sizing: border-box; }\n  .tuhus-page :where(h1, h2, h3, p, ol) { margin: 0; }\n  .tuhus-page a:focus-visible,\n  .tuhus-page button:focus-visible,\n  .tuhus-page select:focus-visible,\n  .tuhus-page input:focus-visible { outline: 3px solid var(--t-gold); outline-offset: 3px; }\n\n  .tuhus-wrap { width: 90%; margin: 0 auto; padding: 0; }\n  .tuhus-block { padding: 96px 0; }\n\n  \/* ---------- tipografia ---------- *\/\n  .tuhus-h2 {\n    text-align: center; margin-left: auto; margin-right: auto;\n    font-family: var(--t-display);\n    font-stretch: 72%;\n    font-weight: 800;\n    font-size: clamp(40px, 6.4vw, 96px);\n    line-height: 0.96;\n    letter-spacing: -0.012em;\n    color: var(--t-ink);\n    max-width: 22ch;\n  }\n  .tuhus-h2-sub {\n    margin-top: 22px; margin-left: auto; margin-right: auto; text-align: center;\n    max-width: 66ch;\n    font-size: 22px;\n    color: var(--t-muted);\n  }\n\n  \/* ---------- botones ---------- *\/\n  .tuhus-btn {\n    display: inline-block;\n    font-family: var(--t-body);\n    font-weight: 700;\n    font-size: 18px;\n    text-decoration: none;\n    padding: 17px 30px;\n    border-radius: 4px;\n    background: var(--t-gold);\n    color: var(--t-ink);\n    transition: background .2s ease, color .2s ease, transform .2s ease;\n  }\n  .tuhus-btn:hover { background: #fff; transform: translateY(-2px); }\n  .tuhus-btn-line {\n    background: transparent;\n    color: #fff;\n    box-shadow: inset 0 0 0 2px rgba(255,255,255,0.45);\n  }\n  .tuhus-btn-line:hover { background: #fff; color: var(--t-ink); }\n\n  \/* ---------- HERO ---------- *\/\n  .tuhus-hero {\n    background:\n      radial-gradient(ellipse 70% 55% at 88% 62%, rgba(186,139,36,0.26), transparent 70%),\n      radial-gradient(ellipse 50% 40% at 0% 100%, rgba(186,139,36,0.12), transparent 70%),\n      #050403;\n    color: #fff; padding: 20px 0 100px;\n  }\n  .tuhus-top {\n    display: flex; align-items: center; justify-content: center;\n    gap: 16px; padding-bottom: 36px;\n  }\n  .tuhus-logo {\n    display: inline-flex; align-items: center; gap: 9px;\n    font-family: var(--t-display); font-stretch: 85%; font-weight: 800;\n    font-size: 28px; letter-spacing: -0.01em; color: var(--t-gold); text-decoration: none;\n  }\n  .tuhus-logo-img {\n    display: block !important; height: 128px !important; width: auto !important; max-width: 220px !important; max-height: 128px !important; filter: brightness(1.35) saturate(1.1);\n    mix-blend-mode: lighten; \/* el fondo negro del PNG se funde con el fondo oscuro *\/\n  }\n  .tuhus-footer .tuhus-logo-img { height: 84px !important; max-height: 84px !important; max-width: 180px !important; }\n  .tuhus-logo-text { align-items: center; gap: 9px; }\n  .tuhus-logo svg { width: 22px; height: 22px; }\n  .tuhus-top-cta {\n    color: #fff; text-decoration: none; font-weight: 600; font-size: 18px;\n    padding: 11px 20px; border-radius: 4px;\n    box-shadow: inset 0 0 0 1.5px rgba(255,255,255,0.4);\n    transition: background .2s ease, color .2s ease;\n  }\n  .tuhus-top-cta:hover { background: #fff; color: var(--t-ink); }\n\n  .tuhus-hero-title {\n    text-align: center;\n    font-family: var(--t-display);\n    font-stretch: 66%;\n    font-weight: 900;\n    font-size: clamp(40px, 6.8vw, 120px);\n    line-height: 0.92;\n    letter-spacing: -0.012em;\n    color: #fff;\n    max-width: 24ch;\n    margin-left: auto; margin-right: auto;\n  }\n  .tuhus-hero-title span { display: block; color: var(--t-gold); }\n  .tuhus-hero-title .tuhus-underline {\n    display: inline;\n    text-decoration-line: underline;\n    text-decoration-color: #fff;\n    text-decoration-thickness: 0.09em;\n    text-underline-offset: 0.16em;\n    text-decoration-skip-ink: none;\n  }\n  .tuhus-underline-gold {\n    text-decoration-line: underline;\n    text-decoration-color: var(--t-gold);\n    text-decoration-thickness: 0.09em;\n    text-underline-offset: 0.16em;\n    text-decoration-skip-ink: none;\n  }\n  .tuhus-hero-row {\n    display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: center;\n    gap: 32px; margin-top: 32px;\n  }\n  .tuhus-hero-sub { text-align: center; max-width: 60ch; margin: 0 auto; font-size: clamp(20px, 2vw, 26px); line-height: 1.5; line-height: 1.5; color: #E6DCCB; }\n  .tuhus-hero-sub strong { color: #fff; }\n  .tuhus-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }\n\n  .tuhus-video-frame {\n    position: relative;\n    margin: 56px auto 0;\n    aspect-ratio: 16 \/ 9;\n    background: #0D0A08;\n    box-shadow: 16px 16px 0 var(--t-gold);\n  }\n  #tuhus-wistia-target { position: absolute; inset: 0; }\n\n  \/* entrada del titular: el unico movimiento no provocado de la pagina *\/\n  @media (prefers-reduced-motion: no-preference) {\n    .tuhus-hero-title { animation: tuhus-rise .9s cubic-bezier(.2,.7,.2,1) both; }\n    .tuhus-hero-title span { animation: tuhus-rise .9s .15s cubic-bezier(.2,.7,.2,1) both; }\n    @keyframes tuhus-rise { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }\n  }\n\n  \/* ---------- FRANJA DE CREDENCIAL ---------- *\/\n  .tuhus-band { position: relative; background: transparent; color: var(--t-ink); padding: 34px 0; }\n  .tuhus-band::before { content: \"\"; position: absolute; inset: 0; background: var(--t-gold); transform-origin: left center; z-index: 0; }\n  .tuhus-band > * { position: relative; z-index: 1; }\n  .tuhus-band p {\n    font-family: var(--t-display); font-stretch: 78%; font-weight: 800; text-align: center; margin: 0 auto;\n    font-size: clamp(28px, 4.2vw, 64px); line-height: 1.02; max-width: 30ch;\n  }\n  .tuhus-band-in { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; text-align: center; gap: 18px 40px; }\n  .tuhus-band small { font-size: 20px; font-weight: 600; max-width: 34ch; line-height: 1.4; }\n\n  \/* ---------- COMPARATIVO ---------- *\/\n  .tuhus-versus { background: var(--t-bone); }\n  \/* rejilla de 3 columnas: tema | buscando solo (claro, tachado) | con Tuhus (columna oscura continua) *\/\n  .tuhus-ledger {\n    margin-top: 64px;\n    display: grid;\n    grid-template-columns: minmax(170px, 0.55fr) 1fr 1fr;\n    align-items: stretch;\n  }\n  .tuhus-ledger-head, .tuhus-ledger-row { display: contents; }\n\n  .tuhus-ledger-head span {\n    padding: 22px 36px 22px 0;\n    font-weight: 700; font-size: clamp(20px, 1.8vw, 26px);\n    color: var(--t-muted);\n  }\n  .tuhus-ledger-head span.is-us {\n    padding: 28px 40px;\n    background: var(--t-ink); color: var(--t-gold);\n    border-radius: 6px 6px 0 0;\n  }\n\n  .tuhus-ledger-what {\n    display: flex; align-items: center;\n    padding: 34px 24px 34px 0;\n    border-top: 1px solid var(--t-line);\n    font-family: var(--t-display); font-stretch: 72%; font-weight: 900;\n    font-size: clamp(36px, 4vw, 64px); line-height: 0.95; letter-spacing: -0.01em;\n    color: var(--t-ink);\n  }\n  .tuhus-ledger-solo {\n    display: flex; align-items: center; gap: 16px;\n    padding: 34px 40px 34px 0;\n    border-top: 1px solid var(--t-line);\n    font-size: clamp(21px, 1.9vw, 30px); line-height: 1.3; font-weight: 500;\n    color: var(--t-muted);\n  }\n  .tuhus-strike { text-decoration: line-through; text-decoration-thickness: 2px; text-decoration-color: rgba(23,18,15,0.38); }\n  .tuhus-ledger-us {\n    display: flex; align-items: center; gap: 18px;\n    padding: 34px 40px;\n    background: var(--t-ink);\n    border-top: 1px solid rgba(255,255,255,0.14);\n    font-size: clamp(22px, 2vw, 32px); line-height: 1.3; font-weight: 600;\n    color: #fff;\n  }\n  .tuhus-ledger-us::before {\n    content: \"\\2713\"; flex: 0 0 auto;\n    display: inline-flex; align-items: center; justify-content: center;\n    width: 40px; height: 40px; border-radius: 50%;\n    background: var(--t-gold); color: var(--t-ink);\n    font-size: 22px; font-weight: 900; line-height: 1;\n  }\n  .tuhus-ledger-row:last-child .tuhus-ledger-us { border-radius: 0 0 6px 6px; }\n\n\n  \/* ---------- ANIMACION DE LA TABLA (rapida, ~1.6 s, al entrar en pantalla) ---------- *\/\n  .tuhus-ledger.tuhus-anim .tuhus-ledger-what { opacity: 0; transform: translateX(-28px); }\n  .tuhus-ledger.tuhus-anim .tuhus-strike { text-decoration-color: transparent; }\n  .tuhus-ledger.tuhus-anim .tuhus-ledger-solo { opacity: 0; }\n  .tuhus-ledger.tuhus-anim .tuhus-ledger-us { clip-path: inset(0 100% 0 0); }\n  .tuhus-ledger.tuhus-anim .tuhus-ledger-us::before { transform: scale(0); }\n  .tuhus-ledger.tuhus-anim .tuhus-ledger-head span { opacity: 0; }\n\n  .tuhus-ledger.tuhus-anim.is-in .tuhus-ledger-head span {\n    opacity: 1; transition: opacity .4s ease;\n  }\n  .tuhus-ledger.tuhus-anim.is-in .tuhus-ledger-what {\n    opacity: 1; transform: none;\n    transition: opacity .35s ease, transform .45s cubic-bezier(.2,.8,.2,1);\n    transition-delay: calc(var(--i) * .17s + .1s);\n  }\n  .tuhus-ledger.tuhus-anim.is-in .tuhus-ledger-solo {\n    opacity: 1; transition: opacity .3s ease; transition-delay: calc(var(--i) * .17s + .2s);\n  }\n  .tuhus-ledger.tuhus-anim.is-in .tuhus-strike {\n    text-decoration-color: rgba(23,18,15,0.5);\n    transition: text-decoration-color .25s ease;\n    transition-delay: calc(var(--i) * .17s + .5s);\n  }\n  .tuhus-ledger.tuhus-anim.is-in .tuhus-ledger-us {\n    clip-path: inset(0 0 0 0);\n    transition: clip-path .45s cubic-bezier(.7,0,.2,1);\n    transition-delay: calc(var(--i) * .17s + .7s);\n  }\n  .tuhus-ledger.tuhus-anim.is-in .tuhus-ledger-us::before {\n    transform: scale(1);\n    transition: transform .4s cubic-bezier(.3,1.7,.5,1);\n    transition-delay: calc(var(--i) * .17s + 1s);\n  }\n\n\n  \/* ---------- ENTRADAS AL HACER SCROLL (todo el index; rapidas: ~0.6 s) ---------- *\/\n  .tuhus-rv [data-reveal] {\n    opacity: 0;\n    transition: opacity .5s ease, transform .6s cubic-bezier(.2,.8,.2,1), clip-path .7s cubic-bezier(.7,0,.2,1);\n    transition-delay: calc(var(--d, 0) * .09s);\n  }\n  .tuhus-rv [data-reveal=\"up\"]    { transform: translateY(36px); }\n  .tuhus-rv [data-reveal=\"left\"]  { transform: translateX(-48px); }\n  .tuhus-rv [data-reveal=\"right\"] { transform: translateX(48px); }\n  .tuhus-rv [data-reveal=\"scale\"] { transform: scale(.93); }\n  .tuhus-rv [data-reveal=\"wipe\"]  { opacity: 1; }\n  .tuhus-rv [data-reveal].is-in   { opacity: 1; transform: none; clip-path: inset(0 0 0 0); }\n  .tuhus-rv [data-reveal].is-settled { transition-delay: 0s; }\n\n  \/* la franja dorada se barre de izquierda a derecha *\/\n  .tuhus-rv .tuhus-band::before { transform: scaleX(0); transition: transform .7s cubic-bezier(.7,0,.2,1); }\n  .tuhus-rv .tuhus-band.is-in::before { transform: none; }\n\n  \/* el relieve de las tarjetas de proyectos \"se asienta\" al entrar *\/\n  .tuhus-rv .tuhus-proj .tuhus-proj-art { transform: scale(1.18); opacity: 0; transition: transform 1.4s cubic-bezier(.2,.7,.2,1), opacity .9s ease .2s; }\n  .tuhus-rv .tuhus-proj.is-in .tuhus-proj-art { transform: none; opacity: 1; }\n\n  \/* microinteracciones (solo al pasar el mouse) *\/\n  .tuhus-proj:hover { transform: translateY(-8px); }\n  .tuhus-proj .tuhus-proj-art { transition: transform .8s ease; }\n  .tuhus-proj:hover .tuhus-proj-art { transform: scale(1.08); }\n  .tuhus-fam-card { overflow: hidden; }\n  .tuhus-fam-photo-img { transition: transform .6s ease; }\n  .tuhus-fam-card:hover .tuhus-fam-photo-img { transform: scale(1.06); }\n  .tuhus-ledger-row:hover .tuhus-ledger-what { letter-spacing: 0; }\n\n\n  \/* ---------- VERSION SUAVE (celulares con \"reducir movimiento\"): fundido corto + subida minima ---------- *\/\n  .tuhus-rv.tuhus-calm [data-reveal] { transition: opacity .6s ease, transform .6s ease; transition-delay: calc(var(--d, 0) * .08s); }\n  .tuhus-rv.tuhus-calm [data-reveal=\"up\"],\n  .tuhus-rv.tuhus-calm [data-reveal=\"left\"],\n  .tuhus-rv.tuhus-calm [data-reveal=\"right\"],\n  .tuhus-rv.tuhus-calm [data-reveal=\"scale\"] { transform: translateY(14px); }\n  .tuhus-rv.tuhus-calm [data-reveal].is-in { transform: none; }\n  .tuhus-rv.tuhus-calm .tuhus-band::before { transform: none; opacity: 0; transition: opacity .6s ease; }\n  .tuhus-rv.tuhus-calm .tuhus-band.is-in::before { opacity: 1; }\n  .tuhus-rv.tuhus-calm .tuhus-proj .tuhus-proj-art { transform: none; }\n  .tuhus-ledger.tuhus-calm.tuhus-anim .tuhus-ledger-what { transform: none; }\n  .tuhus-ledger.tuhus-calm.tuhus-anim .tuhus-ledger-us { clip-path: none; opacity: 0; }\n  .tuhus-ledger.tuhus-calm.tuhus-anim.is-in .tuhus-ledger-us { opacity: 1; transition: opacity .5s ease; transition-delay: calc(var(--i) * .17s + .7s); }\n  .tuhus-ledger.tuhus-calm.tuhus-anim .tuhus-ledger-us::before { transform: none; }\n\n\n  \/* ---------- INSTAGRAM: icono de play y visor de video en la misma pagina ---------- *\/\n  .tuhus-ig-card { cursor: pointer; }\n  .tuhus-ig-media { position: relative; }\n  .tuhus-ig-media::after {\n    content: \"\"; position: absolute; left: 50%; top: 50%; width: 76px; height: 76px; margin: -38px 0 0 -38px;\n    border-radius: 50%; background: rgba(23,18,15,0.62) url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='white'><path d='M8 5v14l11-7z'\/><\/svg>\") 54% 50% \/ 34px no-repeat;\n    box-shadow: 0 0 0 3px rgba(255,255,255,0.85);\n    transition: transform .25s ease, background-color .25s ease;\n  }\n  .tuhus-ig-card:hover .tuhus-ig-media::after { transform: scale(1.12); background-color: rgba(186,139,36,0.92); }\n\n  .tuhus-viewer {\n    position: fixed; inset: 0; z-index: 99999; display: none;\n    align-items: center; justify-content: center; padding: 20px;\n    background: rgba(8,6,5,0.9);\n    opacity: 0; transition: opacity .25s ease;\n  }\n  .tuhus-viewer.is-open { display: flex; }\n  .tuhus-viewer.is-shown { opacity: 1; }\n  .tuhus-viewer-box {\n    position: relative; width: min(92vw, 440px); height: min(86vh, 780px);\n    background: #000; border-radius: 6px; overflow: hidden;\n    transform: scale(.94); transition: transform .3s cubic-bezier(.2,.8,.2,1);\n    box-shadow: 0 30px 80px rgba(0,0,0,0.6);\n  }\n  .tuhus-viewer.is-shown .tuhus-viewer-box { transform: none; }\n  .tuhus-viewer-box video, .tuhus-viewer-box iframe, .tuhus-viewer-box img {\n    width: 100%; height: 100%; border: 0; display: block; object-fit: contain; background: #000;\n  }\n  .tuhus-viewer-close {\n    position: absolute; top: 14px; right: 14px; z-index: 2;\n    width: 46px; height: 46px; border-radius: 50%; border: 0; cursor: pointer;\n    background: var(--t-gold); color: var(--t-ink); font-size: 26px; line-height: 1; font-weight: 700;\n    display: flex; align-items: center; justify-content: center;\n    transition: transform .2s ease;\n  }\n  .tuhus-viewer-close:hover { transform: scale(1.1) rotate(90deg); }\n  body.tuhus-viewer-lock { overflow: hidden; }\n\n  \/* ---------- PROYECTOS ---------- *\/\n  .tuhus-projects { background: var(--t-white); }\n  .tuhus-proj-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 56px; }\n  .tuhus-proj {\n    position: relative; overflow: hidden; min-height: 520px;\n    padding: 44px 40px; display: flex; flex-direction: column; justify-content: flex-end;\n    text-decoration: none;\n  }\n  .tuhus-proj-nativo { background: #1F4D36; color: #fff; }\n  .tuhus-proj-picacho { background: var(--t-gold); color: var(--t-ink); }\n  .tuhus-proj-art { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }\n  .tuhus-proj-kind { position: relative; font-weight: 700; font-size: 19px; margin-bottom: 10px; }\n  .tuhus-proj-nativo .tuhus-proj-kind { color: var(--t-gold); }\n  .tuhus-proj-name {\n    position: relative; font-family: var(--t-display); font-stretch: 66%; font-weight: 900;\n    font-size: clamp(54px, 7.4vw, 104px); line-height: 0.88; letter-spacing: -0.012em;\n  }\n  .tuhus-proj-text { position: relative; margin: 20px 0 28px; max-width: 34ch; font-size: 22px; line-height: 1.45; }\n  .tuhus-proj-nativo .tuhus-proj-text { color: #E6DCCB; }\n  .tuhus-proj .tuhus-btn { position: relative; width: fit-content; }\n  .tuhus-proj-nativo .tuhus-btn:hover { background: #fff; }\n  .tuhus-proj-picacho .tuhus-btn { background: var(--t-ink); color: #fff; }\n  .tuhus-proj-picacho .tuhus-btn:hover { background: #fff; color: var(--t-ink); }\n\n  \/* ---------- FAMILIAS (galeria desde el Sheet) ---------- *\/\n  .tuhus-families { background: var(--t-ink); color: #fff; overflow: hidden; }\n  .tuhus-families .tuhus-h2 { color: #fff; }\n  .tuhus-families .tuhus-h2-sub { color: #CDBFA9; }\n  .tuhus-fam-track {\n    display: flex; gap: 14px; margin-top: 56px; padding: 0 28px 14px;\n    overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;\n  }\n  .tuhus-fam-track::-webkit-scrollbar { height: 6px; }\n  .tuhus-fam-track::-webkit-scrollbar-thumb { background: var(--t-gold); }\n  .tuhus-fam-card { flex: 0 0 min(78vw, 320px); scroll-snap-align: start; background: var(--t-pine); }\n  .tuhus-fam-photo-img { width: 100%; aspect-ratio: 4 \/ 5; object-fit: cover; display: block; background: var(--t-pine); }\n  @media (min-width: 1216px) {\n    .tuhus-fam-track { padding-left: calc((100vw - 1160px) \/ 2 + 28px); padding-right: 28px; }\n  }\n\n  \/* ---------- INSTAGRAM ---------- *\/\n  .tuhus-ig { background: var(--t-bone); }\n  .tuhus-ig-head { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 28px; }\n  .tuhus-ig-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 56px; }\n  .tuhus-ig-card { display: block; background: #fff; text-decoration: none; color: var(--t-text); transition: transform .2s ease; }\n  .tuhus-ig-card:hover { transform: translateY(-4px); }\n  .tuhus-ig-img { width: 100%; aspect-ratio: 4 \/ 5; object-fit: cover; display: block; background: #DDD6C8; }\n  .tuhus-ig-body { padding: 16px 18px 20px; }\n  .tuhus-ig-caption {\n    font-size: 18px; line-height: 1.5;\n    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;\n  }\n  .tuhus-ig-skel { aspect-ratio: 4 \/ 5; background: #E2DBCD; }\n  @media (prefers-reduced-motion: no-preference) {\n    .tuhus-ig-skel { animation: tuhus-pulse 1.4s ease-in-out infinite; }\n    @keyframes tuhus-pulse { 50% { opacity: .55; } }\n  }\n  .tuhus-ig-fallback { margin-top: 40px; padding: 22px; background: #fff; font-weight: 600; }\n  .tuhus-ig-fallback a { color: var(--t-ink); }\n  \/* Embeds oficiales de Instagram (oEmbed publico, no requieren token) *\/\n  .tuhus-ig-grid .instagram-media { margin: 0 auto !important; min-width: 326px !important; width: 100% !important; }\n  \/* boton de Instagram con el degradado de la marca *\/\n  .tuhus-btn-ig {\n    display: inline-flex; align-items: center; gap: 12px;\n    background: linear-gradient(45deg, #F09433 0%, #E6683C 25%, #DC2743 50%, #CC2366 75%, #BC1888 100%);\n    background-size: 140% 140%; background-position: 0% 50%;\n    color: #fff;\n    box-shadow: 0 10px 26px rgba(220,39,67,0.32);\n    transition: background-position .5s ease, transform .2s ease, box-shadow .2s ease;\n  }\n  .tuhus-btn-ig:hover { background: linear-gradient(45deg, #F09433 0%, #E6683C 25%, #DC2743 50%, #CC2366 75%, #BC1888 100%); background-size: 140% 140%; background-position: 100% 50%; color: #fff; transform: translateY(-3px); box-shadow: 0 14px 32px rgba(220,39,67,0.42); }\n  .tuhus-btn-ico { width: 24px; height: 24px; fill: currentColor; flex: 0 0 auto; }\n  .tuhus-btn-ink { background: var(--t-ink); color: #fff; }\n  .tuhus-btn-ink:hover { background: var(--t-pine); color: #fff; }\n\n  \/* ---------- FORMULARIO ---------- *\/\n  .tuhus-contact { background: var(--t-gold); }\n  .tuhus-contact-grid { display: grid; grid-template-columns: 1fr 520px; gap: 72px; align-items: start; }\n  .tuhus-contact .tuhus-h2 { max-width: 12ch; }\n  .tuhus-contact .tuhus-h2-sub { color: #17120F; }\n  .tuhus-steps { margin: 44px 0 0; padding: 0; list-style: none; max-width: 44ch; counter-reset: paso; }\n  .tuhus-steps li {\n    counter-increment: paso; display: flex; gap: 18px; align-items: baseline;\n    padding: 16px 0; border-top: 2px solid var(--t-ink); font-weight: 600; color: var(--t-ink);\n  }\n  .tuhus-steps li::before {\n    content: counter(paso); font-family: var(--t-display); font-stretch: 70%; font-weight: 900; font-size: 34px; line-height: 1;\n  }\n\n  \/* ---------- FOOTER ---------- *\/\n  .tuhus-footer { background: var(--t-ink); color: #CDBFA9; padding: 44px 0; }\n  .tuhus-footer-in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; }\n  .tuhus-footer-links { display: flex; gap: 12px; }\n  .tuhus-footer-links a {\n    display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center;\n    box-shadow: inset 0 0 0 1.5px rgba(255,255,255,0.3); transition: background .2s ease;\n  }\n  .tuhus-footer-links a:hover { background: var(--t-gold); }\n  .tuhus-footer-links svg { width: 18px; height: 18px; fill: #fff; }\n  .tuhus-footer-links a:hover svg { fill: var(--t-ink); }\n\n  \/* ---------- responsive ---------- *\/\n  @media (max-width: 900px) {\n    .tuhus-hero { padding-bottom: 48px; }\n    .tuhus-block { padding: 68px 0; }\n    .tuhus-contact-grid { grid-template-columns: 1fr; gap: 44px; }\n    .tuhus-proj-grid { grid-template-columns: 1fr; }\n    .tuhus-proj { min-height: 440px; padding: 32px 26px; }\n    .tuhus-ig-grid { grid-template-columns: 1fr; }\n    .tuhus-ledger { display: block; margin-top: 48px; }\n    .tuhus-ledger-head { display: none; }\n    .tuhus-ledger-row { display: block; margin-bottom: 20px; }\n    .tuhus-ledger-what { padding: 0 0 12px; border-top: 0; font-size: clamp(40px, 11vw, 56px); }\n    .tuhus-ledger-solo { padding: 0 0 14px; border-top: 0; }\n    .tuhus-ledger-solo { display: block; }\n    .tuhus-ledger-solo::before { content: \"Buscando solo: \"; display: block; font-weight: 700; font-size: 17px; margin-bottom: 4px; }\n    .tuhus-ledger-us { padding: 22px 22px; border-radius: 6px; }\n    .tuhus-ledger-us::before { width: 34px; height: 34px; font-size: 18px; }\n  }\n  @media (max-width: 560px) {\n    .tuhus-wrap { padding: 0 20px; }\n    .tuhus-top { padding-bottom: 48px; }\n    .tuhus-logo-img { height: 88px !important; max-height: 88px !important; max-width: 170px !important; }\n    .tuhus-video-frame { box-shadow: 9px 9px 0 var(--t-gold); margin-top: 52px; }\n    .tuhus-hero-title { font-size: clamp(30px, 9vw, 40px) !important; }\n    .tuhus-hero-sub { font-size: 16px !important; }\n    .tuhus-h2 { font-size: clamp(28px, 8.2vw, 34px) !important; }\n    .tuhus-h2-sub { font-size: 16px !important; }\n    .tuhus-band p, .tuhus-band strong { font-size: clamp(22px, 6.4vw, 28px) !important; }\n    .tuhus-band small { font-size: 16px !important; }\n    .tuhus-ledger-what { font-size: clamp(32px, 9vw, 42px) !important; }\n    .tuhus-ledger-solo { font-size: 17px !important; }\n    .tuhus-ledger-us { font-size: 18px !important; }\n    .tuhus-ledger-solo::before { font-size: 15px; }\n    .tuhus-proj-name { font-size: clamp(40px, 11.5vw, 52px) !important; }\n    .tuhus-proj-kind { font-size: 16px !important; }\n    .tuhus-proj-text { font-size: 17px !important; }\n    .tuhus-btn { padding: 14px 22px; font-size: 16px; }\n    .tuhus-ig-caption { font-size: 16px !important; }\n    .lf-wrap { padding: 24px 20px 20px !important; }\n    .lf-wrap .lf-input, .lf-wrap .lf-cc { padding: 11px 12px !important; font-size: 16px !important; }\n    .lf-wrap .lf-cc { padding: 11px 4px !important; }\n    .lf-wrap .lf-phone-row { margin-top: 10px !important; }\n    .lf-wrap .lf-row-2 { margin-top: 10px !important; gap: 6px !important; }\n    .lf-wrap .lf-ubicacion, .lf-wrap .lf-presupuesto { margin-top: 10px !important; }\n    .lf-wrap .lf-submit { margin-top: 16px !important; padding: 14px !important; font-size: 17px !important; }\n    .tuhus-fam-track { padding-left: 20px; }\n  }\n<\/style>\n\n<div class=\"tuhus-page\">\n  <script>\n    \/\/ Activa las entradas animadas. Si el celular tiene \"reducir movimiento\", usa una version suave (fundido corto)\n    (function () {\n      var el = document.currentScript.parentElement;\n      var reducido = window.matchMedia && window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n      if (\"IntersectionObserver\" in window) {\n        el.classList.add(\"tuhus-rv\");\n        if (reducido) el.classList.add(\"tuhus-calm\"); \/\/ version suave: solo aparece con un fundido corto\n      }\n    })();\n  <\/script>\n\n  <!-- ============== HERO + VIDEO (Wistia) ============== -->\n  <header class=\"tuhus-hero\">\n    <div class=\"tuhus-wrap\">\n      <div class=\"tuhus-top\" data-reveal=\"fade\">\n        <a class=\"tuhus-logo\" href=\"#\" aria-label=\"Tuhus\">\n          <img decoding=\"async\" class=\"tuhus-logo-img\" src=\"https:\/\/tuhus.com.co\/homeclientes\/LOGO%20TUHUS%20.png\" alt=\"Tuhus\" onerror=\"this.style.display='none';this.nextElementSibling.style.display='inline-flex';\">\n          <span class=\"tuhus-logo-text\" style=\"display:none;\"><svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M12 2 L22 12 L12 22 L2 12 Z\" fill=\"currentColor\"\/><\/svg>tuhus<\/span>\n        <\/a>\n      <\/div>\n\n      <h1 class=\"tuhus-hero-title\">No todo lo que se publica se puede comprar.<span>Aqu&iacute; solo est&aacute; lo que <span class=\"tuhus-underline\">pas&oacute; el filtro<\/span>.<\/span><\/h1>\n\n      <div class=\"tuhus-hero-row\">\n        <p class=\"tuhus-hero-sub\" data-reveal=\"up\" style=\"--d:3\">\n          Nosotros ya hicimos la parte dif&iacute;cil: <strong>validamos el precio<\/strong>, <strong>revisamos el estado<\/strong> y <strong>verificamos los papeles<\/strong>.\n          Aqu&iacute; no hay un cat&aacute;logo masivo de propiedades: filtramos por ti, para que decidas con tranquilidad.\n        <\/p>\n      <\/div>\n    <\/div>\n  <\/header>\n\n  <!-- ============== FAMILIAS QUE YA RECIBIERON SU VIVIENDA ============== -->\n  <section class=\"tuhus-block tuhus-families\" style=\"padding-top: 32px;\">\n    <div class=\"tuhus-wrap\">\n      <h2 class=\"tuhus-h2\" data-reveal=\"up\">&Uacute;ltimas entregas<\/h2>\n    <\/div>\n    <!-- Las fotos se cargan desde el Sheet (columna BB) con el script de galeria -->\n    <div class=\"tuhus-fam-track\" id=\"tuhus-fam-track\"><\/div>\n  <\/section>\n  <script>\n  (function () {\n    \/\/ Mismo Apps Script que Instagram (tuhus-feeds.gs), con ?fuente=galeria\n    var GALLERY_URL = \"https:\/\/script.google.com\/macros\/s\/AKfycbwxHcN4uWSBqtUjINFsuUAhwmvC4NOsoTwN_fJ439jUyPQ9cWTNMQmJGi3RI8nt5beU6g\/exec?fuente=galeria\";\n\n    var track = document.getElementById(\"tuhus-fam-track\");\n    var section = track.closest(\"section\");\n\n    if (!GALLERY_URL || GALLERY_URL.indexOf(\"PEGA_AQUI\") === 0) {\n      section.style.display = \"none\";\n      return;\n    }\n\n    var debug = location.search.indexOf(\"debug\") !== -1;\n    var CACHE_KEY = \"tuhus_galeria_cache\";\n\n    \/\/ Google Drive a veces rechaza o demora una miniatura (sobre todo en celular): se reintenta sola con otras rutas\n    function cuidarFotos() {\n      var imgs = track.querySelectorAll(\"img.tuhus-fam-photo-img\");\n      Array.prototype.forEach.call(imgs, function (img) {\n        var base = img.getAttribute(\"data-src0\") || \"\";\n        var m = base.match(\/[?&]id=([^&]+)\/);\n        var id = m ? m[1] : \"\";\n        var rutas = id ? [\n          \"https:\/\/lh3.googleusercontent.com\/d\/\" + id + \"=w800\",\n          \"https:\/\/drive.google.com\/thumbnail?id=\" + id + \"&sz=w800&r=2\",\n          \"https:\/\/drive.google.com\/thumbnail?id=\" + id + \"&sz=w640&r=3\",\n          \"https:\/\/drive.google.com\/uc?export=view&id=\" + id\n        ] : [];\n        var n = 0, reloj = null;\n        function fallo() {\n          if (img.complete && img.naturalWidth > 0) return;\n          if (n >= 6) return;\n          var delay = 800 * (n + 1);\n          setTimeout(function () {\n            var ruta = rutas.length ? rutas[n % rutas.length] : base;\n            n++;\n            img.src = ruta + (ruta.indexOf(\"?\") > -1 ? \"&\" : \"?\") + \"t=\" + Date.now();\n            vigilar();\n          }, delay);\n        }\n        function vigilar() {\n          clearTimeout(reloj);\n          reloj = setTimeout(function () { if (!(img.complete && img.naturalWidth > 0)) fallo(); }, 7000);\n        }\n        img.addEventListener(\"error\", fallo);\n        img.addEventListener(\"load\", function () { clearTimeout(reloj); });\n        vigilar();\n      });\n    }\n\n    function pintar(items) {\n      track.innerHTML = items.map(function (p, i) {\n        return '<div class=\"tuhus-fam-card\" data-reveal=\"scale\" style=\"--d:' + Math.min(i, 6) + '\">' +\n               '<img class=\"tuhus-fam-photo-img\" src=\"' + p.imagen + '\" data-src0=\"' + p.imagen + '\" alt=\"Entrega de vivienda Tuhus\" decoding=\"async\">' +\n               '<\/div>';\n      }).join(\"\");\n      section.style.display = \"\";\n      cuidarFotos();\n      if (window.tuhusRevealScan) window.tuhusRevealScan();\n    }\n\n    \/\/ Si ya se cargo antes en este navegador, mostrar de inmediato lo guardado\n    var hayCache = false;\n    try {\n      var guardado = JSON.parse(localStorage.getItem(CACHE_KEY) || \"null\");\n      if (guardado && guardado.length) { pintar(guardado); hayCache = true; }\n    } catch (e) {}\n\n    if (!hayCache) {\n      track.innerHTML = '<p style=\"color:#CDBFA9;font-size:15px;\">Cargando fotos&hellip;<\/p>';\n    }\n\n    function pedir(intento) {\n      var controller = (typeof AbortController !== \"undefined\") ? new AbortController() : null;\n      var timer = setTimeout(function () { if (controller) controller.abort(); }, 25000);\n\n      fetch(GALLERY_URL, controller ? { signal: controller.signal } : undefined)\n        .then(function (r) { clearTimeout(timer); return r.text(); })\n        .then(function (texto) {\n          var items;\n          try { items = JSON.parse(texto); }\n          catch (e) { throw new Error(\"El script no devolvio JSON: \" + texto.substring(0, 200)); }\n          if (items && items.error) throw new Error(\"El script devolvio error: \" + JSON.stringify(items.detalle).substring(0, 300));\n          if (!items || !items.length) throw new Error(\"El script devolvio una lista vacia (sin links en la columna BB)\");\n          pintar(items);\n          try { localStorage.setItem(CACHE_KEY, JSON.stringify(items)); } catch (e) {}\n        })\n        .catch(function (err) {\n          clearTimeout(timer);\n          \/\/ Apps Script a veces falla la primera vez (arranque en frio): reintentar\n          if (intento < 3) { setTimeout(function () { pedir(intento + 1); }, 2000 * intento); return; }\n          if (hayCache) return; \/\/ se queda con lo guardado\n          if (debug) {\n            track.innerHTML = '<p style=\"color:#fff;border:1px dashed #BA8B24;padding:16px;font-size:14px;\">' +\n              'Galer&iacute;a no disponible. Motivo: ' + String(err.message).replace(\/<\/g, \"&lt;\") + '<\/p>';\n          } else {\n            section.style.display = \"none\";\n          }\n        });\n    }\n    pedir(1);\n  })();\n  <\/script>\n\n  <!-- ============== COMPARATIVO ============== -->\n  <section class=\"tuhus-block tuhus-versus\">\n    <div class=\"tuhus-wrap\">\n      <h2 class=\"tuhus-h2\" data-reveal=\"up\">Dos caminos para comprar. Uno te deja cansado. El otro, <span class=\"tuhus-underline-gold\">decidiendo<\/span>.<\/h2>\n\n      <div class=\"tuhus-video-frame\" data-reveal=\"up\" style=\"--d:1; margin-top: 40px;\">\n        <div id=\"tuhus-wistia-target\">\n          <script src=\"https:\/\/fast.wistia.com\/player.js\" async><\/script>\n          <script src=\"https:\/\/fast.wistia.com\/embed\/is249462p4.js\" async type=\"module\"><\/script>\n          <style>\n            #tuhus-wistia-target wistia-player { display: block; width: 100%; height: 100%; }\n            #tuhus-wistia-target wistia-player[media-id='is249462p4']:not(:defined) {\n              background: center \/ cover no-repeat url('https:\/\/fast.wistia.com\/embed\/medias\/is249462p4\/swatch');\n              filter: blur(5px);\n            }\n          <\/style>\n          <wistia-player media-id=\"is249462p4\" aspect=\"1.7777777777777777\"><\/wistia-player>\n        <\/div>\n      <\/div>\n\n      <div class=\"tuhus-ledger\" role=\"table\" aria-label=\"Buscando solo frente a buscar con Tuhus\">\n        <div class=\"tuhus-ledger-head\" role=\"row\">\n          <span><\/span><span>Buscando solo<\/span><span class=\"is-us\">Con Tuhus<\/span>\n        <\/div>\n        <div class=\"tuhus-ledger-row\" style=\"--i:0\" role=\"row\">\n          <span class=\"tuhus-ledger-what\">Precio<\/span>\n          <span class=\"tuhus-ledger-solo\"><span class=\"tuhus-strike\">Inflado, y nadie te dice cu&aacute;nto vale de verdad.<\/span><\/span>\n          <span class=\"tuhus-ledger-us\">Validado contra el mercado antes de publicarse.<\/span>\n        <\/div>\n        <div class=\"tuhus-ledger-row\" style=\"--i:1\" role=\"row\">\n          <span class=\"tuhus-ledger-what\">Estado<\/span>\n          <span class=\"tuhus-ledger-solo\"><span class=\"tuhus-strike\">Lo descubres despu&eacute;s de visitar, o despu&eacute;s de comprar.<\/span><\/span>\n          <span class=\"tuhus-ledger-us\">Revisamos cada rinc&oacute;n antes de ponerla frente a ti.<\/span>\n        <\/div>\n        <div class=\"tuhus-ledger-row\" style=\"--i:2\" role=\"row\">\n          <span class=\"tuhus-ledger-what\">Papeles<\/span>\n          <span class=\"tuhus-ledger-solo\"><span class=\"tuhus-strike\">Tradici&oacute;n legal sin revisar y letra peque&ntilde;a al firmar.<\/span><\/span>\n          <span class=\"tuhus-ledger-us\">Tradici&oacute;n legal verificada. Firmas tranquilo.<\/span>\n        <\/div>\n        <div class=\"tuhus-ledger-row\" style=\"--i:3\" role=\"row\">\n          <span class=\"tuhus-ledger-what\">Tu tiempo<\/span>\n          <span class=\"tuhus-ledger-solo\"><span class=\"tuhus-strike\">S&aacute;bados enteros visitando propiedades y proyectos que no sirven.<\/span><\/span>\n          <span class=\"tuhus-ledger-us\">Solo ves lo que ya pas&oacute; el filtro.<\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ============== PROYECTOS ============== -->\n  <section class=\"tuhus-block tuhus-projects\" id=\"tuhus-proyectos\">\n    <div class=\"tuhus-wrap\">\n      <h2 class=\"tuhus-h2\" data-reveal=\"up\">Proyectos que ya pasaron nuestra revisi&oacute;n.<\/h2>\n\n      <div class=\"tuhus-proj-grid\">\n        <a class=\"tuhus-proj tuhus-proj-nativo\" data-reveal=\"up\" style=\"--d:1\" href=\"https:\/\/tuhus.com.co\/index.php\/nativo-reserva-campestre-2\/\" target=\"_blank\" rel=\"noopener\">\n          <!-- curvas de nivel: terreno campestre -->\n          <svg class=\"tuhus-proj-art\" viewBox=\"0 0 600 520\" preserveAspectRatio=\"xMidYMid slice\" fill=\"none\" stroke=\"#D9B45A\" stroke-opacity=\"0.30\" stroke-width=\"1.6\" aria-hidden=\"true\">\n            <ellipse cx=\"430\" cy=\"150\" rx=\"40\" ry=\"26\" transform=\"rotate(-18 430 150)\"\/>\n            <ellipse cx=\"430\" cy=\"150\" rx=\"84\" ry=\"56\" transform=\"rotate(-18 430 150)\"\/>\n            <ellipse cx=\"430\" cy=\"150\" rx=\"132\" ry=\"88\" transform=\"rotate(-18 430 150)\"\/>\n            <ellipse cx=\"430\" cy=\"150\" rx=\"184\" ry=\"122\" transform=\"rotate(-18 430 150)\"\/>\n            <ellipse cx=\"430\" cy=\"150\" rx=\"240\" ry=\"158\" transform=\"rotate(-18 430 150)\"\/>\n            <ellipse cx=\"430\" cy=\"150\" rx=\"300\" ry=\"198\" transform=\"rotate(-18 430 150)\"\/>\n            <ellipse cx=\"430\" cy=\"150\" rx=\"364\" ry=\"240\" transform=\"rotate(-18 430 150)\"\/>\n          <\/svg>\n          <span class=\"tuhus-proj-kind\">Lotes y casas campestres<\/span>\n          <span class=\"tuhus-proj-name\">Nativo Reserva campestre<\/span>\n          <span class=\"tuhus-btn\">Ver Nativo<\/span>\n        <\/a>\n\n        <a class=\"tuhus-proj tuhus-proj-picacho\" data-reveal=\"up\" style=\"--d:3\" href=\"https:\/\/tuhus.com.co\/index.php\/picacho-hills-etapa-2\/\" target=\"_blank\" rel=\"noopener\">\n          <!-- cresta de colina: loma escalonada -->\n          <svg class=\"tuhus-proj-art\" viewBox=\"0 0 600 520\" preserveAspectRatio=\"xMidYMid slice\" fill=\"none\" stroke=\"#17120F\" stroke-opacity=\"0.22\" stroke-width=\"1.6\" aria-hidden=\"true\">\n            <path d=\"M0 250 L90 220 L170 160 L250 120 L330 70 L420 100 L500 60 L600 90\"\/>\n            <path d=\"M0 290 L90 262 L170 206 L250 168 L330 122 L420 150 L500 112 L600 140\"\/>\n            <path d=\"M0 330 L90 304 L170 252 L250 216 L330 174 L420 200 L500 164 L600 190\"\/>\n            <path d=\"M0 370 L90 346 L170 298 L250 264 L330 226 L420 250 L500 216 L600 240\"\/>\n            <path d=\"M0 410 L90 388 L170 344 L250 312 L330 278 L420 300 L500 268 L600 290\"\/>\n          <\/svg>\n          <span class=\"tuhus-proj-name\">Picacho Hills<\/span>\n          <p class=\"tuhus-proj-text\">Etapa 2, un conjunto donde ya lo tienes todo.<\/p>\n          <span class=\"tuhus-btn\">Ver Picacho Hills<\/span>\n        <\/a>\n      <\/div>\n    <\/div>\n  <\/section>\n\n\n  <!-- ============== INSTAGRAM (ultimas 3 publicaciones, en vivo) ============== -->\n  <section class=\"tuhus-block tuhus-ig\">\n    <div class=\"tuhus-wrap\">\n      <div class=\"tuhus-ig-head\">\n        <div>\n          <h2 class=\"tuhus-h2\" data-reveal=\"up\">Ent\u00e9rate de nuestras novedades<\/h2>\n        <\/div>\n        <div data-reveal=\"up\" style=\"--d:2\"><a class=\"tuhus-btn tuhus-btn-ig\" href=\"https:\/\/www.instagram.com\/tuhus.com.co\" target=\"_blank\" rel=\"noopener\"><svg class=\"tuhus-btn-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2.2c3.2 0 3.6 0 4.8.1 3.3.1 4.8 1.7 4.9 4.9.1 1.3.1 1.6.1 4.8s0 3.6-.1 4.8c-.1 3.2-1.7 4.8-4.9 4.9-1.3.1-1.6.1-4.8.1s-3.6 0-4.8-.1c-3.3-.1-4.8-1.7-4.9-4.9C2.2 15.6 2.2 15.2 2.2 12s0-3.6.1-4.8C2.4 3.9 4 2.4 7.2 2.3 8.4 2.2 8.8 2.2 12 2.2ZM12 0C8.7 0 8.3 0 7.1.1 2.7.3.3 2.7.1 7.1 0 8.3 0 8.7 0 12s0 3.7.1 4.9c.2 4.4 2.6 6.8 7 7 1.2.1 1.6.1 4.9.1s3.7 0 4.9-.1c4.4-.2 6.8-2.6 7-7 .1-1.2.1-1.6.1-4.9s0-3.7-.1-4.9c-.2-4.4-2.6-6.8-7-7C15.7 0 15.3 0 12 0Zm0 5.8a6.2 6.2 0 1 0 0 12.4 6.2 6.2 0 0 0 0-12.4ZM12 16a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm6.4-11.8a1.4 1.4 0 1 0 0 2.9 1.4 1.4 0 0 0 0-2.9Z\"\/><\/svg>Seguir a @tuhus.com.co<\/a><\/div>\n      <\/div>\n\n      <div id=\"tuhus-ig-grid\" class=\"tuhus-ig-grid\"><\/div>\n      <div id=\"tuhus-ig-fallback\" class=\"tuhus-ig-fallback\" style=\"display:none;\">\n        No pudimos cargar las publicaciones ahora.\n        <a href=\"https:\/\/www.instagram.com\/tuhus.com.co\" target=\"_blank\" rel=\"noopener\">M&iacute;ralas directamente en Instagram.<\/a>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ============== FORMULARIO (mismo backend en produccion) ============== -->\n  <section class=\"tuhus-block tuhus-contact\" id=\"tuhus-formulario\">\n    <div class=\"tuhus-wrap tuhus-contact-grid\">\n      <div>\n        <h2 class=\"tuhus-h2\" data-reveal=\"left\">&iquest;Nada de esto es lo que buscas?<\/h2>\n        <p class=\"tuhus-h2-sub\" data-reveal=\"left\" style=\"--d:1\">Deja tus datos y te escribimos solo cuando tengamos algo que s&iacute; pase el filtro.<\/p>\n      <\/div>\n\n      <div id=\"tuhus-lead-form\" class=\"lf-wrap\" data-reveal=\"right\" style=\"--d:2\">\n        <style>\n          .lf-wrap * { box-sizing: border-box; }\n          .lf-wrap {\n            background: #fff; padding: 36px 32px 32px;\n            font-family: 'Instrument Sans', Arial, sans-serif;\n            box-shadow: 12px 12px 0 #17120F;\n          }\n          .lf-wrap .lf-input, .lf-wrap .lf-cc {\n            width: 100%; padding: 15px 14px; font-size: 18px; font-family: 'Instrument Sans', Arial, sans-serif;\n            border: 2px solid #D9D3C7; border-radius: 4px; color: #17120F; background: #fff;\n          }\n          .lf-wrap .lf-input:focus, .lf-wrap .lf-cc:focus { outline: none; border-color: #17120F; }\n          .lf-wrap .lf-phone-row { display: flex; flex-wrap: nowrap; gap: 8px; }\n          .lf-wrap .lf-cc { flex: 0 0 88px; min-width: 0; padding: 15px 4px; }\n          .lf-wrap .lf-phone-row .lf-input { flex: 1 1 0%; min-width: 0; }\n          .lf-wrap select.lf-input { appearance: none; -webkit-appearance: none; -moz-appearance: none; background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 20 20' fill='%230B2B21'><path d='M5.8 7.5l4.2 4.2 4.2-4.2 1.3 1.3-5.5 5.5-5.5-5.5z'\/><\/svg>\"); background-repeat: no-repeat; background-position: right 12px center; background-size: 14px; padding-right: 34px; cursor: pointer; }\n          .lf-wrap .lf-row-2 { display: flex; gap: 8px; margin-top: 12px; }\n          .lf-wrap .lf-row-2 .lf-input { flex: 1 1 0%; min-width: 0; }\n          .lf-wrap .lf-submit {\n            width: 100%; margin-top: 20px; padding: 18px; background: #17120F; color: #fff; border: none; border-radius: 4px;\n            font-family: 'Instrument Sans', Arial, sans-serif; font-size: 19px; font-weight: 700; cursor: pointer;\n            transition: background .2s ease, color .2s ease;\n          }\n          .lf-wrap .lf-submit:hover { background: #BA8B24; color: #17120F; }\n          .lf-wrap .lf-submit:disabled { opacity: .6; cursor: default; }\n          .lf-wrap .lf-msg { margin-top: 14px; font-size: 17px; font-weight: 600; text-align: center; display: none; }\n          .lf-wrap .lf-msg.ok { color: #17120F; }\n          .lf-wrap .lf-msg.err { color: #A33; }\n        <\/style>\n\n        <form class=\"lf-form\">\n          <input class=\"lf-input lf-nombre\" type=\"text\" name=\"nombre\" placeholder=\"Tu nombre\" required>\n\n          <div class=\"lf-phone-row\" style=\"margin-top:12px;\">\n            <select class=\"lf-cc\">\n              <option value=\"57\" selected>&#127464;&#127476; 57<\/option>\n              <option value=\"58\">&#127483;&#127466; 58<\/option>\n              <option value=\"593\">&#127466;&#127464; 593<\/option>\n              <option value=\"507\">&#127477;&#127462; 507<\/option>\n              <option value=\"52\">&#127474;&#127485; 52<\/option>\n              <option value=\"1\">&#127482;&#127480; 1<\/option>\n              <option value=\"34\">&#127466;&#127480; 34<\/option>\n              <option value=\"51\">&#127477;&#127466; 51<\/option>\n              <option value=\"54\">&#127462;&#127479; 54<\/option>\n              <option value=\"56\">&#127464;&#127473; 56<\/option>\n              <option value=\"506\">&#127464;&#127479; 506<\/option>\n              <option value=\"502\">&#127468;&#127481; 502<\/option>\n              <option value=\"55\">&#127463;&#127479; 55<\/option>\n            <\/select>\n            <input class=\"lf-input lf-telefono\" type=\"tel\" name=\"telefono_numero\" placeholder=\"Tu tel&eacute;fono\" required>\n          <\/div>\n\n          <div class=\"lf-row-2\">\n            <select class=\"lf-input lf-tipo\" name=\"tipo\" required>\n              <option value=\"\" disabled selected>&iquest;Qu&eacute; buscas?<\/option>\n              <option value=\"Apartamento\">Apartamento<\/option>\n              <option value=\"Casa\">Casa<\/option>\n              <option value=\"Lote\">Lote<\/option>\n              <option value=\"Local comercial\">Local comercial<\/option>\n              <option value=\"Finca\">Finca<\/option>\n            <\/select>\n            <select class=\"lf-input lf-habitaciones\" name=\"habitaciones\" required>\n              <option value=\"\" disabled selected>Habitaciones<\/option>\n              <option value=\"1\">1<\/option>\n              <option value=\"2\">2<\/option>\n              <option value=\"3\">3<\/option>\n              <option value=\"4+\">4 o m&aacute;s<\/option>\n            <\/select>\n          <\/div>\n\n          <input class=\"lf-input lf-ubicacion\" style=\"margin-top:12px;\" type=\"text\" name=\"ubicacion\" placeholder=\"&iquest;En qu&eacute; zona la buscas?\" required>\n\n          <select class=\"lf-input lf-presupuesto\" name=\"presupuesto\" style=\"margin-top:12px;\" required>\n            <option value=\"\" disabled selected>Presupuesto<\/option>\n            <option value=\"Menor a $250 millones\">Menor a $250 millones<\/option>\n            <option value=\"$250 - $300 millones\">$250 - $300 millones<\/option>\n            <option value=\"$300 - $350 millones\">$300 - $350 millones<\/option>\n            <option value=\"$350 - $400 millones\">$350 - $400 millones<\/option>\n            <option value=\"$400 - $450 millones\">$400 - $450 millones<\/option>\n            <option value=\"$450 - $500 millones\">$450 - $500 millones<\/option>\n            <option value=\"$500 - $550 millones\">$500 - $550 millones<\/option>\n            <option value=\"$550 - $600 millones\">$550 - $600 millones<\/option>\n            <option value=\"$600 - $650 millones\">$600 - $650 millones<\/option>\n            <option value=\"$650 - $700 millones\">$650 - $700 millones<\/option>\n            <option value=\"$700 - $750 millones\">$700 - $750 millones<\/option>\n            <option value=\"$750 - $800 millones\">$750 - $800 millones<\/option>\n            <option value=\"$800 - $850 millones\">$800 - $850 millones<\/option>\n            <option value=\"$850 - $900 millones\">$850 - $900 millones<\/option>\n            <option value=\"$900 - $950 millones\">$900 - $950 millones<\/option>\n            <option value=\"$950 - $1.000 millones\">$950 - $1.000 millones<\/option>\n            <option value=\"Mayor a $1.000 millones\">Mayor a $1.000 millones<\/option>\n          <\/select>\n\n          <input type=\"hidden\" class=\"lf-inmueble\" name=\"inmueble\" value=\"\">\n\n          <button type=\"submit\" class=\"lf-submit\">Encontrar mi propiedad<\/button>\n          <p class=\"lf-msg ok\">&iexcl;Listo! Te contactaremos pronto.<\/p>\n          <p class=\"lf-msg err\">Hubo un problema al enviar. Intenta de nuevo.<\/p>\n        <\/form>\n\n        <script>\n        (function () {\n          \/\/ Mismo backend ya en produccion (Codigoformulariodeproyectosypropiedades.gs)\n          var WEBAPP_URL = \"https:\/\/script.google.com\/macros\/s\/AKfycbwoo4UKu38PWGBHtNI1ioApA8877Qv1dzpjgPSc6Ry1Rbh9jbcUqYheR_jHIvtYJZWT\/exec\";\n\n          var wrap = document.currentScript.closest(\".lf-wrap\");\n          var form = wrap.querySelector(\".lf-form\");\n          var btn = wrap.querySelector(\".lf-submit\");\n          var msgOk = wrap.querySelector(\".lf-msg.ok\");\n          var msgErr = wrap.querySelector(\".lf-msg.err\");\n\n          form.addEventListener(\"submit\", function (e) {\n            e.preventDefault();\n            msgOk.style.display = \"none\";\n            msgErr.style.display = \"none\";\n            btn.disabled = true;\n            btn.textContent = \"Enviando...\";\n\n            var indicativo = wrap.querySelector(\".lf-cc\").value;\n            var numero = wrap.querySelector(\".lf-telefono\").value.replace(\/\\D\/g, \"\");\n            var telefonoCompleto = indicativo + numero;\n\n            var params = new URLSearchParams();\n            params.append(\"nombre\", wrap.querySelector(\".lf-nombre\").value);\n            params.append(\"telefono\", telefonoCompleto);\n            params.append(\"inmueble\", wrap.querySelector(\".lf-inmueble\").value);\n            params.append(\"tipo\", wrap.querySelector(\".lf-tipo\").value);\n            params.append(\"ubicacion\", wrap.querySelector(\".lf-ubicacion\").value);\n            params.append(\"presupuesto\", wrap.querySelector(\".lf-presupuesto\").value);\n            params.append(\"habitaciones\", wrap.querySelector(\".lf-habitaciones\").value);\n\n            fetch(WEBAPP_URL, { method: \"POST\", mode: \"no-cors\", body: params })\n              .then(function () {\n                msgOk.style.display = \"block\";\n                form.reset();\n                wrap.querySelector(\".lf-inmueble\").value = \"\";\n              })\n              .catch(function () { msgErr.style.display = \"block\"; })\n              .finally(function () {\n                btn.disabled = false;\n                btn.textContent = \"Encontrar mi propiedad\";\n              });\n          });\n        })();\n        <\/script>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ============== VISOR DE VIDEO (Instagram) ============== -->\n  <div class=\"tuhus-viewer\" id=\"tuhus-viewer\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Video de Tuhus\">\n    <div class=\"tuhus-viewer-box\" id=\"tuhus-viewer-box\">\n      <button type=\"button\" class=\"tuhus-viewer-close\" id=\"tuhus-viewer-close\" aria-label=\"Cerrar video\">&times;<\/button>\n      <div id=\"tuhus-viewer-media\" style=\"width:100%;height:100%;\"><\/div>\n    <\/div>\n  <\/div>\n\n  <!-- ============== FOOTER ============== -->\n  <footer class=\"tuhus-footer\" data-reveal=\"fade\">\n    <div class=\"tuhus-wrap tuhus-footer-in\">\n      <a class=\"tuhus-logo\" href=\"#\" aria-label=\"Tuhus\">\n          <img decoding=\"async\" class=\"tuhus-logo-img\" src=\"https:\/\/tuhus.com.co\/homeclientes\/LOGO%20TUHUS%20.png\" alt=\"Tuhus\" onerror=\"this.style.display='none';this.nextElementSibling.style.display='inline-flex';\">\n          <span class=\"tuhus-logo-text\" style=\"display:none;\"><svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M12 2 L22 12 L12 22 L2 12 Z\" fill=\"currentColor\"\/><\/svg>tuhus<\/span>\n        <\/a>\n      <div class=\"tuhus-footer-links\">\n        <a href=\"https:\/\/www.instagram.com\/tuhus.com.co\" target=\"_blank\" rel=\"noopener\" aria-label=\"Instagram\">\n          <svg viewBox=\"0 0 24 24\"><path d=\"M12 2c-2.72 0-3.06.01-4.13.06-1.07.05-1.8.22-2.43.47a4.9 4.9 0 0 0-1.77 1.15A4.9 4.9 0 0 0 2.52 5.45c-.25.63-.42 1.36-.47 2.43C2 8.95 2 9.3 2 12s.01 3.06.06 4.13c.05 1.07.22 1.8.47 2.43.26.65.6 1.2 1.15 1.77.57.56 1.12.9 1.77 1.15.63.25 1.36.42 2.43.47C8.95 22 9.3 22 12 22s3.06-.01 4.13-.06c1.07-.05 1.8-.22 2.43-.47a4.9 4.9 0 0 0 1.77-1.15 4.9 4.9 0 0 0 1.15-1.77c.25-.63.42-1.36.47-2.43.05-1.07.06-1.41.06-4.13s-.01-3.06-.06-4.13c-.05-1.07-.22-1.8-.47-2.43a4.9 4.9 0 0 0-1.15-1.77A4.9 4.9 0 0 0 18.56.53c-.63-.25-1.36-.42-2.43-.47C15.06.01 14.72 0 12 0Zm0 5.84A6.16 6.16 0 1 1 5.84 12 6.16 6.16 0 0 1 12 5.84Zm0 2A4.16 4.16 0 1 0 16.16 12 4.16 4.16 0 0 0 12 7.84Zm6.4-2.2a1.44 1.44 0 1 1-1.44-1.44 1.44 1.44 0 0 1 1.44 1.44Z\"\/><\/svg>\n        <\/a>\n      <\/div>\n    <\/div>\n  <\/footer>\n<\/div>\n\n<script>\n(function () {\n  var tabla = document.querySelector(\".tuhus-ledger\");\n  if (!tabla) return;\n  var reducido = window.matchMedia && window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n  if (!(\"IntersectionObserver\" in window)) return; \/\/ se ve completa, sin animar\n  tabla.classList.add(\"tuhus-anim\");\n  if (reducido) tabla.classList.add(\"tuhus-calm\"); \/\/ version suave\n  var obs = new IntersectionObserver(function (entradas) {\n    entradas.forEach(function (e) {\n      if (e.isIntersecting) { tabla.classList.add(\"is-in\"); obs.disconnect(); }\n    });\n  }, { threshold: 0.2 });\n  obs.observe(tabla);\n})();\n<\/script>\n\n<!-- ======================================================\n     SCRIPT: ultimas 3 publicaciones, EMBEBIDAS directo desde Instagram\n     Sin token ni app de Meta: lee la pesta\u00f1a \"Contenido a publicar\" del\n     Sheet de marketing (v\u00eda Apps Script) y usa el embed p\u00fablico oficial\n     de Instagram (embed.js) para mostrar el post real.\n     ====================================================== -->\n<script>\n(function () {\n  \/\/ Mismo Apps Script de siempre (tuhus-feeds.gs), ahora con ?fuente=publicaciones\n  var FEED_URL = \"https:\/\/script.google.com\/macros\/s\/AKfycbwxHcN4uWSBqtUjINFsuUAhwmvC4NOsoTwN_fJ439jUyPQ9cWTNMQmJGi3RI8nt5beU6g\/exec?fuente=publicaciones\";\n  var CACHE_KEY = \"tuhus_ig_embeds_cache_v1\";\n\n  var grid = document.getElementById(\"tuhus-ig-grid\");\n  var fallback = document.getElementById(\"tuhus-ig-fallback\");\n\n  function esc(t) {\n    return String(t || \"\").replace(\/&\/g, \"&amp;\").replace(\/<\/g, \"&lt;\").replace(\/\"\/g, \"&quot;\");\n  }\n\n  \/\/ Carga el script publico de Instagram (embed.js) una sola vez\n  function cargarEmbedJs(listo) {\n    if (window.instgrm && window.instgrm.Embeds) { listo(); return; }\n    var existente = document.getElementById(\"tuhus-ig-embed-js\");\n    if (existente) { existente.addEventListener(\"load\", listo); return; }\n    var s = document.createElement(\"script\");\n    s.id = \"tuhus-ig-embed-js\";\n    s.async = true;\n    s.src = \"https:\/\/www.instagram.com\/embed.js\";\n    s.onload = listo;\n    document.body.appendChild(s);\n  }\n\n  function pintar(posts) {\n    grid.innerHTML = posts.slice(0, 3).map(function (p) {\n      return '<blockquote class=\"instagram-media\" data-instgrm-permalink=\"' + esc(p.url) + '\" data-instgrm-version=\"14\"><\/blockquote>';\n    }).join(\"\");\n    fallback.style.display = \"none\";\n    cargarEmbedJs(function () {\n      if (window.instgrm && window.instgrm.Embeds) window.instgrm.Embeds.process();\n      if (window.tuhusRevealScan) window.tuhusRevealScan();\n    });\n  }\n\n  \/\/ 1) Si ya se cargo antes en este navegador, mostrar de inmediato lo guardado\n  var hayCache = false;\n  try {\n    var guardado = JSON.parse(localStorage.getItem(CACHE_KEY) || \"null\");\n    if (guardado && guardado.length) { pintar(guardado); hayCache = true; }\n  } catch (e) {}\n\n  \/\/ 2) Si no hay nada guardado, mostrar 3 bloques de carga (no una seccion vacia)\n  if (!hayCache) {\n    grid.innerHTML = '<div class=\"tuhus-ig-skel\"><\/div><div class=\"tuhus-ig-skel\"><\/div><div class=\"tuhus-ig-skel\"><\/div>';\n  }\n\n  \/\/ 3) Pedir las URLs al Sheet de marketing. Apps Script a veces falla en frio: reintentar.\n  function pedir(intento) {\n    var controller = (typeof AbortController !== \"undefined\") ? new AbortController() : null;\n    var timer = setTimeout(function () { if (controller) controller.abort(); }, 25000);\n\n    fetch(FEED_URL, controller ? { signal: controller.signal } : undefined)\n      .then(function (r) { clearTimeout(timer); return r.text(); })\n      .then(function (texto) {\n        var posts;\n        try { posts = JSON.parse(texto); }\n        catch (e) { throw new Error(\"El script no devolvio JSON: \" + texto.substring(0, 200)); }\n        if (!posts || posts.error) throw new Error(\"El script devolvio error: \" + JSON.stringify(posts && posts.detalle).substring(0, 300));\n        if (!posts.length) throw new Error(\"No hay publicaciones con Publicado=TRUE y URL en el Sheet\");\n        pintar(posts);\n        try { localStorage.setItem(CACHE_KEY, JSON.stringify(posts)); } catch (e) {}\n      })\n      .catch(function (err) {\n        clearTimeout(timer);\n        if (intento < 3) { setTimeout(function () { pedir(intento + 1); }, 2000 * intento); return; }\n        if (hayCache) return; \/\/ se queda con lo guardado\n        grid.innerHTML = \"\";\n        fallback.style.display = \"block\";\n      });\n  }\n  pedir(1);\n})();\n<\/script>\n\n<!-- ======================================================\n     SCRIPT: entradas animadas al hacer scroll (todo el index)\n     ====================================================== -->\n<script>\n(function () {\n  var page = document.querySelector(\".tuhus-page\");\n  if (!page || !page.classList.contains(\"tuhus-rv\")) return;\n\n  var obs = new IntersectionObserver(function (entradas) {\n    entradas.forEach(function (e) {\n      if (!e.isIntersecting) return;\n      var el = e.target;\n      el.classList.add(\"is-in\");\n      obs.unobserve(el);\n      \/\/ pasada la entrada, quita el retardo para que los efectos de mouse respondan al instante\n      setTimeout(function () { el.classList.add(\"is-settled\"); }, 1800);\n    });\n  }, { threshold: 0.12, rootMargin: \"0px 0px -6% 0px\" });\n\n  function escanear() {\n    var nuevos = page.querySelectorAll(\"[data-reveal]:not([data-watching])\");\n    for (var i = 0; i < nuevos.length; i++) {\n      nuevos[i].setAttribute(\"data-watching\", \"1\");\n      obs.observe(nuevos[i]);\n    }\n  }\n  window.tuhusRevealScan = escanear;\n  escanear();\n})();\n<\/script>\n\n<!-- ======================================================\n     SCRIPT: visor de video en la misma pagina (al hacer clic en una publicacion de Instagram)\n     ====================================================== -->\n<script>\n(function () {\n  var visor = document.getElementById(\"tuhus-viewer\");\n  var media = document.getElementById(\"tuhus-viewer-media\");\n  var cerrar = document.getElementById(\"tuhus-viewer-close\");\n  var grid = document.getElementById(\"tuhus-ig-grid\");\n  if (!visor || !media || !grid) return;\n  var previo = null;\n\n  function embedDe(enlace) {\n    \/\/ https:\/\/www.instagram.com\/reel\/XXXX\/  ->  https:\/\/www.instagram.com\/reel\/XXXX\/embed\n    var base = String(enlace || \"\").split(\"?\")[0];\n    if (base.charAt(base.length - 1) !== \"\/\") base += \"\/\";\n    return base + \"embed\";\n  }\n\n  function abrir(tarjeta) {\n    var video = tarjeta.getAttribute(\"data-video\");\n    var enlace = tarjeta.getAttribute(\"href\");\n    var imagen = tarjeta.getAttribute(\"data-img\");\n    media.innerHTML = \"\";\n    var el;\n    if (video) {\n      \/\/ Video propio de la publicacion, se reproduce aqui mismo\n      el = document.createElement(\"video\");\n      el.src = video;\n      el.poster = imagen || \"\";\n      el.controls = true;\n      el.autoplay = true;\n      el.playsInline = true;\n      el.setAttribute(\"playsinline\", \"\");\n    } else {\n      \/\/ Respaldo: la publicacion incrustada de Instagram\n      el = document.createElement(\"iframe\");\n      el.src = embedDe(enlace);\n      el.setAttribute(\"allowfullscreen\", \"\");\n      el.setAttribute(\"allow\", \"autoplay; encrypted-media; picture-in-picture; fullscreen\");\n      el.setAttribute(\"scrolling\", \"no\");\n      el.title = \"Publicacion de Tuhus en Instagram\";\n    }\n    media.appendChild(el);\n    previo = document.activeElement;\n    visor.classList.add(\"is-open\");\n    document.body.classList.add(\"tuhus-viewer-lock\");\n    requestAnimationFrame(function () { requestAnimationFrame(function () { visor.classList.add(\"is-shown\"); }); });\n    cerrar.focus();\n  }\n\n  function cerrarVisor() {\n    visor.classList.remove(\"is-shown\");\n    setTimeout(function () {\n      visor.classList.remove(\"is-open\");\n      media.innerHTML = \"\";               \/\/ detiene el video\n      document.body.classList.remove(\"tuhus-viewer-lock\");\n      if (previo && previo.focus) previo.focus();\n    }, 260);\n  }\n\n  grid.addEventListener(\"click\", function (e) {\n    var tarjeta = e.target.closest ? e.target.closest(\".tuhus-ig-card\") : null;\n    if (!tarjeta) return;\n    if (e.metaKey || e.ctrlKey || e.shiftKey || e.button === 1) return; \/\/ deja abrir en pestana nueva si lo piden\n    e.preventDefault();\n    abrir(tarjeta);\n  });\n  cerrar.addEventListener(\"click\", cerrarVisor);\n  visor.addEventListener(\"click\", function (e) { if (e.target === visor) cerrarVisor(); });\n  document.addEventListener(\"keydown\", function (e) {\n    if (e.key === \"Escape\" && visor.classList.contains(\"is-open\")) cerrarVisor();\n  });\n})();\n<\/script>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>tuhus No todo lo que se publica se puede comprar.Aqu&iacute; solo est&aacute; lo que pas&oacute; el filtro. Nosotros ya hicimos la parte dif&iacute;cil: validamos el precio, revisamos el estado y verificamos los papeles. Aqu&iacute; no hay un cat&aacute;logo masivo de propiedades: filtramos por ti, para que decidas con tranquilidad. &Uacute;ltimas entregas Dos caminos para comprar. &#8230; <a title=\"Home\" class=\"read-more\" href=\"https:\/\/tuhus.com.co\/\" aria-label=\"M\u00e1s en Home\">Leer m\u00e1s<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-57","page","type-page","status-publish"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>TUHUS<\/title>\n<meta name=\"description\" content=\"Tu aliado en vivienda\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/tuhus.com.co\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tuhus\" \/>\n<meta property=\"og:description\" content=\"Te ofrecemos propiedades y proyectos exclusivos\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tuhus.com.co\/\" \/>\n<meta property=\"og:site_name\" content=\"TUHUS\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/jorgeluisvergara2021\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-18T12:58:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/tuhus.com.co\/wp-content\/uploads\/2023\/11\/LOGO-4.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1080\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo estimado de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/tuhus.com.co\/\",\"url\":\"https:\/\/tuhus.com.co\/\",\"name\":\"TUHUS\",\"isPartOf\":{\"@id\":\"https:\/\/tuhus.com.co\/#website\"},\"datePublished\":\"2023-08-01T22:25:58+00:00\",\"dateModified\":\"2026-10-18T12:58:32+00:00\",\"description\":\"Tu aliado en vivienda\",\"breadcrumb\":{\"@id\":\"https:\/\/tuhus.com.co\/#breadcrumb\"},\"inLanguage\":\"es-CO\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/tuhus.com.co\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/tuhus.com.co\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Inicio\",\"item\":\"https:\/\/tuhus.com.co\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Home\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/tuhus.com.co\/#website\",\"url\":\"https:\/\/tuhus.com.co\/\",\"name\":\"TUHUS\",\"description\":\"Red social inmobiliaria\",\"publisher\":{\"@id\":\"https:\/\/tuhus.com.co\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/tuhus.com.co\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"es-CO\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/tuhus.com.co\/#organization\",\"name\":\"TUHUS\",\"url\":\"https:\/\/tuhus.com.co\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es-CO\",\"@id\":\"https:\/\/tuhus.com.co\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/tuhus.com.co\/wp-content\/uploads\/2023\/11\/LOGO-4.png\",\"contentUrl\":\"https:\/\/tuhus.com.co\/wp-content\/uploads\/2023\/11\/LOGO-4.png\",\"width\":1080,\"height\":300,\"caption\":\"TUHUS\"},\"image\":{\"@id\":\"https:\/\/tuhus.com.co\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/jorgeluisvergara2021\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"TUHUS","description":"Tu aliado en vivienda","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/tuhus.com.co\/","og_locale":"es_ES","og_type":"article","og_title":"Tuhus","og_description":"Te ofrecemos propiedades y proyectos exclusivos","og_url":"https:\/\/tuhus.com.co\/","og_site_name":"TUHUS","article_publisher":"https:\/\/www.facebook.com\/jorgeluisvergara2021","article_modified_time":"2026-10-18T12:58:32+00:00","og_image":[{"width":1080,"height":300,"url":"https:\/\/tuhus.com.co\/wp-content\/uploads\/2023\/11\/LOGO-4.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Tiempo estimado de lectura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/tuhus.com.co\/","url":"https:\/\/tuhus.com.co\/","name":"TUHUS","isPartOf":{"@id":"https:\/\/tuhus.com.co\/#website"},"datePublished":"2023-08-01T22:25:58+00:00","dateModified":"2026-10-18T12:58:32+00:00","description":"Tu aliado en vivienda","breadcrumb":{"@id":"https:\/\/tuhus.com.co\/#breadcrumb"},"inLanguage":"es-CO","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tuhus.com.co\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/tuhus.com.co\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Inicio","item":"https:\/\/tuhus.com.co\/"},{"@type":"ListItem","position":2,"name":"Home"}]},{"@type":"WebSite","@id":"https:\/\/tuhus.com.co\/#website","url":"https:\/\/tuhus.com.co\/","name":"TUHUS","description":"Red social inmobiliaria","publisher":{"@id":"https:\/\/tuhus.com.co\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/tuhus.com.co\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"es-CO"},{"@type":"Organization","@id":"https:\/\/tuhus.com.co\/#organization","name":"TUHUS","url":"https:\/\/tuhus.com.co\/","logo":{"@type":"ImageObject","inLanguage":"es-CO","@id":"https:\/\/tuhus.com.co\/#\/schema\/logo\/image\/","url":"https:\/\/tuhus.com.co\/wp-content\/uploads\/2023\/11\/LOGO-4.png","contentUrl":"https:\/\/tuhus.com.co\/wp-content\/uploads\/2023\/11\/LOGO-4.png","width":1080,"height":300,"caption":"TUHUS"},"image":{"@id":"https:\/\/tuhus.com.co\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/jorgeluisvergara2021"]}]}},"_links":{"self":[{"href":"https:\/\/tuhus.com.co\/index.php\/wp-json\/wp\/v2\/pages\/57","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tuhus.com.co\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tuhus.com.co\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tuhus.com.co\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tuhus.com.co\/index.php\/wp-json\/wp\/v2\/comments?post=57"}],"version-history":[{"count":1040,"href":"https:\/\/tuhus.com.co\/index.php\/wp-json\/wp\/v2\/pages\/57\/revisions"}],"predecessor-version":[{"id":19235,"href":"https:\/\/tuhus.com.co\/index.php\/wp-json\/wp\/v2\/pages\/57\/revisions\/19235"}],"wp:attachment":[{"href":"https:\/\/tuhus.com.co\/index.php\/wp-json\/wp\/v2\/media?parent=57"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}