{"id":105,"date":"2026-09-17T07:32:05","date_gmt":"2026-09-17T07:32:05","guid":{"rendered":"https:\/\/palmable.me\/?page_id=105"},"modified":"2026-10-13T05:59:58","modified_gmt":"2026-10-13T05:59:58","slug":"stories","status":"publish","type":"page","link":"https:\/\/palmable.me\/en\/stories\/","title":{"rendered":"Stories"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"105\" class=\"elementor elementor-105\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9498c27 e-flex e-con-boxed e-con e-parent\" data-id=\"9498c27\" 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-9856d28 elementor-widget elementor-widget-html\" data-id=\"9856d28\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n.palm-stories{\r\n  --ink:#171513;\r\n  --muted:#77716c;\r\n  --line:#dedbd7;\r\n  --brown:#6b342d;\r\n  --green:#687c67;\r\n  --blue:#397da7;\r\n  font-family:Arial,\"Noto Sans Thai\",sans-serif;\r\n  color:var(--ink);\r\n  background:#fff;\r\n}\r\n\r\n.palm-stories *{box-sizing:border-box}\r\n\r\n.palm-stories .wrap{\r\n  width:min(1180px,calc(100% - 48px));\r\n  margin:auto;\r\n}\r\n\r\n\/* HEADER *\/\r\n.palm-stories header{\r\n  height:82px;\r\n  display:flex;\r\n  align-items:center;\r\n  border-bottom:1px solid var(--line);\r\n}\r\n\r\n.palm-stories .header-inner{\r\n  width:min(1180px,calc(100% - 48px));\r\n  margin:auto;\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:space-between;\r\n}\r\n\r\n.palm-stories .logo{\r\n  font-weight:600;\r\n  letter-spacing:.2em;\r\n  font-size:18px;\r\n}\r\n\r\n.palm-stories nav{\r\n  display:flex;\r\n  align-items:center;\r\n  gap:32px;\r\n  font-size:13px;\r\n}\r\n\r\n.palm-stories nav a{\r\n  color:inherit;\r\n  text-decoration:none;\r\n}\r\n\r\n.palm-stories nav .active{\r\n  border-bottom:2px solid #222;\r\n  padding-bottom:8px;\r\n}\r\n\r\n.palm-stories .talk{\r\n  background:var(--brown);\r\n  color:white;\r\n  padding:12px 20px;\r\n  border-radius:28px;\r\n}\r\n\r\n\/* HERO *\/\r\n.palm-stories .hero{\r\n  padding:90px 0 70px;\r\n  text-align:center;\r\n  border-bottom:1px solid var(--line);\r\n}\r\n\r\n.palm-stories .eyebrow{\r\n  font-size:11px;\r\n  letter-spacing:.2em;\r\n  text-transform:uppercase;\r\n  margin-bottom:20px;\r\n}\r\n\r\n.palm-stories h1{\r\n  font-family:Georgia,\"Times New Roman\",serif;\r\n  font-weight:400;\r\n  font-size:72px;\r\n  line-height:1;\r\n  margin:0 0 25px;\r\n}\r\n\r\n.palm-stories .hero p{\r\n  max-width:600px;\r\n  margin:auto;\r\n  color:#5e5955;\r\n  line-height:1.7;\r\n  font-size:15px;\r\n}\r\n\r\n\/* FILTER *\/\r\n.palm-stories .filterbar{\r\n  padding:24px 0;\r\n  border-bottom:1px solid var(--line);\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:space-between;\r\n}\r\n\r\n.palm-stories .tabs{\r\n  display:flex;\r\n  gap:30px;\r\n  font-size:11px;\r\n  text-transform:uppercase;\r\n  letter-spacing:.08em;\r\n}\r\n\r\n.palm-stories .tabs button{\r\n  appearance:none;\r\n  border:0;\r\n  background:none;\r\n  padding:0 0 7px;\r\n  cursor:pointer;\r\n  font:inherit;\r\n  color:#6c6762;\r\n  text-transform:uppercase;\r\n  letter-spacing:.08em;\r\n}\r\n\r\n.palm-stories .tabs button.active{\r\n  color:#111;\r\n  border-bottom:2px solid #111;\r\n}\r\n\r\n\/* STORIES *\/\r\n.palm-stories .stories-section{\r\n  padding:55px 0 100px;\r\n}\r\n\r\n.palm-stories .stories-head{\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:space-between;\r\n  margin-bottom:35px;\r\n}\r\n\r\n.palm-stories .stories-head h2{\r\n  font-family:Georgia,\"Times New Roman\",serif;\r\n  font-weight:400;\r\n  font-size:38px;\r\n  margin:0;\r\n}\r\n\r\n.palm-stories .count{\r\n  font-size:11px;\r\n  letter-spacing:.08em;\r\n  color:var(--muted);\r\n  text-transform:uppercase;\r\n}\r\n\r\n#palmable-stories-posts{\r\n  display:grid;\r\n  grid-template-columns:repeat(2,minmax(0,1fr));\r\n  gap:58px 30px;\r\n}\r\n\r\n.palm-story-card{\r\n  display:block;\r\n  text-decoration:none !important;\r\n  color:inherit !important;\r\n}\r\n\r\n.palm-story-card img{\r\n  width:100%;\r\n  aspect-ratio:16\/10;\r\n  object-fit:cover;\r\n  display:block;\r\n  margin-bottom:18px;\r\n}\r\n\r\n.palm-story-meta{\r\n  display:flex;\r\n  justify-content:space-between;\r\n  gap:20px;\r\n  margin-bottom:12px;\r\n  font-size:10px;\r\n  letter-spacing:.08em;\r\n  text-transform:uppercase;\r\n  color:#77716c;\r\n}\r\n\r\n.palm-story-category.property{color:var(--brown)}\r\n.palm-story-category.insurance{color:var(--green)}\r\n.palm-story-category.explore{color:var(--blue)}\r\n\r\n.palm-story-card h3{\r\n  font-family:Georgia,\"Noto Sans Thai\",\"Times New Roman\",serif;\r\n  font-size:28px;\r\n  line-height:1.25;\r\n  font-weight:400;\r\n  margin:0 0 12px;\r\n}\r\n\r\n.palm-story-card p{\r\n  margin:0 0 18px;\r\n  color:#6a6561;\r\n  line-height:1.65;\r\n  font-size:13px;\r\n}\r\n\r\n.palm-read{\r\n  font-size:10px;\r\n  letter-spacing:.13em;\r\n  text-transform:uppercase;\r\n  font-weight:600;\r\n}\r\n\r\n.palm-loading{\r\n  grid-column:1\/-1;\r\n  text-align:center;\r\n  padding:70px 20px;\r\n  color:#77716c;\r\n}\r\n\r\n\/* CTA *\/\r\n.palm-stories .contact{\r\n  border-top:1px solid var(--line);\r\n  padding:85px 20px;\r\n  text-align:center;\r\n}\r\n\r\n.palm-stories .contact h2{\r\n  font-family:Georgia,\"Times New Roman\",serif;\r\n  font-weight:400;\r\n  font-size:55px;\r\n  line-height:1;\r\n  margin:15px 0 18px;\r\n}\r\n\r\n.palm-stories .contact p{\r\n  color:#5e5955;\r\n  line-height:1.7;\r\n  margin-bottom:28px;\r\n}\r\n\r\n.palm-stories .contact-btn{\r\n  display:inline-block;\r\n  text-decoration:none;\r\n  background:var(--brown);\r\n  color:#fff;\r\n  padding:15px 42px;\r\n  border-radius:30px;\r\n  font-size:13px;\r\n}\r\n\r\n\/* MOBILE *\/\r\n@media(max-width:700px){\r\n  .palm-stories .wrap,\r\n  .palm-stories .header-inner{\r\n    width:calc(100% - 28px);\r\n  }\r\n\r\n  .palm-stories header{height:66px}\r\n\r\n  .palm-stories .logo{\r\n    font-size:14px;\r\n    letter-spacing:.15em;\r\n  }\r\n\r\n  .palm-stories nav a:not(.talk){display:none}\r\n\r\n  .palm-stories .talk{\r\n    padding:10px 15px;\r\n    font-size:11px;\r\n  }\r\n\r\n  .palm-stories .hero{\r\n    padding:60px 10px 50px;\r\n  }\r\n\r\n  .palm-stories h1{\r\n    font-size:49px;\r\n  }\r\n\r\n  .palm-stories .hero p{\r\n    font-size:14px;\r\n  }\r\n\r\n  .palm-stories .filterbar{\r\n    display:block;\r\n    overflow:hidden;\r\n  }\r\n\r\n  .palm-stories .tabs{\r\n    flex-wrap:wrap;\r\n    gap:15px 24px;\r\n  }\r\n\r\n  .palm-stories .stories-head{\r\n    display:block;\r\n  }\r\n\r\n  .palm-stories .stories-head h2{\r\n    font-size:32px;\r\n    margin-bottom:12px;\r\n  }\r\n\r\n  #palmable-stories-posts{\r\n    grid-template-columns:1fr;\r\n    gap:45px;\r\n  }\r\n\r\n  .palm-story-card h3{\r\n    font-size:25px;\r\n  }\r\n\r\n  .palm-stories .contact h2{\r\n    font-size:44px;\r\n  }\r\n}\r\n<\/style>\r\n\r\n<div class=\"palm-stories\">\r\n\r\n<header>\r\n  <div class=\"header-inner\">\r\n    <div class=\"logo\">PALM PUWANAI<\/div>\r\n\r\n    <nav>\r\n      <a href=\"\/\">Home<\/a>\r\n      <a href=\"\/property\/\">Property<\/a>\r\n      <a href=\"\/planning\/\">Planning<\/a>\r\n      <a href=\"\/explore\/\">Explore<\/a>\r\n      <a href=\"\/stories\/\" class=\"active\">Stories<\/a>\r\n      <a href=\"\/contact\/\" class=\"talk\">\u2709 &nbsp; Let's Talk<\/a>\r\n    <\/nav>\r\n  <\/div>\r\n<\/header>\r\n\r\n<section class=\"hero\">\r\n  <div class=\"wrap\">\r\n    <div class=\"eyebrow\">Stories & Perspectives<\/div>\r\n    <h1>Stories.<\/h1>\r\n    <p>\r\n      Things I've learned, experienced, and picked up along the way \u2014\r\n      from property and protection to people, ideas and experiences.\r\n    <\/p>\r\n  <\/div>\r\n<\/section>\r\n\r\n<div class=\"wrap\">\r\n  <div class=\"filterbar\">\r\n    <div class=\"tabs\">\r\n      <button class=\"active\" data-filter=\"all\">All<\/button>\r\n      <button data-filter=\"property\">Property<\/button>\r\n      <button data-filter=\"insurance\">Planning<\/button>\r\n      <button data-filter=\"explore\">Explore<\/button>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<section class=\"stories-section\">\r\n  <div class=\"wrap\">\r\n\r\n    <div class=\"stories-head\">\r\n      <h2>Recent Stories<\/h2>\r\n      <div class=\"count\" id=\"palm-story-count\">Loading stories...<\/div>\r\n    <\/div>\r\n\r\n    <div id=\"palmable-stories-posts\">\r\n      <div class=\"palm-loading\">Loading stories...<\/div>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/section>\r\n\r\n<section class=\"contact\">\r\n  <div class=\"eyebrow\">LET'S TALK<\/div>\r\n  <h2>Have something<br>in mind?<\/h2>\r\n  <p>\r\n    Property, protection, or simply a conversation.<br>\r\n    I'm always happy to connect.\r\n  <\/p>\r\n  <a class=\"contact-btn\" href=\"\/contact\/\">Work with Palm &nbsp; \u2192<\/a>\r\n<\/section>\r\n\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n\r\n  const container = document.getElementById('palmable-stories-posts');\r\n  const count = document.getElementById('palm-story-count');\r\n  const buttons = document.querySelectorAll('.palm-stories .tabs button');\r\n\r\n  let allPosts = [];\r\n  let currentFilter = 'all';\r\n\r\n  function cleanText(html){\r\n    const el = document.createElement('div');\r\n    el.innerHTML = html || '';\r\n    return el.textContent || el.innerText || '';\r\n  }\r\n\r\n  function categoryInfo(post){\r\n    const terms = post._embedded && post._embedded['wp:term']\r\n      ? post._embedded['wp:term'].flat()\r\n      : [];\r\n\r\n    const categories = terms.filter(term => term.taxonomy === 'category');\r\n\r\n    const preferred = ['property','insurance','explore'];\r\n\r\n    for(const slug of preferred){\r\n      const match = categories.find(cat => cat.slug === slug);\r\n      if(match){\r\n        return {\r\n          slug: match.slug,\r\n          name: match.name\r\n        };\r\n      }\r\n    }\r\n\r\n    if(categories.length){\r\n      return {\r\n        slug: categories[0].slug,\r\n        name: categories[0].name\r\n      };\r\n    }\r\n\r\n    return {\r\n      slug:'stories',\r\n      name:'Stories'\r\n    };\r\n  }\r\n\r\n  function imageFor(post){\r\n    try{\r\n      return post._embedded['wp:featuredmedia'][0].source_url;\r\n    }catch(e){\r\n      return '';\r\n    }\r\n  }\r\n\r\n  function excerptFor(post){\r\n    let text = cleanText(post.excerpt && post.excerpt.rendered);\r\n    if(text.length > 145){\r\n      text = text.substring(0,145).trim() + '\u2026';\r\n    }\r\n    return text;\r\n  }\r\n\r\n  function render(){\r\n\r\n    const posts = currentFilter === 'all'\r\n      ? allPosts\r\n      : allPosts.filter(post => categoryInfo(post).slug === currentFilter);\r\n\r\n    count.textContent =\r\n      posts.length + (posts.length === 1 ? ' Story' : ' Stories');\r\n\r\n    if(!posts.length){\r\n      container.innerHTML =\r\n        '<div class=\"palm-loading\">No stories in this category yet.<\/div>';\r\n      return;\r\n    }\r\n\r\n    container.innerHTML = posts.map(post => {\r\n\r\n      const cat = categoryInfo(post);\r\n      const image = imageFor(post);\r\n      const title = cleanText(post.title.rendered);\r\n      const excerpt = excerptFor(post);\r\n\r\n      const date = new Date(post.date).toLocaleDateString(\r\n        'en-US',\r\n        {month:'short',day:'numeric',year:'numeric'}\r\n      );\r\n\r\n      return `\r\n        <a class=\"palm-story-card\" href=\"${post.link}\">\r\n          ${image ? `<img decoding=\"async\" src=\"${image}\" alt=\"${title}\">` : ''}\r\n          \r\n          <div class=\"palm-story-meta\">\r\n            <span class=\"palm-story-category ${cat.slug}\">\r\n              ${cat.name}\r\n            <\/span>\r\n            <span>${date}<\/span>\r\n          <\/div>\r\n\r\n          <h3>${title}<\/h3>\r\n\r\n          ${excerpt ? `<p>${excerpt}<\/p>` : ''}\r\n\r\n          <span class=\"palm-read\">Read article \u2192<\/span>\r\n        <\/a>\r\n      `;\r\n    }).join('');\r\n  }\r\n\r\n  fetch('\/wp-json\/wp\/v2\/posts?per_page=100&_embed')\r\n    .then(response => {\r\n      if(!response.ok) throw new Error('Could not load posts');\r\n      return response.json();\r\n    })\r\n    .then(posts => {\r\n      allPosts = posts.filter(post => {\r\n        const slug = categoryInfo(post).slug;\r\n        return ['property','insurance','explore'].includes(slug);\r\n      });\r\n\r\n      render();\r\n    })\r\n    .catch(() => {\r\n      container.innerHTML =\r\n        '<div class=\"palm-loading\">Stories could not be loaded.<\/div>';\r\n      count.textContent = '';\r\n    });\r\n\r\n  buttons.forEach(button => {\r\n    button.addEventListener('click', function(){\r\n      buttons.forEach(b => b.classList.remove('active'));\r\n      this.classList.add('active');\r\n      currentFilter = this.dataset.filter;\r\n      render();\r\n    });\r\n  });\r\n\r\n})();\r\n<\/script>\r\n\r\n<style>\r\n.palm-stories{\r\n  background:#F5F1EA !important;\r\n}\r\n<\/style>\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>PALM PUWANAI Home Property Insurance Explore Stories \u2709 &nbsp; Let&#8217;s Talk Stories &#038; Perspectives Stories. Things I&#8217;ve learned, experienced, and picked up along the way \u2014 from property and protection to people, ideas and experiences. All Property Insurance Explore Recent Stories Loading stories&#8230; Loading stories&#8230; LET&#8217;S TALK Have somethingin mind? Property, protection, or simply a [&hellip;]<\/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-105","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/palmable.me\/en\/wp-json\/wp\/v2\/pages\/105","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/palmable.me\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/palmable.me\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/palmable.me\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/palmable.me\/en\/wp-json\/wp\/v2\/comments?post=105"}],"version-history":[{"count":7,"href":"https:\/\/palmable.me\/en\/wp-json\/wp\/v2\/pages\/105\/revisions"}],"predecessor-version":[{"id":114,"href":"https:\/\/palmable.me\/en\/wp-json\/wp\/v2\/pages\/105\/revisions\/114"}],"wp:attachment":[{"href":"https:\/\/palmable.me\/en\/wp-json\/wp\/v2\/media?parent=105"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}