{"id":565,"date":"2026-03-19T17:38:56","date_gmt":"2026-03-19T17:38:56","guid":{"rendered":"https:\/\/exopalm.com\/producto-palm\/"},"modified":"2026-05-07T21:08:54","modified_gmt":"2026-05-07T21:08:54","slug":"producto-palm","status":"publish","type":"page","link":"https:\/\/exopalm.com\/es\/producto-palm\/","title":{"rendered":"Producto Palm"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"565\" class=\"elementor elementor-565 elementor-166\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fb589c9 e-flex e-con-boxed e-con e-parent\" data-id=\"fb589c9\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9559d73 elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"9559d73\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Palma sint\u00e9tica\nTechos de paja<\/h2>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b862851 e-flex e-con-boxed e-con e-parent\" data-id=\"b862851\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6369c0f elementor-widget elementor-widget-text-editor\" data-id=\"6369c0f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<div class=\"exo-heading\"><h2>Better Performance \n    <span class=\"arrow\">\u2192<\/span> \n    without<br\/>Sacrificing Aesthetic\n  <\/h2><\/div><style>.exo-heading{\n  text-align: center;\n}\n\n\/* MAIN TEXT *\/\n.exo-heading h2{\n  font-size: 48px;   \/* balanced size *\/\n  font-weight: 400;\n  color: #111;\n  line-height: 1.1;\n  letter-spacing: -0.02em;\n  margin: 0;\n}\n\n\/* ARROW *\/\n.exo-heading .arrow{\n  color: #b08f43;\n  margin: 0 10px;\n  font-weight: 500;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 1024px){\n  .exo-heading h2{\n    font-size: 40px;\n  }\n}\n\n@media (max-width: 767px){\n  .exo-heading h2{\n    font-size: 30px;\n    line-height: 1.2;\n  }\n}\n<\/style>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6c13a03 e-flex e-con-boxed e-con e-parent\" data-id=\"6c13a03\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dffed1a elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"dffed1a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p class=\"text xxs regular desc_text fade-in-out-reverse\">Uno de los principales atractivos de este tipo de tejado de paja es que es m\u00e1s duradero y requiere menos mantenimiento que los tejados naturales. Teniendo esto en cuenta, el proceso de fabricaci\u00f3n e instalaci\u00f3n de los techos de paja sint\u00e9tica de palma ofrece un aspecto natural. <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3e1cb16 e-con-full e-flex e-con e-parent\" data-id=\"3e1cb16\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-75562b2 e-con-full e-flex e-con e-child\" data-id=\"75562b2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-01955ef e-con-full e-flex e-con e-child\" data-id=\"01955ef\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b43fe0a e-con-full e-flex e-con e-child\" data-id=\"b43fe0a\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e86d6fb elementor-widget elementor-widget-html\" data-id=\"e86d6fb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"exo-eco\"><div class=\"exo-eco-top\"><span>Despite<\/span><span class=\"pill\">being manufactured<\/span><span>from high-density polyethylene<\/span><\/div><h2 class=\"exo-eco-title\">Synthetic thatched roofs offer several eco-friendly benefits\n    <span class=\"leaf\">\ud83c\udf43<\/span><\/h2><p class=\"exo-eco-text\"><span class=\"muted\">This style of roofing<\/span>ensures that fewer natural resources are harvested to produce it.\n  <\/p><\/div><style>.exo-eco{\n  padding:20px 0;\n}\n\n\/* TOP LINE *\/\n.exo-eco-top{\n  display:flex;\n  flex-wrap:wrap;\n  gap:8px;\n  font-size:19px;\n  color:#fff;\n  margin-bottom:9px;\n}\n\n.pill{\n  border:1px solid rgba(255,255,255,0.8);\n  border-radius:30px;\n  padding:4px 12px;\n}\n\n\/* TITLE *\/\n.exo-eco-title{\n  font-size:59px;\n  line-height:1.2;\n  margin-bottom:14px;\n  font-weight:400;\n  color:#fff;\n}\n\n\/* ICON *\/\n.leaf{\n  margin-left:8px;\n  font-size:0px;\n}\n\n\/* TEXT *\/\n.exo-eco-text{\n  font-size:24px;\n  line-height:1.5;\n  max-width:600px;\n  color:#fff;\n}\n\n.muted{\n  opacity:0.5;\n}\n\n\/* MOBILE *\/\n@media (max-width:767px){\n  .exo-eco-title{\n    font-size:22px;\n  }\n\n  .exo-eco-top{\n    font-size:14px;\n  }\n}\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ebc6eb2 e-con-full e-flex e-con e-parent\" data-id=\"ebc6eb2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3862d7f elementor-widget elementor-widget-html\" data-id=\"3862d7f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/gsap@3.12.5\/dist\/gsap.min.js\"><\/script>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/gsap@3.12.5\/dist\/ScrollTrigger.min.js\"><\/script>\n\n<style>\n  .spacer {\n    min-height: 100vh;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    text-transform: uppercase;\n    letter-spacing: .24em;\n    color: rgba(255,255,255,.6);\n    background: #121212;\n    font-size: 14px;\n  }\n\n  .sequence {\n    position: relative;\n    min-height: 100vh;\n    overflow: hidden;\n    background: #0d0d0e;\n  }\n\n  .canvas-wrap,\n  .overlay,\n  canvas {\n    position: absolute;\n    inset: 0;\n  }\n\n  .canvas-wrap {\n    z-index: 1;\n    background: #0d0d0e;\n  }\n\n  canvas {\n    width: 100%;\n    height: 100%;\n    display: block;\n  }\n\n  .loading {\n    position: absolute;\n    inset: 0;\n    display: grid;\n    place-items: center;\n    z-index: 2;\n    background: rgba(5,7,10,.36);\n    color: rgba(255,255,255,.72);\n    font-size: 14px;\n    letter-spacing: .16em;\n    text-transform: uppercase;\n    backdrop-filter: blur(6px);\n    transition: opacity .35s ease;\n  }\n\n  .loading.hidden {\n    opacity: 0;\n    pointer-events: none;\n  }\n\n  .overlay {\n    z-index: 3;\n    pointer-events: none;\n  }\n\n  .title,\n  .macro,\n  .callout,\n  .badge,\n  .cta,\n  .storm-title {\n    opacity: 0;\n    transform: translate3d(0, 16px, 0);\n    transition: opacity .28s ease, transform .36s cubic-bezier(.22,.61,.36,1);\n    will-change: opacity, transform;\n  }\n\n  .visible {\n    opacity: 1 !important;\n    transform: translate3d(0, 0, 0) !important;\n  }\n\n  .title {\n    position: absolute;\n    left: clamp(30px, 5vw, 88px);\n    top: 18%;\n    width: min(34vw, 540px);\n    z-index: 4;\n  }\n\n  .title h2 {\n    margin: 0;\n    font-size: clamp(42px, 4.15vw, 78px);\n    line-height: .98;\n    font-weight: 300;\n    letter-spacing: -.05em;\n    color: rgba(255,255,255,.92);\n  }\n\n  .badge {\n    position: absolute;\n    left: clamp(30px, 5vw, 88px);\n    top: 47%;\n    display: flex;\n    align-items: center;\n    gap: 22px;\n    z-index: 4;\n    color: rgba(255,255,255,.84);\n  }\n\n  .badge-step {\n    width: 58px;\n    height: 58px;\n    border-radius: 999px;\n    display: grid;\n    place-items: center;\n    border: 1px solid rgba(255,255,255,.14);\n    background: rgba(255,255,255,.06);\n    color: rgba(255,244,220,.92);\n    font-size: 28px;\n    font-weight: 300;\n  }\n\n  .badge-copy {\n    display: flex;\n    align-items: center;\n    gap: 18px;\n    max-width: 540px;\n  }\n\n  .badge-copy p {\n    margin: 0;\n    max-width: 290px;\n    font-size: 15px;\n    line-height: 1.28;\n    color: rgba(255,255,255,.58);\n  }\n\n  .badge-line {\n    width: clamp(60px, 7vw, 110px);\n    height: 1px;\n    background: repeating-linear-gradient(\n      to right,\n      rgba(243,221,184,.62) 0 7px,\n      transparent 7px 13px\n    );\n  }\n\n  .cta {\n    position: absolute;\n    left: clamp(30px, 5vw, 88px);\n    top: 56.5%;\n    z-index: 4;\n    display: inline-flex;\n    align-items: center;\n    gap: 12px;\n    border-radius: 999px;\n    padding: 10px 16px;\n    background: rgba(6,8,10,.88);\n    color: white;\n    font-size: 13px;\n    line-height: 1;\n  }\n\n  .cta-dot {\n    width: 28px;\n    height: 28px;\n    border-radius: 999px;\n    display: grid;\n    place-items: center;\n    background: #c9a04c;\n    color: black;\n    font-weight: 700;\n    font-size: 14px;\n  }\n\n  .macro {\n    position: absolute;\n    right: clamp(28px, 6vw, 96px);\n    top: 48%;\n    width: min(28vw, 430px);\n    z-index: 4;\n    font-size: clamp(20px, 2vw, 34px);\n    line-height: 1.12;\n    font-weight: 300;\n    color: rgba(255,255,255,.86);\n    letter-spacing: -.03em;\n    text-align: left;\n  }\n\n  .storm-title {\n    position: absolute;\n    left: 50%;\n    top: 6.4%;\n    transform: translateX(-50%) translateY(16px);\n    width: min(78vw, 1040px);\n    text-align: center;\n    z-index: 4;\n  }\n\n  .storm-title h2 {\n    margin: 0;\n    font-size: clamp(44px, 4.4vw, 80px);\n    line-height: 1.03;\n    font-weight: 300;\n    letter-spacing: -.055em;\n    color: rgba(255,255,255,.97);\n  }\n\n  .callout {\n    position: absolute;\n    z-index: 4;\n    display: flex;\n    align-items: center;\n    gap: 18px;\n    color: rgba(255,255,255,.94);\n    white-space: nowrap;\n  }\n\n  .callout.left {\n    left: 2.2vw;\n    top: 51.2%;\n  }\n\n  .callout.right {\n    right: 1.9vw;\n    top: 57.6%;\n  }\n\n  .callout-index {\n    color: rgba(255,241,206,.94);\n    font-size: clamp(32px, 2.5vw, 48px);\n    font-weight: 300;\n    line-height: 1;\n  }\n\n  .callout-label {\n    font-size: clamp(20px, 1.42vw, 30px);\n    font-weight: 300;\n    line-height: 1.08;\n    color: rgba(255,255,255,.95);\n  }\n\n  .callout.right .callout-label {\n    max-width: 230px;\n    white-space: normal;\n  }\n\n  .callout-line {\n    position: relative;\n    width: clamp(180px, 20vw, 390px);\n    height: 2px;\n    background: repeating-linear-gradient(\n      to right,\n      rgba(243,221,184,.82) 0 8px,\n      transparent 8px 17px\n    );\n  }\n\n  .callout-target {\n    position: absolute;\n    width: 58px;\n    height: 58px;\n    border-radius: 999px;\n    border: 1px solid rgba(243,221,184,.44);\n    box-shadow: inset 0 0 0 10px rgba(243,221,184,.03);\n    background: rgba(255,255,255,.02);\n    backdrop-filter: blur(4px);\n  }\n\n  .callout-target::before,\n  .callout-target::after {\n    content: '';\n    position: absolute;\n    border-radius: 999px;\n  }\n\n  .callout-target::before {\n    inset: 11px;\n    border: 1px solid rgba(243,221,184,.16);\n  }\n\n  .callout-target::after {\n    inset: 22px;\n    background: rgba(255,242,219,.92);\n    box-shadow: 0 0 0 4px rgba(243,221,184,.14);\n  }\n\n  .callout.left .callout-target {\n    right: -28px;\n    top: -27px;\n  }\n\n  .callout.right .callout-target {\n    left: -28px;\n    top: -27px;\n  }\n\n  .frame-debug {\n    position: absolute;\n    right: 18px;\n    bottom: 16px;\n    z-index: 4;\n    padding: 8px 10px;\n    border-radius: 999px;\n    font-size: 11px;\n    letter-spacing: .12em;\n    text-transform: uppercase;\n    color: rgba(255,255,255,.72);\n    background: rgba(0,0,0,.24);\n    backdrop-filter: blur(6px);\n  }\n\n  @media (max-width: 1100px) {\n    .title { width: min(42vw, 520px); top: 18%; }\n    .title h2 { font-size: clamp(38px, 5vw, 68px); }\n    .badge { top: 45.5%; }\n    .macro { top: 47%; width: min(34vw, 400px); }\n    .callout.left { top: 53.4%; }\n    .callout.right { top: 60%; }\n  }\n\n  @media (max-width: 860px) {\n    .title {\n      top: 12%;\n      left: 24px;\n      width: calc(100vw - 48px);\n    }\n\n    .badge {\n      left: 24px;\n      right: 24px;\n      top: 32.5%;\n      gap: 14px;\n    }\n\n    .badge-step {\n      width: 48px;\n      height: 48px;\n      font-size: 22px;\n    }\n\n    .badge-copy { gap: 12px; }\n    .badge-line { width: 56px; }\n\n    .badge-copy p {\n      font-size: 13px;\n      max-width: 170px;\n    }\n\n    .cta {\n      left: 24px;\n      top: 41%;\n    }\n\n    .macro {\n      right: 20px;\n      top: 17%;\n      width: min(48vw, 280px);\n      font-size: clamp(18px, 3vw, 28px);\n    }\n\n    .storm-title {\n      top: 8%;\n      width: calc(100vw - 40px);\n    }\n\n    .callout.left,\n    .callout.right {\n      transform: scale(.82);\n      transform-origin: left center;\n    }\n\n    .callout.left {\n      left: -8px;\n      top: 56%;\n    }\n\n    .callout.right {\n      right: -10px;\n      top: 63%;\n      transform-origin: right center;\n    }\n  }\n<\/style>\n<section class=\"sequence\" id=\"sequence\">\n  <div class=\"canvas-wrap\">\n    <canvas id=\"canvas\"><\/canvas>\n    <div id=\"loading\" class=\"loading\">Loading sequence\u2026<\/div>\n  <\/div>\n\n  <div class=\"overlay\">\n    <div id=\"introTitle\" class=\"title\">\n      <h2>Every Fiber Designed for Perfection.<\/h2>\n    <\/div>\n\n    <div id=\"introBadge\" class=\"badge\">\n      <div class=\"badge-step\">1<\/div>\n      <div class=\"badge-copy\">\n        <p>Hyper-realistic textures that mimic nature without compromise.<\/p>\n        <div class=\"badge-line\"><\/div>\n      <\/div>\n    <\/div>\n\n    <div id=\"introCta\" class=\"cta\">\n      <span>Learn more about us<\/span>\n      <span class=\"cta-dot\">\u2192<\/span>\n    <\/div>\n\n    <div id=\"macroText\" class=\"macro\">\n      The most realistic synthetic roofing, blending seamlessly with nature.\n    <\/div>\n\n    <div id=\"stormTitle\" class=\"storm-title\">\n      <h2>Engineered to withstand nature\u2019s harshest conditions with ease.<\/h2>\n    <\/div>\n\n    <div id=\"leftCallout\" class=\"callout left\">\n      <div class=\"callout-index\">2<\/div>\n      <div class=\"callout-label\">Fire Resistant<\/div>\n      <div class=\"callout-line\">\n        <div class=\"callout-target\"><\/div>\n      <\/div>\n    <\/div>\n\n    <div id=\"rightCallout\" class=\"callout right\">\n      <div class=\"callout-line\">\n        <div class=\"callout-target\"><\/div>\n      <\/div>\n      <div class=\"callout-index\">3<\/div>\n      <div class=\"callout-label\">Heavy wind and water resistant<\/div>\n    <\/div>\n\n    <div id=\"frameDebug\" class=\"frame-debug\">Frame 001 \/ 586<\/div>\n  <\/div>\n<\/section>\n\n\n<script>\n  gsap.registerPlugin(ScrollTrigger);\n\n  const TOTAL_FRAMES = 586;\n  const FRAME_START = 1;\n  const FRAME_END = 586;\n  const FRAME_PAD = 5;\n  const BASE_PATH = \"\/wp-content\/themes\/hello-theme-child-master\/image_seq\";\n\n  const INTRO_RANGE = [1, 170];\n  const MACRO_RANGE = [171, 300];\n  const STORM_RANGE = [301, 586];\n  const LEFT_CALLOUT_RANGE = [360, 505];\n  const RIGHT_CALLOUT_RANGE = [382, 505];\n\n  const canvas = document.getElementById(\"canvas\");\n  const ctx = canvas.getContext(\"2d\", { alpha: true });\n  const loading = document.getElementById(\"loading\");\n  const frameDebug = document.getElementById(\"frameDebug\");\n\n  const images = new Array(FRAME_END + 1).fill(null);\n  let currentFrame = FRAME_START;\n  let firstFrameReady = false;\n\n  function clamp(value, min, max) {\n    return Math.max(min, Math.min(max, value));\n  }\n\n  function inRange(frame, range) {\n    return frame >= range[0] && frame <= range[1];\n  }\n\n  function frameSrc(frame) {\n    return `${BASE_PATH}\/section2_L_${String(frame).padStart(FRAME_PAD, \"0\")}.webp`;\n  }\n\n  function resizeCanvas() {\n    const dpr = window.devicePixelRatio || 1;\n    const width = window.innerWidth;\n    const height = window.innerHeight;\n\n    canvas.width = Math.round(width * dpr);\n    canvas.height = Math.round(height * dpr);\n    canvas.style.width = `${width}px`;\n    canvas.style.height = `${height}px`;\n\n    ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n    drawFrame(currentFrame);\n  }\n\n  function drawFrame(frame) {\n    const img = images[frame];\n    if (!img || !img.complete || !img.naturalWidth) return;\n\n    const width = window.innerWidth;\n    const height = window.innerHeight;\n\n    ctx.clearRect(0, 0, width, height);\n\n    const imageAspect = img.naturalWidth \/ img.naturalHeight;\n    const canvasAspect = width \/ height;\n\n    let drawWidth = width;\n    let drawHeight = height;\n    let dx = 0;\n    let dy = 0;\n\n    if (imageAspect > canvasAspect) {\n      drawHeight = height;\n      drawWidth = height * imageAspect;\n      dx = (width - drawWidth) \/ 2;\n    } else {\n      drawWidth = width;\n      drawHeight = width \/ imageAspect;\n      dy = (height - drawHeight) \/ 2;\n    }\n\n    ctx.drawImage(img, dx, dy, drawWidth, drawHeight);\n  }\n\n  function setVisible(id, visible) {\n    const el = document.getElementById(id);\n    if (!el) return;\n    el.classList.toggle(\"visible\", visible);\n  }\n\n  function updateOverlay(frame) {\n    setVisible(\"introTitle\", inRange(frame, INTRO_RANGE));\n    setVisible(\"introBadge\", inRange(frame, INTRO_RANGE));\n    setVisible(\"introCta\", inRange(frame, INTRO_RANGE));\n\n    setVisible(\"macroText\", inRange(frame, MACRO_RANGE));\n\n    setVisible(\"stormTitle\", inRange(frame, STORM_RANGE));\n    setVisible(\"leftCallout\", inRange(frame, LEFT_CALLOUT_RANGE));\n    setVisible(\"rightCallout\", inRange(frame, RIGHT_CALLOUT_RANGE));\n\n    frameDebug.textContent = `Frame ${String(frame).padStart(3, \"0\")} \/ ${TOTAL_FRAMES}`;\n  }\n\n  function loadFrame(frame, priority = false) {\n    if (frame < FRAME_START || frame > FRAME_END) return;\n    if (images[frame]) return;\n\n    const img = new Image();\n    img.decoding = \"async\";\n    if (priority && \"fetchPriority\" in img) {\n      img.fetchPriority = \"high\";\n    }\n\n    img.src = frameSrc(frame);\n\n    img.onload = () => {\n      images[frame] = img;\n\n      if (frame === FRAME_START && !firstFrameReady) {\n        firstFrameReady = true;\n        loading.classList.add(\"hidden\");\n        drawFrame(currentFrame);\n        updateOverlay(currentFrame);\n      }\n\n      if (Math.abs(frame - currentFrame) <= 2) {\n        drawFrame(currentFrame);\n      }\n    };\n\n    img.onerror = () => {\n      console.warn(\"Frame introuvable:\", frameSrc(frame));\n    };\n\n    images[frame] = img;\n  }\n\n  function warmAround(center, radius = 20) {\n    for (let offset = 0; offset <= radius; offset++) {\n      loadFrame(center + offset, offset === 0);\n      if (offset !== 0) loadFrame(center - offset);\n    }\n  }\n\n  function updateFrame(value) {\n    const nextFrame = clamp(Math.round(value), FRAME_START, FRAME_END);\n    if (nextFrame === currentFrame) return;\n\n    currentFrame = nextFrame;\n    warmAround(nextFrame, 18);\n    drawFrame(nextFrame);\n    updateOverlay(nextFrame);\n  }\n\n  function idleLoad() {\n    let index = 25;\n\n    function loop() {\n      const target = FRAME_START + index;\n      if (target <= FRAME_END) {\n        loadFrame(target);\n        index += 1;\n\n        if (\"requestIdleCallback\" in window) {\n          window.requestIdleCallback(loop);\n        } else {\n          setTimeout(loop, 30);\n        }\n      }\n    }\n\n    loop();\n  }\n\n  resizeCanvas();\n  updateOverlay(FRAME_START);\n  loadFrame(FRAME_START, true);\n  warmAround(FRAME_START, 24);\n  idleLoad();\n\n  window.addEventListener(\"resize\", resizeCanvas);\n\n  ScrollTrigger.create({\n    trigger: \"#sequence\",\n    start: \"top top\",\n    end: \"+=6200\",\n    scrub: 0.2,\n    pin: true,\n    anticipatePin: 1,\n    onUpdate: (self) => {\n      const next = FRAME_START + self.progress * (FRAME_END - FRAME_START);\n      updateFrame(next);\n    }\n  });\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2042caa e-con-full e-flex e-con e-parent\" data-id=\"2042caa\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1511d8c elementor-widget__width-initial elementor-widget elementor-widget-html\" data-id=\"1511d8c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"exo-benefits\"> <h2 class=\"exo-title\"> Ventajas de los<br>techos de paja sint\u00e9tica <\/h2> <!-- ROW 1 --> <div class=\"exo-row\"> <div class=\"exo-left\"> <div class=\"exo-num\">01<\/div> <div class=\"exo-name\">Duradero<\/div> <\/div> <div class=\"exo-image\"> <img decoding=\"async\" src=\"https:\/\/exopalm.com\/wp-content\/uploads\/2026\/03\/1-2.webp\" alt=\"\"> <\/div> <div class=\"exo-text\"> <strong>Nuestras cubiertas de paja sint\u00e9tica son m\u00e1s duraderas que las de paja natural.<\/strong> Nuestros tejados son m\u00e1s resistentes a las inclemencias meteorol\u00f3gicas, como los vientos fuertes y las lluvias torrenciales. <\/div> <\/div> <!-- ROW 2 --> <div class=\"exo-row\"> <div class=\"exo-left\"> <div class=\"exo-num\">02<\/div> <div class=\"exo-name\">Resistente a las plagas y al fuego<\/div> <\/div> <div class=\"exo-image\"> <img decoding=\"async\" src=\"https:\/\/exopalm.com\/wp-content\/uploads\/2026\/03\/2-2.webp\" alt=\"\"> <\/div> <div class=\"exo-text\"> Nuestros techos de paja son resistentes a muchas plagas comunes y requieren un mantenimiento m\u00ednimo en comparaci\u00f3n con los techos de paja natural. Adem\u00e1s, cuentan con excelentes propiedades ign\u00edfugas. <\/div> <\/div> <!-- ROW 3 --> <div class=\"exo-row\"> <div class=\"exo-left\"> <div class=\"exo-num\">03<\/div> <div class=\"exo-name\">Rentable<\/div> <\/div> <div class=\"exo-image\"> <img decoding=\"async\" src=\"https:\/\/exopalm.com\/wp-content\/uploads\/2026\/03\/3-3.webp\" alt=\"\"> <\/div> <div class=\"exo-text\"> <strong>Los techos de paja sint\u00e9tica de palma son f\u00e1ciles de instalar.<\/strong> Est\u00e1 disponible en una amplia variedad de dise\u00f1os para adaptarse a tu proyecto, tanto si est\u00e1s construyendo como si est\u00e1s renovando. <\/div> <\/div> <\/div> <style> .exo-benefits{ max-width:1200px; margin:auto; } \/* TITLE *\/ .exo-title{ font-size:48px; margin-bottom:40px; } \/* ROW *\/ .exo-row{ display:grid; grid-template-columns: 220px 200px 1fr; align-items:center; gap:30px; padding:24px 0; border-top:1px solid #ddd; } \/* LEFT *\/ .exo-left{ display:flex; align-items:center; gap:20px; } .exo-num{ background:#eee3cf; color:#b08f43; padding:6px 14px; border-radius:20px; } .exo-name{ font-size:24px; } \/* IMAGE *\/ .exo-image{ width:180px; height:120px; border-radius:20px; overflow:hidden; transform:rotate(6deg); } .exo-image img{ width:100%; height:100%; object-fit:cover; } \/* TEXT *\/ .exo-text{ font-size:18px; line-height:1.4; max-width:500px; } .exo-text strong{ display:block; margin-bottom:6px; } \/* MOBILE *\/ @media(max-width:768px){ .exo-row{ grid-template-columns:1fr; } .exo-image{ transform:none; } } <\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f1ea011 e-flex e-con-boxed e-con e-parent\" data-id=\"f1ea011\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3f422a6 elementor-align-center elementor-widget elementor-widget-button\" data-id=\"3f422a6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-far-arrow-alt-circle-right\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm72 20v-40c0-6.6 5.4-12 12-12h116v-67c0-10.7 12.9-16 20.5-8.5l99 99c4.7 4.7 4.7 12.3 0 17l-99 99c-7.6 7.6-20.5 2.2-20.5-8.5v-67H140c-6.6 0-12-5.4-12-12z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Obtenga cubiertas de paja de palma<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-178257d e-flex e-con-boxed e-con e-parent\" data-id=\"178257d\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-f497950 e-con-full e-flex e-con e-child\" data-id=\"f497950\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d3d8474 elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"d3d8474\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Somos conscientes de que cada proyecto es \u00fanico, por lo que ofrecemos una amplia selecci\u00f3n de opciones de paja sint\u00e9tica en una gran variedad de colores, desde tonos naturales que imitan la paja tradicional hasta tonos llamativos y personalizados que se adaptan a su marca o a su visi\u00f3n de dise\u00f1o.Nos comprometemos a ofrecer\nsoluciones de alta calidad y personalizables\nen paja sint\u00e9tica para satisfacer\nlas diversas necesidades de nuestros clientes.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-79649ea elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"79649ea\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Somos conscientes de que cada proyecto es \u00fanico, por lo que ofrecemos una amplia selecci\u00f3n de opciones de paja sint\u00e9tica en una gran variedad de colores, desde tonos naturales que imitan la paja tradicional hasta tonos llamativos y personalizados que se adaptan a su marca o a su visi\u00f3n de dise\u00f1o.\n\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ce31915 elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"ce31915\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Solo tienes que ponerte en contacto con nosotros y explicarnos lo que necesitas; nosotros nos encargaremos del resto<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ca7275d e-con-full e-flex e-con e-child\" data-id=\"ca7275d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-70c5f19 elementor-widget elementor-widget-image\" data-id=\"70c5f19\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"800\" height=\"648\" src=\"https:\/\/exopalm.com\/wp-content\/uploads\/2026\/03\/infinite-1.webp\" class=\"attachment-large size-large wp-image-564\" alt=\"\" srcset=\"https:\/\/exopalm.com\/wp-content\/uploads\/2026\/03\/infinite-1.webp 812w, https:\/\/exopalm.com\/wp-content\/uploads\/2026\/03\/infinite-1-300x243.webp 300w, https:\/\/exopalm.com\/wp-content\/uploads\/2026\/03\/infinite-1-768x622.webp 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\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<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Palma sint\u00e9tica Techos de paja Better Performance \u2192 withoutSacrificing Aesthetic Uno de los principales atractivos de este tipo de tejado de paja es que es m\u00e1s duradero y requiere menos mantenimiento que los tejados naturales. Teniendo esto en cuenta, el proceso de fabricaci\u00f3n e instalaci\u00f3n de los techos de paja sint\u00e9tica de palma ofrece un [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-565","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Synthetic Thatch Roofing Durable &amp; Realistic Solutions<\/title>\n<meta name=\"description\" content=\"Upgrade with synthetic palm thatch roofing built to last. Realistic, weather-resistant, and low maintenance. Ideal for resorts, homes, and commercial projects.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/exopalm.com\/es\/producto-palm\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Synthetic Thatch Roofing Durable &amp; Realistic Solutions\" \/>\n<meta property=\"og:description\" content=\"Upgrade with synthetic palm thatch roofing built to last. Realistic, weather-resistant, and low maintenance. Ideal for resorts, homes, and commercial projects.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/exopalm.com\/es\/producto-palm\/\" \/>\n<meta property=\"og:site_name\" content=\"Exo Palm\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-07T21:08:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/exopalm.com\/wp-content\/uploads\/2026\/03\/3-2.webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutos\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Synthetic Thatch Roofing Durable & Realistic Solutions","description":"Upgrade with synthetic palm thatch roofing built to last. Realistic, weather-resistant, and low maintenance. Ideal for resorts, homes, and commercial projects.","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:\/\/exopalm.com\/es\/producto-palm\/","og_locale":"es_ES","og_type":"article","og_title":"Synthetic Thatch Roofing Durable & Realistic Solutions","og_description":"Upgrade with synthetic palm thatch roofing built to last. Realistic, weather-resistant, and low maintenance. Ideal for resorts, homes, and commercial projects.","og_url":"https:\/\/exopalm.com\/es\/producto-palm\/","og_site_name":"Exo Palm","article_modified_time":"2026-05-07T21:08:54+00:00","og_image":[{"url":"https:\/\/exopalm.com\/wp-content\/uploads\/2026\/03\/3-2.webp","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/exopalm.com\/es\/producto-palm\/","url":"https:\/\/exopalm.com\/es\/producto-palm\/","name":"Synthetic Thatch Roofing Durable & Realistic Solutions","isPartOf":{"@id":"https:\/\/exopalm.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/exopalm.com\/es\/producto-palm\/#primaryimage"},"image":{"@id":"https:\/\/exopalm.com\/es\/producto-palm\/#primaryimage"},"thumbnailUrl":"https:\/\/exopalm.com\/wp-content\/uploads\/2026\/03\/1-2.webp","datePublished":"2026-03-19T17:38:56+00:00","dateModified":"2026-05-07T21:08:54+00:00","description":"Upgrade with synthetic palm thatch roofing built to last. Realistic, weather-resistant, and low maintenance. Ideal for resorts, homes, and commercial projects.","breadcrumb":{"@id":"https:\/\/exopalm.com\/es\/producto-palm\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/exopalm.com\/es\/producto-palm\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/exopalm.com\/es\/producto-palm\/#primaryimage","url":"https:\/\/exopalm.com\/wp-content\/uploads\/2026\/03\/1-2.webp","contentUrl":"https:\/\/exopalm.com\/wp-content\/uploads\/2026\/03\/1-2.webp"},{"@type":"BreadcrumbList","@id":"https:\/\/exopalm.com\/es\/producto-palm\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/exopalm.com\/es\/inicio\/"},{"@type":"ListItem","position":2,"name":"Producto Palm"}]},{"@type":"WebSite","@id":"https:\/\/exopalm.com\/es\/#website","url":"https:\/\/exopalm.com\/es\/","name":"Exo Palm","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/exopalm.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"}]}},"_links":{"self":[{"href":"https:\/\/exopalm.com\/es\/wp-json\/wp\/v2\/pages\/565","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/exopalm.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/exopalm.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/exopalm.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/exopalm.com\/es\/wp-json\/wp\/v2\/comments?post=565"}],"version-history":[{"count":1,"href":"https:\/\/exopalm.com\/es\/wp-json\/wp\/v2\/pages\/565\/revisions"}],"predecessor-version":[{"id":571,"href":"https:\/\/exopalm.com\/es\/wp-json\/wp\/v2\/pages\/565\/revisions\/571"}],"wp:attachment":[{"href":"https:\/\/exopalm.com\/es\/wp-json\/wp\/v2\/media?parent=565"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}