{"id":1080,"date":"2026-08-04T08:38:09","date_gmt":"2026-08-04T08:38:09","guid":{"rendered":"https:\/\/geminia.co.ke\/dev\/?page_id=1080"},"modified":"2026-09-03T02:10:25","modified_gmt":"2026-09-03T02:10:25","slug":"homepackinsurance","status":"publish","type":"page","link":"https:\/\/geminia.co.ke\/dev\/homepackinsurance\/","title":{"rendered":"Homepack Insurance"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1080\" class=\"elementor elementor-1080\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a4b5ada e-con-full e-flex e-con e-parent\" data-id=\"a4b5ada\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-85fa2c9 elementor-widget elementor-widget-html\" data-id=\"85fa2c9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;500;600;700;800&display=swap\" rel=\"stylesheet\">\r\n\r\n<style>\r\n  .gem-purpose {\r\n    position: relative;\r\n    width: 100%;\r\n    min-height: 420px;\r\n    display: flex;\r\n    align-items: center;\r\n    background-image: url('https:\/\/geminia.co.ke\/dev\/wp-content\/uploads\/2026\/08\/HomePack-Insurance-Cover.jpg');\r\n    background-size: cover;\r\n    background-position: center;\r\n    overflow: hidden;\r\n    font-family: 'Poppins', sans-serif;\r\n  }\r\n\r\n  \/* Darken the photo a touch so the color wash + text pop *\/\r\n  .gem-purpose::before {\r\n    content: \"\";\r\n    position: absolute;\r\n    inset: 0;\r\n    background: linear-gradient(\r\n      100deg,\r\n      rgba(10, 10, 25, 0.75) 0%,\r\n      rgba(10, 10, 25, 0.5) 40%,\r\n      rgba(10, 10, 25, 0.35) 100%\r\n    );\r\n    z-index: 1;\r\n  }\r\n\r\n  \/* Floating color blobs \u2014 brand colors blended over the photo *\/\r\n  .gem-purpose__blob {\r\n    position: absolute;\r\n    border-radius: 50%;\r\n    filter: blur(70px);\r\n    mix-blend-mode: screen;\r\n    z-index: 2;\r\n    pointer-events: none;\r\n  }\r\n\r\n  .gem-purpose__blob--blue {\r\n    width: 480px;\r\n    height: 480px;\r\n    background: radial-gradient(circle at center, #43a8de 0%, rgba(67, 168, 222, 0) 70%);\r\n    top: -140px;\r\n    left: 5%;\r\n    opacity: 0.85;\r\n    will-change: transform;\r\n  }\r\n\r\n  .gem-purpose__blob--indigo {\r\n    width: 560px;\r\n    height: 560px;\r\n    background: radial-gradient(circle at center, #393680 0%, rgba(57, 54, 128, 0) 70%);\r\n    bottom: -220px;\r\n    left: 30%;\r\n    opacity: 0.9;\r\n    will-change: transform;\r\n  }\r\n\r\n  .gem-purpose__blob--blue2 {\r\n    width: 360px;\r\n    height: 360px;\r\n    background: radial-gradient(circle at center, #43a8de 0%, rgba(67, 168, 222, 0) 70%);\r\n    top: 20%;\r\n    right: 8%;\r\n    opacity: 0.6;\r\n    will-change: transform;\r\n  }\r\n\r\n  \/* Positions above are the resting state used when motion is reduced or JS hasn't run yet *\/\r\n\r\n  .gem-purpose__inner {\r\n    position: relative;\r\n    z-index: 3;\r\n    width: 100%;\r\n    max-width: 1200px;\r\n    margin: 0 auto;\r\n    padding: 0 40px;\r\n  }\r\n\r\n  .gem-purpose__content {\r\n    max-width: 640px;\r\n  }\r\n\r\n  .gem-purpose__eyebrow {\r\n    font-family: 'Poppins', sans-serif;\r\n    font-weight: 500;\r\n    font-size: 14px;\r\n    color: #ffffff;\r\n    margin: 0 0 8px 0;\r\n    text-transform: uppercase;\r\n    letter-spacing: 3px;\r\n\r\n  }\r\n\r\n  .gem-purpose__title {\r\n    font-family: 'Poppins', sans-serif;\r\n    font-weight: 700;\r\n    font-size: 38px;\r\n    line-height: 1.25;\r\n    color: #ffffff;\r\n    margin: 0 0 28px 0;\r\n  }\r\n\r\n  .gem-purpose__cta {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    padding: 16px 30px;\r\n    background: #3fa6dd;\r\n    color: #ffffff !important;\r\n    text-decoration: none !important;\r\n    border-radius: 999px;\r\n    font-family: 'Poppins', sans-serif;\r\n    font-weight: 600;\r\n    font-size: 14.5px;\r\n    box-shadow: 0 12px 26px rgba(63, 166, 221, 0.4);\r\n    transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;\r\n  }\r\n  .gem-purpose__cta:hover {\r\n    background: #2f92c9;\r\n    text-decoration: none !important;\r\n    transform: translateY(-2px);\r\n    box-shadow: 0 16px 30px rgba(63, 166, 221, 0.48);\r\n  }\r\n  .gem-purpose__cta:focus-visible {\r\n    outline: 2px solid #ffffff;\r\n    outline-offset: 3px;\r\n  }\r\n\r\n  @media (max-width: 991px) {\r\n    .gem-purpose {\r\n      min-height: 360px;\r\n    }\r\n    .gem-purpose__title {\r\n      font-size: 30px;\r\n    }\r\n    .gem-purpose__blob--blue { width: 340px; height: 340px; }\r\n    .gem-purpose__blob--indigo { width: 400px; height: 400px; }\r\n    .gem-purpose__blob--blue2 { width: 260px; height: 260px; }\r\n  }\r\n\r\n  @media (max-width: 600px) {\r\n    .gem-purpose {\r\n      min-height: 320px;\r\n    }\r\n    .gem-purpose__inner {\r\n      padding: 0 24px;\r\n    }\r\n    .gem-purpose__title {\r\n      font-size: 24px;\r\n    }\r\n    .gem-purpose__eyebrow {\r\n      font-size: 16px;\r\n    }\r\n    .gem-purpose__cta {\r\n      padding: 14px 26px;\r\n      font-size: 13.5px;\r\n    }\r\n  }\r\n<\/style>\r\n\r\n<section class=\"gem-purpose\">\r\n  <div class=\"gem-purpose__blob gem-purpose__blob--blue\"><\/div>\r\n  <div class=\"gem-purpose__blob gem-purpose__blob--indigo\"><\/div>\r\n  <div class=\"gem-purpose__blob gem-purpose__blob--blue2\"><\/div>\r\n\r\n  <div class=\"gem-purpose__inner\">\r\n    <div class=\"gem-purpose__content\">\r\n      <p class=\"gem-purpose__eyebrow\">Helping You Feel at Home, Every Day<\/p>\r\n      <h2 class=\"gem-purpose__title\">Comprehensive protection for your home, belongings, and peace of mind.<\/h2>\r\n      <a class=\"gem-purpose__cta\" href=\"https:\/\/geminia.co.ke\/dev\/homepack-insurance-form\/\">Purchase Cover<\/a>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function () {\r\n  var hero = document.querySelector('.gem-purpose');\r\n  if (!hero) return;\r\n\r\n  \/\/ Respect users who've asked for reduced motion \u2014 blobs just stay put.\r\n  if (window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches) return;\r\n\r\n  \/\/ Each blob keeps a gentle ambient drift ALL the time, plus a mouse-driven\r\n  \/\/ push once you hover the section.\r\n  \/\/   mouseStrength > 0  \u2192 blob drifts toward the direction the cursor moves\r\n  \/\/   mouseStrength < 0  \u2192 blob drifts away from the cursor\r\n  \/\/ Tweak these numbers to taste.\r\n  var blobs = [\r\n    { el: hero.querySelector('.gem-purpose__blob--blue'),   ampX: 35, ampY: 25, speedX: 0.15, speedY: 0.18, phase: 0, mouseStrength: 70  },\r\n    { el: hero.querySelector('.gem-purpose__blob--indigo'), ampX: 30, ampY: 20, speedX: 0.10, speedY: 0.13, phase: 2, mouseStrength: -50 },\r\n    { el: hero.querySelector('.gem-purpose__blob--blue2'),  ampX: 25, ampY: 22, speedX: 0.20, speedY: 0.16, phase: 4, mouseStrength: 90  }\r\n  ];\r\n\r\n  var targetX = 0, targetY = 0;   \/\/ where the mouse wants the blobs to go (-1 to 1)\r\n  var mouseX = 0, mouseY = 0;     \/\/ smoothed value that actually gets applied\r\n\r\n  hero.addEventListener('mousemove', function (e) {\r\n    var rect = hero.getBoundingClientRect();\r\n    targetX = ((e.clientX - rect.left) \/ rect.width - 0.5) * 2;\r\n    targetY = ((e.clientY - rect.top) \/ rect.height - 0.5) * 2;\r\n  });\r\n\r\n  \/\/ Mouse leaves the section \u2192 target returns to center, blobs ease back\r\n  \/\/ into their plain ambient drift.\r\n  hero.addEventListener('mouseleave', function () {\r\n    targetX = 0;\r\n    targetY = 0;\r\n  });\r\n\r\n  function animate(time) {\r\n    var t = time \/ 1000;\r\n\r\n    \/\/ Smoothly chase the target instead of snapping to the cursor \u2014\r\n    \/\/ this is what gives the blobs their soft, trailing feel.\r\n    mouseX += (targetX - mouseX) * 0.04;\r\n    mouseY += (targetY - mouseY) * 0.04;\r\n\r\n    for (var i = 0; i < blobs.length; i++) {\r\n      var b = blobs[i];\r\n      var floatX = Math.sin(t * b.speedX + b.phase) * b.ampX;\r\n      var floatY = Math.cos(t * b.speedY + b.phase) * b.ampY;\r\n      var x = floatX + mouseX * b.mouseStrength;\r\n      var y = floatY + mouseY * b.mouseStrength;\r\n      b.el.style.transform = 'translate(' + x.toFixed(1) + 'px, ' + y.toFixed(1) + 'px)';\r\n    }\r\n\r\n    requestAnimationFrame(animate);\r\n  }\r\n\r\n  requestAnimationFrame(animate);\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8522c44 e-con-full e-flex e-con e-parent\" data-id=\"8522c44\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-496e510 elementor-widget elementor-widget-html\" data-id=\"496e510\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\r\n\r\n<section class=\"gm-home\">\r\n\r\n  <!-- ===== Top navy intro ===== -->\r\n  <div class=\"gm-home__tabbar\">\r\n    <div class=\"gm-home__tabbar-inner\">\r\n      <p class=\"gm-home__eyebrow\">HomePack Insurance<\/p>\r\n      <div class=\"gm-home__intro\">\r\n        <p class=\"gm-home__intro-text\" id=\"gmHomeIntroText\">Your home is one of your most valuable investments, and protecting it shouldn't be left to chance. Geminia HomePack Insurance is a comprehensive insurance solution that protects your home, household contents, and personal belongings against a wide range of unexpected risks, including fire, theft, accidental damage, and natural perils.<\/p>\r\n        <a class=\"gm-home__cta\" href=\"https:\/\/geminia.co.ke\/dev\/homepack-insurance-form\/\">Get Quotation<\/a>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- ===== Lower content: details + form ===== -->\r\n  <div class=\"gm-home__body\">\r\n    <div class=\"gm-home__body-inner\">\r\n\r\n      <div class=\"gm-home__details\">\r\n        <p class=\"gm-home__detail-text\">Whether you own or rent your home, HomePack Insurance gives you the confidence of knowing your property and valuables are protected, so you can focus on what matters most.<\/p>\r\n\r\n        <div class=\"gm-home__switch\" role=\"tablist\" aria-label=\"View ideal for, what is covered, or why choose Geminia\">\r\n          <span class=\"gm-home__switch-highlight\" id=\"gmHomeSwitchHighlight\" aria-hidden=\"true\"><\/span>\r\n          <button type=\"button\" class=\"gm-home__switch-btn is-active\" role=\"tab\" aria-selected=\"true\" id=\"gmHomeSubTab-ideal\" aria-controls=\"gmHomeListWrap\" data-sub=\"ideal\">Ideal For<\/button>\r\n          <button type=\"button\" class=\"gm-home__switch-btn\" role=\"tab\" aria-selected=\"false\" id=\"gmHomeSubTab-covered\" aria-controls=\"gmHomeListWrap\" data-sub=\"covered\">What Is Covered<\/button>\r\n          <button type=\"button\" class=\"gm-home__switch-btn\" role=\"tab\" aria-selected=\"false\" id=\"gmHomeSubTab-why\" aria-controls=\"gmHomeListWrap\" data-sub=\"why\">Why Choose Geminia?<\/button>\r\n        <\/div>\r\n\r\n        <div class=\"gm-home__list-wrap\" id=\"gmHomeListWrap\" role=\"tabpanel\" aria-labelledby=\"gmHomeSubTab-ideal\"><\/div>\r\n      <\/div>\r\n\r\n      <div class=\"gm-home__form-card\">\r\n        <h3 class=\"gm-home__form-title\">Request Call Back<\/h3>\r\n\r\n        <form id=\"gmHomeCallbackForm\" class=\"gm-home__form\" novalidate>\r\n          <div class=\"gm-home__field\">\r\n            <label for=\"gmHomeName\">Name<\/label>\r\n            <input type=\"text\" id=\"gmHomeName\" name=\"name\" autocomplete=\"name\" required>\r\n          <\/div>\r\n          <div class=\"gm-home__field\">\r\n            <label for=\"gmHomeEmail\">Email Address<\/label>\r\n            <input type=\"email\" id=\"gmHomeEmail\" name=\"email\" autocomplete=\"email\" required>\r\n          <\/div>\r\n          <div class=\"gm-home__field\">\r\n            <label for=\"gmHomePhone\">Phone Number<\/label>\r\n            <input type=\"tel\" id=\"gmHomePhone\" name=\"phone\" autocomplete=\"tel\" required>\r\n          <\/div>\r\n          <div class=\"gm-home__field\">\r\n            <label for=\"gmHomeComment\">Comment<\/label>\r\n            <textarea id=\"gmHomeComment\" name=\"comment\" rows=\"4\"><\/textarea>\r\n          <\/div>\r\n\r\n          <input type=\"hidden\" name=\"cover_type\" value=\"HomePack Insurance\">\r\n\r\n          <button type=\"submit\" class=\"gm-home__submit\">Submit<\/button>\r\n          <p class=\"gm-home__form-status\" id=\"gmHomeFormStatus\" role=\"status\" aria-live=\"polite\"><\/p>\r\n        <\/form>\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n\r\n<\/section>\r\n\r\n<style>\r\n  .gm-home{\r\n    --purple: #393680;\r\n    --sky: #3fa6dd;\r\n    --body-bg: #eef0f4;\r\n    --text-dark: #2c2c34;\r\n    box-sizing: border-box;\r\n    font-family: 'Poppins', sans-serif;\r\n  }\r\n  .gm-home *{ box-sizing: border-box; }\r\n\r\n  \/* ---------- Top navy intro ---------- *\/\r\n  .gm-home__tabbar{ background: var(--purple); }\r\n  .gm-home__tabbar-inner{\r\n    max-width: 1080px;\r\n    margin: 0 auto;\r\n    padding: 44px 24px 40px;\r\n  }\r\n\r\n  .gm-home__eyebrow{\r\n    margin: 0 0 18px;\r\n    font-weight: 600;\r\n    font-size: 13px;\r\n    letter-spacing: 2px;\r\n    text-transform: uppercase;\r\n    color: var(--sky);\r\n  }\r\n\r\n  .gm-home__intro{\r\n    display: flex;\r\n    flex-direction: column;\r\n    gap: 22px;\r\n  }\r\n  .gm-home__intro-text{\r\n    margin: 0;\r\n    max-width: 100%;\r\n    font-weight: 400;\r\n    font-size: 16px;\r\n    line-height: 1.75;\r\n    color: rgba(255,255,255,0.92);\r\n  }\r\n  .gm-home__cta{\r\n    align-self: flex-end;\r\n    font-weight: 500;\r\n    font-size: 15px;\r\n    color: #ffffff;\r\n    text-decoration: none;\r\n    padding-bottom: 3px;\r\n    border-bottom: 1px solid rgba(255,255,255,0.4);\r\n    transition: border-color 0.25s ease, color 0.25s ease;\r\n    white-space: nowrap;\r\n  }\r\n  .gm-home__cta:hover{ color: var(--sky); border-color: var(--sky); }\r\n  .gm-home__cta:focus-visible{ outline: 2px solid var(--sky); outline-offset: 4px; }\r\n\r\n  \/* ---------- Lower body ---------- *\/\r\n  .gm-home__body{ background: var(--body-bg); padding: 56px 24px; }\r\n  .gm-home__body-inner{\r\n    max-width: 1080px;\r\n    margin: 0 auto;\r\n    display: grid;\r\n    grid-template-columns: 1.15fr 0.85fr;\r\n    gap: 48px;\r\n    align-items: start;\r\n  }\r\n\r\n  .gm-home__detail-text{\r\n    margin: 0 0 26px;\r\n    font-weight: 400;\r\n    font-size: 16.5px;\r\n    line-height: 1.75;\r\n    color: var(--text-dark);\r\n  }\r\n\r\n  \/* Ideal For \/ What Is Covered \/ Why Choose switch *\/\r\n  .gm-home__switch{\r\n    position: relative;\r\n    display: inline-flex;\r\n    background: #ffffff;\r\n    border-radius: 999px;\r\n    padding: 5px;\r\n    box-shadow: 0 6px 18px rgba(30, 20, 70, 0.1);\r\n    margin-bottom: 24px;\r\n    max-width: 100%;\r\n  }\r\n  .gm-home__switch-highlight{\r\n    position: absolute;\r\n    top: 5px;\r\n    left: 5px;\r\n    height: calc(100% - 10px);\r\n    width: 0;\r\n    background: var(--sky);\r\n    border-radius: 999px;\r\n    transition: transform 0.3s cubic-bezier(.4,0,.2,1), width 0.3s cubic-bezier(.4,0,.2,1);\r\n  }\r\n  .gm-home__switch-btn,\r\n  .gm-home__switch-btn:hover,\r\n  .gm-home__switch-btn:focus,\r\n  .gm-home__switch-btn:active,\r\n  .gm-home__switch-btn.is-active{\r\n    background: none !important;\r\n    background-color: transparent !important;\r\n    -webkit-tap-highlight-color: transparent;\r\n  }\r\n  .gm-home__switch-btn{\r\n    position: relative;\r\n    z-index: 1;\r\n    border: none;\r\n    cursor: pointer;\r\n    padding: 12px 20px;\r\n    font-family: 'Poppins', sans-serif;\r\n    font-weight: 500;\r\n    font-size: 14px;\r\n    color: var(--text-dark);\r\n    border-radius: 999px;\r\n    white-space: nowrap;\r\n    transition: color 0.3s ease;\r\n  }\r\n  .gm-home__switch-btn.is-active{ color: #ffffff; font-weight: 600; }\r\n  .gm-home__switch-btn:hover:not(.is-active){ color: #393780; }\r\n  .gm-home__switch-btn:focus-visible{\r\n    outline: 2px solid var(--purple);\r\n    outline-offset: 2px;\r\n  }\r\n\r\n  \/* Plain bulleted list (Ideal For \/ What Is Covered) *\/\r\n  .gm-home__list{\r\n    list-style: none;\r\n    margin: 0;\r\n    padding: 0;\r\n    display: flex;\r\n    flex-direction: column;\r\n    gap: 12px;\r\n  }\r\n  .gm-home__list li{\r\n    position: relative;\r\n    padding-left: 22px;\r\n    font-weight: 400;\r\n    font-size: 15.5px;\r\n    line-height: 1.5;\r\n    color: var(--text-dark);\r\n  }\r\n  .gm-home__list li::before{\r\n    content: '';\r\n    position: absolute;\r\n    left: 0;\r\n    top: 8px;\r\n    width: 7px;\r\n    height: 7px;\r\n    border-radius: 50%;\r\n    background: var(--sky);\r\n  }\r\n\r\n  \/* Feature grid (Why Choose Geminia) *\/\r\n  .gm-home__feature-grid{\r\n    display: grid;\r\n    grid-template-columns: repeat(2, 1fr);\r\n    gap: 20px 24px;\r\n  }\r\n  .gm-home__feature{\r\n    padding: 16px 18px;\r\n    background: #ffffff;\r\n    border-radius: 12px;\r\n    box-shadow: 0 4px 14px rgba(30, 20, 70, 0.06);\r\n  }\r\n  .gm-home__feature-title{\r\n    margin: 0 0 6px;\r\n    font-weight: 600;\r\n    font-size: 15px;\r\n    color: var(--purple);\r\n  }\r\n  .gm-home__feature-text{\r\n    margin: 0;\r\n    font-weight: 400;\r\n    font-size: 14.5px;\r\n    line-height: 1.55;\r\n    color: var(--text-dark);\r\n  }\r\n\r\n  .gm-fade-refresh-home{ animation: gmHomeFade 0.35s ease; }\r\n  @keyframes gmHomeFade{\r\n    from{ opacity: 0; transform: translateY(6px); }\r\n    to{ opacity: 1; transform: translateY(0); }\r\n  }\r\n\r\n  \/* ---------- Request Call Back card ---------- *\/\r\n  .gm-home__form-card{\r\n    background: var(--sky);\r\n    border-radius: 16px;\r\n    padding: 36px 32px 32px;\r\n  }\r\n  .gm-home__form-title{\r\n    margin: 0 0 22px;\r\n    font-weight: 700;\r\n    font-size: 24px;\r\n    color: var(--purple);\r\n  }\r\n  .gm-home__field{ margin-bottom: 18px; }\r\n  .gm-home__field label{\r\n    display: block;\r\n    margin-bottom: 8px;\r\n    font-weight: 500;\r\n    font-size: 14.5px;\r\n    color: #ffffff;\r\n  }\r\n  .gm-home__field input,\r\n  .gm-home__field textarea{\r\n    width: 100%;\r\n    border: none;\r\n    border-radius: 8px;\r\n    padding: 12px 14px;\r\n    font-family: 'Poppins', sans-serif;\r\n    font-size: 14.5px;\r\n    color: var(--text-dark);\r\n    background: #ffffff;\r\n    resize: vertical;\r\n  }\r\n  .gm-home__field input:focus-visible,\r\n  .gm-home__field textarea:focus-visible{\r\n    outline: 2px solid var(--purple);\r\n    outline-offset: 2px;\r\n  }\r\n  .gm-home__field input:invalid:not(:placeholder-shown){\r\n    box-shadow: inset 0 0 0 1.5px #d64545;\r\n  }\r\n\r\n  .gm-home__submit{\r\n    margin-top: 6px;\r\n    padding: 13px 34px;\r\n    background: var(--purple);\r\n    color: #ffffff;\r\n    border: none;\r\n    border-radius: 999px;\r\n    font-family: 'Poppins', sans-serif;\r\n    font-weight: 600;\r\n    font-size: 14.5px;\r\n    cursor: pointer;\r\n    transition: background 0.25s ease, transform 0.25s ease;\r\n  }\r\n  .gm-home__submit:hover{ background: #2d2a66; transform: translateY(-1px); }\r\n  .gm-home__submit:focus-visible{ outline: 2px solid #ffffff; outline-offset: 3px; }\r\n  .gm-home__submit:disabled{ opacity: 0.7; cursor: default; transform: none; }\r\n\r\n  .gm-home__form-status{\r\n    margin: 12px 0 0;\r\n    font-size: 13.5px;\r\n    font-weight: 500;\r\n    color: #ffffff;\r\n    min-height: 18px;\r\n  }\r\n\r\n  \/* ---------- Responsive ---------- *\/\r\n  @media (max-width: 900px){\r\n    .gm-home__body-inner{ grid-template-columns: 1fr; gap: 40px; }\r\n  }\r\n\r\n  @media (max-width: 720px){\r\n    .gm-home__cta{ align-self: flex-start; }\r\n    .gm-home__tabbar-inner{ padding: 36px 20px 32px; }\r\n    .gm-home__body{ padding: 44px 20px; }\r\n    .gm-home__switch{ width: 100%; flex-wrap: wrap; }\r\n    .gm-home__switch-btn{ flex: 1; text-align: center; padding: 12px 8px; }\r\n    .gm-home__form-card{ padding: 28px 22px 26px; }\r\n    .gm-home__feature-grid{ grid-template-columns: 1fr; }\r\n  }\r\n\r\n  @media (prefers-reduced-motion: reduce){\r\n    .gm-fade-refresh-home{ animation: none; }\r\n    .gm-home__switch-highlight{ transition: none; }\r\n    .gm-home__submit{ transition: none; }\r\n  }\r\n<\/style>\r\n\r\n<script>\r\n(function(){\r\n  var section = document.querySelector('.gm-home');\r\n  if (!section) return;\r\n\r\n  \/* ---------- Centralized content data ---------- *\/\r\n  var data = {\r\n    idealFor: [\r\n      \"Homeowners\",\r\n      \"Tenants\",\r\n      \"Apartment owners\",\r\n      \"Landlords\",\r\n      \"Families\",\r\n      \"First-time homeowners\",\r\n      \"Individuals looking for comprehensive home protection\"\r\n    ],\r\n    whatIsCovered: [\r\n      { title: \"Buildings\", text: \"Cover for your home against loss or damage caused by insured events such as fire, lightning, storms, floods, earthquakes, and other specified perils.\" },\r\n      { title: \"Household Contents\", text: \"Protection for furniture, electronics, appliances, clothing, and other household belongings against insured risks.\" },\r\n      { title: \"Burglary & Theft\", text: \"Cover for loss or damage resulting from burglary, housebreaking, or theft involving forcible or violent entry.\" },\r\n      { title: \"Personal Liability\", text: \"Protection against legal liability if you are held responsible for accidental bodily injury to third parties or damage to their property.\" },\r\n      { title: \"Domestic Workers Compensation\", text: \"Cover for legal liability arising from accidental injury to domestic employees while working in your home.\" },\r\n      { title: \"All Risks (Optional)\", text: \"Optional cover for specified personal belongings such as laptops, cameras, jewellery, mobile phones, and other valuables, even when taken outside your home.\" }\r\n    ],\r\n    whyChoose: [\r\n      { title: \"Comprehensive Home Protection\", text: \"Protect your home, household contents, and personal belongings under one convenient policy.\" },\r\n      { title: \"Financial Peace of Mind\", text: \"Recover more quickly from unexpected events without bearing the full financial burden.\" },\r\n      { title: \"Flexible Cover\", text: \"Choose protection that suits your home, lifestyle, and valuable possessions.\" },\r\n      { title: \"Protection Beyond Your Home\", text: \"Extend cover to selected personal valuables you carry with you every day.\" },\r\n      { title: \"Trusted Since 1981\", text: \"For over four decades, Geminia Insurance has been helping Kenyan families protect what matters most.\" }\r\n    ]\r\n  };\r\n\r\n\r\n  var listWrap = section.querySelector('#gmHomeListWrap');\r\n  var subTabs = Array.prototype.slice.call(section.querySelectorAll('.gm-home__switch-btn'));\r\n  var switchWrap = section.querySelector('.gm-home__switch');\r\n  var highlight = section.querySelector('#gmHomeSwitchHighlight');\r\n\r\n  var activeSub = 'ideal';\r\n\r\n  function fadeRefresh(el){\r\n    el.classList.remove('gm-fade-refresh-home');\r\n    void el.offsetWidth; \/* force reflow so the animation can restart *\/\r\n    el.classList.add('gm-fade-refresh-home');\r\n  }\r\n\r\n  function renderBulletList(items){\r\n    var ul = document.createElement('ul');\r\n    ul.className = 'gm-home__list';\r\n    items.forEach(function(text){\r\n      var li = document.createElement('li');\r\n      li.textContent = text;\r\n      ul.appendChild(li);\r\n    });\r\n    return ul;\r\n  }\r\n\r\n  function renderFeatureGrid(items){\r\n    var grid = document.createElement('div');\r\n    grid.className = 'gm-home__feature-grid';\r\n    items.forEach(function(item){\r\n      var card = document.createElement('div');\r\n      card.className = 'gm-home__feature';\r\n      var title = document.createElement('h4');\r\n      title.className = 'gm-home__feature-title';\r\n      title.textContent = item.title;\r\n      var text = document.createElement('p');\r\n      text.className = 'gm-home__feature-text';\r\n      text.textContent = item.text;\r\n      card.appendChild(title);\r\n      card.appendChild(text);\r\n      grid.appendChild(card);\r\n    });\r\n    return grid;\r\n  }\r\n\r\n  function renderList(){\r\n    listWrap.innerHTML = '';\r\n    var labelId = activeSub === 'ideal' ? 'gmHomeSubTab-ideal'\r\n      : activeSub === 'covered' ? 'gmHomeSubTab-covered'\r\n      : 'gmHomeSubTab-why';\r\n    listWrap.setAttribute('aria-labelledby', labelId);\r\n\r\n    if (activeSub === 'ideal'){\r\n      listWrap.appendChild(renderBulletList(data.idealFor));\r\n    } else if (activeSub === 'covered'){\r\n      listWrap.appendChild(renderFeatureGrid(data.whatIsCovered));\r\n    } else if (activeSub === 'why'){\r\n      listWrap.appendChild(renderFeatureGrid(data.whyChoose));\r\n    }\r\n\r\n    fadeRefresh(listWrap);\r\n  }\r\n\r\n  function positionHighlight(){\r\n    var activeBtn = subTabs.filter(function(b){ return b.classList.contains('is-active'); })[0];\r\n    if (!activeBtn) return;\r\n    var wrapRect = switchWrap.getBoundingClientRect();\r\n    var btnRect = activeBtn.getBoundingClientRect();\r\n    highlight.style.width = btnRect.width + 'px';\r\n    highlight.style.transform = 'translateX(' + (btnRect.left - wrapRect.left - 5) + 'px)';\r\n  }\r\n\r\n  function renderSub(sub){\r\n    activeSub = sub;\r\n    subTabs.forEach(function(btn){\r\n      var selected = btn.getAttribute('data-sub') === sub;\r\n      btn.classList.toggle('is-active', selected);\r\n      btn.setAttribute('aria-selected', selected ? 'true' : 'false');\r\n    });\r\n    positionHighlight();\r\n    renderList();\r\n  }\r\n\r\n  subTabs.forEach(function(btn, i){\r\n    btn.addEventListener('click', function(){ renderSub(btn.getAttribute('data-sub')); });\r\n    btn.addEventListener('keydown', function(e){\r\n      var next = null;\r\n      if (e.key === 'ArrowRight') next = (i + 1) % subTabs.length;\r\n      else if (e.key === 'ArrowLeft') next = (i - 1 + subTabs.length) % subTabs.length;\r\n      if (next !== null){\r\n        e.preventDefault();\r\n        renderSub(subTabs[next].getAttribute('data-sub'));\r\n        subTabs[next].focus();\r\n      }\r\n    });\r\n  });\r\n\r\n  \/* Initial render *\/\r\n  renderSub('ideal');\r\n\r\n  window.addEventListener('load', positionHighlight);\r\n  if (document.fonts && document.fonts.ready){\r\n    document.fonts.ready.then(positionHighlight);\r\n  }\r\n  var resizeTimer;\r\n  window.addEventListener('resize', function(){\r\n    clearTimeout(resizeTimer);\r\n    resizeTimer = setTimeout(positionHighlight, 120);\r\n  });\r\n\r\n  \/* ---------- Callback form ---------- *\/\r\n  var form = section.querySelector('#gmHomeCallbackForm');\r\n  var statusEl = section.querySelector('#gmHomeFormStatus');\r\n\r\n  var GEMINIA_CALLBACK_ENDPOINT = 'https:\/\/script.google.com\/macros\/s\/AKfycbwFlGR1THNUVMzt3hSBfFQzRpW1uHqtKqY_frXnLFwE_TPyUsG2PokiDb7KKANJmLxh5Q\/exec';\r\n\r\n  form.addEventListener('submit', function(e){\r\n    e.preventDefault();\r\n    if (!form.checkValidity()){\r\n      form.reportValidity();\r\n      return;\r\n    }\r\n\r\n    var submitBtn = form.querySelector('.gm-home__submit');\r\n    submitBtn.disabled = true;\r\n    submitBtn.textContent = 'Sending\u2026';\r\n    statusEl.textContent = '';\r\n\r\n    var payload = Object.fromEntries(new FormData(form));\r\n\r\n    fetch(GEMINIA_CALLBACK_ENDPOINT, {\r\n      method: 'POST',\r\n      mode: 'no-cors',\r\n      headers: { 'Content-Type': 'text\/plain;charset=utf-8' },\r\n      body: JSON.stringify(payload)\r\n    }).then(function(){\r\n      \/\/ Apps Script Web Apps don't return CORS headers when called with\r\n      \/\/ mode: 'no-cors', so the response is opaque and can't be inspected.\r\n      \/\/ A resolved promise here means the request was sent successfully.\r\n      submitBtn.disabled = false;\r\n      submitBtn.textContent = 'Submit';\r\n      statusEl.textContent = \"Thanks \u2014 we've received your request and will call you back shortly.\";\r\n      form.reset();\r\n    }).catch(function(){\r\n      submitBtn.disabled = false;\r\n      submitBtn.textContent = 'Submit';\r\n      statusEl.textContent = \"Something went wrong \u2014 please try again or call us directly.\";\r\n    });\r\n  });\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ced3885 e-flex e-con-boxed e-con e-parent\" data-id=\"ced3885\" 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-b9c73f3 elementor-widget elementor-widget-html\" data-id=\"b9c73f3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\r\n\r\n<section class=\"gm-related\">\r\n  <div class=\"gm-related__inner\">\r\n\r\n    <h2 class=\"gm-related__heading\">Related Products<\/h2>\r\n\r\n    <div\r\n      class=\"gm-related__viewport\"\r\n      id=\"gmRelatedViewport\"\r\n      tabindex=\"0\"\r\n      role=\"region\"\r\n      aria-roledescription=\"carousel\"\r\n      aria-label=\"Related products\"\r\n    >\r\n      <div class=\"gm-related__track\" id=\"gmRelatedTrack\">\r\n\r\n        <a class=\"gm-related__card\" href=\"https:\/\/geminia.co.ke\/dev\/geminia-droneinsurance\/\" aria-label=\"Farm Protector Insurance \u2014 view product\" aria-roledescription=\"slide\">\r\n          <span class=\"gm-related__bg\" style=\"background-image: url('https:\/\/geminia.co.ke\/dev\/wp-content\/uploads\/2026\/08\/Drone-Insurance.jpg');\" aria-hidden=\"true\"><\/span>\r\n          <span class=\"gm-related__overlay\" aria-hidden=\"true\"><\/span>\r\n          <span class=\"gm-related__label\">\r\n            Drone Insurance\r\n            <svg class=\"gm-related__arrow\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\"><path d=\"M3 8h10M9 4l4 4-4 4\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\r\n          <\/span>\r\n        <\/a>\r\n\r\n        <a class=\"gm-related__card\" href=\"https:\/\/geminia.co.ke\/dev\/burglary-insurance\/\" aria-label=\"Burglary Insurance \u2014 view product\" aria-roledescription=\"slide\">\r\n          <span class=\"gm-related__bg\" style=\"background-image: url('https:\/\/geminia.co.ke\/dev\/wp-content\/uploads\/2026\/08\/Buglary-Insurance-Image.jpg');\" aria-hidden=\"true\"><\/span>\r\n          <span class=\"gm-related__overlay\" aria-hidden=\"true\"><\/span>\r\n          <span class=\"gm-related__label\">\r\n            Burglary Insurance\r\n            <svg class=\"gm-related__arrow\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\"><path d=\"M3 8h10M9 4l4 4-4 4\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\r\n          <\/span>\r\n        <\/a>\r\n\r\n        <a class=\"gm-related__card\" href=\"https:\/\/geminia.co.ke\/dev\/geminia-marine-cargo-insurance\/\" aria-label=\"Marine Cargo Insurance \u2014 view product\" aria-roledescription=\"slide\">\r\n          <span class=\"gm-related__bg\" style=\"background-image: url('https:\/\/geminia.co.ke\/dev\/wp-content\/uploads\/2026\/08\/Marine-Cargo.jpg');\" aria-hidden=\"true\"><\/span>\r\n          <span class=\"gm-related__overlay\" aria-hidden=\"true\"><\/span>\r\n          <span class=\"gm-related__label\">\r\n            Marine Cargo Insurance\r\n            <svg class=\"gm-related__arrow\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\"><path d=\"M3 8h10M9 4l4 4-4 4\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\r\n          <\/span>\r\n        <\/a>\r\n\r\n          <a class=\"gm-related__card\" href=\"https:\/\/geminia.co.ke\/dev\/political-violence-terrorism-insurance-geminia-kenya\/\" aria-label=\"Political Violence & Terrorism Insurance \u2014 view product\" aria-roledescription=\"slide\">\r\n          <span class=\"gm-related__bg\" style=\"background-image: url('https:\/\/geminia.co.ke\/dev\/wp-content\/uploads\/2026\/07\/PVT-image.jpg');\" aria-hidden=\"true\"><\/span>\r\n          <span class=\"gm-related__overlay\" aria-hidden=\"true\"><\/span>\r\n          <span class=\"gm-related__label\">\r\n            Political Violence & Terrorism Insurance\r\n            <svg class=\"gm-related__arrow\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\"><path d=\"M3 8h10M9 4l4 4-4 4\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\r\n          <\/span>\r\n        <\/a>\r\n\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"gm-related__dots\" id=\"gmRelatedDots\" role=\"group\" aria-label=\"Choose product\">\r\n      <button class=\"gm-related__dot\" aria-current=\"true\" aria-label=\"Go to slide 1\"><\/button>\r\n      <button class=\"gm-related__dot\" aria-current=\"false\" aria-label=\"Go to slide 2\"><\/button>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/section>\r\n\r\n<style>\r\n  .gm-related{\r\n    --sky: #3fa6dd;\r\n    box-sizing: border-box;\r\n    background: #ffffff;\r\n    padding: 56px 24px 64px;\r\n    font-family: 'Poppins', sans-serif;\r\n  }\r\n  .gm-related *{ box-sizing: border-box; }\r\n\r\n  .gm-related__inner{ max-width: 1080px; margin: 0 auto; }\r\n\r\n  .gm-related__heading{\r\n    margin: 0 0 26px;\r\n    font-weight: 700;\r\n    font-size: clamp(22px, 2.6vw, 28px);\r\n    color: var(--sky);\r\n  }\r\n\r\n  \/* ---------- Viewport \/ track ---------- *\/\r\n  .gm-related__viewport{\r\n    overflow-x: auto;\r\n    scroll-snap-type: x mandatory;\r\n    scroll-behavior: smooth;\r\n    -webkit-overflow-scrolling: touch;\r\n    scrollbar-width: none;\r\n    -ms-overflow-style: none;\r\n    margin: 0 -24px;\r\n    padding: 0 24px;\r\n  }\r\n  .gm-related__viewport::-webkit-scrollbar{ display: none; }\r\n  .gm-related__viewport:focus-visible{\r\n    outline: 2px solid var(--sky);\r\n    outline-offset: 4px;\r\n    border-radius: 8px;\r\n  }\r\n\r\n  .gm-related__track{\r\n    display: flex;\r\n    gap: 22px;\r\n  }\r\n\r\n  .gm-related__card{\r\n    position: relative;\r\n    display: block;\r\n    flex: 0 0 calc((100% - 44px) \/ 3); \/* 3 visible, 2 gaps of 22px *\/\r\n    aspect-ratio: 4 \/ 5;\r\n    scroll-snap-align: start;\r\n    border-radius: 10px;\r\n    overflow: hidden;\r\n    text-decoration: none;\r\n  }\r\n\r\n  .gm-related__bg{\r\n    position: absolute;\r\n    inset: 0;\r\n    z-index: 0;\r\n    background-size: cover;\r\n    background-position: center;\r\n    background-color: #e7e9f2;\r\n    transform: scale(1);\r\n    transition: transform 0.5s ease;\r\n  }\r\n  .gm-related__card:hover .gm-related__bg,\r\n  .gm-related__card:focus-visible .gm-related__bg,\r\n  .gm-related__card.gm-touch-active .gm-related__bg{\r\n    transform: scale(1.07);\r\n  }\r\n\r\n  .gm-related__overlay{\r\n    position: absolute;\r\n    inset: 0;\r\n    z-index: 1;\r\n    background: linear-gradient(180deg, rgba(20,20,35,0) 45%, rgba(15,15,30,0.78) 100%);\r\n    transition: background 0.4s ease;\r\n  }\r\n  .gm-related__card:hover .gm-related__overlay,\r\n  .gm-related__card:focus-visible .gm-related__overlay,\r\n  .gm-related__card.gm-touch-active .gm-related__overlay{\r\n    background: linear-gradient(180deg, rgba(20,20,35,0.05) 35%, rgba(10,10,25,0.85) 100%);\r\n  }\r\n\r\n  .gm-related__label{\r\n    position: absolute;\r\n    left: 18px;\r\n    right: 18px;\r\n    bottom: 16px;\r\n    z-index: 2;\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 8px;\r\n    font-weight: 600;\r\n    font-size: 15.5px;\r\n    color: #ffffff;\r\n  }\r\n\r\n  .gm-related__arrow{\r\n    width: 15px;\r\n    height: 15px;\r\n    flex-shrink: 0;\r\n    opacity: 0;\r\n    transform: translateX(-4px);\r\n    transition: opacity 0.3s ease, transform 0.3s ease;\r\n  }\r\n  .gm-related__card:hover .gm-related__arrow,\r\n  .gm-related__card:focus-visible .gm-related__arrow,\r\n  .gm-related__card.gm-touch-active .gm-related__arrow{\r\n    opacity: 1;\r\n    transform: translateX(0);\r\n  }\r\n\r\n  .gm-related__card:focus-visible{\r\n    outline: 2px solid var(--sky);\r\n    outline-offset: 3px;\r\n  }\r\n\r\n  \/* ---------- Dots ---------- *\/\r\n  .gm-related__dots{\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    gap: 8px;\r\n    margin-top: 28px;\r\n  }\r\n  .gm-related__dot{\r\n    width: 8px;\r\n    height: 8px;\r\n    padding: 0;\r\n    border: none;\r\n    border-radius: 999px;\r\n    background: #d7dce3;\r\n    cursor: pointer;\r\n    transition: background 0.3s ease, width 0.3s ease;\r\n  }\r\n  .gm-related__dot:hover{ background: #b9c1cc; }\r\n  .gm-related__dot[aria-current=\"true\"]{\r\n    width: 26px;\r\n    background: var(--sky);\r\n  }\r\n  .gm-related__dot:focus-visible{\r\n    outline: 2px solid var(--sky);\r\n    outline-offset: 3px;\r\n  }\r\n\r\n  \/* ---------- Responsive ---------- *\/\r\n  @media (max-width: 900px){\r\n    .gm-related__card{ flex-basis: calc((100% - 22px) \/ 2); } \/* 2 visible *\/\r\n  }\r\n\r\n  @media (max-width: 560px){\r\n    .gm-related__card{\r\n      flex-basis: 82%; \/* 1 visible, with a peek of the next card *\/\r\n      aspect-ratio: 16 \/ 11;\r\n    }\r\n  }\r\n\r\n  @media (prefers-reduced-motion: reduce){\r\n    .gm-related__viewport{ scroll-behavior: auto; }\r\n    .gm-related__bg{ transition: none; }\r\n    .gm-related__arrow{ transition: none; }\r\n    .gm-related__dot{ transition: none; }\r\n  }\r\n<\/style>\r\n\r\n<script>\r\n(function(){\r\n  var section = document.querySelector('.gm-related');\r\n  if (!section) return;\r\n\r\n  var viewport = section.querySelector('#gmRelatedViewport');\r\n  var track = section.querySelector('#gmRelatedTrack');\r\n  var dots = Array.prototype.slice.call(section.querySelectorAll('.gm-related__dot'));\r\n  var cards = Array.prototype.slice.call(track.querySelectorAll('.gm-related__card'));\r\n  if (!viewport || !cards.length) return;\r\n\r\n  var prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n\r\n  \/* ---------- Per-card step (used for keyboard arrows and swipe, NOT dots) ---------- *\/\r\n  function getStep(){\r\n    var trackStyle = window.getComputedStyle(track);\r\n    var gap = parseFloat(trackStyle.columnGap);\r\n    if (isNaN(gap)) gap = parseFloat(trackStyle.gap);\r\n    if (isNaN(gap)) gap = 0;\r\n    return cards[0].getBoundingClientRect().width + gap;\r\n  }\r\n\r\n  function getMaxScrollLeft(){\r\n    return Math.max(0, viewport.scrollWidth - viewport.clientWidth);\r\n  }\r\n\r\n  function scrollByCards(delta){\r\n    var target = viewport.scrollLeft + delta * getStep();\r\n    target = Math.max(0, Math.min(target, getMaxScrollLeft()));\r\n    viewport.scrollTo({ left: target, behavior: prefersReducedMotion ? 'auto' : 'smooth' });\r\n  }\r\n\r\n  \/* ---------- Dots: proportional jump between start and true end ---------- *\/\r\n  function scrollToDot(dotIndex){\r\n    var maxDotIndex = dots.length - 1;\r\n    dotIndex = Math.max(0, Math.min(dotIndex, maxDotIndex));\r\n    var maxScroll = getMaxScrollLeft();\r\n    var target = maxDotIndex > 0 ? (dotIndex \/ maxDotIndex) * maxScroll : 0;\r\n    viewport.scrollTo({ left: target, behavior: prefersReducedMotion ? 'auto' : 'smooth' });\r\n  }\r\n\r\n  function setActiveDot(index){\r\n    dots.forEach(function(dot, i){\r\n      dot.setAttribute('aria-current', i === index ? 'true' : 'false');\r\n    });\r\n  }\r\n\r\n  function syncDotFromScroll(){\r\n    var maxScroll = getMaxScrollLeft();\r\n    var maxDotIndex = dots.length - 1;\r\n    var ratio = maxScroll ? viewport.scrollLeft \/ maxScroll : 0;\r\n    var index = Math.round(ratio * maxDotIndex);\r\n    setActiveDot(index);\r\n  }\r\n\r\n  dots.forEach(function(dot, i){\r\n    dot.addEventListener('click', function(){ scrollToDot(i); });\r\n  });\r\n\r\n  var scrollTicking = false;\r\n  viewport.addEventListener('scroll', function(){\r\n    if (scrollTicking) return;\r\n    scrollTicking = true;\r\n    requestAnimationFrame(function(){\r\n      syncDotFromScroll();\r\n      scrollTicking = false;\r\n    });\r\n  });\r\n\r\n  viewport.addEventListener('keydown', function(e){\r\n    if (e.key === 'ArrowRight'){\r\n      e.preventDefault();\r\n      scrollByCards(1);\r\n    } else if (e.key === 'ArrowLeft'){\r\n      e.preventDefault();\r\n      scrollByCards(-1);\r\n    }\r\n  });\r\n\r\n  window.addEventListener('resize', function(){\r\n    syncDotFromScroll();\r\n  });\r\n\r\n  \/* ---------- Touch devices: first tap reveals hover state, second tap follows the link ---------- *\/\r\n  var isTouch = window.matchMedia('(hover: none)').matches;\r\n  if (isTouch){\r\n    cards.forEach(function(card){\r\n      card.addEventListener('click', function(e){\r\n        if (!card.classList.contains('gm-touch-active')){\r\n          e.preventDefault();\r\n          cards.forEach(function(c){ c.classList.remove('gm-touch-active'); });\r\n          card.classList.add('gm-touch-active');\r\n        }\r\n      });\r\n    });\r\n    document.addEventListener('click', function(e){\r\n      var isCard = e.target.closest && e.target.closest('.gm-related__card');\r\n      if (!isCard) cards.forEach(function(c){ c.classList.remove('gm-touch-active'); });\r\n    });\r\n  }\r\n})();\r\n<\/script>\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>Helping You Feel at Home, Every Day Comprehensive protection for your home, belongings, and peace of mind. Purchase Cover HomePack Insurance Your home is one of your most valuable investments, and protecting it shouldn&#8217;t be left to chance. Geminia HomePack Insurance is a comprehensive insurance solution that protects your home, household contents, and personal belongings [&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-1080","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Homepack Insurance - Geminia Insurance<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Homepack Insurance - Geminia Insurance\" \/>\n<meta property=\"og:description\" content=\"Helping You Feel at Home, Every Day Comprehensive protection for your home, belongings, and peace of mind. Purchase Cover HomePack Insurance Your home is one of your most valuable investments, and protecting it shouldn&#8217;t be left to chance. Geminia HomePack Insurance is a comprehensive insurance solution that protects your home, household contents, and personal belongings [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/geminia.co.ke\/dev\/homepackinsurance\/\" \/>\n<meta property=\"og:site_name\" content=\"Geminia Insurance\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-03T02:10:25+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/geminia.co.ke\\\/dev\\\/homepackinsurance\\\/\",\"url\":\"https:\\\/\\\/geminia.co.ke\\\/dev\\\/homepackinsurance\\\/\",\"name\":\"Homepack Insurance - Geminia Insurance\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/geminia.co.ke\\\/dev\\\/#website\"},\"datePublished\":\"2026-08-04T08:38:09+00:00\",\"dateModified\":\"2026-09-03T02:10:25+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/geminia.co.ke\\\/dev\\\/homepackinsurance\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/geminia.co.ke\\\/dev\\\/homepackinsurance\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/geminia.co.ke\\\/dev\\\/homepackinsurance\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/geminia.co.ke\\\/dev\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Homepack Insurance\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/geminia.co.ke\\\/dev\\\/#website\",\"url\":\"https:\\\/\\\/geminia.co.ke\\\/dev\\\/\",\"name\":\"Geminia Insurance\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/geminia.co.ke\\\/dev\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/geminia.co.ke\\\/dev\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/geminia.co.ke\\\/dev\\\/#organization\",\"name\":\"Geminia Insurance\",\"url\":\"https:\\\/\\\/geminia.co.ke\\\/dev\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/geminia.co.ke\\\/dev\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/geminia.co.ke\\\/dev\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/Geminia-Insurance-Logo.png\",\"contentUrl\":\"https:\\\/\\\/geminia.co.ke\\\/dev\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/Geminia-Insurance-Logo.png\",\"width\":250,\"height\":245,\"caption\":\"Geminia Insurance\"},\"image\":{\"@id\":\"https:\\\/\\\/geminia.co.ke\\\/dev\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Homepack Insurance - Geminia Insurance","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_US","og_type":"article","og_title":"Homepack Insurance - Geminia Insurance","og_description":"Helping You Feel at Home, Every Day Comprehensive protection for your home, belongings, and peace of mind. Purchase Cover HomePack Insurance Your home is one of your most valuable investments, and protecting it shouldn&#8217;t be left to chance. Geminia HomePack Insurance is a comprehensive insurance solution that protects your home, household contents, and personal belongings [&hellip;]","og_url":"https:\/\/geminia.co.ke\/dev\/homepackinsurance\/","og_site_name":"Geminia Insurance","article_modified_time":"2026-09-03T02:10:25+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/geminia.co.ke\/dev\/homepackinsurance\/","url":"https:\/\/geminia.co.ke\/dev\/homepackinsurance\/","name":"Homepack Insurance - Geminia Insurance","isPartOf":{"@id":"https:\/\/geminia.co.ke\/dev\/#website"},"datePublished":"2026-08-04T08:38:09+00:00","dateModified":"2026-09-03T02:10:25+00:00","breadcrumb":{"@id":"https:\/\/geminia.co.ke\/dev\/homepackinsurance\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/geminia.co.ke\/dev\/homepackinsurance\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/geminia.co.ke\/dev\/homepackinsurance\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/geminia.co.ke\/dev\/"},{"@type":"ListItem","position":2,"name":"Homepack Insurance"}]},{"@type":"WebSite","@id":"https:\/\/geminia.co.ke\/dev\/#website","url":"https:\/\/geminia.co.ke\/dev\/","name":"Geminia Insurance","description":"","publisher":{"@id":"https:\/\/geminia.co.ke\/dev\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/geminia.co.ke\/dev\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/geminia.co.ke\/dev\/#organization","name":"Geminia Insurance","url":"https:\/\/geminia.co.ke\/dev\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/geminia.co.ke\/dev\/#\/schema\/logo\/image\/","url":"https:\/\/geminia.co.ke\/dev\/wp-content\/uploads\/2026\/04\/Geminia-Insurance-Logo.png","contentUrl":"https:\/\/geminia.co.ke\/dev\/wp-content\/uploads\/2026\/04\/Geminia-Insurance-Logo.png","width":250,"height":245,"caption":"Geminia Insurance"},"image":{"@id":"https:\/\/geminia.co.ke\/dev\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/geminia.co.ke\/dev\/wp-json\/wp\/v2\/pages\/1080","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/geminia.co.ke\/dev\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/geminia.co.ke\/dev\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/geminia.co.ke\/dev\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/geminia.co.ke\/dev\/wp-json\/wp\/v2\/comments?post=1080"}],"version-history":[{"count":13,"href":"https:\/\/geminia.co.ke\/dev\/wp-json\/wp\/v2\/pages\/1080\/revisions"}],"predecessor-version":[{"id":2002,"href":"https:\/\/geminia.co.ke\/dev\/wp-json\/wp\/v2\/pages\/1080\/revisions\/2002"}],"wp:attachment":[{"href":"https:\/\/geminia.co.ke\/dev\/wp-json\/wp\/v2\/media?parent=1080"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}