{"id":900156,"date":"2026-05-26T04:08:25","date_gmt":"2026-05-26T04:08:25","guid":{"rendered":"https:\/\/afable.cl\/?page_id=900156"},"modified":"2026-05-26T17:33:55","modified_gmt":"2026-05-26T17:33:55","slug":"imaginario-servicios-de-generacion-visual","status":"publish","type":"page","link":"https:\/\/afable.cl\/?page_id=900156","title":{"rendered":"Imaginario &#8211; Servicios de generaci\u00f3n visual"},"content":{"rendered":"<p>[et_pb_section fb_built=\u00bb1&#8243; _builder_version=\u00bb4.9.4&#8243; _module_preset=\u00bbdefault\u00bb][et_pb_row _builder_version=\u00bb4.9.4&#8243; _module_preset=\u00bbdefault\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.9.4&#8243; _module_preset=\u00bbdefault\u00bb][et_pb_code _builder_version=\u00bb4.9.4&#8243; _module_preset=\u00bbdefault\u00bb positioning=\u00bbabsolute\u00bb width=\u00bb100%\u00bb]<\/p>\n<div class=\"imaginario-logo-morph\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<style><!-- [et_pb_line_break_holder] -->    .imaginario-logo-morph {<!-- [et_pb_line_break_holder] -->        --ink: #000;<!-- [et_pb_line_break_holder] -->        width: 300px;<!-- [et_pb_line_break_holder] -->        max-width: 100%;<!-- [et_pb_line_break_holder] -->        background: transparent;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .imaginario-logo-morph, .imaginario-logo-morph * {<!-- [et_pb_line_break_holder] -->        box-sizing: border-box;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .imaginario-logo-morph svg {<!-- [et_pb_line_break_holder] -->        width: 100%;<!-- [et_pb_line_break_holder] -->        height: auto;<!-- [et_pb_line_break_holder] -->        display: block;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .imaginario-logo-morph #morph, .imaginario-logo-morph #letters {<!-- [et_pb_line_break_holder] -->        fill: var(--ink);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <\/style>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <svg id=\"stage\" viewBox=\"0 0 869.63 204.33\" aria-label=\"Logo imaginario con estrella animada\"><!-- [et_pb_line_break_holder] -->        <defs><!-- [et_pb_line_break_holder] -->            <path id=\"star-1\" d=\"M472.21,415.71l19.19-114.57c2.32-13.86,22.35-13.54,24.23.39l15.16,112.59c1.11,8.22,9.88,12.99,17.38,9.44l271.03-128.07c12.94-6.11,24.07,11.12,13.18,20.41l-241.34,205.71c-6.77,5.77-5.33,16.6,2.71,20.4l46.12,21.81c12.53,5.92,7.14,24.83-6.63,23.25l-88.66-10.13c-6.48-.74-12.4,3.72-13.48,10.15l-26.11,155.77c-2.25,13.41-21.4,13.73-24.1.4l-34.54-170.87c-1.45-7.2-8.87-11.51-15.84-9.21l-47.64,15.69c-12.35,4.07-21.69-11.36-12.38-20.42l45.45-44.22c4.95-4.82,4.94-12.77-.01-17.58l-108.92-105.67c-9.64-9.35.62-25.16,13.09-20.17l135.46,54.25c7.26,2.91,15.35-1.64,16.64-9.35Z\"\/><!-- [et_pb_line_break_holder] -->            <path id=\"star-2\" d=\"M473.35,409.9l24.68-143.41c2.66-15.44,25.24-14.1,26.06,1.54l7.02,134.35c.6,11.53,14.73,16.73,22.66,8.33h0c11.1-11.75,29.49,3.03,20.41,16.4l-1.45,2.14c-5.92,8.72.32,20.51,10.86,20.51h50.78c13.72,0,18.25,18.38,6.11,24.76l-40.72,21.38c-8.21,4.31-9.49,15.55-2.45,21.6l120.74,103.58c12.05,10.34-1.17,29.2-15,21.41l-129.09-72.78c-7.6-4.29-17.2-.1-19.22,8.39l-46.36,194.23c-3.49,14.64-24.86,12.85-25.88-2.16l-11.89-175.74c-.61-8.95-9.81-14.67-18.11-11.26l-65.47,26.97c-14.9,6.14-25.63-14.79-11.94-23.3l28.93-17.98c10.94-6.8,6.56-23.66-6.31-24.27l-17.87-.85c-13.7-.65-17.35-19.22-4.93-25.02l20.82-9.72c6.53-3.05,9.38-10.78,6.4-17.34l-63.65-140.04c-5.85-12.87,9.98-24.63,20.61-15.31l92.64,81.23c7.72,6.76,19.86,2.46,21.6-7.65Z\"\/><!-- [et_pb_line_break_holder] -->            <path id=\"star-3\" d=\"M468.18,416l37.4-190.4c1.72-8.74,14.31-8.49,15.67.32l31.9,206.32c.91,5.9,7.75,8.73,12.56,5.2l21.44-15.69c7.23-5.29,16.33,3.55,11.25,10.93l-18.43,26.8c-3.36,4.88-.39,11.6,5.49,12.39l78.9,10.69c8.25,1.12,9.46,12.54,1.63,15.37l-80.72,29.12c-5.68,2.05-7.1,9.44-2.57,13.44l81.72,72.26c6.73,5.95-.02,16.75-8.32,13.31l-120.04-49.83c-3.92-1.63-8.43.11-10.24,3.94l-22.73,48.03c-2.95,6.22-11.87,6.02-14.53-.33l-18.34-43.83c-2.16-5.16-8.83-6.54-12.86-2.66l-80.14,77.17c-6.2,5.97-16.14-.79-12.88-8.75l48.81-119.1c2.06-5.04-1.42-10.61-6.85-10.96l-76.11-4.86c-8.67-.55-10.3-12.61-2.1-15.46l92.44-32.06c5.02-1.74,6.95-7.81,3.87-12.13l-58.34-81.89c-5.27-7.39,3.97-16.42,11.24-10.99l78.3,58.48c4.69,3.51,11.44.91,12.57-4.84Z\"\/><!-- [et_pb_line_break_holder] -->            <path id=\"star-4\" d=\"M427.05,454.36l-19.91-229.89c-1.5-17.36,23.09-22.47,28.62-5.94l50.68,151.35c4.8,14.32,25.48,12.99,28.4-1.83h0c3.33-16.89,27.97-15.32,29.13,1.86l3.84,57.04c.95,14.08,19.24,18.88,26.99,7.09l31.54-48.03c10.01-15.24,33.33-2.27,25.65,14.27l-36.97,79.64c-4.53,9.76,2.6,20.91,13.35,20.91h180.49c18.03,0,20.25,26.18,2.48,29.23l-236,40.38c-9.85,1.69-15.19,12.49-10.55,21.34l66.3,126.5c8.51,16.23-14.37,30.3-25.02,15.38l-101.32-142.01c-6.07-8.5-18.81-8.16-24.41.66l-124.58,196.28c-9.95,15.67-33.8,2.33-25.65-14.35l110.89-226.83c3.94-8.06-.18-17.74-8.73-20.48l-91.86-29.47c-16.14-5.18-12.18-29.05,4.77-28.73l86.93,1.63c8.74.16,15.69-7.28,14.94-15.99Z\"\/><!-- [et_pb_line_break_holder] -->            <path id=\"star-5\" d=\"M467.24,415.34l21.78-118.2c2.58-14.01,22.91-13.22,24.41.94l11.89,112.82c.99,9.38,11.71,14.23,19.41,8.77l45.15-32.01c10.58-7.5,24.09,4.32,18.06,15.8l-29.33,55.85c-3.78,7.19.31,16.01,8.24,17.78l103.3,23.02c12.63,2.81,12.96,20.7.45,23.98l-125.08,32.8c-6.58,1.73-10.53,8.46-8.81,15.05l10.91,41.87c3.04,11.66-10.72,20.31-19.92,12.53l-40.37-34.19c-5.81-4.92-14.66-3.45-18.57,3.09l-42.85,71.69c-6.61,11.06-23.62,5.86-22.91-7l5.3-96.85c.39-7.07-5.24-13.01-12.32-13.01h-39.43c-11.27,0-16.64-13.86-8.31-21.46l42.18-38.46c4.44-4.05,5.32-10.72,2.07-15.78l-42.44-66.15c-6.85-10.68,4.94-23.5,16.15-17.57l63.12,33.38c7.36,3.89,16.39-.48,17.9-8.67Z\"\/><!-- [et_pb_line_break_holder] -->            <path id=\"star-6\" d=\"M467.83,418.98l20.7-131.54c1.77-11.27,18.02-11.17,19.67.11l18.58,127.55c1.08,7.44,9.72,11.04,15.76,6.56l46.72-34.6c8.14-6.03,19.04,2.55,15.08,11.88l-27.19,64.01c-2.33,5.49.66,11.79,6.4,13.45l107.25,30.94c10.17,2.93,9.33,17.61-1.11,19.37l-115.65,19.44c-5.89.99-9.58,6.91-7.89,12.63l10.06,33.95c2.82,9.51-8.49,16.83-16.02,10.37l-18.18-15.61c-5.76-4.94-14.71-1.88-16.22,5.56l-21.63,105.95c-2.22,10.88-17.89,10.49-19.58-.48l-16.6-108.15c-1.04-6.78-8.48-10.5-14.53-7.26l-37.22,19.94c-9,4.82-18.55-5.42-13.12-14.06l19.88-31.62c3.71-5.9.36-13.69-6.48-15.05l-80.5-16.05c-10.3-2.05-10.8-16.59-.67-19.35l82.78-22.58c6.33-1.73,9.28-8.99,5.95-14.64l-28.52-48.46c-4.86-8.26,3.63-17.94,12.45-14.2l46.12,19.55c5.96,2.53,12.7-1.22,13.71-7.61Z\"\/><!-- [et_pb_line_break_holder] -->            <path id=\"star-7\" d=\"M505.59,408.55l31.54-69.87c6.17-13.66,26.52-9.82,27.29,5.15l6.14,119.62c.39,7.6,6.66,13.55,14.27,13.55h123.61c16.95,0,19.79,24.28,3.29,28.19l-129.07,30.58c-6.63,1.57-11.23,7.6-10.98,14.41l2.58,72.29c.58,16.35-22.31,20.69-27.75,5.26l-14.65-41.53c-3.64-10.33-17.07-12.89-24.26-4.62l-54.4,62.6c-9.35,10.76-26.96,2.7-24.93-11.41l8.1-56.24c1.07-7.39-3.75-14.36-11.04-15.98l-29.78-6.63c-13.87-3.09-15.22-22.33-1.91-27.32h0c9.43-3.54,12.34-15.45,5.6-22.94l-61.95-68.84c-10.33-11.48,2.37-28.91,16.46-22.59l70.98,31.82c10.24,4.59,21.54-3.88,20-15l-3.26-23.48c-1.96-14.1,15.66-22.08,24.96-11.3l15.32,17.74c6.82,7.9,19.54,6.06,23.84-3.46Z\"\/><!-- [et_pb_line_break_holder] -->            <path id=\"star-8\" d=\"M498.75,379.03l-5.09-122.02c-.61-14.7,20.69-17.35,23.7-2.95l33.92,162.14c2.3,10.97,17.06,13.06,22.31,3.16l21.82-41.12c6.8-12.82,26.28-4.77,22.04,9.12l-30.82,100.92c-2.35,7.7,3.41,15.48,11.46,15.48h102.17c14.3,0,16.58,20.53,2.63,23.67l-130.48,29.35c-7.41,1.67-11.42,9.71-8.28,16.63l51.4,113.53c5.79,12.8-11.37,23.4-20.22,12.49l-88.14-108.7c-3.73-4.6-10.25-5.78-15.36-2.79l-241.24,141.2c-11.96,7-24.28-8.52-14.75-18.58l170.28-179.63c6.86-7.24,2.39-19.2-7.53-20.17l-25.79-2.52c-13.06-1.27-14.86-19.6-2.3-23.39l39.82-12.04c8.4-2.54,11.31-12.96,5.44-19.48l-6.81-7.57c-8.14-9.04.82-23.05,12.44-19.46l27.17,8.39c9.44,2.91,18.15-6.2,14.81-15.5l-8.32-23.17c-4.88-13.6,14.02-22.61,21.52-10.27h0c6.43,10.58,22.73,5.65,22.21-6.72Z\"\/><!-- [et_pb_line_break_holder] -->        <\/defs><!-- [et_pb_line_break_holder] -->        <g id=\"animated-mark\" transform=\"translate(-25 -18) scale(0.24)\"><!-- [et_pb_line_break_holder] -->            <path id=\"morph\"><\/path><!-- [et_pb_line_break_holder] -->        <\/g><!-- [et_pb_line_break_holder] -->        <g id=\"letters\"><!-- [et_pb_line_break_holder] -->            <path d=\"M216.47,40.37c4.95,0,8.85,3.9,8.85,8.85s-3.9,8.72-8.85,8.72-8.72-3.9-8.72-8.72,3.9-8.85,8.72-8.85ZM210.49,135.51v-62.61h12.1v62.61h-12.1Z\"\/><!-- [et_pb_line_break_holder] -->            <path d=\"M240.94,135.51v-62.61h11.71v8.33c3.9-6.9,11.71-10.15,19-10.15,7.81,0,15.36,3.77,18.74,11.84,4.95-8.98,13.02-11.84,20.96-11.84,10.93,0,21.61,7.42,21.61,23.82v40.61h-12.1v-39.31c0-8.2-4.03-14.32-13.28-14.32-8.59,0-14.45,6.77-14.45,15.75v37.88h-12.23v-39.31c0-8.07-3.9-14.32-13.28-14.32-8.72,0-14.58,6.51-14.58,15.88v37.75h-12.1Z\"\/><!-- [et_pb_line_break_holder] -->            <path d=\"M365.11,99.72l16.92-2.47c3.77-.52,4.82-2.47,4.82-4.69,0-6.12-4.03-11.19-13.54-11.19-8.59,0-13.41,5.34-14.19,12.63l-11.71-2.73c1.3-11.97,12.1-20.3,25.64-20.3,18.74,0,26.03,10.67,26.03,22.91v31.37c0,5.47.52,8.72.78,10.28h-11.97c-.26-1.56-.65-3.9-.65-8.46-2.73,4.43-8.98,10.41-20.17,10.41-12.76,0-20.96-8.85-20.96-18.74,0-11.19,8.2-17.44,19-19ZM386.85,108.7v-2.86l-19.13,2.86c-5.21.78-9.11,3.77-9.11,9.37,0,4.69,3.9,9.11,10.15,9.11,10.02,0,18.09-4.82,18.09-18.48Z\"\/><!-- [et_pb_line_break_holder] -->            <path d=\"M422.9,136.16c.91,8.72,7.55,15.36,17.05,15.36,13.15,0,19.13-6.77,19.13-20.3v-8.98c-2.99,5.73-9.76,10.28-19.13,10.28-16.66,0-28.76-12.62-28.76-30.33s11.58-30.46,28.76-30.46c9.63,0,16.14,3.64,19.26,9.89v-8.72h12.1v57.92c0,15.88-7.81,31.37-31.37,31.37-15.62,0-27.33-9.89-28.9-23.3l11.84-2.73ZM459.61,102.19c0-12.1-7.29-20.04-17.83-20.04s-18.09,7.94-18.09,20.04,7.03,20.04,18.09,20.04,17.83-7.94,17.83-20.04Z\"\/><!-- [et_pb_line_break_holder] -->            <path d=\"M494.36,40.37c4.95,0,8.85,3.9,8.85,8.85s-3.9,8.72-8.85,8.72-8.72-3.9-8.72-8.72,3.9-8.85,8.72-8.85ZM488.37,135.51v-62.61h12.1v62.61h-12.1Z\"\/><!-- [et_pb_line_break_holder] -->            <path d=\"M531.06,135.51h-12.23v-62.61h11.97v8.98c4.56-7.81,11.97-10.8,19.26-10.8,14.97,0,22.39,10.8,22.39,24.73v39.7h-12.23v-37.62c0-8.72-3.64-15.75-14.58-15.75-9.63,0-14.58,7.68-14.58,17.18v36.18Z\"\/><!-- [et_pb_line_break_holder] -->            <path d=\"M604.6,99.72l16.92-2.47c3.77-.52,4.82-2.47,4.82-4.69,0-6.12-4.03-11.19-13.54-11.19-8.59,0-13.41,5.34-14.19,12.63l-11.71-2.73c1.3-11.97,12.1-20.3,25.64-20.3,18.74,0,26.03,10.67,26.03,22.91v31.37c0,5.47.52,8.72.78,10.28h-11.97c-.26-1.56-.65-3.9-.65-8.46-2.73,4.43-8.98,10.41-20.17,10.41-12.76,0-20.96-8.85-20.96-18.74,0-11.19,8.2-17.44,19-19ZM626.34,108.7v-2.86l-19.13,2.86c-5.21.78-9.11,3.77-9.11,9.37,0,4.69,3.9,9.11,10.15,9.11,10.02,0,18.09-4.82,18.09-18.48Z\"\/><!-- [et_pb_line_break_holder] -->            <path d=\"M689.86,85.27c-1.82-.26-3.64-.39-5.34-.39-10.28,0-17.18,5.47-17.18,19.26v31.37h-12.23v-62.61h11.97v10.93c4.56-9.63,12.36-11.97,18.74-11.97,1.69,0,3.38.26,4.04.39v13.02Z\"\/><!-- [et_pb_line_break_holder] -->            <path d=\"M706.38,40.37c4.95,0,8.85,3.9,8.85,8.85s-3.9,8.72-8.85,8.72-8.72-3.9-8.72-8.72,3.91-8.85,8.72-8.85ZM700.4,135.51v-62.61h12.1v62.61h-12.1Z\"\/><!-- [et_pb_line_break_holder] -->            <path d=\"M789.68,104.14c0,19.13-13.28,33.32-32.02,33.32s-32.02-14.19-32.02-33.32,13.28-33.19,32.02-33.19,32.02,14.19,32.02,33.19ZM777.19,104.14c0-14.45-9.11-22.26-19.52-22.26s-19.52,7.81-19.52,22.26,9.11,22.39,19.52,22.39,19.52-7.81,19.52-22.39Z\"\/><!-- [et_pb_line_break_holder] -->        <\/g><!-- [et_pb_line_break_holder] -->    <\/svg><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <script><!-- [et_pb_line_break_holder] -->    (() => {<!-- [et_pb_line_break_holder] -->        const root = document.currentScript.closest('.imaginario-logo-morph');<!-- [et_pb_line_break_holder] -->        const POINTS = 280;<!-- [et_pb_line_break_holder] -->        const STEP_MS = 760;<!-- [et_pb_line_break_holder] -->        const HOLD_MS = 35;<!-- [et_pb_line_break_holder] -->        const ids = Array.from({<!-- [et_pb_line_break_holder] -->            length: 8<!-- [et_pb_line_break_holder] -->        }, (_, index) => `star-${index + 1}`);<!-- [et_pb_line_break_holder] -->        const morph = root.querySelector(\"#morph\");<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        const ease = (t) => t < 0.5<!-- [et_pb_line_break_holder] -->        ? 4 * t * t * t<!-- [et_pb_line_break_holder] -->        : 1 - Math.pow(-2 * t + 2, 3) \/ 2;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        const samplePath = (path) => {<!-- [et_pb_line_break_holder] -->            const length = path.getTotalLength();<!-- [et_pb_line_break_holder] -->            return Array.from({<!-- [et_pb_line_break_holder] -->                length: POINTS<!-- [et_pb_line_break_holder] -->            }, (_, index) => {<!-- [et_pb_line_break_holder] -->                const point = path.getPointAtLength((index \/ POINTS) * length);<!-- [et_pb_line_break_holder] -->                return {<!-- [et_pb_line_break_holder] -->                    x: point.x,<!-- [et_pb_line_break_holder] -->                    y: point.y<!-- [et_pb_line_break_holder] -->                };<!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] -->        };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        const distanceScore = (a, b, shift, reversed) => {<!-- [et_pb_line_break_holder] -->            let score = 0;<!-- [et_pb_line_break_holder] -->            for (let i = 0; i < POINTS; i += 10) {<!-- [et_pb_line_break_holder] -->                const nextIndex = reversed<!-- [et_pb_line_break_holder] -->                ? (POINTS - ((i + shift) % POINTS)) % POINTS<!-- [et_pb_line_break_holder] -->                : (i + shift) % POINTS;<!-- [et_pb_line_break_holder] -->                const dx = a[i].x - b[nextIndex].x;<!-- [et_pb_line_break_holder] -->                const dy = a[i].y - b[nextIndex].y;<!-- [et_pb_line_break_holder] -->                score += dx * dx + dy * dy;<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->            return score;<!-- [et_pb_line_break_holder] -->        };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        const alignToPrevious = (previous, points) => {<!-- [et_pb_line_break_holder] -->            let best = {<!-- [et_pb_line_break_holder] -->                shift: 0,<!-- [et_pb_line_break_holder] -->                reversed: false,<!-- [et_pb_line_break_holder] -->                score: Infinity<!-- [et_pb_line_break_holder] -->            };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            for (const reversed of [false, true]) {<!-- [et_pb_line_break_holder] -->                for (let shift = 0; shift < POINTS; shift++) {<!-- [et_pb_line_break_holder] -->                    const score = distanceScore(previous, points, shift, reversed);<!-- [et_pb_line_break_holder] -->                    if (score < best.score)<!-- [et_pb_line_break_holder] -->                        best = {<!-- [et_pb_line_break_holder] -->                            shift,<!-- [et_pb_line_break_holder] -->                            reversed,<!-- [et_pb_line_break_holder] -->                            score<!-- [et_pb_line_break_holder] -->                        };<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            return Array.from({<!-- [et_pb_line_break_holder] -->                length: POINTS<!-- [et_pb_line_break_holder] -->            }, (_, index) => {<!-- [et_pb_line_break_holder] -->                const nextIndex = best.reversed<!-- [et_pb_line_break_holder] -->                ? (POINTS - ((index + best.shift) % POINTS)) % POINTS<!-- [et_pb_line_break_holder] -->                : (index + best.shift) % POINTS;<!-- [et_pb_line_break_holder] -->                return points[nextIndex];<!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] -->        };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        const scoreAligned = (previous, points) => {<!-- [et_pb_line_break_holder] -->            let best = {<!-- [et_pb_line_break_holder] -->                shift: 0,<!-- [et_pb_line_break_holder] -->                reversed: false,<!-- [et_pb_line_break_holder] -->                score: Infinity<!-- [et_pb_line_break_holder] -->            };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            for (const reversed of [false, true]) {<!-- [et_pb_line_break_holder] -->                for (let shift = 0; shift < POINTS; shift++) {<!-- [et_pb_line_break_holder] -->                    const score = distanceScore(previous, points, shift, reversed);<!-- [et_pb_line_break_holder] -->                    if (score < best.score)<!-- [et_pb_line_break_holder] -->                        best = {<!-- [et_pb_line_break_holder] -->                            shift,<!-- [et_pb_line_break_holder] -->                            reversed,<!-- [et_pb_line_break_holder] -->                            score<!-- [et_pb_line_break_holder] -->                        };<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            const aligned = Array.from({<!-- [et_pb_line_break_holder] -->                length: POINTS<!-- [et_pb_line_break_holder] -->            }, (_, index) => {<!-- [et_pb_line_break_holder] -->                const nextIndex = best.reversed<!-- [et_pb_line_break_holder] -->                ? (POINTS - ((index + best.shift) % POINTS)) % POINTS<!-- [et_pb_line_break_holder] -->                : (index + best.shift) % POINTS;<!-- [et_pb_line_break_holder] -->                return points[nextIndex];<!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            return {<!-- [et_pb_line_break_holder] -->                aligned,<!-- [et_pb_line_break_holder] -->                score: best.score<!-- [et_pb_line_break_holder] -->            };<!-- [et_pb_line_break_holder] -->        };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        const sequenceByClosestMorph = (allShapes) => {<!-- [et_pb_line_break_holder] -->            const remaining = allShapes.slice(1).map((points) => ({<!-- [et_pb_line_break_holder] -->                points<!-- [et_pb_line_break_holder] -->            }));<!-- [et_pb_line_break_holder] -->            const sequence = [allShapes[0]];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            while (remaining.length) {<!-- [et_pb_line_break_holder] -->                const previous = sequence[sequence.length - 1];<!-- [et_pb_line_break_holder] -->                let bestIndex = 0;<!-- [et_pb_line_break_holder] -->                let best = {<!-- [et_pb_line_break_holder] -->                    aligned: remaining[0].points,<!-- [et_pb_line_break_holder] -->                    score: Infinity<!-- [et_pb_line_break_holder] -->                };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                remaining.forEach((candidate, index) => {<!-- [et_pb_line_break_holder] -->                    const scored = scoreAligned(previous, candidate.points);<!-- [et_pb_line_break_holder] -->                    if (scored.score < best.score) {<!-- [et_pb_line_break_holder] -->                        best = scored;<!-- [et_pb_line_break_holder] -->                        bestIndex = index;<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                sequence.push(best.aligned);<!-- [et_pb_line_break_holder] -->                remaining.splice(bestIndex, 1);<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            return sequence;<!-- [et_pb_line_break_holder] -->        };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        const curvePath = (points) => {<!-- [et_pb_line_break_holder] -->            const first = points[0];<!-- [et_pb_line_break_holder] -->            let d = `M${first.x.toFixed(2)},${first.y.toFixed(2)}`;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            for (let i = 0; i < points.length; i++) {<!-- [et_pb_line_break_holder] -->                const p0 = points[(i - 1 + points.length) % points.length];<!-- [et_pb_line_break_holder] -->                const p1 = points[i];<!-- [et_pb_line_break_holder] -->                const p2 = points[(i + 1) % points.length];<!-- [et_pb_line_break_holder] -->                const p3 = points[(i + 2) % points.length];<!-- [et_pb_line_break_holder] -->                const c1x = p1.x + (p2.x - p0.x) \/ 6;<!-- [et_pb_line_break_holder] -->                const c1y = p1.y + (p2.y - p0.y) \/ 6;<!-- [et_pb_line_break_holder] -->                const c2x = p2.x - (p3.x - p1.x) \/ 6;<!-- [et_pb_line_break_holder] -->                const c2y = p2.y - (p3.y - p1.y) \/ 6;<!-- [et_pb_line_break_holder] -->                d += `C${c1x.toFixed(2)},${c1y.toFixed(2)} ${c2x.toFixed(2)},${c2y.toFixed(2)} ${p2.x.toFixed(2)},${p2.y.toFixed(2)}`;<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            return `${d}Z`;<!-- [et_pb_line_break_holder] -->        };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        const interpolate = (from, to, amount) => from.map((point, index) => ({<!-- [et_pb_line_break_holder] -->            x: point.x + (to[index].x - point.x) * amount,<!-- [et_pb_line_break_holder] -->            y: point.y + (to[index].y - point.y) * amount<!-- [et_pb_line_break_holder] -->        }));<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        const rawShapes = ids.map((id) => samplePath(root.querySelector(`#${id}`)));<!-- [et_pb_line_break_holder] -->        const shapes = sequenceByClosestMorph(rawShapes);<!-- [et_pb_line_break_holder] -->        shapes[0] = alignToPrevious(shapes[shapes.length - 1], shapes[0]);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        const animate = (now) => {<!-- [et_pb_line_break_holder] -->            const totalStep = STEP_MS + HOLD_MS;<!-- [et_pb_line_break_holder] -->            const timeline = (now % (totalStep * shapes.length)) \/ totalStep;<!-- [et_pb_line_break_holder] -->            const current = Math.floor(timeline);<!-- [et_pb_line_break_holder] -->            const progress = Math.min(1, timeline - current);<!-- [et_pb_line_break_holder] -->            const next = (current + 1) % shapes.length;<!-- [et_pb_line_break_holder] -->            const amount = progress >= STEP_MS \/ totalStep ? 1 : ease(progress \/ (STEP_MS \/ totalStep));<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            morph.setAttribute(\"d\", curvePath(interpolate(shapes[current], shapes[next], amount)));<!-- [et_pb_line_break_holder] -->            requestAnimationFrame(animate);<!-- [et_pb_line_break_holder] -->        };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        requestAnimationFrame(animate);<!-- [et_pb_line_break_holder] -->    })();<!-- [et_pb_line_break_holder] -->    <\/script><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] -->[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\u00bb1&#8243; _builder_version=\u00bb4.9.4&#8243; _module_preset=\u00bbdefault\u00bb][et_pb_row _builder_version=\u00bb4.9.4&#8243; _module_preset=\u00bbdefault\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.9.4&#8243; _module_preset=\u00bbdefault\u00bb][et_pb_code _builder_version=\u00bb4.9.4&#8243; _module_preset=\u00bbdefault\u00bb]        <section id=\"imaginario-gallery-122846\" class=\"imaginario-divi-gallery\" data-current=\"0\">\n            <div class=\"imaginario-divi-gallery__viewport\">\n                <div class=\"imaginario-divi-gallery__controls\" aria-label=\"Controles de galeria\">\n                    <button class=\"imaginario-divi-gallery__button imaginario-divi-gallery__button--prev\" type=\"button\" aria-label=\"Anterior\">\n                        <span aria-hidden=\"true\">&larr;<\/span>\n                    <\/button>\n                    <button class=\"imaginario-divi-gallery__button imaginario-divi-gallery__button--next\" type=\"button\" aria-label=\"Siguiente\">\n                        <span aria-hidden=\"true\">&rarr;<\/span>\n                    <\/button>\n                <\/div>\n\n                <div class=\"imaginario-divi-gallery__track\">\n                                            <article class=\"imaginario-divi-gallery__slide\" data-index=\"0\">\n                                                            <a class=\"imaginario-divi-gallery__image-link\" href=\"https:\/\/afable.cl\/?imaginario=900181\" aria-label=\"\">\n                                    <img decoding=\"async\" src=\"https:\/\/afable.cl\/wp-content\/uploads\/2026\/05\/ChatGPT-Image-20-may-2026-15_13_46-1.png\" alt=\"\" loading=\"eager\">\n                                <\/a>\n                                                        <div class=\"imaginario-divi-gallery__content\">\n                                <h2><\/h2>\n                                <p><\/p>\n                            <\/div>\n                        <\/article>\n                                    <\/div>\n            <\/div>\n        <\/section>\n\n        <style>\n            #imaginario-gallery-122846 {\n                width: 100vw;\n                margin-left: calc(50% - 50vw);\n                background: transparent;\n            }\n\n            #imaginario-gallery-122846,\n            #imaginario-gallery-122846 * {\n                box-sizing: border-box;\n            }\n\n            #imaginario-gallery-122846 .imaginario-divi-gallery__viewport {\n                position: relative;\n                width: 100%;\n                overflow: hidden;\n            }\n\n            #imaginario-gallery-122846 .imaginario-divi-gallery__controls {\n                position: absolute;\n                top: 14px;\n                left: max(16px, calc((100vw - 1120px) \/ 2));\n                z-index: 3;\n                display: flex;\n                gap: 10px;\n                align-items: center;\n            }\n\n            #imaginario-gallery-122846 .imaginario-divi-gallery__track {\n                display: flex;\n                gap: 18px;\n                width: max-content;\n                padding-left: max(16px, calc((100vw - 1120px) \/ 2));\n                padding-right: 16vw;\n                transition: transform 520ms cubic-bezier(.22, 1, .36, 1);\n                will-change: transform;\n            }\n\n            #imaginario-gallery-122846 .imaginario-divi-gallery__slide {\n                flex: 0 0 min(82vw, 1120px);\n                min-width: 0;\n            }\n\n            #imaginario-gallery-122846 .imaginario-divi-gallery__image-link {\n                display: block;\n                width: 100%;\n                aspect-ratio: 16 \/ 9;\n                overflow: hidden;\n                background: #f4f4f4;\n            }\n\n            #imaginario-gallery-122846 img {\n                display: block;\n                width: 100%;\n                height: 100%;\n                object-fit: cover;\n            }\n\n            #imaginario-gallery-122846 .imaginario-divi-gallery__content {\n                width: min(100% - 32px, 1120px);\n                margin: 22px auto 0;\n                padding-bottom: 10px;\n            }\n\n            #imaginario-gallery-122846 h2 {\n                margin: 0 0 8px;\n                font: inherit;\n                font-size: clamp(24px, 3vw, 42px);\n                line-height: 1.05;\n            }\n\n            #imaginario-gallery-122846 p {\n                max-width: 720px;\n                margin: 0;\n                font: inherit;\n                font-size: clamp(15px, 1.2vw, 18px);\n                line-height: 1.55;\n            }\n\n            #imaginario-gallery-122846 .imaginario-divi-gallery__button {\n                width: auto;\n                height: auto;\n                border: 0;\n                border-radius: 0;\n                background: transparent;\n                color: #000;\n                cursor: pointer;\n                padding: 0;\n                font: inherit;\n                line-height: 1;\n            }\n\n            #imaginario-gallery-122846 .imaginario-divi-gallery__button span {\n                display: block;\n                font: inherit;\n                font-size: 18px;\n                line-height: 1;\n            }\n\n            @media (max-width: 767px) {\n                #imaginario-gallery-122846 .imaginario-divi-gallery__track {\n                    gap: 12px;\n                    padding-left: 16px;\n                    padding-right: 14vw;\n                }\n\n                #imaginario-gallery-122846 .imaginario-divi-gallery__slide {\n                    flex-basis: 86vw;\n                }\n\n                #imaginario-gallery-122846 .imaginario-divi-gallery__image-link {\n                    aspect-ratio: 4 \/ 5;\n                }\n\n                #imaginario-gallery-122846 .imaginario-divi-gallery__controls {\n                    left: 16px;\n                }\n            }\n        <\/style>\n\n        <script>\n            (() => {\n                const root = document.getElementById(\"imaginario-gallery-122846\");\n                if (!root) return;\n\n                const track = root.querySelector('.imaginario-divi-gallery__track');\n                const slides = [...root.querySelectorAll('.imaginario-divi-gallery__slide')];\n                const prev = root.querySelector('.imaginario-divi-gallery__button--prev');\n                const next = root.querySelector('.imaginario-divi-gallery__button--next');\n                let current = 0;\n\n                if (!track || slides.length < 1 || !prev || !next) return;\n\n                const getStep = () => {\n                    if (slides.length < 2) return 0;\n\n                    return slides[1].offsetLeft - slides[0].offsetLeft;\n                };\n\n                const update = () => {\n                    track.style.transform = `translateX(${-current * getStep()}px)`;\n                    root.dataset.current = String(current);\n                };\n\n                if (slides.length < 2) {\n                    prev.hidden = true;\n                    next.hidden = true;\n                }\n\n                prev.addEventListener('click', () => {\n                    current = (current - 1 + slides.length) % slides.length;\n                    update();\n                });\n\n                next.addEventListener('click', () => {\n                    current = (current + 1) % slides.length;\n                    update();\n                });\n\n                update();\n                window.addEventListener('resize', update, { passive: true });\n            })();\n        <\/script>\n        [\/et_pb_code][et_pb_text _builder_version=\u00bb4.9.4&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; sticky_enabled=\u00bb0&#8243;]<\/p>\n<h1>\nEl hombre imaginario<br \/>\nvive en una mansi\u00f3n imaginaria<br \/>\nrodeada de \u00e1rboles imaginarios<br \/>\na la orilla de un r\u00edo imaginario<\/p>\n<p>De los muros que son imaginarios<br \/>\npenden antiguos cuadros imaginarios<br \/>\nirreparables grietas imaginarias<br \/>\nque representan hechos imaginarios<br \/>\nocurridos en mundos imaginarios<br \/>\nen lugares y tiempos imaginarios<\/p>\n<p>Todas las tardes tardes imaginarias<br \/>\nsube las escaleras imaginarias<br \/>\ny se asoma al balc\u00f3n imaginario<br \/>\na mirar el paisaje imaginario<br \/>\nque consiste en un valle imaginario<br \/>\ncircundado de cerros imaginarios<\/p>\n<p>Sombras imaginarias<br \/>\nvienen por el camino imaginario<br \/>\nentonando canciones imaginarias<br \/>\na la muerte del sol imaginario<\/p>\n<p>Y en las noches de luna imaginaria<br \/>\nsue\u00f1a con la mujer imaginaria<br \/>\nque le brind\u00f3 su amor imaginario<br \/>\nvuelve a sentir ese mismo dolor<br \/>\nese mismo placer imaginario<br \/>\ny vuelve a palpitar<br \/>\nel coraz\u00f3n del hombre imaginario<\/h1>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[et_pb_section fb_built=\u00bb1&#8243; _builder_version=\u00bb4.9.4&#8243; _module_preset=\u00bbdefault\u00bb][et_pb_row _builder_version=\u00bb4.9.4&#8243; _module_preset=\u00bbdefault\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.9.4&#8243; _module_preset=\u00bbdefault\u00bb][et_pb_code _builder_version=\u00bb4.9.4&#8243; _module_preset=\u00bbdefault\u00bb positioning=\u00bbabsolute\u00bb width=\u00bb100%\u00bb] [\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\u00bb1&#8243; _builder_version=\u00bb4.9.4&#8243; _module_preset=\u00bbdefault\u00bb][et_pb_row _builder_version=\u00bb4.9.4&#8243; _module_preset=\u00bbdefault\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.9.4&#8243; _module_preset=\u00bbdefault\u00bb][et_pb_code _builder_version=\u00bb4.9.4&#8243; _module_preset=\u00bbdefault\u00bb][\/et_pb_code][et_pb_text _builder_version=\u00bb4.9.4&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; sticky_enabled=\u00bb0&#8243;] El hombre imaginario vive en una mansi\u00f3n imaginaria rodeada de \u00e1rboles imaginarios a la orilla de un r\u00edo imaginario De los muros que son imaginarios penden antiguos [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-900156","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/afable.cl\/index.php?rest_route=\/wp\/v2\/pages\/900156","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/afable.cl\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/afable.cl\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/afable.cl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/afable.cl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=900156"}],"version-history":[{"count":10,"href":"https:\/\/afable.cl\/index.php?rest_route=\/wp\/v2\/pages\/900156\/revisions"}],"predecessor-version":[{"id":900187,"href":"https:\/\/afable.cl\/index.php?rest_route=\/wp\/v2\/pages\/900156\/revisions\/900187"}],"wp:attachment":[{"href":"https:\/\/afable.cl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=900156"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}