{"id":112,"date":"2026-04-11T12:25:46","date_gmt":"2026-04-11T12:25:46","guid":{"rendered":"https:\/\/mwende.amkadigital.co.ke\/?page_id=112"},"modified":"2026-05-02T05:39:21","modified_gmt":"2026-05-02T05:39:21","slug":"home","status":"publish","type":"page","link":"https:\/\/robai.amkadigital.co.ke\/","title":{"rendered":"Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"112\" class=\"elementor elementor-112\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a20310f e-con-full e-flex e-con e-parent\" data-id=\"a20310f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1726755 elementor-widget elementor-widget-html\" data-id=\"1726755\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"en\">\r\n\r\n<head>\r\n  <meta charset=\"UTF-8\">\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, viewport-fit=cover\">\r\n  <title>In Loving Memory of Robai Lukania Magana<\/title>\r\n  <link\r\n    href=\"https:\/\/fonts.googleapis.com\/css2?family=Ubuntu:ital,wght@0,300;0,400;0,700;1,300;1,400&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&display=swap\"\r\n    rel=\"stylesheet\">\r\n  <script>const IMAGES = {\r\n\r\n      panel1: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.19.jpeg\", panel2: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.30-1.jpeg\", panel3: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.17-2.jpeg\", panel4: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.19-1.jpeg\", panel5: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.18.jpeg\",\r\n\r\n\r\n      life1: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.15-2.jpeg\", life2: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.09-1.jpeg\", life3: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.31.jpeg\", life4: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.26-1.jpeg\", life5: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.20-1.jpeg\",\r\n\r\n\r\n      g1: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.30.jpeg\", g2: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.17-2-1.jpeg\", g3: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.19-2-1.jpeg\", g4: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.17-3-1.jpeg\", g5: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.15-2-1.jpeg\", g6: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.15-2-1.jpeg\", g7: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.20-2.jpeg\", g8: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.10.jpeg\", g9: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.11.jpeg\", g10: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.12.jpeg\",\r\n      g11: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.13.jpeg\", g12: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.13-1.jpeg\", g13: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.14-1.jpeg\", g14: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.16-1.jpeg\", g15: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.16-2.jpeg\", g16: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.16-3.jpeg\", g17: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.16-4.jpeg\", g18: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.18-1.jpeg\", g19: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.19-3.jpeg\", g20: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.20.jpeg\",\r\n      g21: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.20-2.jpeg\", g22: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.21-1.jpeg\", g23: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.21-2.jpeg\", g24: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.21-3.jpeg\", g25: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.24.jpeg\", g26: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.25-1.jpeg\", g27: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.26-1.jpeg\", g28: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.28-2.jpeg\", g29: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.29.jpeg\", g30: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.26.37-1.jpeg\",\r\n      g31: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.08-1.jpeg\", g32: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.23-1.jpeg\", g33: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.09-1.jpeg\", g34: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.20-1.jpeg\", g35: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.22.jpeg\", g36: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.25-2.jpeg\", g37: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.25-2.jpeg\", g38: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.27.jpeg\", g39: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.12-1.jpeg\", g40: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.11-1.jpeg\",\r\n      g41: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.14-1.jpeg\", g42: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.10.jpeg\", g43: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.17-3.jpeg\", g44: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.18.jpeg\", g45: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.18.jpeg\", g46: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.17-2.jpeg\", g47: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.30-1.jpeg\", g48: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.14.jpeg\", g49: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.19-1.jpeg\", g50: \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/WhatsApp-Image-2026-04-30-at-11.27.19.jpeg\",\r\n    }; const MUSIC_URL = \"https:\/\/mwende.amkadigital.co.ke\/wp-content\/uploads\/2026\/05\/Celine-Dion-Andrea-Bocelli-The-Prayer-Official-Audio-CelineDionVEVO.mp3\"; const PDF_URL = \"\"; const VENUE_MAPS_LINK = \"https:\/\/www.google.com\/maps\/search\/Namanja+Primary+School+Butali+Kakamega+Kenya\"; const GALLERY_CAPTIONS = [\"A moment of joy\", \"Together\", \"Sisters\", \"Memories\", \"Outside\", \"Outings\", \"Life\", \"Love never fades\", \"Friendship\", \"Your memory lives on\", \"Her light\", \"Your light remains\", \"Goodtimes\", \"Your memory lives on\", \"Carried in our hearts\", \"Family is Forever\", \"Friends\", \"Precious memories remain\", \"Love remembers\", \"Robai, always\", \"Laughter\", \"A quiet afternoon\", \"A soul never dies\", \"Sibling Love\", \"Deeply missed\", \"Still with us\", \"A gentle soul\", \"Always present\", \"A beautiful soul remembered\", \"Beloved\", \"Remembered with love\", \"Loved beyond words\", \"Family moments\", \"Pure joy\", \"Carefree\", \"Dreaming\", \"Gone, never lost\", \"Peaceful\", \"Gone, yet near\", \"Forever remembered\", \"Tender moments\", \"The little things\", \"Radiant\", \"Her world\", \"Loved beyond words\", \"Always close to heart\", \"Cherished\", \"Still here\", \"Until we meet again\", \"In Our Hearts\"];<\/script>\r\n  <style>\r\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550   RESET & TOKENS\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n    *,\r\n    *::before,\r\n    *::after {\r\n      margin: 0;\r\n      padding: 0;\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    :root {\r\n      --black: #0a0a0a;\r\n      --white: #f5f3ef;\r\n      --gray: #888;\r\n      --lgray: #c8c4bc;\r\n      --accent: #d4b896;\r\n      --nav-size: 18px;\r\n      \/* corner nav font size *\/\r\n      --section-px: 80px;\r\n      \/* horizontal padding in overlays *\/\r\n    }\r\n\r\n    html {\r\n      scroll-behavior: smooth;\r\n      margin: 0;\r\n      padding: 0;\r\n      width: 100%;\r\n      height: 100%;\r\n    }\r\n\r\n    body {\r\n      background: var(--black);\r\n      color: var(--white);\r\n      font-family: 'Cormorant Garamond', serif;\r\n      overflow-x: hidden;\r\n      cursor: crosshair;\r\n      margin: 0;\r\n      padding: 0;\r\n      width: 100%;\r\n      min-height: 100%;\r\n    }\r\n\r\n    \/* Film grain *\/\r\n    body::after {\r\n      content: '';\r\n      position: fixed;\r\n      inset: 0;\r\n      pointer-events: none;\r\n      z-index: 9999;\r\n      opacity: 0.35;\r\n      mix-blend-mode: overlay;\r\n      background-image: url(\"data:image\/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'\/%3E%3C\/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'\/%3E%3C\/svg%3E\");\r\n    }\r\n\r\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550   MUSIC PLAYER \u2014 top centre pulse bar\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n    #music-bar {\r\n      position: fixed;\r\n      top: 28px;\r\n      left: 50%;\r\n      transform: translateX(-50%);\r\n      z-index: 1100;\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 10px;\r\n      padding: 8px 18px 8px 14px;\r\n      background: rgba(10, 10, 10, 0.55);\r\n      backdrop-filter: blur(10px);\r\n      border: 1px solid rgba(212, 184, 150, 0.18);\r\n      border-radius: 20px;\r\n      cursor: pointer;\r\n      user-select: none;\r\n      transition: background 0.3s, border-color 0.3s;\r\n    }\r\n\r\n    #music-bar:hover {\r\n      background: rgba(10, 10, 10, 0.85);\r\n      border-color: rgba(212, 184, 150, 0.4);\r\n    }\r\n\r\n    \/* Animated waveform bars *\/\r\n    .wave {\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 2px;\r\n      height: 16px;\r\n    }\r\n\r\n    .wave span {\r\n      display: block;\r\n      width: 2px;\r\n      background: var(--accent);\r\n      border-radius: 2px;\r\n      transform-origin: bottom;\r\n    }\r\n\r\n    .wave span:nth-child(1) {\r\n      height: 4px;\r\n      animation: wb 1.1s 0.0s ease-in-out infinite alternate;\r\n    }\r\n\r\n    .wave span:nth-child(2) {\r\n      height: 10px;\r\n      animation: wb 1.1s 0.2s ease-in-out infinite alternate;\r\n    }\r\n\r\n    .wave span:nth-child(3) {\r\n      height: 14px;\r\n      animation: wb 1.1s 0.1s ease-in-out infinite alternate;\r\n    }\r\n\r\n    .wave span:nth-child(4) {\r\n      height: 8px;\r\n      animation: wb 1.1s 0.3s ease-in-out infinite alternate;\r\n    }\r\n\r\n    .wave span:nth-child(5) {\r\n      height: 12px;\r\n      animation: wb 1.1s 0.15s ease-in-out infinite alternate;\r\n    }\r\n\r\n    .wave span:nth-child(6) {\r\n      height: 6px;\r\n      animation: wb 1.1s 0.25s ease-in-out infinite alternate;\r\n    }\r\n\r\n    .wave span:nth-child(7) {\r\n      height: 10px;\r\n      animation: wb 1.1s 0.05s ease-in-out infinite alternate;\r\n    }\r\n\r\n    @keyframes wb {\r\n      from {\r\n        transform: scaleY(0.25);\r\n        opacity: 0.4;\r\n      }\r\n\r\n      to {\r\n        transform: scaleY(1);\r\n        opacity: 1;\r\n      }\r\n    }\r\n\r\n    #music-bar.paused .wave span {\r\n      animation-play-state: paused;\r\n      opacity: 0.3;\r\n    }\r\n\r\n    #music-bar.paused .wave span {\r\n      transform: scaleY(0.25);\r\n    }\r\n\r\n    .music-label {\r\n      font-family: 'Ubuntu', sans-serif;\r\n      font-size: 9px;\r\n      letter-spacing: 0.38em;\r\n      text-transform: uppercase;\r\n      color: rgba(245, 243, 239, 0.4);\r\n      transition: color 0.3s;\r\n      white-space: nowrap;\r\n    }\r\n\r\n    #music-bar:hover .music-label {\r\n      color: var(--accent);\r\n    }\r\n\r\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550   CORNER NAV \u2014 larger, cleaner\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n    .corner-nav {\r\n      position: fixed;\r\n      z-index: 1000;\r\n    }\r\n\r\n    .corner-nav button {\r\n      background: none;\r\n      border: none;\r\n      cursor: pointer;\r\n      font-family: 'Ubuntu', sans-serif;\r\n      font-size: var(--nav-size);\r\n      font-weight: 400;\r\n      letter-spacing: 0.3em;\r\n      text-transform: uppercase;\r\n      color: #ffffff;\r\n      text-shadow: 0 0 18px rgba(255, 200, 100, 1), 0 0 6px rgba(255, 255, 255, 0.8);\r\n      padding: 18px 12px;\r\n      line-height: 1;\r\n      transition: color 0.4s, opacity 0.4s;\r\n      position: relative;\r\n      animation: navPulse 3.5s ease-in-out infinite;\r\n    }\r\n\r\n    .corner-nav button::after {\r\n      content: '';\r\n      position: absolute;\r\n      bottom: 0;\r\n      left: 0;\r\n      width: 100%;\r\n      height: 1px;\r\n      background: var(--accent);\r\n      transform: scaleX(0);\r\n      transform-origin: left;\r\n      transition: transform 0.4s;\r\n    }\r\n\r\n    .corner-nav button:hover {\r\n      color: #ffffff;\r\n      text-shadow: 0 0 12px rgba(212, 184, 150, 0.9);\r\n    }\r\n\r\n    .corner-nav button:hover::after {\r\n      transform: scaleX(1);\r\n    }\r\n\r\n    @keyframes navPulse {\r\n\r\n      0%,\r\n      100% {\r\n        opacity: 0.8;\r\n      }\r\n\r\n      50% {\r\n        opacity: 1;\r\n      }\r\n    }\r\n\r\n    #nav-life {\r\n      top: 36px;\r\n      left: 40px;\r\n    }\r\n\r\n    #nav-gallery {\r\n      top: 36px;\r\n      right: 40px;\r\n    }\r\n\r\n    #nav-programme {\r\n      bottom: 40px;\r\n      left: 40px;\r\n    }\r\n\r\n    #nav-tributes {\r\n      bottom: 40px;\r\n      right: 40px;\r\n    }\r\n\r\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550   PANELS \u2014 continuous scroll\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n    .journey {\r\n      position: relative;\r\n    }\r\n\r\n    .panel {\r\n      position: relative;\r\n      height: 100vh;\r\n      width: 100%;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      overflow: hidden;\r\n    }\r\n\r\n    .panel-img {\r\n      position: absolute;\r\n      inset: 0;\r\n      width: 100%;\r\n      height: 100%;\r\n      object-fit: cover;\r\n      filter: grayscale(100%) contrast(1.12) brightness(0.85);\r\n      transform: scale(1);\r\n      will-change: transform;\r\n      z-index: 0;\r\n    }\r\n\r\n    .panel-bg {\r\n      position: absolute;\r\n      inset: 0;\r\n      background: #111;\r\n      z-index: 0;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n    }\r\n\r\n    .panel-bg svg {\r\n      opacity: 0.06;\r\n    }\r\n\r\n    .panel-vignette {\r\n      position: absolute;\r\n      inset: 0;\r\n      z-index: 1;\r\n      background: radial-gradient(ellipse at 50% 50%, transparent 35%, rgba(10, 10, 10, 0.62) 100%);\r\n    }\r\n\r\n    \/* Always overlaid on image \u2014 never below it on any screen size *\/\r\n    .panel-content {\r\n      position: absolute;\r\n      inset: 0;\r\n      z-index: 2;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      width: 100%;\r\n      pointer-events: none;\r\n    }\r\n\r\n    .panel-content>* {\r\n      pointer-events: auto;\r\n    }\r\n\r\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550   HERO\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n    .hero-inner {\r\n      text-align: center;\r\n      padding: 0 clamp(20px, 5vw, 60px);\r\n    }\r\n\r\n    .hero-eyebrow {\r\n      font-family: 'Ubuntu', sans-serif;\r\n      font-size: clamp(8px, 1.2vw, 10px);\r\n      letter-spacing: 0.55em;\r\n      text-transform: uppercase;\r\n      color: var(--accent);\r\n      margin-bottom: clamp(16px, 3vh, 28px);\r\n      opacity: 0;\r\n      animation: fadeUp 1.2s 0.4s forwards;\r\n      text-shadow: 0 1px 8px rgba(0, 0, 0, 0.8);\r\n    }\r\n\r\n    .hero-title {\r\n      font-family: 'Ubuntu', sans-serif;\r\n      font-size: clamp(16px, 3vw, 40px);\r\n      font-weight: 300;\r\n      font-style: italic;\r\n      letter-spacing: 0.05em;\r\n      line-height: 1.4;\r\n      color: var(--white);\r\n      opacity: 0;\r\n      animation: fadeUp 1.2s 0.8s forwards;\r\n      text-shadow: 0 2px 20px rgba(0, 0, 0, 0.85), 0 1px 4px rgba(0, 0, 0, 0.9);\r\n    }\r\n\r\n    .hero-name {\r\n      display: block;\r\n      font-weight: 700;\r\n      font-style: normal;\r\n      font-size: clamp(26px, 5.5vw, 72px);\r\n      letter-spacing: 0.13em;\r\n      text-transform: uppercase;\r\n      color: var(--white);\r\n      margin-top: 8px;\r\n      text-shadow: 0 2px 24px rgba(0, 0, 0, 0.85), 0 1px 4px rgba(0, 0, 0, 0.9);\r\n    }\r\n\r\n    .hero-dates {\r\n      font-family: 'Cormorant Garamond', serif;\r\n      font-size: clamp(12px, 1.6vw, 18px);\r\n      font-weight: 400;\r\n      font-style: italic;\r\n      letter-spacing: 0.35em;\r\n      color: var(--white);\r\n      margin-top: clamp(14px, 2.5vh, 22px);\r\n      opacity: 0;\r\n      animation: fadeUp 1.2s 1.2s forwards;\r\n      text-shadow: 0 1px 12px rgba(0, 0, 0, 0.9), 0 2px 32px rgba(0, 0, 0, 0.7);\r\n    }\r\n\r\n    .hero-rule {\r\n      width: 1px;\r\n      height: clamp(36px, 5vh, 52px);\r\n      background: var(--accent);\r\n      margin: clamp(18px, 3vh, 30px) auto 0;\r\n      opacity: 0;\r\n      animation: fadeUp 1.2s 1.5s forwards;\r\n    }\r\n\r\n    \/* Scroll cue \u2014 text BELOW the line, fully centred *\/\r\n    .scroll-cue {\r\n      position: absolute;\r\n      bottom: clamp(24px, 4vh, 44px);\r\n      left: 50%;\r\n      transform: translateX(-50%);\r\n      z-index: 3;\r\n      display: flex;\r\n      flex-direction: column;\r\n      align-items: center;\r\n      gap: 0;\r\n      opacity: 0;\r\n      animation: fadeUp 1.2s 2.2s forwards;\r\n    }\r\n\r\n    .scroll-line {\r\n      width: 1px;\r\n      height: clamp(28px, 4vh, 40px);\r\n      background: linear-gradient(to bottom, rgba(212, 184, 150, 0.55), transparent);\r\n      animation: linePulse 2s ease-in-out infinite;\r\n    }\r\n\r\n    .scroll-cue span {\r\n      display: block;\r\n      margin-top: 8px;\r\n      font-family: 'Ubuntu', sans-serif;\r\n      font-size: 8px;\r\n      letter-spacing: 0.5em;\r\n      text-transform: uppercase;\r\n      color: rgba(245, 243, 239, 0.25);\r\n    }\r\n\r\n    @keyframes linePulse {\r\n\r\n      0%,\r\n      100% {\r\n        opacity: 1;\r\n        transform: scaleY(1);\r\n      }\r\n\r\n      50% {\r\n        opacity: 0.3;\r\n        transform: scaleY(0.45);\r\n      }\r\n    }\r\n\r\n    @keyframes fadeUp {\r\n      from {\r\n        opacity: 0;\r\n        transform: translateY(20px);\r\n      }\r\n\r\n      to {\r\n        opacity: 1;\r\n        transform: translateY(0);\r\n      }\r\n    }\r\n\r\n    \/* Panel quote styles \u2014 width:100% needed because parent is position:absolute *\/\r\n    .pq-left {\r\n      width: 100%;\r\n      padding: 0 clamp(20px, 10%, 120px) 0 clamp(20px, 8%, 96px);\r\n      max-width: none;\r\n    }\r\n\r\n    .pq-right {\r\n      width: 100%;\r\n      padding: 0 clamp(20px, 8%, 96px) 0 clamp(20px, 10%, 120px);\r\n      max-width: none;\r\n      text-align: right;\r\n    }\r\n\r\n    .pq-center {\r\n      width: 100%;\r\n      text-align: center;\r\n      padding: 0 clamp(20px, 6%, 80px);\r\n    }\r\n\r\n    .pq-center .pq-text {\r\n      max-width: 640px;\r\n      margin: 0 auto;\r\n    }\r\n\r\n    \/* Constrain the actual text block so it doesn't span full width *\/\r\n    .pq-left .pq-text,\r\n    .pq-left .pq-tag {\r\n      max-width: 600px;\r\n    }\r\n\r\n    .pq-right .pq-text,\r\n    .pq-right .pq-tag {\r\n      max-width: 600px;\r\n      margin-left: auto;\r\n    }\r\n\r\n    .pq-tag {\r\n      font-family: 'Ubuntu', sans-serif;\r\n      font-size: clamp(8px, 1vw, 9px);\r\n      letter-spacing: 0.42em;\r\n      text-transform: uppercase;\r\n      color: var(--accent);\r\n      margin-bottom: 16px;\r\n    }\r\n\r\n    .pq-text {\r\n      font-family: 'Cormorant Garamond', serif;\r\n      font-size: clamp(16px, 2.8vw, 36px);\r\n      font-weight: 300;\r\n      font-style: italic;\r\n      line-height: 1.5;\r\n      color: var(--white);\r\n      text-shadow: 0 2px 30px rgba(0, 0, 0, 0.75);\r\n    }\r\n\r\n    .pq-source {\r\n      display: block;\r\n      margin-top: 14px;\r\n      font-family: 'Ubuntu', sans-serif;\r\n      font-size: clamp(9px, 1.1vw, 11px);\r\n      letter-spacing: 0.3em;\r\n      color: var(--lgray);\r\n      font-style: normal;\r\n    }\r\n\r\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550   SECTION OVERLAYS\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n    .section-overlay {\r\n      position: fixed;\r\n      inset: 0;\r\n      z-index: 1100;\r\n      pointer-events: none;\r\n      visibility: hidden;\r\n      opacity: 0;\r\n      overflow: hidden;\r\n      clip-path: inset(0);\r\n    }\r\n\r\n    .section-overlay.active {\r\n      pointer-events: auto;\r\n      visibility: visible;\r\n      opacity: 1;\r\n    }\r\n\r\n    .section-panel {\r\n      position: absolute;\r\n      inset: 0;\r\n      background: var(--black);\r\n      overflow-y: auto;\r\n      overflow-x: hidden;\r\n      isolation: isolate;\r\n      will-change: transform;\r\n      transform: translateX(-100%);\r\n      transition: transform 0.85s cubic-bezier(0.76, 0, 0.24, 1);\r\n      padding: 0 var(--section-px) 100px;\r\n      scrollbar-width: thin;\r\n      scrollbar-color: rgba(212, 184, 150, 0.25) transparent;\r\n    }\r\n\r\n    #overlay-gallery .section-panel {\r\n      transform: translateX(100%);\r\n    }\r\n\r\n    #overlay-gallery .sec-close-bar {\r\n      position: fixed;\r\n      top: 0;\r\n      right: 0;\r\n      left: 0;\r\n      z-index: 600;\r\n      background: transparent;\r\n      padding: clamp(20px, 3.5vh, 36px) clamp(22px, 4vw, 48px);\r\n      border-bottom: none;\r\n      margin-bottom: 0;\r\n      pointer-events: auto;\r\n    }\r\n\r\n    #overlay-gallery .btn-close {\r\n      position: absolute;\r\n      top: clamp(20px, 3.5vh, 36px);\r\n      right: clamp(22px, 4vw, 48px);\r\n    }\r\n\r\n    #overlay-programme .section-panel {\r\n      transform: translateY(100%);\r\n    }\r\n\r\n    #overlay-tributes .section-panel {\r\n      transform: translateY(100%);\r\n    }\r\n\r\n    \/* transform driven by JS only *\/\r\n    \/* Sticky close bar *\/\r\n    .sec-close-bar {\r\n      position: sticky;\r\n      top: 0;\r\n      background: var(--black);\r\n      padding: clamp(18px, 3vh, 30px) 0 16px;\r\n      display: flex;\r\n      justify-content: flex-end;\r\n      z-index: 10;\r\n      border-bottom: 1px solid rgba(245, 243, 239, 0.04);\r\n      margin-bottom: clamp(32px, 5vh, 56px);\r\n    }\r\n\r\n    .btn-close {\r\n      background: none;\r\n      border: none;\r\n      color: #ffffff;\r\n      text-shadow: 0 0 18px rgba(255, 200, 100, 1), 0 0 6px rgba(255, 255, 255, 0.8);\r\n      font-family: 'Ubuntu', sans-serif;\r\n      font-size: clamp(11px, 1.4vw, 14px);\r\n      letter-spacing: 0.35em;\r\n      text-transform: uppercase;\r\n      cursor: pointer;\r\n      padding: 18px 12px;\r\n      transition: color 0.3s, text-shadow 0.3s;\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 14px;\r\n      animation: navPulse 3.5s ease-in-out infinite;\r\n    }\r\n\r\n    .btn-close::before {\r\n      content: '';\r\n      display: block;\r\n      width: 28px;\r\n      height: 1px;\r\n      background: currentColor;\r\n      transition: width 0.3s;\r\n      box-shadow: 0 0 8px rgba(255, 200, 100, 0.8);\r\n    }\r\n\r\n    .btn-close:hover {\r\n      color: var(--accent);\r\n      text-shadow: 0 0 22px rgba(212, 184, 150, 1), 0 0 8px #fff;\r\n    }\r\n\r\n    .btn-close:hover::before {\r\n      width: 48px;\r\n    }\r\n\r\n    \/* Section headings *\/\r\n    .sec-tag {\r\n      font-family: 'Ubuntu', sans-serif;\r\n      font-size: clamp(8px, 1vw, 9px);\r\n      letter-spacing: 0.5em;\r\n      text-transform: uppercase;\r\n      color: var(--accent);\r\n      margin-bottom: 12px;\r\n    }\r\n\r\n    .sec-title {\r\n      font-family: 'Cormorant Garamond', serif;\r\n      font-size: clamp(32px, 5vw, 66px);\r\n      font-weight: 300;\r\n      font-style: italic;\r\n      line-height: 1.1;\r\n      color: var(--white);\r\n      margin-bottom: clamp(32px, 5vh, 52px);\r\n      padding-bottom: clamp(24px, 4vh, 36px);\r\n      border-bottom: 1px solid rgba(212, 184, 150, 0.14);\r\n    }\r\n\r\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550   LIFE SECTION\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n    .life-intro {\r\n      font-family: 'Cormorant Garamond', serif;\r\n      font-size: clamp(17px, 2.2vw, 28px);\r\n      font-weight: 300;\r\n      line-height: 1.65;\r\n      color: var(--white);\r\n      max-width: 800px;\r\n      margin-bottom: 20px;\r\n    }\r\n\r\n    .life-body {\r\n      font-family: 'Cormorant Garamond', serif;\r\n      font-size: clamp(16px, 1.8vw, 19px);\r\n      font-weight: 300;\r\n      line-height: 1.95;\r\n      color: var(--lgray);\r\n      max-width: 800px;\r\n      margin-bottom: 16px;\r\n    }\r\n\r\n    .life-body strong {\r\n      color: var(--white);\r\n      font-weight: 400;\r\n    }\r\n\r\n    .life-body em {\r\n      color: rgba(245, 243, 239, 0.85);\r\n    }\r\n\r\n    .life-ch {\r\n      display: grid;\r\n      grid-template-columns: 1fr 1fr;\r\n      gap: clamp(28px, 5vw, 68px);\r\n      margin: clamp(40px, 7vh, 76px) 0;\r\n      align-items: start;\r\n    }\r\n\r\n    .life-ch.flip {\r\n      direction: rtl;\r\n    }\r\n\r\n    .life-ch.flip>* {\r\n      direction: ltr;\r\n    }\r\n\r\n    .life-yr {\r\n      font-family: 'Ubuntu', sans-serif;\r\n      font-size: clamp(8px, 1vw, 9px);\r\n      letter-spacing: 0.45em;\r\n      text-transform: uppercase;\r\n      color: var(--accent);\r\n      margin-bottom: 12px;\r\n    }\r\n\r\n    .life-cht {\r\n      font-family: 'Cormorant Garamond', serif;\r\n      font-size: clamp(20px, 2.8vw, 40px);\r\n      font-weight: 300;\r\n      font-style: italic;\r\n      line-height: 1.2;\r\n      color: var(--white);\r\n      margin-bottom: 20px;\r\n    }\r\n\r\n    .life-pull {\r\n      font-family: 'Cormorant Garamond', serif;\r\n      font-size: clamp(18px, 2.4vw, 32px);\r\n      font-style: italic;\r\n      font-weight: 300;\r\n      line-height: 1.48;\r\n      color: var(--white);\r\n      border-left: 1px solid var(--accent);\r\n      padding-left: clamp(16px, 2vw, 30px);\r\n      margin: clamp(32px, 5vh, 52px) 0;\r\n    }\r\n\r\n    .life-pull cite {\r\n      display: block;\r\n      font-size: clamp(11px, 1.2vw, 13px);\r\n      font-style: normal;\r\n      letter-spacing: 0.22em;\r\n      text-transform: uppercase;\r\n      color: var(--gray);\r\n      margin-top: 12px;\r\n    }\r\n\r\n    .life-rule {\r\n      width: 40px;\r\n      height: 1px;\r\n      background: var(--accent);\r\n      margin: clamp(32px, 5vh, 52px) 0;\r\n    }\r\n\r\n    .life-img-wrap {\r\n      position: relative;\r\n    }\r\n\r\n    .life-ghost {\r\n      font-family: 'Cormorant Garamond', serif;\r\n      font-size: clamp(60px, 8vw, 96px);\r\n      font-weight: 300;\r\n      line-height: 1;\r\n      color: rgba(245, 243, 239, 0.04);\r\n      position: absolute;\r\n      right: -8px;\r\n      top: -24px;\r\n      user-select: none;\r\n      pointer-events: none;\r\n    }\r\n\r\n    .life-img {\r\n      width: 100%;\r\n      object-fit: cover;\r\n      display: block;\r\n      filter: grayscale(100%) contrast(1.05);\r\n    }\r\n\r\n    .life-img-cap {\r\n      font-family: 'Ubuntu', sans-serif;\r\n      font-size: clamp(7px, 0.9vw, 8px);\r\n      letter-spacing: 0.28em;\r\n      text-transform: uppercase;\r\n      color: var(--gray);\r\n      margin-top: 9px;\r\n    }\r\n\r\n    .life-img-ph {\r\n      width: 100%;\r\n      background: #141414;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      flex-direction: column;\r\n      gap: 8px;\r\n    }\r\n\r\n    .life-img-ph span {\r\n      font-family: 'Ubuntu', sans-serif;\r\n      font-size: 7px;\r\n      letter-spacing: 0.3em;\r\n      text-transform: uppercase;\r\n      color: rgba(245, 243, 239, 0.08);\r\n    }\r\n\r\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550   GALLERY\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n    .gallery-grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(12, 1fr);\r\n      grid-auto-rows: 54px;\r\n      gap: 5px;\r\n      margin-top: 12px;\r\n    }\r\n\r\n    .gi {\r\n      overflow: hidden;\r\n      position: relative;\r\n      cursor: zoom-in;\r\n    }\r\n\r\n    .gi::after {\r\n      content: attr(data-cap);\r\n      position: absolute;\r\n      bottom: 0;\r\n      left: 0;\r\n      right: 0;\r\n      background: rgba(10, 10, 10, 0.9);\r\n      color: var(--lgray);\r\n      font-family: 'Ubuntu', sans-serif;\r\n      font-size: 8px;\r\n      letter-spacing: 0.24em;\r\n      text-transform: uppercase;\r\n      padding: 7px 10px;\r\n      transform: translateY(100%);\r\n      transition: transform 0.3s;\r\n    }\r\n\r\n    .gi:hover::after {\r\n      transform: translateY(0);\r\n    }\r\n\r\n    .gi img {\r\n      width: 100%;\r\n      height: 100%;\r\n      object-fit: cover;\r\n      display: block;\r\n      filter: grayscale(100%) contrast(1.05);\r\n      transition: filter 0.5s, transform 0.6s;\r\n    }\r\n\r\n    .gi:hover img {\r\n      filter: grayscale(50%) contrast(1.1);\r\n      transform: scale(1.05);\r\n    }\r\n\r\n    \/* mosaic positions \u2014 generated by JS, no hard-coded positions needed *\/\r\n    .gi {\r\n      grid-column: var(--gc);\r\n      grid-row: var(--gr);\r\n    }\r\n\r\n    \/* Lightbox *\/\r\n    .lightbox {\r\n      position: fixed;\r\n      inset: 0;\r\n      z-index: 2000;\r\n      background: rgba(10, 10, 10, 0.97);\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      opacity: 0;\r\n      pointer-events: none;\r\n      transition: opacity 0.3s;\r\n    }\r\n\r\n    .lightbox.open {\r\n      opacity: 1;\r\n      pointer-events: auto;\r\n    }\r\n\r\n    .lightbox img {\r\n      max-width: 92vw;\r\n      max-height: 92vh;\r\n      object-fit: contain;\r\n      \/* full colour \u2014 no filter *\/\r\n    }\r\n\r\n    .lb-close {\r\n      position: absolute;\r\n      top: clamp(20px, 4vh, 32px);\r\n      right: clamp(20px, 4vw, 40px);\r\n      background: none;\r\n      border: none;\r\n      cursor: pointer;\r\n      color: var(--gray);\r\n      font-family: 'Ubuntu', sans-serif;\r\n      font-size: 10px;\r\n      letter-spacing: 0.3em;\r\n      text-transform: uppercase;\r\n      transition: color 0.3s;\r\n    }\r\n\r\n    .lb-close:hover {\r\n      color: var(--accent);\r\n    }\r\n\r\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550   TRIBUTES\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n    .trib-intro {\r\n      font-family: 'Cormorant Garamond', serif;\r\n      font-size: clamp(16px, 1.9vw, 20px);\r\n      font-weight: 300;\r\n      font-style: italic;\r\n      color: var(--lgray);\r\n      line-height: 1.78;\r\n      max-width: 580px;\r\n      margin-bottom: clamp(40px, 7vh, 68px);\r\n    }\r\n\r\n    .trib-list {\r\n      display: flex;\r\n      flex-direction: column;\r\n    }\r\n\r\n    .trib-item {\r\n      border-top: 1px solid rgba(245, 243, 239, 0.06);\r\n      padding: clamp(28px, 5vh, 50px) 0;\r\n      display: grid;\r\n      grid-template-columns: clamp(120px, 16vw, 200px) 1fr;\r\n      gap: clamp(20px, 4vw, 60px);\r\n      align-items: start;\r\n      transition: border-color 0.3s;\r\n    }\r\n\r\n    .trib-item:hover {\r\n      border-color: rgba(212, 184, 150, 0.16);\r\n    }\r\n\r\n    .trib-name {\r\n      font-family: 'Ubuntu', sans-serif;\r\n      font-size: clamp(10px, 1.2vw, 12px);\r\n      font-weight: 400;\r\n      letter-spacing: 0.22em;\r\n      text-transform: uppercase;\r\n      color: var(--white);\r\n      margin-bottom: 6px;\r\n    }\r\n\r\n    .trib-rel {\r\n      font-family: 'Cormorant Garamond', serif;\r\n      font-size: 15px;\r\n      font-style: italic;\r\n      color: var(--gray);\r\n    }\r\n\r\n    .trib-body {\r\n      font-family: 'Cormorant Garamond', serif;\r\n      font-size: clamp(16px, 1.8vw, 20px);\r\n      font-weight: 300;\r\n      line-height: 1.88;\r\n      color: var(--lgray);\r\n      position: relative;\r\n      padding-left: 18px;\r\n    }\r\n\r\n    .trib-body::before {\r\n      content: '\\201C';\r\n      font-size: clamp(60px, 8vw, 88px);\r\n      line-height: 0.72;\r\n      color: rgba(212, 184, 150, 0.09);\r\n      position: absolute;\r\n      left: -6px;\r\n      top: 8px;\r\n      font-family: 'Cormorant Garamond', serif;\r\n    }\r\n\r\n    .trib-body p {\r\n      margin-bottom: 14px;\r\n    }\r\n\r\n    .trib-body p:last-child {\r\n      margin-bottom: 0;\r\n    }\r\n\r\n    .trib-body em {\r\n      color: var(--white);\r\n      font-style: normal;\r\n    }\r\n\r\n    .trib-scripture {\r\n      font-family: 'Cormorant Garamond', serif;\r\n      font-size: 15px;\r\n      font-style: italic;\r\n      color: var(--gray);\r\n      margin-top: 16px;\r\n      padding-top: 14px;\r\n      border-top: 1px solid rgba(245, 243, 239, 0.06);\r\n    }\r\n\r\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550   PROGRAMME\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n    .prog-intro {\r\n      font-family: 'Cormorant Garamond', serif;\r\n      font-size: clamp(17px, 2.2vw, 26px);\r\n      font-weight: 300;\r\n      line-height: 1.65;\r\n      color: var(--white);\r\n      max-width: 800px;\r\n      margin-bottom: clamp(32px, 5vh, 52px);\r\n    }\r\n\r\n    .prog-meta-grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\r\n      gap: clamp(20px, 3vw, 40px);\r\n      margin-bottom: clamp(40px, 7vh, 72px);\r\n      padding-bottom: clamp(32px, 5vh, 52px);\r\n      border-bottom: 1px solid rgba(212, 184, 150, 0.14);\r\n    }\r\n\r\n    .prog-meta-label {\r\n      font-family: 'Ubuntu', sans-serif;\r\n      font-size: clamp(8px, 1vw, 9px);\r\n      letter-spacing: 0.45em;\r\n      text-transform: uppercase;\r\n      color: var(--accent);\r\n      margin-bottom: 8px;\r\n    }\r\n\r\n    .prog-meta-value {\r\n      font-family: 'Cormorant Garamond', serif;\r\n      font-size: clamp(15px, 1.8vw, 19px);\r\n      font-weight: 300;\r\n      color: var(--white);\r\n      line-height: 1.55;\r\n    }\r\n\r\n    .prog-meta-value em {\r\n      color: var(--lgray);\r\n      font-style: normal;\r\n      font-size: 0.88em;\r\n      display: block;\r\n    }\r\n\r\n    .prog-order-title {\r\n      font-family: 'Ubuntu', sans-serif;\r\n      font-size: clamp(8px, 1vw, 9px);\r\n      letter-spacing: 0.45em;\r\n      text-transform: uppercase;\r\n      color: var(--accent);\r\n      margin-bottom: clamp(24px, 4vh, 40px);\r\n    }\r\n\r\n    .prog-item {\r\n      display: grid;\r\n      grid-template-columns: clamp(80px, 10vw, 130px) 1fr;\r\n      gap: clamp(16px, 3vw, 48px);\r\n      border-top: 1px solid rgba(245, 243, 239, 0.06);\r\n      padding: clamp(18px, 3vh, 32px) 0;\r\n      transition: border-color 0.3s;\r\n    }\r\n\r\n    .prog-item:hover {\r\n      border-color: rgba(212, 184, 150, 0.2);\r\n    }\r\n\r\n    .prog-item-time {\r\n      font-family: 'Ubuntu', sans-serif;\r\n      font-size: clamp(9px, 1vw, 10px);\r\n      letter-spacing: 0.2em;\r\n      color: var(--gray);\r\n      padding-top: 6px;\r\n    }\r\n\r\n    .prog-item-name {\r\n      font-family: 'Cormorant Garamond', serif;\r\n      font-size: clamp(17px, 2vw, 24px);\r\n      font-weight: 300;\r\n      color: var(--white);\r\n      line-height: 1.3;\r\n      margin-bottom: 5px;\r\n    }\r\n\r\n    .prog-item-detail {\r\n      font-family: 'Cormorant Garamond', serif;\r\n      font-size: clamp(14px, 1.5vw, 16px);\r\n      font-weight: 300;\r\n      font-style: italic;\r\n      color: var(--gray);\r\n      line-height: 1.6;\r\n    }\r\n\r\n    .prog-rule {\r\n      width: 40px;\r\n      height: 1px;\r\n      background: var(--accent);\r\n      margin: clamp(32px, 5vh, 52px) 0;\r\n    }\r\n\r\n    .prog-directions-btn {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 10px;\r\n      padding: 13px 24px;\r\n      border: 1px solid rgba(212, 184, 150, 0.26);\r\n      color: var(--accent);\r\n      font-family: 'Ubuntu', sans-serif;\r\n      font-size: clamp(9px, 1vw, 10px);\r\n      letter-spacing: 0.3em;\r\n      text-transform: uppercase;\r\n      text-decoration: none;\r\n      background: none;\r\n      transition: background 0.3s, color 0.3s;\r\n      cursor: pointer;\r\n    }\r\n\r\n    .prog-directions-btn:hover {\r\n      background: rgba(212, 184, 150, 0.08);\r\n      color: var(--white);\r\n    }\r\n\r\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550   RESPONSIVE BREAKPOINTS\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n    \/* Tablet \u2014 \u2264 1024px *\/\r\n    @media(max-width:1024px) {\r\n      :root {\r\n        --section-px: 48px;\r\n      }\r\n\r\n      #nav-life {\r\n        top: 28px;\r\n        left: 28px;\r\n      }\r\n\r\n      #nav-gallery {\r\n        top: 28px;\r\n        right: 28px;\r\n      }\r\n\r\n      #nav-programme {\r\n        bottom: 28px;\r\n        left: 28px;\r\n      }\r\n\r\n      #nav-tributes {\r\n        bottom: 28px;\r\n        right: 28px;\r\n      }\r\n\r\n      .gallery-grid {\r\n        grid-auto-rows: 46px;\r\n      }\r\n    }\r\n\r\n    \/* Mobile \u2014 \u2264 768px *\/\r\n    @media(max-width:768px) {\r\n      :root {\r\n        --section-px: 24px;\r\n        --nav-size: 11px;\r\n      }\r\n\r\n      #music-bar {\r\n        padding: 6px 12px 6px 10px;\r\n      }\r\n\r\n      .music-label {\r\n        display: none;\r\n      }\r\n\r\n      #nav-life {\r\n        top: 22px;\r\n        left: 22px;\r\n      }\r\n\r\n      #nav-gallery {\r\n        top: 22px;\r\n        right: 22px;\r\n      }\r\n\r\n      #nav-programme {\r\n        bottom: 22px;\r\n        left: 22px;\r\n      }\r\n\r\n      #nav-tributes {\r\n        bottom: 22px;\r\n        right: 22px;\r\n      }\r\n\r\n      .life-ch {\r\n        grid-template-columns: 1fr;\r\n        gap: 28px;\r\n      }\r\n\r\n      .life-ch.flip {\r\n        direction: ltr;\r\n      }\r\n\r\n      .life-ghost {\r\n        display: none;\r\n      }\r\n\r\n      .trib-item {\r\n        grid-template-columns: 1fr;\r\n        gap: 14px;\r\n      }\r\n\r\n      .prog-item {\r\n        grid-template-columns: 1fr;\r\n        gap: 4px;\r\n      }\r\n\r\n      .prog-layout {\r\n        grid-template-columns: 1fr;\r\n      }\r\n\r\n      .gallery-grid {\r\n        grid-template-columns: repeat(4, 1fr);\r\n        grid-auto-rows: 48px;\r\n      }\r\n\r\n      \/* Keep panel quotes in their left\/right\/center positions on mobile \u2014     just reduce padding so they don't overflow *\/\r\n      .pq-left {\r\n        padding: 0 16px 0 20px;\r\n      }\r\n\r\n      .pq-right {\r\n        padding: 0 20px 0 16px;\r\n      }\r\n    }\r\n\r\n    \/* Phone only \u2014 \u2264 480px: reduce hero text so it fits over the image *\/\r\n    @media(max-width:480px) {\r\n      :root {\r\n        --section-px: 18px;\r\n      }\r\n\r\n      \/* Hero text \u2014 smaller on phones only *\/\r\n      .hero-eyebrow {\r\n        font-size: 8px;\r\n        letter-spacing: 0.35em;\r\n        margin-bottom: 12px;\r\n      }\r\n\r\n      .hero-title {\r\n        font-size: 14px;\r\n      }\r\n\r\n      .hero-name {\r\n        font-size: 22px;\r\n        letter-spacing: 0.07em;\r\n        margin-top: 6px;\r\n      }\r\n\r\n      .hero-dates {\r\n        font-size: 10px;\r\n        letter-spacing: 0.2em;\r\n        margin-top: 10px;\r\n      }\r\n\r\n      .hero-rule {\r\n        height: 28px;\r\n        margin-top: 14px;\r\n      }\r\n\r\n      .hero-inner {\r\n        padding: 0 16px;\r\n      }\r\n\r\n      \/* Panel quotes \u2014 slightly smaller text on small phones *\/\r\n      .pq-text {\r\n        font-size: 15px;\r\n      }\r\n\r\n      .pq-left {\r\n        padding: 0 12px 0 16px;\r\n      }\r\n\r\n      .pq-right {\r\n        padding: 0 16px 0 12px;\r\n      }\r\n\r\n      \/* Gallery \u2014 2-column on very small screens *\/\r\n      .gallery-grid {\r\n        grid-template-columns: repeat(2, 1fr);\r\n        grid-auto-rows: 52px;\r\n      }\r\n\r\n      .panel-img {\r\n        transform: scale(1.04);\r\n      }\r\n    }\r\n\r\n    \/* Touch devices \u2014 disable hover captions (use tap) *\/\r\n    @media(hover:none) {\r\n      .gi::after {\r\n        transition: none;\r\n      }\r\n\r\n      .gi:active::after {\r\n        transform: translateY(0);\r\n      }\r\n    }\r\n\r\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550   FORCE OVERLAY FIX (STRONG OVERRIDE)\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n    .panel {\r\n      position: relative !important;\r\n      height: 100vh !important;\r\n      min-height: 100vh !important;\r\n      overflow: hidden !important;\r\n    }\r\n\r\n    .panel-img {\r\n      position: absolute !important;\r\n      inset: 0 !important;\r\n      width: 100% !important;\r\n      height: 100% !important;\r\n      object-fit: cover !important;\r\n      z-index: 1 !important;\r\n    }\r\n\r\n    \/* \ud83d\udd25 THIS IS THE MAIN FIX *\/\r\n    .panel-content {\r\n      position: absolute !important;\r\n      top: 0 !important;\r\n      left: 0 !important;\r\n      width: 100% !important;\r\n      height: 100% !important;\r\n      z-index: 5 !important;\r\n      display: flex !important;\r\n      align-items: center !important;\r\n      justify-content: center !important;\r\n      text-align: center !important;\r\n      padding: 0 20px !important;\r\n    }\r\n\r\n    \/* Remove weird spacing on mobile *\/\r\n    @media(max-width:768px) {\r\n      .panel {\r\n        height: 100vh !important;\r\n      }\r\n\r\n      .hero-inner {\r\n        transform: translateY(-12%) !important;\r\n        padding: 0 16px !important;\r\n      }\r\n\r\n      .hero-title {\r\n        margin-bottom: 6px !important;\r\n      }\r\n\r\n      .hero-dates {\r\n        margin-top: 4px !important;\r\n      }\r\n\r\n      .hero-rule {\r\n        margin-top: 8px !important;\r\n        height: 18px !important;\r\n      }\r\n\r\n      .scroll-cue {\r\n        bottom: 18px !important;\r\n      }\r\n    }\r\n\r\n    .panel-img {\r\n      object-position: center top;\r\n    }\r\n\r\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550   TEXT VISIBILITY BOOST (FRONT PANELS)\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n    \/* Main quote text *\/\r\n    .pq-text {\r\n      color: #ffffff !important;\r\n      text-shadow: 0 2px 20px rgba(0, 0, 0, 0.85), 0 1px 6px rgba(0, 0, 0, 0.9);\r\n    }\r\n\r\n    \/* Small heading (e.g. \"A Precious Gift\") *\/\r\n    .pq-tag {\r\n      color: #e6d3b0 !important;\r\n      \/* slightly brighter accent *\/\r\n      text-shadow: 0 1px 8px rgba(0, 0, 0, 0.8);\r\n    }\r\n\r\n    \/* Source text *\/\r\n    .pq-source {\r\n      color: #d6d1c7 !important;\r\n    }\r\n\r\n    .pq-text {\r\n      text-shadow: 0 0 8px rgba(255, 255, 255, 0.15), 0 2px 20px rgba(0, 0, 0, 0.9);\r\n    }\r\n\r\n    .panel-vignette {\r\n      background: radial-gradient(ellipse at 50% 50%, rgba(0, 0, 0, 0.2) 20%, rgba(0, 0, 0, 0.75) 100%);\r\n    }\r\n\r\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550   HERO TEXT VISIBILITY BOOST\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n    \/* Top small text (dates) *\/\r\n    .hero-eyebrow {\r\n      color: #e6d3b0 !important;\r\n      text-shadow: 0 1px 8px rgba(0, 0, 0, 0.85), 0 0 6px rgba(255, 255, 255, 0.15);\r\n    }\r\n\r\n    \/* Main title *\/\r\n    .hero-title {\r\n      color: #ffffff !important;\r\n      text-shadow: 0 2px 24px rgba(0, 0, 0, 0.9), 0 0 10px rgba(255, 255, 255, 0.12);\r\n    }\r\n\r\n    \/* Name (make this the visual anchor) *\/\r\n    .hero-name {\r\n      color: #ffffff !important;\r\n      text-shadow: 0 3px 30px rgba(0, 0, 0, 0.95), 0 0 12px rgba(255, 255, 255, 0.18);\r\n    }\r\n\r\n    \/* Bottom descriptor text *\/\r\n    .hero-dates {\r\n      color: #f0ebe3 !important;\r\n      text-shadow: 0 2px 16px rgba(0, 0, 0, 0.9), 0 0 6px rgba(255, 255, 255, 0.1);\r\n    }\r\n  <\/style>\r\n<\/head>\r\n\r\n<body><!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 MUSIC PLAYER \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n  <div id=\"music-bar\" title=\"Play \/ Pause music\" aria-label=\"Toggle background music\">\r\n    <div class=\"wave\"> <span><\/span><span><\/span><span><\/span><span><\/span> <span><\/span><span><\/span><span><\/span>\r\n    <\/div> <span class=\"music-label\" id=\"music-label\">Play Music<\/span>\r\n  <\/div><audio id=\"bg-audio\" loop preload=\"auto\"><\/audio><!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 CORNER NAV \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n  <div class=\"corner-nav\" id=\"nav-life\"> <button id=\"btn-life\">Life<\/button><\/div>\r\n  <div class=\"corner-nav\" id=\"nav-gallery\"> <button id=\"btn-gallery\">Gallery<\/button><\/div>\r\n  <div class=\"corner-nav\" id=\"nav-programme\"> <button id=\"btn-programme\">Programme<\/button><\/div>\r\n  <div class=\"corner-nav\" id=\"nav-tributes\"> <button id=\"btn-tributes\">Tributes<\/button><\/div>\r\n  <!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550  JOURNEY \u2014 5 full-screen panels + closing\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n  <main class=\"journey\"> <!-- PANEL 1 \u2014 HERO -->\r\n    <section class=\"panel\">\r\n      <div class=\"panel-bg\" id=\"pbg1\"> <svg width=\"64\" height=\"64\" viewBox=\"0 0 64 64\">\r\n          <circle cx=\"32\" cy=\"22\" r=\"12\" stroke=\"#f5f3ef\" stroke-width=\"1\" fill=\"none\" \/>\r\n          <path d=\"M8 60c0-13.3 10.7-24 24-24s24 10.7 24 24\" stroke=\"#f5f3ef\" stroke-width=\"1\" fill=\"none\" \/>\r\n        <\/svg> <\/div> <img decoding=\"async\" id=\"img-panel1\" class=\"panel-img\" src=\"\" alt=\"Robai Lukania Magana\" style=\"display:none;\">\r\n      <div class=\"panel-vignette\"><\/div>\r\n      <div class=\"panel-content\">\r\n        <div class=\"hero-inner\">\r\n          <p class=\"hero-eyebrow\">3 Dec 1983 &mdash; 24 April 2026<\/p>\r\n          <h1 class=\"hero-title\"> In Loving Memory of <span class=\"hero-name\">Robai Lukania<br>Magana<\/span> <\/h1>\r\n          <p class=\"hero-dates\">Beloved Daughter &nbsp;&middot;&nbsp; Sister &nbsp;&middot;&nbsp; Mother\r\n            &nbsp;&middot;&nbsp; Friend<\/p>\r\n          <div class=\"hero-rule\"><\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"scroll-cue\">\r\n        <div class=\"scroll-line\"><\/div> <span>Scroll<\/span>\r\n      <\/div>\r\n    <\/section> <!-- PANEL 2 -->\r\n    <section class=\"panel\">\r\n      <div class=\"panel-bg\" id=\"pbg2\"><\/div> <img decoding=\"async\" id=\"img-panel2\" class=\"panel-img\" src=\"\" alt=\"\" style=\"display:none;\">\r\n      <div class=\"panel-vignette\"><\/div>\r\n      <div class=\"panel-content\">\r\n        <div class=\"pq-left\">\r\n          <p class=\"pq-tag\">A Precious Gift<\/p>\r\n          <p class=\"pq-text\">\"Her presence brought warmth, gentleness and quiet joy into the lives of all who knew her.\"\r\n          <\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/section> <!-- PANEL 3 -->\r\n    <section class=\"panel\">\r\n      <div class=\"panel-bg\" id=\"pbg3\"><\/div> <img decoding=\"async\" id=\"img-panel3\" class=\"panel-img\" src=\"\" alt=\"\" style=\"display:none;\">\r\n      <div class=\"panel-vignette\"><\/div>\r\n      <div class=\"panel-content\">\r\n        <div class=\"pq-right\">\r\n          <p class=\"pq-tag\">Family&rsquo;s &nbsp;&middot;&nbsp; <\/p>\r\n          <p class=\"pq-text\">\"She was a Pillar of Strength and guidance,\r\n            &mdash; always putting her loved ones first.\"<\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/section> <!-- PANEL 4 -->\r\n    <section class=\"panel\">\r\n      <div class=\"panel-bg\" id=\"pbg4\"><\/div> <img decoding=\"async\" id=\"img-panel4\" class=\"panel-img\" src=\"\" alt=\"\" style=\"display:none;\">\r\n      <div class=\"panel-vignette\"><\/div>\r\n      <div class=\"panel-content\">\r\n        <div class=\"pq-left\">\r\n          <p class=\"pq-tag\">Family &nbsp;&middot;&nbsp; <\/p>\r\n          <p class=\"pq-text\">\"She was enterprising, cheerful and full of life &mdash; truly an Alpha in her own right.\"\r\n          <\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/section> <!-- PANEL 5 -->\r\n    <section class=\"panel\">\r\n      <div class=\"panel-bg\" id=\"pbg5\"><\/div> <img decoding=\"async\" id=\"img-panel5\" class=\"panel-img\" src=\"\" alt=\"\" style=\"display:none;\">\r\n      <div class=\"panel-vignette\"><\/div>\r\n      <div class=\"panel-content\">\r\n        <div class=\"pq-center\">\r\n          <p class=\"pq-tag\" style=\"text-align:center;\">Nothing is impossible with God<\/p>\r\n          <p class=\"pq-text\">\"Do not let your hearts be troubled. Believe in God; believe also in me. In my\r\n            Father&rsquo;s house are many rooms.\"<span class=\"pq-source\">&mdash; John 14:1&ndash;3<\/span><\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/section> <!-- CLOSING PANEL -->\r\n    <section class=\"panel\" style=\"background:var(--black);\">\r\n      <div class=\"panel-content\">\r\n        <div style=\"text-align:center;padding:clamp(20px,5vw,40px);\">\r\n          <p class=\"pq-tag\" style=\"text-align:center;\">Until We Meet Again<\/p>\r\n          <p\r\n            style=\"font-family:'Cormorant Garamond',serif;font-size:clamp(15px,2vw,24px);font-weight:300;font-style:italic;color:var(--lgray);max-width:460px;margin:0 auto;line-height:1.85;\">\r\n            Gone from our sight, but never from our hearts.<br>Rest well, our dearest Robai.<\/p>\r\n          <div\r\n            style=\"width:1px;height:clamp(50px,8vh,80px);background:linear-gradient(to bottom,var(--accent),transparent);margin:clamp(32px,6vh,52px) auto 0;\">\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/section>\r\n  <\/main>\r\n  <!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550  LIFE OVERLAY\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n  <div class=\"section-overlay\" id=\"overlay-life\">\r\n    <div class=\"section-panel\">\r\n      <div class=\"sec-close-bar\"> <button class=\"btn-close\" id=\"close-life\">Close<\/button> <\/div>\r\n      <p class=\"sec-tag\">The Story of a Life<\/p>\r\n      <h2 class=\"sec-title\">Robai<br>Lukania Magana<\/h2>\r\n      <p class=\"life-intro\">Today, we celebrate the life of Robai Lukania Magana &mdash; a devoted mother, loving\r\n        daughter, caring sister, and a friend to many.<\/p>\r\n      <p class=\"life-body\">The late Robai Lukania Magana was born on the <strong>3rd of December, 1983<\/strong> at\r\n        Lugulu Mission Hospital in Bungoma County. She was the beloved third-born child of <strong>Mr. John\r\n          Magana<\/strong> and <strong>Madam Gladys Nafula<\/strong>, growing up alongside her siblings Jackline, Walter,\r\n        Dorice, Tim and Elvis in a loving and united family.<\/p>\r\n      <div class=\"life-rule\"><\/div> <!-- Chapter 1 -->\r\n      <div class=\"life-ch\">\r\n        <div style=\"position:relative;\">\r\n          <span class=\"life-ghost\">01<\/span>\r\n          <p class=\"life-yr\">Early Life &amp; Education<\/p>\r\n          <h3 class=\"life-cht\">Namanja &amp;<br>St. Teresa&rsquo;s Girls<\/h3>\r\n          <p class=\"life-body\">She attended Namanja Primary School and later joined St. Teresa&rsquo;s Girls Kimilili,\r\n            where she sat and passed her KCSE in 2003. She went on to pursue Social Work and Community Development\r\n            (KISWCD), reflecting her deeply caring nature.<\/p>\r\n          <p class=\"life-body\">She was a niece to Patrick Sasaka, Dan Mwachi, Fred Mwachi, the late Wanyonyi, Khakame,\r\n            Julius, Donald, Gideon, Everetty, Dr. Soita, Phoebe, the late Truphena, the late Dorcus and Jessica Mulinga,\r\n            the late Leah Sakari, Mary, Jerida, the late Bettnah, Sarah, Beatrice, Esther, Everlyne, Agnetta, Ann, the\r\n            late Sitawa and the late Alice.<\/p>\r\n        <\/div>\r\n        <div class=\"life-img-wrap\">\r\n          <div class=\"life-img-ph\" id=\"life-ph1\" style=\"aspect-ratio:3\/4;\">\r\n            <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" opacity=\"0.1\">\r\n              <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" stroke=\"#f5f3ef\" stroke-width=\"1\" \/>\r\n              <circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\" fill=\"#f5f3ef\" \/>\r\n              <path d=\"M21 15l-5-5L5 21\" stroke=\"#f5f3ef\" stroke-width=\"1\" \/>\r\n            <\/svg>\r\n            <span>Childhood &middot; School Years<\/span>\r\n          <\/div>\r\n          <img decoding=\"async\" id=\"img-life1\" class=\"life-img\" style=\"aspect-ratio:3\/4;display:none;\" src=\"\" alt=\"Robai \u2014 School years\">\r\n          <p class=\"life-img-cap\">Robai &middot; Namanja, Butali<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- Chapter 2 -->\r\n      <div class=\"life-ch flip\">\r\n        <div style=\"position:relative;\">\r\n          <span class=\"life-ghost\">02<\/span>\r\n          <p class=\"life-yr\">Marriage &amp; Family<\/p>\r\n          <h3 class=\"life-cht\">A Devoted<br>Mother<\/h3>\r\n          <p class=\"life-body\">Robai was blessed with a wonderful wedding ceremony and was the proud mother of a very\r\n            promising son, <strong>Trevor Adagala<\/strong>, a talented soccer player. She devoted her life to raising\r\n            him with love, sacrifice, and unwavering commitment.<\/p>\r\n          <p class=\"life-body\">It was always just the two of them, doing life together.<\/p>\r\n        <\/div>\r\n        <div class=\"life-img-wrap\">\r\n          <div class=\"life-img-ph\" id=\"life-ph2\" style=\"aspect-ratio:4\/5;\">\r\n            <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" opacity=\"0.1\">\r\n              <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" stroke=\"#f5f3ef\" stroke-width=\"1\" \/>\r\n              <circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\" fill=\"#f5f3ef\" \/>\r\n              <path d=\"M21 15l-5-5L5 21\" stroke=\"#f5f3ef\" stroke-width=\"1\" \/>\r\n            <\/svg>\r\n            <span>Family &middot; Trevor<\/span>\r\n          <\/div>\r\n          <img decoding=\"async\" id=\"img-life2\" class=\"life-img\" style=\"aspect-ratio:4\/5;display:none;\" src=\"\" alt=\"Robai \u2014 Family\">\r\n          <p class=\"life-img-cap\">Robai &middot; With Her Son<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- Chapter 3 -->\r\n      <div class=\"life-ch\" style=\"margin-top:clamp(40px,7vh,72px);\">\r\n        <div style=\"position:relative;\">\r\n          <span class=\"life-ghost\">03<\/span>\r\n          <p class=\"life-yr\">Career &amp; Business<\/p>\r\n          <h3 class=\"life-cht\">An Alpha<br>In Her Own Right<\/h3>\r\n          <p class=\"life-body\">Robai worked with International Partnership Services (IPS) in Nairobi before venturing\r\n            into business, where she started her own enterprise in Webuye. She will be remembered as a warm, outgoing\r\n            and strong woman &mdash; enterprising, cheerful and full of life.<\/p>\r\n          <p class=\"life-body\">A practical and devoted mother, she worked tirelessly to ensure Trevor had every\r\n            opportunity for a better future. Her determination and resilience were evident in everything she did.<\/p>\r\n        <\/div>\r\n        <div class=\"life-img-wrap\">\r\n          <div class=\"life-img-ph\" id=\"life-ph3\" style=\"aspect-ratio:3\/4;\">\r\n            <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" opacity=\"0.1\">\r\n              <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" stroke=\"#f5f3ef\" stroke-width=\"1\" \/>\r\n              <circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\" fill=\"#f5f3ef\" \/>\r\n              <path d=\"M21 15l-5-5L5 21\" stroke=\"#f5f3ef\" stroke-width=\"1\" \/>\r\n            <\/svg>\r\n            <span>Career &middot; Business<\/span>\r\n          <\/div>\r\n          <img decoding=\"async\" id=\"img-life3\" class=\"life-img\" style=\"aspect-ratio:3\/4;display:none;\" src=\"\" alt=\"Robai \u2014 Career\">\r\n          <p class=\"life-img-cap\">Robai &middot; On an Adventure<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- Chapter 4 -->\r\n      <div class=\"life-ch flip\">\r\n        <div style=\"position:relative;\">\r\n          <span class=\"life-ghost\">04<\/span>\r\n          <p class=\"life-yr\">Faith &amp; Passing<\/p>\r\n          <h3 class=\"life-cht\">A Devoted<br>Seventh-day Adventist<\/h3>\r\n          <p class=\"life-body\">She was a devoted member of the <strong>Seventh-day Adventist Church<\/strong> and an\r\n            active Pathfinder, faithfully serving God throughout her life. Her faith was a cornerstone of who she was.\r\n          <\/p>\r\n          <p class=\"life-body\">Robai&rsquo;s life was tragically cut short following a road accident at Malaha near\r\n            Webuye on the evening of <strong>24th April, 2026<\/strong>. She sustained severe head injuries and, despite\r\n            all efforts to save her, she succumbed while receiving treatment at Webuye County Hospital. Prior to this,\r\n            she had been managing hypertension.<\/p>\r\n        <\/div>\r\n        <div class=\"life-img-wrap\">\r\n          <div class=\"life-img-ph\" id=\"life-ph5\" style=\"aspect-ratio:4\/5;\">\r\n            <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" opacity=\"0.1\">\r\n              <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" stroke=\"#f5f3ef\" stroke-width=\"1\" \/>\r\n              <circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\" fill=\"#f5f3ef\" \/>\r\n              <path d=\"M21 15l-5-5L5 21\" stroke=\"#f5f3ef\" stroke-width=\"1\" \/>\r\n            <\/svg>\r\n            <span>Faith &middot; Church<\/span>\r\n          <\/div>\r\n          <img decoding=\"async\" id=\"img-life5\" class=\"life-img\" style=\"aspect-ratio:4\/5;display:none;\" src=\"\" alt=\"Robai \u2014 Faith\">\r\n          <p class=\"life-img-cap\">Robai &middot; Bright Smiles<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- Family -->\r\n      <div class=\"life-rule\"><\/div>\r\n      <p class=\"life-yr\" style=\"margin-bottom:12px;\">Her Family<\/p>\r\n      <p class=\"life-intro\">Above all, Robai loved her family deeply.<\/p>\r\n      <p class=\"life-body\">She was a cherished daughter to <strong>Gladys Nafula<\/strong> and <strong>John\r\n          Magana<\/strong>, a loving sister to <strong>Jackline, Walter, Dorice, Tim and Elvis<\/strong>, and a devoted\r\n        mother to her son <strong>Trevor Adagala<\/strong>. Her presence in the family was one of warmth, unity, and\r\n        quiet strength.<\/p>\r\n      <blockquote class=\"life-pull\" style=\"margin-top:clamp(28px,5vh,48px);\">\r\n        &ldquo;Robai, you were deeply loved and you will forever be missed. Your light continues to shine in our hearts,\r\n        in our memories and in the love you left behind.&rdquo;\r\n        <cite>&mdash; From the Family<\/cite>\r\n      <\/blockquote>\r\n      <p class=\"life-body\" style=\"font-style:italic;color:var(--gray);margin-top:10px;\">May her beautiful soul rest in\r\n        eternal peace. Amen.<\/p>\r\n    <\/div>\r\n  <\/div>\r\n  <!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550  GALLERY OVERLAY\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n  <div class=\"section-overlay\" id=\"overlay-gallery\">\r\n    <div class=\"section-panel\">\r\n      <div class=\"sec-close-bar\"> <button class=\"btn-close\" id=\"close-gallery\">Close<\/button> <\/div>\r\n      <p class=\"sec-tag\">Moments in Time<\/p>\r\n      <h2 class=\"sec-title\">Gallery<\/h2>\r\n      <div class=\"gallery-grid\" id=\"gallery-grid\"><\/div>\r\n      <p\r\n        style=\"font-family:'Ubuntu',sans-serif;font-size:8px;letter-spacing:0.3em;text-transform:uppercase;color:rgba(245,243,239,0.16);text-align:center;margin-top:clamp(24px,4vh,48px);\">\r\n        Hover to reveal caption &nbsp;&middot;&nbsp; Click to enlarge<\/p>\r\n    <\/div>\r\n  <\/div>\r\n  <!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550  PROGRAMME OVERLAY\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n  <div class=\"section-overlay\" id=\"overlay-programme\">\r\n    <div class=\"section-panel\">\r\n      <div class=\"sec-close-bar\"> <button class=\"btn-close\" id=\"close-programme\">Close<\/button> <\/div>\r\n      <p class=\"sec-tag\">Order of Service<\/p>\r\n      <h2 class=\"sec-title\">Programme<\/h2>\r\n      <p class=\"prog-intro\">We gather to honour, celebrate and bid farewell to <strong>Robai Lukania Magana<\/strong>\r\n        &mdash; a beloved daughter, sister, aunt and friend. May this service bring comfort, peace and the assurance of\r\n        God&rsquo;s eternal love.<\/p> <!-- Service details -->\r\n      <div class=\"prog-meta-grid\">\r\n        <div>\r\n          <p class=\"prog-meta-label\">Date<\/p>\r\n          <p class=\"prog-meta-value\">Sunday, 3rd May 2026<\/p>\r\n        <\/div>\r\n        <div>\r\n          <p class=\"prog-meta-label\">Service Venue<\/p>\r\n          <p class=\"prog-meta-value\">Namanja Primary School<\/p>\r\n        <\/div>\r\n        <div>\r\n          <p class=\"prog-meta-label\">Burial<\/p>\r\n          <p class=\"prog-meta-value\">Namanja &ndash; Butali <em>(Family Home)<\/em><\/p>\r\n        <\/div>\r\n      <\/div> <!-- Order of service -->\r\n      <p class=\"prog-order-title\">Order of Service<\/p>\r\n      <div class=\"prog-item\">\r\n        <p class=\"prog-item-time\">09:00<\/p>\r\n        <div>\r\n          <p class=\"prog-item-name\">Arrival of Guests<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"prog-item\">\r\n        <p class=\"prog-item-time\">09:10<\/p>\r\n        <div>\r\n          <p class=\"prog-item-name\">Procession to Venue<\/p>\r\n          <p class=\"prog-item-detail\">Namanja School Grounds<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"prog-item\">\r\n        <p class=\"prog-item-time\">09:30<\/p>\r\n        <div>\r\n          <p class=\"prog-item-name\">Opening Prayer<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"prog-item\">\r\n        <p class=\"prog-item-time\">09:40<\/p>\r\n        <div>\r\n          <p class=\"prog-item-name\">Opening Song<\/p>\r\n          <p class=\"prog-item-detail\">Hymn 168 &mdash; <em>Tarumbeta Ya Mwana<\/em><\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"prog-item\">\r\n        <p class=\"prog-item-time\">09:50<\/p>\r\n        <div>\r\n          <p class=\"prog-item-name\">Welcoming Remarks<\/p>\r\n          <p class=\"prog-item-detail\">Patrick Sasaka<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"prog-item\">\r\n        <p class=\"prog-item-time\">10:00 &ndash; 12:05<\/p>\r\n        <div>\r\n          <p class=\"prog-item-name\">Speeches &amp; Tributes<\/p>\r\n          <p class=\"prog-item-detail\">Grandparents (Maternal &amp; Paternal)<br>Aunties (Senjes) &amp; Aunts\r\n            (Maternal)<br>Nieces &amp; Nephews (Delph &amp; Ashley)<br>Sister-in-law (Rahab) &amp;\r\n            Brother-in-laws<br>Cousins (Both sides)<br>Friends<br>Uncle (Vangachi)<br>Uncle &mdash; Abatali (Patrick\r\n            Sasaka)<br>Neighbours<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"prog-item\">\r\n        <p class=\"prog-item-time\">12:05<\/p>\r\n        <div>\r\n          <p class=\"prog-item-name\">Webuye Team<\/p>\r\n          <p class=\"prog-item-detail\">Lydia<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"prog-item\">\r\n        <p class=\"prog-item-time\">12:15<\/p>\r\n        <div>\r\n          <p class=\"prog-item-name\">Abatali Clan Associates<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"prog-item\">\r\n        <p class=\"prog-item-time\">12:20<\/p>\r\n        <div>\r\n          <p class=\"prog-item-name\">Eulogy<\/p>\r\n          <p class=\"prog-item-detail\">Bethany \/ Tatiana<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"prog-item\">\r\n        <p class=\"prog-item-time\">12:25<\/p>\r\n        <div>\r\n          <p class=\"prog-item-name\">Malava Boys<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"prog-item\">\r\n        <p class=\"prog-item-time\">12:30<\/p>\r\n        <div>\r\n          <p class=\"prog-item-name\">Brothers &amp; Sisters<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"prog-item\">\r\n        <p class=\"prog-item-time\">12:40<\/p>\r\n        <div>\r\n          <p class=\"prog-item-name\">Parents<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"prog-item\">\r\n        <p class=\"prog-item-time\">12:50<\/p>\r\n        <div>\r\n          <p class=\"prog-item-name\">Son<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"prog-item\">\r\n        <p class=\"prog-item-time\">12:55<\/p>\r\n        <div>\r\n          <p class=\"prog-item-name\">Church<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"prog-item\">\r\n        <p class=\"prog-item-time\">13:25<\/p>\r\n        <div>\r\n          <p class=\"prog-item-name\">Administration<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"prog-item\">\r\n        <p class=\"prog-item-time\">13:30<\/p>\r\n        <div>\r\n          <p class=\"prog-item-name\">Vote of Thanks<\/p>\r\n          <p class=\"prog-item-detail\">Mark Kutima<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"prog-rule\"><\/div>\r\n      <p class=\"prog-order-title\">Hymns<\/p>\r\n\r\n      <div class=\"prog-item\">\r\n        <p class=\"prog-item-time\">168<\/p>\r\n        <div>\r\n          <p class=\"prog-item-name\">Tarumbeta Ya Mwana<\/p>\r\n          <p class=\"prog-item-detail\" style=\"white-space:pre-line;\">Tarumbeta ya mwana itakapolia mara,\r\n            Milele itakapopambazuka,\r\n            Nao wa haki watakapokusanyika ng&#x2019;ambo,\r\n            Majina yaitwapo, lo! &mdash; niweko.\r\n\r\n            <em>Majina yaitwapo, lo! &mdash; niweko. (x4)<\/em>\r\n\r\n            Siku ile watakatifu watakapoamka\r\n            Na kuondoka huru kaburini,\r\n            Watakapokusanyika makaoni kule juu,\r\n            Majina yaitwapo, lo &mdash; niweko.\r\n\r\n            Tutende kazi kwa Yesu mchana kutwa kwa bidii,\r\n            Tutangaze kote pendo lake kuu,\r\n            Nayo kazi itakapotimika hapo chini,\r\n            Majina yaitwapo, lo &mdash; niweko.\r\n          <\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"prog-item\">\r\n        <p class=\"prog-item-time\">180<\/p>\r\n        <div>\r\n          <p class=\"prog-item-name\">Pana Mahali Pazuri Mno<\/p>\r\n          <p class=\"prog-item-detail\" style=\"white-space:pre-line;\">Pana mahali pazuri mno,\r\n            Twapaona kwa mbali sasa;\r\n            Baba yetu angoja pale,\r\n            Amepanga makao yetu.\r\n\r\n            <em>Kitambo tu bado, Tutakutana ng&#x2019;ambo pale. (x2)<\/em>\r\n\r\n            Tutaimba pale kwa moyo\r\n            Nyimbo tamu za wenye heri.\r\n            Na rohoni hatutaona\r\n            Tena haja ya kupumzika.\r\n\r\n            Kwa Baba yetu mkarimu\r\n            Tutatoa shukrani sana,\r\n            Kwa kipaji cha pendo lake\r\n            Na baraka anazotupa.\r\n          <\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"prog-item\">\r\n        <p class=\"prog-item-time\">178<\/p>\r\n        <div>\r\n          <p class=\"prog-item-name\">Ukingoni Mwa Yordani<\/p>\r\n          <p class=\"prog-item-detail\" style=\"white-space:pre-line;\">Ukingoni mwa Yordani ninaangalia\r\n            Bara nzuri ya Kaanani, ninayotamani.\r\n            Tutakaa pamoja na Yesu,\r\n            Katika pwani yenye raha;\r\n            Tutaimba wimbo wa Musa na Kondoo,\r\n            Milele hata milele.\r\n\r\n            Bara ile ina nuru, nuru ya milele;\r\n            Kristo, Jua, hutawala, hufukuza giza.\r\n            Nitapafikia lini na kubarikiwa,\r\n            Penye ufalme wa Baba.\r\n\r\n            Na kumwona uso? Furaha yangu rohoni ni kuchukuliwa;\r\n            Siyaogopi mawimbi katika Yordani.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"prog-item\">\r\n        <p class=\"prog-item-time\">177<\/p>\r\n        <div>\r\n          <p class=\"prog-item-name\">Kazi Yangu Ikiisha<\/p>\r\n          <p class=\"prog-item-detail\" style=\"white-space:pre-line;\">Kazi yangu ikisha, nami, nikiokoka,\r\n            Na kuvaa kutokuharibika,\r\n            Nitamjua mwokozi; Nivukapo ng&#x2019;amboni\r\n            Atakuwa wa kwanza kunilaki.\r\n\r\n            <em>Nitamjua, nitamjua, nikimwona uso kwa uso,\r\n              Nitamjua, nitamjua kwa alama za misumari.<\/em>\r\n\r\n            Kuona uso wake utanipa furaha,\r\n            Furaha isiyo ya kukomesha;\r\n            Nitamsifu Mwokozi kwa rehema na pendo\r\n            Vilivyonipa pahali mbingini.\r\n\r\n            Nao waliokufa katika Bwana Yesu,\r\n            Nitawaona tena huko juu;\r\n            Lakini nifikapo kwake huko Mbinguni,\r\n            Nataka kumwona Mwokozi kwanza.\r\n\r\n            Milangoni mwa mji Bwana atanipisha,\r\n            Pasipo machozi wala huzuni.\r\n            Nitauimba wimbo wa milele; lakini\r\n            Nataka kumwona Mwokozi kwanza.\r\n          <\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"prog-rule\"><\/div>\r\n      <blockquote class=\"life-pull\"> &ldquo;Forever in Our Hearts&rdquo; <\/blockquote>\r\n      <div class=\"prog-rule\"><\/div> <!-- Directions -->\r\n      <p class=\"prog-order-title\">Locations<\/p>\r\n      <p\r\n        style=\"font-family:'Cormorant Garamond',serif;font-size:clamp(15px,1.7vw,18px);font-weight:300;color:var(--lgray);line-height:1.8;margin-bottom:clamp(16px,2vh,24px);\">\r\n        Namanja Primary School &nbsp;&middot;&nbsp; Family Home, Namanja &ndash; Butali<\/p>\r\n      <div style=\"display:flex;gap:16px;flex-wrap:wrap;\">\r\n        <a href=\"https:\/\/www.google.com\/maps\/search\/Namanja+Primary+School+Butali+Kakamega\" target=\"_blank\"\r\n          rel=\"noopener\" class=\"prog-directions-btn\">Namanja School &#x2197;<\/a>\r\n        <a href=\"https:\/\/www.google.com\/maps\/search\/Namanja+Butali+Kakamega+Kenya\" target=\"_blank\" rel=\"noopener\"\r\n          class=\"prog-directions-btn\">Family Home &#x2197;<\/a>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n  <\/div>\r\n  <!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550  TRIBUTES OVERLAY\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n  <div class=\"section-overlay\" id=\"overlay-tributes\">\r\n    <div class=\"section-panel\">\r\n      <div class=\"sec-close-bar\"> <button class=\"btn-close\" id=\"close-tributes\">Close<\/button> <\/div>\r\n      <p class=\"sec-tag\">Words of Love<\/p>\r\n      <h2 class=\"sec-title\">Tributes<\/h2>\r\n      <p class=\"trib-intro\">Those who loved her most speak here &mdash; in their own words, with their own grief and\r\n        with a love that does not end.<\/p>\r\n      <div class=\"trib-list\">\r\n\r\n        <!-- TREVOR -->\r\n        <div class=\"trib-item\">\r\n          <div>\r\n            <p class=\"trib-name\">Trevor Adagala<\/p>\r\n            <p class=\"trib-rel\">Son<\/p>\r\n          <\/div>\r\n          <div class=\"trib-body\">\r\n            <p>My mum, it does not feel right. It does not look real. It feels like a bad dream, like you will come and\r\n              wake me up and tell me it is morning. But this is now my reality. My mother, my friend, my confidant, my\r\n              guardian angel is gone. Your voice, mummy &mdash; even your sharp rebuke when I was wrong &mdash; is now\r\n              silent.<\/p>\r\n            <p>I still look at the door hoping you will knock and say, <em>&ldquo;Trevor, fungua hiyo\r\n                mlango.&rdquo;<\/em> How do I live without you? How do I move on? My only hope is in God, who allowed you\r\n              to rest.<\/p>\r\n            <p>Mum, you sacrificed so much for me. I saw your struggles, I felt your love, and I lacked nothing because\r\n              of your commitment. You went out of your way just to make sure I was okay. You were my greatest\r\n              cheerleader in football and in life. You fought for me like a lion because you wanted the best for me. It\r\n              was always just the two of us, doing life together.<\/p>\r\n            <p>I loved you in life. I love you in death. You will always remain in my heart. With God&rsquo;s strength,\r\n              I will rise again. I will make you proud. I will work hard, I will pray, and I will carry your dreams\r\n              forward.<\/p>\r\n            <p><em>Rest well, my mum &mdash; until we meet again. Love you always, Trevor.<\/em><\/p>\r\n            <p class=\"trib-scripture\">Psalm 23:4 &mdash; &ldquo;Even though I walk through the darkest valley, I will\r\n              fear no evil, for you are with me.&rdquo;<\/p>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- PARENTS -->\r\n        <div class=\"trib-item\">\r\n          <div>\r\n            <p class=\"trib-name\">Gladys Nafula &amp; John Magana<\/p>\r\n            <p class=\"trib-rel\">Mother &amp; Father<\/p>\r\n          <\/div>\r\n          <div class=\"trib-body\">\r\n            <p>Robai our girl, <em>mwana wanje, mukhana wanje<\/em> &mdash; our daughter, you gave us the big title of\r\n              being called mama and baba to such a beautiful soul like you. We held you in our arms after delivery and\r\n              felt such warmth looking at your beautiful smile and an innocent cry.<\/p>\r\n            <p>Honestly, Robai, we must confess that we never saw this coming. This sting of death was not one of the\r\n              things we ever thought would knock at your door, my daughter. We are pained, we are shattered beyond\r\n              words. You have been there for us at our weakest point when no one else except you carried us through.<\/p>\r\n            <p>You were always present and sacrificed your time and resources for all of us as a family. You were our\r\n              chief organiser, our counsellor on many issues &mdash; you made us feel at peace after talking to you. You\r\n              carried us on your shoulders. <em>Oh our daughter, you were our protector.<\/em> No wonder you died in the\r\n              line of your kind heart, helping your cousin Robert to get home. You did not hold anything back when it\r\n              came to helping anyone in need.<\/p>\r\n            <p>You were a super mother to Trevor, our grandson. We saw you live for your son. We saw the strength you\r\n              had for your son. You loved us so much &mdash; you took your nieces and nephews as your own children. Our\r\n              daughter, you have left us your son Trevor. We promise to hold his hands with your sisters, Jackline and\r\n              Dorice. He will not walk alone in life.<\/p>\r\n            <p><em>We cry for you, our daughter. Your mum Gladys &amp; Dad John &mdash; until we meet again.<\/em><\/p>\r\n            <p class=\"trib-scripture\">Revelation 21:4 &mdash; &ldquo;He will wipe every tear from their eyes. There will\r\n              be no more death or mourning or crying or pain.&rdquo;<\/p>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- SISTERS -->\r\n        <div class=\"trib-item\">\r\n          <div>\r\n            <p class=\"trib-name\">Jackline &amp; Dorice<\/p>\r\n            <p class=\"trib-rel\">Sisters<\/p>\r\n          <\/div>\r\n          <div class=\"trib-body\">\r\n            <p>We gather with heavy hearts to honour and remember our beloved sister, Robby. You were more than family\r\n              &mdash; you were our light, our laughter, and our strength. You brought warmth into every moment and love\r\n              into every space.<\/p>\r\n            <p>Your kindness, your smile, and your spirit touched everyone around you. You gave so much of yourself so\r\n              freely, and that is how we will always remember you.<\/p>\r\n            <p>Though we feel this loss deeply, we are grateful for the memories, the lessons, and the love we shared.\r\n              Rest peacefully, our dear sister. You will always be loved and never forgotten.<\/p>\r\n            <p class=\"trib-scripture\">Isaiah 41:10 &mdash; &ldquo;Do not fear, for I am with you; do not be dismayed,\r\n              for I am your God.&rdquo;<\/p>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- BROTHERS -->\r\n        <div class=\"trib-item\">\r\n          <div>\r\n            <p class=\"trib-name\">Walter &amp; Tim<\/p>\r\n            <p class=\"trib-rel\">Brothers<\/p>\r\n          <\/div>\r\n          <div class=\"trib-body\">\r\n            <p>Words will never fully explain how we feel losing the best part of our lives. You were our rock, our joy,\r\n              our laughter. Life without your jokes and presence feels unimaginable. We have truly lost a gem.<\/p>\r\n            <p>Though the pain is deep, we will celebrate your life forever. You will always remain in our hearts.\r\n              <em>We loved you dearly but God loved you more.<\/em><\/p>\r\n            <p class=\"trib-scripture\">Psalm 34:18 &mdash; &ldquo;The Lord is close to the brokenhearted and saves those\r\n              who are crushed in spirit.&rdquo;<\/p>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- SISTER-IN-LAW -->\r\n        <div class=\"trib-item\">\r\n          <div>\r\n            <p class=\"trib-name\">Rahab<\/p>\r\n            <p class=\"trib-rel\">Sister-in-law<\/p>\r\n          <\/div>\r\n          <div class=\"trib-body\">\r\n            <p>A friend before I married your brother. A sister when I joined the family. A mother and role model to my\r\n              sons. You were my first call when my heart was heavy.<\/p>\r\n            <p>Watching you fight showed your strength. Though my heart is broken, I find peace knowing I prayed for you\r\n              as you went to the Lord. You rested in my arms &mdash; I closed your eyes &mdash; but you will forever\r\n              remain in my heart.<\/p>\r\n            <p><em>Rest easy, dear in-law.<\/em><\/p>\r\n            <p class=\"trib-scripture\">John 14:27 &mdash; &ldquo;Peace I leave with you; my peace I give you.&rdquo;<\/p>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- NIECES & NEPHEWS -->\r\n        <div class=\"trib-item\">\r\n          <div>\r\n            <p class=\"trib-name\">Delph, Ashley &amp; Family<\/p>\r\n            <p class=\"trib-rel\">Nieces &amp; Nephews<\/p>\r\n          <\/div>\r\n          <div class=\"trib-body\">\r\n            <p>You were someone full of warmth and joy &mdash; the kind of person everyone felt safe around. You cared\r\n              deeply, always checking on us and making sure we were okay. You made us feel seen, valued, and reminded us\r\n              that we were the best.<\/p>\r\n            <p>You were more than an aunt &mdash; you were like a mother to us. You loved us, guided us, and cared for\r\n              us deeply. We always looked forward to visiting you. Your home was full of warmth and love. We remember\r\n              the little things: your sweets, your laughter, and the joy you brought into our lives. Family gatherings\r\n              were brighter because of you.<\/p>\r\n            <p><em>We will always love you.<\/em><\/p>\r\n            <p class=\"trib-scripture\">Proverbs 17:17 &mdash; &ldquo;A friend loves at all times, and a brother is born\r\n              for a time of adversity.&rdquo;<\/p>\r\n          <\/div>\r\n        <\/div>\r\n\r\n      <\/div><!-- end trib-list --> <!-- APPRECIATION -->\r\n      <div class=\"trib-item\">\r\n        <div>\r\n          <p class=\"trib-name\">The Family<\/p>\r\n          <p class=\"trib-rel\">Appreciation<\/p>\r\n        <\/div>\r\n        <div class=\"trib-body\">\r\n          <p>We, the family of Robai Lukania Magana, wish to convey our sincere gratitude and appreciation to all\r\n            relatives, leaders, friends, church, organizing committee and well-wishers for their prayers, moral,\r\n            financial and material support following the departure of our beloved one. Since we cannot thank each one of\r\n            you individually, please accept this acknowledgement from our hearts.<\/p>\r\n          <p><em>May God bless you abundantly!<\/em><\/p>\r\n          <p class=\"trib-scripture\">Isaiah 57:2 &mdash; &ldquo;Those who live righteously and uprightly will enter into\r\n            peace and find rest in death.&rdquo;<\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div><!-- closing wrapper -->\r\n  <\/div><!-- section-panel --><\/div><!-- overlay-tributes --><!-- LIGHTBOX -->\r\n  <div class=\"lightbox\" id=\"lightbox\"> <button class=\"lb-close\" id=\"lb-close-btn\">Close<\/button> <img decoding=\"async\" id=\"lightbox-img\"\r\n      src=\"\" alt=\"\"><\/div>\r\n  <script data-cfasync=\"false\" src=\"\/cdn-cgi\/scripts\/5c5dd728\/cloudflare-static\/email-decode.min.js\"><\/script>\r\n  <script>\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 All logic runs after DOM is ready \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/document.addEventListener('DOMContentLoaded', function () {\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Helpers \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/function isReal(url) { return url && !url.startsWith('YOUR_IMAGE') && !url.startsWith('YOUR_AUDIO'); }\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Music \u2014 autoplay, loop, click to pause\/play \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/const audio = document.getElementById('bg-audio'); const musicBar = document.getElementById('music-bar'); const musicLabel = document.getElementById('music-label'); if (isReal(MUSIC_URL)) { audio.src = MUSIC_URL; audio.volume = 0.35; audio.loop = true;  \/* Autoplay \u2014 browsers require a user gesture first.     We attempt silent autoplay; if blocked, we wait for     the first click\/touch anywhere and then start. *\/  const tryAutoplay = () => { audio.play().then(() => { musicBar.classList.remove('paused'); musicLabel.textContent = 'Now Playing'; }).catch(() => {      \/* Autoplay blocked \u2014 wait for first interaction *\/      musicBar.classList.add('paused'); musicLabel.textContent = 'Play Music'; const startOnInteraction = () => { audio.play().then(() => { musicBar.classList.remove('paused'); musicLabel.textContent = 'Now Playing'; }).catch(() => { }); document.removeEventListener('click', startOnInteraction); document.removeEventListener('touchstart', startOnInteraction); }; document.addEventListener('click', startOnInteraction, { once: true }); document.addEventListener('touchstart', startOnInteraction, { once: true }); }); }; tryAutoplay(); } else {  \/* No music configured \u2014 show bar in disabled state *\/  musicBar.classList.add('paused'); musicLabel.textContent = 'Add Music URL'; musicBar.style.opacity = '0.5'; musicBar.style.cursor = 'default'; } function toggleMusic() { if (!isReal(MUSIC_URL)) return; if (audio.paused) { audio.play().then(() => { musicBar.classList.remove('paused'); musicLabel.textContent = 'Now Playing'; }).catch(() => { }); } else { audio.pause(); musicBar.classList.add('paused'); musicLabel.textContent = 'Play Music'; } }\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Apply images \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/function applyImages() { ['panel1', 'panel2', 'panel3', 'panel4', 'panel5'].forEach((key, i) => { const idx = i + 1; const img = document.getElementById('img-panel' + idx); const bg = document.getElementById('pbg' + idx); if (isReal(IMAGES[key])) { img.src = IMAGES[key]; img.style.display = 'block'; if (bg) bg.style.display = 'none'; } });['life1', 'life2', 'life3', 'life4', 'life5'].forEach((key, i) => { const idx = i + 1; const img = document.getElementById('img-life' + idx); const ph = document.getElementById('life-ph' + idx); if (img && isReal(IMAGES[key])) { img.src = IMAGES[key]; img.style.display = 'block'; if (ph) ph.style.display = 'none'; } }); buildGallery(); }\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Gallery \u2014 self-scaling mosaic engine \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550   Works for any number of images (1\u201350+).   Positions are calculated algorithmically so no CSS changes   are ever needed when adding more photos.   Lazy loading is applied automatically to all gallery images.\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\/* Mosaic tile templates \u2014 repeating pattern of 5 tiles per group.   Each entry: [colSpan, rowSpan] on a 12-column grid.   Pattern tiles across the page, shifting columns each group. *\/const TILE_PATTERNS = [  \/* Group A \u2014 left-heavy *\/[[5, 6], [3, 4], [4, 5], [3, 4], [4, 5]],  \/* Group B \u2014 centre cluster *\/[[4, 5], [4, 6], [4, 5], [5, 5], [4, 6]],  \/* Group C \u2014 right-heavy *\/[[4, 5], [3, 4], [5, 6], [4, 4], [3, 5]],  \/* Group D \u2014 balanced *\/[[3, 4], [5, 5], [4, 6], [4, 5], [3, 4]],]; function computeMosaicLayout(total, cols) {  \/* On mobile we use a simple 2-wide alternating layout *\/  if (cols <= 2) { const layout = []; let row = 1; for (let i = 0; i < total; i++) { const col = (i % 2 === 0) ? 1 : 2; const span = (i % 3 === 0) ? 5 : 4; if (i % 2 === 0 && i > 0) row += 4; layout.push({ cs: col, ce: col + 1, rs: row, re: row + span }); } return layout; }  \/* On 4-col mobile \u2014 two wide columns alternating tall\/short *\/  if (cols <= 4) { const layout = []; let row = 1; for (let i = 0; i < total; i++) { const isLeft = i % 2 === 0; const cs = isLeft ? 1 : 3; const rowSpan = (i % 4 < 2) ? 4 : 5; if (isLeft && i > 0) row += (layout[i - 1].re - layout[i - 1].rs); layout.push({ cs, ce: cs + 2, rs: row, re: row + rowSpan }); } return layout; }  \/* Desktop 12-col \u2014 rich asymmetric mosaic *\/  const layout = []; let cursor = 1; \/* current grid row *\/  let groupIdx = 0; for (let i = 0; i < total;) { const pattern = TILE_PATTERNS[groupIdx % TILE_PATTERNS.length]; groupIdx++;    \/* Place a group of up to 5 tiles, packed left\u2192right *\/    let col = 1; let groupMaxRow = cursor; for (let t = 0; t < pattern.length && i < total; t++, i++) { const [cs, rs] = pattern[t]; const ce = Math.min(col + cs, 13); const re = cursor + rs; layout.push({ cs: col, ce, rs: cursor, re }); col = ce; if (col >= 13) { col = 1; cursor = groupMaxRow; } if (re > groupMaxRow) groupMaxRow = re; } cursor = groupMaxRow; } return layout; } const GBG = ['#141414', '#151515', '#131313', '#161616', '#121212', '#141414', '#111111', '#151515', '#131313', '#121212', '#161616', '#141414', '#111111', '#151515', '#131313', '#121212', '#141414', '#161616', '#111111', '#131313']; function buildGallery() { const grid = document.getElementById('gallery-grid'); const TOTAL = 50;  \/* Collect only populated slots \u2014 skip empty\/placeholder URLs *\/  const slots = []; for (let i = 1; i <= TOTAL; i++) { const src = IMAGES['g' + i]; const cap = GALLERY_CAPTIONS[i - 1] || ('Photo ' + i); slots.push({ src: isReal(src) ? src : null, cap, idx: i }); }  \/* Detect column count for layout engine *\/  function getCols() { const w = window.innerWidth; if (w <= 480) return 2; if (w <= 768) return 4; return 12; } function render() { grid.innerHTML = ''; const cols = getCols(); const layout = computeMosaicLayout(slots.length, cols); slots.forEach((slot, i) => { const pos = layout[i]; if (!pos) return; const div = document.createElement('div'); div.className = 'gi'; div.dataset.cap = slot.cap; div.style.setProperty('--gc', `${pos.cs}\/${pos.ce}`); div.style.setProperty('--gr', `${pos.rs}\/${pos.re}`); if (slot.src) { div.style.cursor = 'zoom-in'; div.addEventListener('click', () => openLightbox(slot.src, slot.cap)); const img = document.createElement('img'); img.src = slot.src; img.alt = slot.cap; img.loading = 'lazy'; \/* native lazy load *\/        div.appendChild(img); } else { const bg = GBG[i % GBG.length]; div.innerHTML = `<div style=\"width:100%;height:100%;background:${bg};display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" opacity=\"0.1\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" stroke=\"#f5f3ef\" stroke-width=\"1\"\/><circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\" fill=\"#f5f3ef\"\/><path d=\"M21 15l-5-5L5 21\" stroke=\"#f5f3ef\" stroke-width=\"1\"\/><\/svg><span style=\"font-family:'Ubuntu',sans-serif;font-size:7px;letter-spacing:0.28em;color:rgba(245,243,239,0.08);text-transform:uppercase;\">${slot.cap}<\/span><\/div>`; } grid.appendChild(div); }); } render();  \/* Re-render mosaic on resize so layout stays correct across breakpoints *\/  let resizeTimer; window.addEventListener('resize', () => { clearTimeout(resizeTimer); resizeTimer = setTimeout(render, 200); }); }\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Section open\/close \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/const ALL_SECTIONS = ['life', 'gallery', 'programme', 'tributes']; function openSection(name) {\r\n            \/* 1. Hide all nav buttons immediately *\/\r\n            ALL_SECTIONS.forEach(n => {\r\n              const nav = document.getElementById('nav-' + n);\r\n              nav.style.transition = 'none';\r\n              nav.style.opacity = '0';\r\n              nav.style.pointerEvents = 'none';\r\n              nav.style.visibility = 'hidden';\r\n            });\r\n            const origins = { life: 'translateX(-100%)', gallery: 'translateX(100%)', programme: 'translateY(100%)', tributes: 'translateY(100%)' };\r\n            const overlay = document.getElementById('overlay-' + name);\r\n            const panel = overlay.querySelector('.section-panel');\r\n            panel.scrollTop = 0;\r\n            \/* 2. Force panel to its off-screen position BEFORE overlay becomes visible *\/\r\n            panel.style.transition = 'none';\r\n            panel.style.transform = origins[name];\r\n            \/* 3. Make overlay visible \u2014 panel is off-screen, clip-path ensures nothing bleeds *\/\r\n            overlay.style.opacity = '1';\r\n            overlay.classList.add('active');\r\n            document.body.style.overflow = 'hidden';\r\n            \/* 4. Double rAF: first frame registers off-screen position, second triggers slide *\/\r\n            requestAnimationFrame(() => {\r\n              requestAnimationFrame(() => {\r\n                panel.style.transition = '';\r\n                panel.style.transform = 'translate(0,0)';\r\n              });\r\n            });\r\n          } function closeSection(name) {\r\n            const origins = { life: 'translateX(-100%)', gallery: 'translateX(100%)', programme: 'translateY(100%)', tributes: 'translateY(100%)' };\r\n            const overlay = document.getElementById('overlay-' + name);\r\n            const panel = overlay.querySelector('.section-panel');\r\n            \/* Slide panel back off-screen *\/\r\n            panel.style.transition = '';\r\n            panel.style.transform = origins[name];\r\n            setTimeout(() => {\r\n              \/* Hide overlay \u2014 panel is already off-screen so no flash *\/\r\n              overlay.style.opacity = '0';\r\n              overlay.classList.remove('active');\r\n              document.body.style.overflow = '';\r\n              \/* Reset inline styles cleanly *\/\r\n              panel.style.transform = '';\r\n              panel.style.transition = 'none';\r\n              \/* Restore nav buttons *\/\r\n              ALL_SECTIONS.forEach(n => {\r\n                const nav = document.getElementById('nav-' + n);\r\n                nav.style.transition = '';\r\n                nav.style.opacity = '';\r\n                nav.style.pointerEvents = '';\r\n                nav.style.visibility = '';\r\n              });\r\n            }, 880);\r\n          }\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Parallax \u2014 disabled on very small screens \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/function handleParallax() { if (window.innerWidth < 480) return; const wh = window.innerHeight; document.querySelectorAll('.panel').forEach(panel => { const rect = panel.getBoundingClientRect(); const progress = -rect.top \/ wh; if (progress > -1.3 && progress < 1.3) { const img = panel.querySelector('.panel-img'); if (img && img.style.display !== 'none') { img.style.transform = `scale(1.1) translateY(${progress * 7}%)`; } } }); } window.addEventListener('scroll', handleParallax, { passive: true });\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Lightbox \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/function openLightbox(src, cap) { document.getElementById('lightbox-img').src = src; document.getElementById('lightbox-img').alt = cap || ''; document.getElementById('lightbox').classList.add('open'); } function closeLightbox() { document.getElementById('lightbox').classList.remove('open'); } document.getElementById('lightbox').addEventListener('click', function (e) { if (e.target === this) closeLightbox(); }); document.getElementById('lb-close-btn').addEventListener('click', closeLightbox);\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Keyboard \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/document.addEventListener('keydown', e => { if (e.key === 'Escape') { closeLightbox(); ALL_SECTIONS.forEach(n => { if (document.getElementById('overlay-' + n).classList.contains('active')) closeSection(n); }); } });\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Nav buttons \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/ALL_SECTIONS.forEach(name => { document.getElementById('btn-' + name).addEventListener('click', () => openSection(name)); document.getElementById('close-' + name).addEventListener('click', () => closeSection(name)); });\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Music bar click \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/document.getElementById('music-bar').addEventListener('click', toggleMusic);\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Init \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/applyImages();\r\n          }); \/* end DOMContentLoaded *\/<\/script>\r\n<\/body>\r\n\r\n<\/html>\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>In Loving Memory of Robai Lukania Magana Play Music Life Gallery Programme Tributes 3 Dec 1983 &mdash; 24 April 2026 In Loving Memory of Robai LukaniaMagana Beloved Daughter &nbsp;&middot;&nbsp; Sister &nbsp;&middot;&nbsp; Mother &nbsp;&middot;&nbsp; Friend Scroll A Precious Gift &#8220;Her presence brought warmth, gentleness and quiet joy into the lives of all who knew her.&#8221; Family&rsquo;s [&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-112","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/robai.amkadigital.co.ke\/index.php\/wp-json\/wp\/v2\/pages\/112","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/robai.amkadigital.co.ke\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/robai.amkadigital.co.ke\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/robai.amkadigital.co.ke\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/robai.amkadigital.co.ke\/index.php\/wp-json\/wp\/v2\/comments?post=112"}],"version-history":[{"count":43,"href":"https:\/\/robai.amkadigital.co.ke\/index.php\/wp-json\/wp\/v2\/pages\/112\/revisions"}],"predecessor-version":[{"id":308,"href":"https:\/\/robai.amkadigital.co.ke\/index.php\/wp-json\/wp\/v2\/pages\/112\/revisions\/308"}],"wp:attachment":[{"href":"https:\/\/robai.amkadigital.co.ke\/index.php\/wp-json\/wp\/v2\/media?parent=112"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}