{"id":22201,"date":"2021-11-04T10:21:10","date_gmt":"2021-11-04T10:21:10","guid":{"rendered":"https:\/\/starleddisplay.comprojects\/"},"modified":"2026-06-25T13:56:47","modified_gmt":"2026-06-25T09:56:47","slug":"projects","status":"publish","type":"page","link":"https:\/\/starleddisplay.com\/ar\/projects\/","title":{"rendered":"Projects"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"22201\" class=\"elementor elementor-22201\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1c80607 e-con-full e-flex e-con e-parent\" data-id=\"1c80607\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8f70f78 elementor-widget elementor-widget-html\" data-id=\"8f70f78\" 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,viewport-fit=cover\">\r\n  <title>Projects \u2014 StarLED LED Display Installations, Dubai UAE<\/title>\r\n  <meta name=\"description\"\r\n    content=\"Browse hundreds of StarLED projects across the UAE \u2014 indoor LED walls, outdoor facades, poster displays, and transparent LED. Filter by category, tap any photo or video to expand fullscreen.\">\r\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n  <link\r\n    href=\"https:\/\/fonts.googleapis.com\/css2?family=Montserrat:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;700&display=swap\"\r\n    rel=\"stylesheet\">\r\n\r\n  <style>\r\n    :root {\r\n      --black: #000;\r\n      --ink: #070709;\r\n      --ink-2: #0a0b0e;\r\n      --ink-3: #101117;\r\n      --ink-4: #161821;\r\n      --blue: #6EC1EA;\r\n      --blue-deep: #2A8FB9;\r\n      --blue-glow: rgba(110, 193, 234, .35);\r\n      --blue-soft: rgba(110, 193, 234, .14);\r\n      --red: #DC0000;\r\n      --red-glow: rgba(220, 0, 0, .40);\r\n      --red-soft: rgba(220, 0, 0, .10);\r\n      --white: #fff;\r\n      --mute: rgba(255, 255, 255, .62);\r\n      --mute-2: rgba(255, 255, 255, .42);\r\n      --mute-3: rgba(255, 255, 255, .26);\r\n      --line: rgba(110, 193, 234, .16);\r\n      --line-2: rgba(255, 255, 255, .08);\r\n      --line-3: rgba(255, 255, 255, .04);\r\n      --mono: 'JetBrains Mono', ui-monospace, monospace;\r\n    }\r\n\r\n    * {\r\n      box-sizing: border-box\r\n    }\r\n\r\n    html,\r\n    body {\r\n      margin: 0;\r\n      padding: 0;\r\n      background: var(--black);\r\n      color: var(--white);\r\n      font-family: 'Montserrat', system-ui, sans-serif;\r\n      -webkit-font-smoothing: antialiased\r\n    }\r\n\r\n    body {\r\n      overflow-x: hidden\r\n    }\r\n\r\n    a {\r\n      color: inherit;\r\n      text-decoration: none\r\n    }\r\n\r\n    img,\r\n    video,\r\n    svg {\r\n      display: block;\r\n      max-width: 100%\r\n    }\r\n\r\n    button {\r\n      font-family: inherit;\r\n      cursor: pointer;\r\n      border: 0;\r\n      background: none;\r\n      color: inherit;\r\n      padding: 0\r\n    }\r\n\r\n    h1,\r\n    h2,\r\n    h3,\r\n    h4 {\r\n      margin: 0;\r\n      font-weight: 700;\r\n      letter-spacing: -.025em;\r\n      line-height: 1.05;\r\n      text-wrap: balance\r\n    }\r\n\r\n    p {\r\n      margin: 0;\r\n      line-height: 1.65;\r\n      color: var(--mute);\r\n      text-wrap: pretty\r\n    }\r\n\r\n    .wrap {\r\n      max-width: 1440px;\r\n      margin: 0 auto;\r\n      padding: 0 32px\r\n    }\r\n\r\n    .mono {\r\n      font-family: var(--mono);\r\n      letter-spacing: .04em\r\n    }\r\n\r\n    \/* \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 buttons \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 *\/\r\n    .btn {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 10px;\r\n      padding: 13px 22px;\r\n      border-radius: 999px;\r\n      font-weight: 600;\r\n      font-size: 13px;\r\n      letter-spacing: .02em;\r\n      transition: transform .15s, background .15s, box-shadow .25s, border-color .15s, color .15s;\r\n      cursor: pointer;\r\n      white-space: nowrap\r\n    }\r\n\r\n    .btn-primary {\r\n      background: var(--blue);\r\n      color: #031018;\r\n      box-shadow: 0 10px 30px -10px var(--blue-glow), inset 0 0 0 1px rgba(255, 255, 255, .08)\r\n    }\r\n\r\n    .btn-primary:hover {\r\n      transform: translateY(-1px);\r\n      box-shadow: 0 14px 38px -8px var(--blue-glow)\r\n    }\r\n\r\n    .btn-ghost {\r\n      border: 1px solid var(--line);\r\n      color: #fff\r\n    }\r\n\r\n    .btn-ghost:hover {\r\n      border-color: var(--blue);\r\n      color: var(--blue)\r\n    }\r\n\r\n    .arr {\r\n      display: inline-block;\r\n      width: 14px;\r\n      height: 1.5px;\r\n      background: currentColor;\r\n      position: relative\r\n    }\r\n\r\n    .arr::after {\r\n      content: \"\";\r\n      position: absolute;\r\n      right: 0;\r\n      top: -3px;\r\n      width: 7px;\r\n      height: 7px;\r\n      border-right: 1.5px solid currentColor;\r\n      border-top: 1.5px solid currentColor;\r\n      transform: rotate(45deg)\r\n    }\r\n\r\n    .eyebrow {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 12px;\r\n      font-size: 11px;\r\n      letter-spacing: .24em;\r\n      text-transform: uppercase;\r\n      font-weight: 700;\r\n      color: var(--blue)\r\n    }\r\n\r\n    .eyebrow::before {\r\n      content: \"\";\r\n      width: 28px;\r\n      height: 1px;\r\n      background: var(--blue)\r\n    }\r\n\r\n    \/* \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 NAV \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 *\/\r\n    .nav {\r\n      position: sticky;\r\n      top: 0;\r\n      z-index: 50;\r\n      background: rgba(0, 0, 0, .8);\r\n      backdrop-filter: blur(14px);\r\n      -webkit-backdrop-filter: blur(14px);\r\n      border-bottom: 1px solid var(--line-2)\r\n    }\r\n\r\n    .nav-inner {\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: space-between;\r\n      height: 72px;\r\n      gap: 20px\r\n    }\r\n\r\n    .logo {\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 10px;\r\n      font-weight: 800;\r\n      font-size: 18px;\r\n      letter-spacing: .04em\r\n    }\r\n\r\n    .logo-mark {\r\n      width: 30px;\r\n      height: 30px;\r\n      border-radius: 8px;\r\n      background:\r\n        radial-gradient(circle at 30% 30%, #fff 0 1.2px, transparent 1.5px) 0 0\/6px 6px,\r\n        linear-gradient(135deg, var(--blue), var(--blue-deep));\r\n      box-shadow: 0 0 24px var(--blue-glow), inset 0 0 0 1px rgba(255, 255, 255, .2)\r\n    }\r\n\r\n    .logo span b {\r\n      color: var(--blue)\r\n    }\r\n\r\n    .nav-links {\r\n      display: flex;\r\n      gap: 30px;\r\n      font-size: 13.5px;\r\n      font-weight: 500;\r\n      color: var(--mute)\r\n    }\r\n\r\n    .nav-links a:hover,\r\n    .nav-links a.active {\r\n      color: var(--white)\r\n    }\r\n\r\n    .nav-links a.active {\r\n      color: var(--blue)\r\n    }\r\n\r\n    .nav-cta {\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 14px\r\n    }\r\n\r\n    .nav-toggle {\r\n      display: none;\r\n      width: 42px;\r\n      height: 42px;\r\n      border-radius: 10px;\r\n      border: 1px solid var(--line-2);\r\n      align-items: center;\r\n      justify-content: center;\r\n      position: relative\r\n    }\r\n\r\n    .nav-toggle span {\r\n      width: 18px;\r\n      height: 1.5px;\r\n      background: #fff;\r\n      position: relative\r\n    }\r\n\r\n    .nav-toggle span::before,\r\n    .nav-toggle span::after {\r\n      content: \"\";\r\n      position: absolute;\r\n      left: 0;\r\n      width: 18px;\r\n      height: 1.5px;\r\n      background: #fff;\r\n      transition: transform .25s\r\n    }\r\n\r\n    .nav-toggle span::before {\r\n      top: -6px\r\n    }\r\n\r\n    .nav-toggle span::after {\r\n      top: 6px\r\n    }\r\n\r\n    .nav-toggle.open span {\r\n      background: transparent\r\n    }\r\n\r\n    .nav-toggle.open span::before {\r\n      transform: translateY(6px) rotate(45deg)\r\n    }\r\n\r\n    .nav-toggle.open span::after {\r\n      transform: translateY(-6px) rotate(-45deg)\r\n    }\r\n\r\n    .nav-mobile {\r\n      display: none\r\n    }\r\n\r\n    @media (max-width:880px) {\r\n\r\n      .nav-links,\r\n      .nav-cta .btn {\r\n        display: none\r\n      }\r\n\r\n      .nav-toggle {\r\n        display: inline-flex\r\n      }\r\n\r\n      .nav-mobile {\r\n        position: fixed;\r\n        inset: 72px 0 0 0;\r\n        background: var(--black);\r\n        z-index: 49;\r\n        padding: 32px;\r\n        flex-direction: column;\r\n        gap: 6px\r\n      }\r\n\r\n      .nav-mobile.open {\r\n        display: flex\r\n      }\r\n\r\n      .nav-mobile a {\r\n        padding: 18px 0;\r\n        font-size: 18px;\r\n        font-weight: 600;\r\n        border-bottom: 1px solid var(--line-2);\r\n        display: flex;\r\n        justify-content: space-between;\r\n        align-items: center\r\n      }\r\n\r\n      .nav-mobile a.active {\r\n        color: var(--blue)\r\n      }\r\n\r\n      .nav-mobile .btn {\r\n        margin-top: 18px;\r\n        justify-content: center\r\n      }\r\n    }\r\n\r\n    \/* \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 BREADCRUMB \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 *\/\r\n    .crumb {\r\n      padding: 22px 0 0;\r\n      font-family: var(--mono);\r\n      font-size: 11px;\r\n      letter-spacing: .2em;\r\n      text-transform: uppercase;\r\n      color: var(--mute-2)\r\n    }\r\n\r\n    .crumb a:hover {\r\n      color: var(--blue)\r\n    }\r\n\r\n    .crumb .sep {\r\n      margin: 0 10px;\r\n      color: var(--mute-3)\r\n    }\r\n\r\n    .crumb b {\r\n      color: #fff;\r\n      font-weight: 600\r\n    }\r\n\r\n    \/* \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 HERO \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 *\/\r\n    .hero {\r\n      position: relative;\r\n      padding: 56px 0 48px;\r\n      overflow: hidden;\r\n      background:\r\n        radial-gradient(ellipse 80% 60% at 50% -10%, var(--blue-soft), transparent 60%),\r\n        radial-gradient(ellipse 55% 35% at 85% 110%, var(--red-soft), transparent 60%),\r\n        var(--black)\r\n    }\r\n\r\n    .hero::before {\r\n      content: \"\";\r\n      position: absolute;\r\n      inset: 0;\r\n      background-image: radial-gradient(circle, rgba(110, 193, 234, .18) 0.7px, transparent 1px);\r\n      background-size: 16px 16px;\r\n      mask-image: radial-gradient(ellipse 70% 65% at 50% 35%, #000 25%, transparent 75%);\r\n      pointer-events: none\r\n    }\r\n\r\n    .hero-inner {\r\n      position: relative;\r\n      z-index: 2;\r\n      display: grid;\r\n      grid-template-columns: 1.2fr .8fr;\r\n      gap: 60px;\r\n      align-items: end\r\n    }\r\n\r\n    .hero-cat {\r\n      font-family: var(--mono);\r\n      font-size: 12px;\r\n      letter-spacing: .3em;\r\n      text-transform: uppercase;\r\n      color: var(--blue);\r\n      font-weight: 700;\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 14px;\r\n      margin-bottom: 20px\r\n    }\r\n\r\n    .hero-cat .num {\r\n      padding: 6px 10px;\r\n      border: 1px solid var(--blue);\r\n      border-radius: 6px;\r\n      color: #fff;\r\n      background: rgba(110, 193, 234, .08)\r\n    }\r\n\r\n    .hero h1 {\r\n      font-size: clamp(40px, 6vw, 88px);\r\n      font-weight: 800;\r\n      letter-spacing: -.045em;\r\n      line-height: .95\r\n    }\r\n\r\n    .hero h1 .accent {\r\n      color: var(--blue)\r\n    }\r\n\r\n    .hero h1 .underline {\r\n      position: relative;\r\n      display: inline-block\r\n    }\r\n\r\n    .hero h1 .underline::after {\r\n      content: \"\";\r\n      position: absolute;\r\n      left: 0;\r\n      right: 0;\r\n      bottom: .05em;\r\n      height: .1em;\r\n      background: var(--red);\r\n      z-index: -1;\r\n      border-radius: 2px\r\n    }\r\n\r\n    .hero-intro {\r\n      font-size: 16.5px;\r\n      line-height: 1.65;\r\n      color: rgba(255, 255, 255, .78);\r\n      max-width: 520px;\r\n      margin-top: 24px\r\n    }\r\n\r\n    .hero-stats {\r\n      display: grid;\r\n      grid-template-columns: repeat(2, 1fr);\r\n      gap: 14px;\r\n      align-self: end\r\n    }\r\n\r\n    .hero-stat {\r\n      padding: 22px;\r\n      border: 1px solid var(--line-2);\r\n      border-radius: 14px;\r\n      background: rgba(255, 255, 255, .015);\r\n      position: relative;\r\n      overflow: hidden\r\n    }\r\n\r\n    .hero-stat .k {\r\n      font-family: var(--mono);\r\n      font-size: 10.5px;\r\n      letter-spacing: .22em;\r\n      text-transform: uppercase;\r\n      color: var(--mute-2);\r\n      font-weight: 600\r\n    }\r\n\r\n    .hero-stat .v {\r\n      margin-top: 8px;\r\n      font-size: 32px;\r\n      font-weight: 800;\r\n      letter-spacing: -.025em;\r\n      color: #fff;\r\n      display: flex;\r\n      align-items: baseline;\r\n      gap: 5px\r\n    }\r\n\r\n    .hero-stat .v .u {\r\n      font-size: 13px;\r\n      font-weight: 600;\r\n      color: var(--blue);\r\n      font-family: var(--mono);\r\n      letter-spacing: 0\r\n    }\r\n\r\n    .hero-stat::before {\r\n      content: \"\";\r\n      position: absolute;\r\n      left: 0;\r\n      top: 0;\r\n      width: 24px;\r\n      height: 24px;\r\n      border-left: 1.5px solid var(--blue);\r\n      border-top: 1.5px solid var(--blue);\r\n      opacity: .5\r\n    }\r\n\r\n    @media (max-width:980px) {\r\n      .hero-inner {\r\n        grid-template-columns: 1fr;\r\n        gap: 40px\r\n      }\r\n\r\n      .hero {\r\n        padding: 40px 0 36px\r\n      }\r\n    }\r\n\r\n    @media (max-width:560px) {\r\n      .hero-stats {\r\n        grid-template-columns: repeat(2, 1fr);\r\n        gap: 10px\r\n      }\r\n\r\n      .hero-stat {\r\n        padding: 16px\r\n      }\r\n\r\n      .hero-stat .v {\r\n        font-size: 24px\r\n      }\r\n    }\r\n\r\n    \/* \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 FILTER BAR \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 *\/\r\n    .filter-bar {\r\n      position: sticky;\r\n      top: 72px;\r\n      z-index: 40;\r\n      background: rgba(7, 7, 9, .92);\r\n      backdrop-filter: blur(16px);\r\n      -webkit-backdrop-filter: blur(16px);\r\n      border-bottom: 1px solid var(--line-2);\r\n      padding: 18px 0\r\n    }\r\n\r\n    .filter-row {\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 20px;\r\n      flex-wrap: wrap\r\n    }\r\n\r\n    .filter-section {\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 8px;\r\n      flex-wrap: wrap;\r\n      flex: 1;\r\n      min-width: 0\r\n    }\r\n\r\n    .filter-section.scroll {\r\n      overflow-x: auto;\r\n      flex-wrap: nowrap;\r\n      scrollbar-width: none;\r\n      -webkit-overflow-scrolling: touch;\r\n      padding-bottom: 2px;\r\n      mask-image: linear-gradient(90deg, #000 92%, transparent)\r\n    }\r\n\r\n    .filter-section.scroll::-webkit-scrollbar {\r\n      display: none\r\n    }\r\n\r\n    .filter-label {\r\n      font-family: var(--mono);\r\n      font-size: 10px;\r\n      letter-spacing: .22em;\r\n      text-transform: uppercase;\r\n      color: var(--mute-2);\r\n      font-weight: 700;\r\n      padding-right: 6px;\r\n      white-space: nowrap\r\n    }\r\n\r\n    .chip {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 8px;\r\n      padding: 10px 16px;\r\n      border: 1px solid var(--line-2);\r\n      border-radius: 999px;\r\n      background: rgba(255, 255, 255, .02);\r\n      color: var(--mute);\r\n      font-size: 12.5px;\r\n      font-weight: 600;\r\n      letter-spacing: .01em;\r\n      transition: all .2s;\r\n      white-space: nowrap;\r\n      cursor: pointer;\r\n      font-family: inherit\r\n    }\r\n\r\n    .chip:hover {\r\n      border-color: var(--blue);\r\n      color: #fff\r\n    }\r\n\r\n    .chip.active {\r\n      background: var(--blue);\r\n      color: #031018;\r\n      border-color: var(--blue);\r\n      box-shadow: 0 6px 20px -8px var(--blue-glow)\r\n    }\r\n\r\n    .chip .count {\r\n      font-family: var(--mono);\r\n      font-size: 10px;\r\n      letter-spacing: .06em;\r\n      padding: 2px 6px;\r\n      border-radius: 6px;\r\n      background: rgba(255, 255, 255, .08);\r\n      color: var(--mute)\r\n    }\r\n\r\n    .chip.active .count {\r\n      background: rgba(0, 0, 0, .15);\r\n      color: rgba(3, 16, 24, .7)\r\n    }\r\n\r\n    .chip .dot {\r\n      width: 7px;\r\n      height: 7px;\r\n      border-radius: 50%\r\n    }\r\n\r\n    .chip[data-cat=\"indoor\"] .dot {\r\n      background: #6EC1EA;\r\n      box-shadow: 0 0 8px var(--blue-glow)\r\n    }\r\n\r\n    .chip[data-cat=\"outdoor\"] .dot {\r\n      background: #FFB547;\r\n      box-shadow: 0 0 8px rgba(255, 181, 71, .4)\r\n    }\r\n\r\n    .chip[data-cat=\"poster\"] .dot {\r\n      background: #F26FB4;\r\n      box-shadow: 0 0 8px rgba(242, 111, 180, .4)\r\n    }\r\n\r\n    .chip[data-cat=\"transparent\"] .dot {\r\n      background: #B6F36A;\r\n      box-shadow: 0 0 8px rgba(182, 243, 106, .4)\r\n    }\r\n\r\n    .filter-right {\r\n      display: flex;\r\n      gap: 8px;\r\n      align-items: center\r\n    }\r\n\r\n    .search {\r\n      position: relative;\r\n      display: flex;\r\n      align-items: center\r\n    }\r\n\r\n    .search input {\r\n      appearance: none;\r\n      background: rgba(255, 255, 255, .04);\r\n      border: 1px solid var(--line-2);\r\n      border-radius: 999px;\r\n      padding: 10px 16px 10px 38px;\r\n      color: #fff;\r\n      font-family: inherit;\r\n      font-size: 13px;\r\n      font-weight: 500;\r\n      width: 200px;\r\n      outline: none;\r\n      transition: all .2s\r\n    }\r\n\r\n    .search input:focus {\r\n      border-color: var(--blue);\r\n      background: rgba(255, 255, 255, .06);\r\n      width: 240px\r\n    }\r\n\r\n    .search input::placeholder {\r\n      color: var(--mute-2)\r\n    }\r\n\r\n    .search svg {\r\n      position: absolute;\r\n      left: 14px;\r\n      width: 16px;\r\n      height: 16px;\r\n      color: var(--mute);\r\n      pointer-events: none\r\n    }\r\n\r\n    .toggle-grid {\r\n      display: flex;\r\n      border: 1px solid var(--line-2);\r\n      border-radius: 999px;\r\n      padding: 3px;\r\n      gap: 2px\r\n    }\r\n\r\n    .toggle-grid button {\r\n      padding: 7px 10px;\r\n      border-radius: 999px;\r\n      color: var(--mute);\r\n      transition: all .2s;\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 6px;\r\n      font-size: 11.5px;\r\n      font-weight: 600;\r\n      font-family: var(--mono);\r\n      letter-spacing: .06em;\r\n      text-transform: uppercase\r\n    }\r\n\r\n    .toggle-grid button svg {\r\n      width: 14px;\r\n      height: 14px\r\n    }\r\n\r\n    .toggle-grid button.active {\r\n      background: rgba(255, 255, 255, .08);\r\n      color: #fff\r\n    }\r\n\r\n    @media (max-width:880px) {\r\n      .filter-bar {\r\n        padding: 12px 0\r\n      }\r\n\r\n      .filter-row {\r\n        gap: 12px\r\n      }\r\n\r\n      .filter-right {\r\n        width: 100%;\r\n        justify-content: space-between\r\n      }\r\n\r\n      .search input {\r\n        width: 100%;\r\n        flex: 1\r\n      }\r\n\r\n      .search {\r\n        flex: 1\r\n      }\r\n\r\n      .filter-label {\r\n        display: none\r\n      }\r\n    }\r\n\r\n    @media (max-width:560px) {\r\n      .toggle-grid button span {\r\n        display: none\r\n      }\r\n\r\n      .toggle-grid button {\r\n        padding: 8px\r\n      }\r\n    }\r\n\r\n    \/* \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 RESULT META \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 *\/\r\n    .result-bar {\r\n      padding: 20px 0 4px;\r\n      display: flex;\r\n      justify-content: space-between;\r\n      align-items: center;\r\n      gap: 16px;\r\n      flex-wrap: wrap\r\n    }\r\n\r\n    .result-bar .count {\r\n      font-family: var(--mono);\r\n      font-size: 12px;\r\n      letter-spacing: .16em;\r\n      text-transform: uppercase;\r\n      color: var(--mute)\r\n    }\r\n\r\n    .result-bar .count b {\r\n      color: #fff;\r\n      font-weight: 700\r\n    }\r\n\r\n    .result-bar .tip {\r\n      font-family: var(--mono);\r\n      font-size: 10.5px;\r\n      letter-spacing: .14em;\r\n      text-transform: uppercase;\r\n      color: var(--mute-2);\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 10px\r\n    }\r\n\r\n    .result-bar .tip .kbd {\r\n      padding: 3px 7px;\r\n      border: 1px solid var(--line-2);\r\n      border-radius: 5px;\r\n      background: rgba(255, 255, 255, .04);\r\n      color: #fff;\r\n      font-size: 10px\r\n    }\r\n\r\n    .reorder-toggle {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 8px;\r\n      padding: 7px 12px;\r\n      border: 1px solid var(--line-2);\r\n      border-radius: 999px;\r\n      font-size: 11px;\r\n      font-family: var(--mono);\r\n      letter-spacing: .14em;\r\n      text-transform: uppercase;\r\n      color: var(--mute);\r\n      transition: all .2s\r\n    }\r\n\r\n    .reorder-toggle:hover {\r\n      border-color: var(--blue);\r\n      color: #fff\r\n    }\r\n\r\n    .reorder-toggle.active {\r\n      background: rgba(110, 193, 234, .1);\r\n      border-color: var(--blue);\r\n      color: var(--blue)\r\n    }\r\n\r\n    .reorder-toggle svg {\r\n      width: 13px;\r\n      height: 13px\r\n    }\r\n\r\n    \/* \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 GRID \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 *\/\r\n    .gallery {\r\n      padding: 24px 0 96px\r\n    }\r\n\r\n    .grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(12, 1fr);\r\n      gap: 14px;\r\n      grid-auto-rows: 8px\r\n    }\r\n\r\n    \/* mobile: 2 columns *\/\r\n    @media (max-width:880px) {\r\n      .grid {\r\n        grid-template-columns: repeat(2, 1fr);\r\n        gap: 10px\r\n      }\r\n    }\r\n\r\n    @media (max-width:420px) {\r\n      .grid {\r\n        grid-template-columns: repeat(2, 1fr);\r\n        gap: 8px\r\n      }\r\n    }\r\n\r\n    .card {\r\n      position: relative;\r\n      border-radius: 14px;\r\n      overflow: hidden;\r\n      border: 1px solid var(--line-2);\r\n      background: #04060a;\r\n      cursor: pointer;\r\n      isolation: isolate;\r\n      transition: transform .35s cubic-bezier(.2, .7, .2, 1), border-color .25s, box-shadow .35s, opacity .2s;\r\n      will-change: transform;\r\n      touch-action: manipulation;\r\n    }\r\n\r\n    .card:hover {\r\n      border-color: var(--blue);\r\n      transform: translateY(-3px);\r\n      box-shadow: 0 30px 60px -25px var(--blue-glow), 0 8px 24px -10px rgba(0, 0, 0, .6);\r\n      z-index: 2\r\n    }\r\n\r\n    .card.dragging {\r\n      opacity: .35;\r\n      transform: scale(.96)\r\n    }\r\n\r\n    .card.drag-over {\r\n      border-color: var(--blue);\r\n      box-shadow: 0 0 0 2px var(--blue-glow), 0 0 40px -5px var(--blue-glow)\r\n    }\r\n\r\n    \/* desktop grid spans \u2014 varied sizes for masonry feel *\/\r\n    .card {\r\n      grid-column: span 3;\r\n      grid-row: span 28\r\n    }\r\n\r\n    .card.s-tall {\r\n      grid-row: span 38\r\n    }\r\n\r\n    .card.s-wide {\r\n      grid-column: span 6;\r\n      grid-row: span 28\r\n    }\r\n\r\n    .card.s-big {\r\n      grid-column: span 6;\r\n      grid-row: span 42\r\n    }\r\n\r\n    .card.s-square {\r\n      grid-row: span 24\r\n    }\r\n\r\n    @media (max-width:1180px) {\r\n      .grid {\r\n        grid-template-columns: repeat(8, 1fr)\r\n      }\r\n\r\n      .card {\r\n        grid-column: span 2\r\n      }\r\n\r\n      .card.s-wide {\r\n        grid-column: span 4\r\n      }\r\n\r\n      .card.s-big {\r\n        grid-column: span 4\r\n      }\r\n    }\r\n\r\n    @media (max-width:880px) {\r\n\r\n      .card,\r\n      .card.s-wide,\r\n      .card.s-big,\r\n      .card.s-tall,\r\n      .card.s-square {\r\n        grid-column: span 1;\r\n        grid-row: auto;\r\n        aspect-ratio: 1\/1\r\n      }\r\n\r\n      .card.feat-portrait {\r\n        aspect-ratio: 3\/4\r\n      }\r\n\r\n      .card.feat-wide {\r\n        grid-column: span 2;\r\n        aspect-ratio: 16\/10\r\n      }\r\n    }\r\n\r\n    \/* visual fill (placeholder uses LED gradient palettes) *\/\r\n    .card .vis {\r\n      position: absolute;\r\n      inset: 0;\r\n      background: #0a0f17\r\n    }\r\n\r\n    .card .vis img,\r\n    .card .vis video {\r\n      width: 100%;\r\n      height: 100%;\r\n      object-fit: cover;\r\n      display: block;\r\n      transition: transform .6s cubic-bezier(.2, .7, .2, 1)\r\n    }\r\n\r\n    .card:hover .vis img,\r\n    .card:hover .vis video {\r\n      transform: scale(1.06)\r\n    }\r\n\r\n    \/* LED-grid texture overlay on placeholder *\/\r\n    .card .vis::before {\r\n      content: \"\";\r\n      position: absolute;\r\n      inset: 0;\r\n      background-image: radial-gradient(circle, rgba(255, 255, 255, .4) 0.55px, transparent 1px);\r\n      background-size: 4px 4px;\r\n      mix-blend-mode: screen;\r\n      opacity: .35;\r\n      pointer-events: none;\r\n      z-index: 1\r\n    }\r\n\r\n    .card .vis::after {\r\n      content: \"\";\r\n      position: absolute;\r\n      inset: 0;\r\n      background: linear-gradient(180deg, transparent 45%, rgba(0, 0, 0, .88) 100%);\r\n      pointer-events: none;\r\n      z-index: 2\r\n    }\r\n\r\n    \/* color palettes for placeholders *\/\r\n    .pal-1 {\r\n      background: radial-gradient(ellipse 70% 50% at 50% 60%, rgba(255, 180, 40, .55), transparent 60%), radial-gradient(circle at 30% 30%, rgba(110, 193, 234, .35), transparent 50%), radial-gradient(circle at 80% 80%, rgba(220, 0, 0, .30), transparent 55%), linear-gradient(180deg, #0a0a14, #02040a)\r\n    }\r\n\r\n    .pal-2 {\r\n      background: radial-gradient(ellipse 65% 55% at 50% 45%, rgba(110, 193, 234, .6), transparent 60%), radial-gradient(circle at 75% 75%, rgba(40, 80, 180, .45), transparent 55%), linear-gradient(135deg, #06121c, #02060a)\r\n    }\r\n\r\n    .pal-3 {\r\n      background: radial-gradient(ellipse 80% 55% at 50% 45%, rgba(255, 140, 40, .6), transparent 55%), radial-gradient(ellipse 45% 35% at 50% 80%, rgba(220, 0, 40, .45), transparent 60%), linear-gradient(135deg, #1a0500, #0a0200)\r\n    }\r\n\r\n    .pal-4 {\r\n      background: radial-gradient(ellipse 70% 60% at 50% 50%, rgba(255, 220, 140, .4), transparent 60%), radial-gradient(circle at 30% 30%, rgba(255, 170, 60, .35), transparent 50%), linear-gradient(135deg, #1a0e02, #0a0500)\r\n    }\r\n\r\n    .pal-5 {\r\n      background: radial-gradient(ellipse 60% 55% at 50% 50%, rgba(240, 140, 200, .45), transparent 60%), radial-gradient(circle at 80% 30%, rgba(80, 40, 180, .4), transparent 55%), linear-gradient(135deg, #100818, #02020a)\r\n    }\r\n\r\n    .pal-6 {\r\n      background: radial-gradient(ellipse 70% 60% at 50% 50%, rgba(255, 200, 60, .5), transparent 55%), radial-gradient(circle at 30% 70%, rgba(220, 0, 40, .3), transparent 55%), linear-gradient(135deg, #1a1000, #0a0500)\r\n    }\r\n\r\n    .pal-7 {\r\n      background: radial-gradient(ellipse 60% 60% at 50% 50%, rgba(182, 243, 106, .45), transparent 55%), radial-gradient(circle at 30% 70%, rgba(110, 193, 234, .35), transparent 55%), linear-gradient(135deg, #04140a, #020602)\r\n    }\r\n\r\n    .pal-8 {\r\n      background: radial-gradient(ellipse 50% 60% at 30% 50%, rgba(110, 193, 234, .55), transparent 60%), radial-gradient(ellipse 50% 60% at 70% 50%, rgba(255, 200, 80, .45), transparent 60%), linear-gradient(135deg, #0a0a16, #02040a)\r\n    }\r\n\r\n    .pal-9 {\r\n      background: radial-gradient(ellipse 70% 50% at 50% 50%, rgba(242, 111, 180, .5), transparent 60%), radial-gradient(circle at 70% 30%, rgba(110, 193, 234, .35), transparent 55%), linear-gradient(135deg, #1a0814, #020208)\r\n    }\r\n\r\n    .pal-10 {\r\n      background: radial-gradient(ellipse 80% 60% at 50% 50%, rgba(80, 200, 120, .35), transparent 60%), radial-gradient(circle at 30% 70%, rgba(40, 80, 180, .4), transparent 55%), linear-gradient(135deg, #04140c, #02060a)\r\n    }\r\n\r\n    \/* card chrome (chips, label, hover info) *\/\r\n    .card .cat-chip {\r\n      position: absolute;\r\n      top: 12px;\r\n      left: 12px;\r\n      z-index: 5;\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 7px;\r\n      padding: 6px 10px;\r\n      border-radius: 999px;\r\n      background: rgba(0, 0, 0, .65);\r\n      backdrop-filter: blur(6px);\r\n      -webkit-backdrop-filter: blur(6px);\r\n      border: 1px solid rgba(255, 255, 255, .12);\r\n      font-family: var(--mono);\r\n      font-size: 9.5px;\r\n      letter-spacing: .18em;\r\n      text-transform: uppercase;\r\n      color: #fff;\r\n      font-weight: 700\r\n    }\r\n\r\n    .card .cat-chip .dot {\r\n      width: 6px;\r\n      height: 6px;\r\n      border-radius: 50%\r\n    }\r\n\r\n    .card[data-cat=\"indoor\"] .cat-chip .dot {\r\n      background: #6EC1EA;\r\n      box-shadow: 0 0 6px var(--blue-glow)\r\n    }\r\n\r\n    .card[data-cat=\"outdoor\"] .cat-chip .dot {\r\n      background: #FFB547;\r\n      box-shadow: 0 0 6px rgba(255, 181, 71, .5)\r\n    }\r\n\r\n    .card[data-cat=\"poster\"] .cat-chip .dot {\r\n      background: #F26FB4;\r\n      box-shadow: 0 0 6px rgba(242, 111, 180, .5)\r\n    }\r\n\r\n    .card[data-cat=\"transparent\"] .cat-chip .dot {\r\n      background: #B6F36A;\r\n      box-shadow: 0 0 6px rgba(182, 243, 106, .5)\r\n    }\r\n\r\n    .card .media-chip {\r\n      position: absolute;\r\n      top: 12px;\r\n      right: 12px;\r\n      z-index: 5;\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 6px;\r\n      padding: 6px 10px;\r\n      border-radius: 999px;\r\n      background: rgba(0, 0, 0, .65);\r\n      backdrop-filter: blur(6px);\r\n      -webkit-backdrop-filter: blur(6px);\r\n      border: 1px solid rgba(255, 255, 255, .12);\r\n      font-family: var(--mono);\r\n      font-size: 9.5px;\r\n      letter-spacing: .16em;\r\n      text-transform: uppercase;\r\n      color: #fff;\r\n      font-weight: 700\r\n    }\r\n\r\n    .card .media-chip svg {\r\n      width: 11px;\r\n      height: 11px;\r\n      color: var(--blue)\r\n    }\r\n\r\n    .card[data-type=\"video\"] .media-chip {\r\n      color: #fff\r\n    }\r\n\r\n    .card[data-type=\"video\"] .media-chip svg {\r\n      color: var(--red)\r\n    }\r\n\r\n    \/* video play badge *\/\r\n    .card .play {\r\n      position: absolute;\r\n      top: 50%;\r\n      left: 50%;\r\n      transform: translate(-50%, -50%);\r\n      z-index: 4;\r\n      width: 56px;\r\n      height: 56px;\r\n      border-radius: 50%;\r\n      background: rgba(0, 0, 0, .6);\r\n      border: 1.5px solid rgba(255, 255, 255, .4);\r\n      display: grid;\r\n      place-items: center;\r\n      backdrop-filter: blur(8px);\r\n      -webkit-backdrop-filter: blur(8px);\r\n      transition: all .3s;\r\n      pointer-events: none\r\n    }\r\n\r\n    .card:hover .play {\r\n      background: var(--red);\r\n      border-color: var(--red);\r\n      box-shadow: 0 0 0 6px var(--red-soft), 0 12px 32px -6px var(--red-glow);\r\n      transform: translate(-50%, -50%) scale(1.08)\r\n    }\r\n\r\n    .card .play svg {\r\n      width: 18px;\r\n      height: 18px;\r\n      color: #fff;\r\n      margin-left: 3px\r\n    }\r\n\r\n    \/* foot info \u2014 title + spec *\/\r\n    .card .info {\r\n      position: absolute;\r\n      left: 0;\r\n      right: 0;\r\n      bottom: 0;\r\n      z-index: 5;\r\n      padding: 14px;\r\n      display: flex;\r\n      flex-direction: column;\r\n      gap: 4px\r\n    }\r\n\r\n    .card .info .title {\r\n      font-size: 14.5px;\r\n      font-weight: 700;\r\n      letter-spacing: -.005em;\r\n      color: #fff;\r\n      line-height: 1.25;\r\n      text-wrap: balance;\r\n      display: -webkit-box;\r\n      -webkit-line-clamp: 2;\r\n      -webkit-box-orient: vertical;\r\n      overflow: hidden\r\n    }\r\n\r\n    .card .info .meta {\r\n      font-family: var(--mono);\r\n      font-size: 10px;\r\n      letter-spacing: .14em;\r\n      text-transform: uppercase;\r\n      color: rgba(255, 255, 255, .65);\r\n      font-weight: 600;\r\n      display: flex;\r\n      gap: 8px;\r\n      align-items: center;\r\n      flex-wrap: wrap\r\n    }\r\n\r\n    .card .info .meta .sep {\r\n      width: 3px;\r\n      height: 3px;\r\n      border-radius: 50%;\r\n      background: var(--mute-2)\r\n    }\r\n\r\n    .card .info .meta b {\r\n      color: var(--blue);\r\n      font-weight: 700\r\n    }\r\n\r\n    \/* drag handle (visible in reorder mode) *\/\r\n    .card .grip {\r\n      position: absolute;\r\n      top: 12px;\r\n      left: 50%;\r\n      transform: translateX(-50%);\r\n      z-index: 6;\r\n      width: 34px;\r\n      height: 18px;\r\n      border-radius: 5px;\r\n      background: rgba(0, 0, 0, .7);\r\n      border: 1px solid var(--line-2);\r\n      display: none;\r\n      align-items: center;\r\n      justify-content: center;\r\n      gap: 3px;\r\n      backdrop-filter: blur(6px)\r\n    }\r\n\r\n    .card .grip i {\r\n      width: 3px;\r\n      height: 3px;\r\n      border-radius: 50%;\r\n      background: #fff;\r\n      display: block\r\n    }\r\n\r\n    body.reorder-mode .card {\r\n      cursor: grab\r\n    }\r\n\r\n    body.reorder-mode .card:active {\r\n      cursor: grabbing\r\n    }\r\n\r\n    body.reorder-mode .card .grip {\r\n      display: flex\r\n    }\r\n\r\n    body.reorder-mode .card .play,\r\n    body.reorder-mode .card .info {\r\n      pointer-events: none;\r\n      opacity: .85\r\n    }\r\n\r\n    body.reorder-mode .card:hover {\r\n      transform: translateY(-2px) scale(1.01)\r\n    }\r\n\r\n    \/* corner brackets on card *\/\r\n    .card .corner {\r\n      position: absolute;\r\n      width: 14px;\r\n      height: 14px;\r\n      border: 1.5px solid rgba(255, 255, 255, .5);\r\n      z-index: 3;\r\n      pointer-events: none;\r\n      opacity: 0;\r\n      transition: opacity .25s\r\n    }\r\n\r\n    .card:hover .corner {\r\n      opacity: 1\r\n    }\r\n\r\n    .card .corner.tl {\r\n      top: 8px;\r\n      left: 8px;\r\n      border-right: 0;\r\n      border-bottom: 0\r\n    }\r\n\r\n    .card .corner.tr {\r\n      top: 8px;\r\n      right: 8px;\r\n      border-left: 0;\r\n      border-bottom: 0\r\n    }\r\n\r\n    .card .corner.bl {\r\n      bottom: 8px;\r\n      left: 8px;\r\n      border-right: 0;\r\n      border-top: 0\r\n    }\r\n\r\n    .card .corner.br {\r\n      bottom: 8px;\r\n      right: 8px;\r\n      border-left: 0;\r\n      border-top: 0\r\n    }\r\n\r\n    \/* \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 LOAD MORE \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 *\/\r\n    .load-more {\r\n      margin-top: 40px;\r\n      text-align: center\r\n    }\r\n\r\n    .load-more .btn-load {\r\n      padding: 16px 32px;\r\n      border: 1px solid var(--line-2);\r\n      border-radius: 999px;\r\n      font-family: var(--mono);\r\n      font-size: 11px;\r\n      letter-spacing: .22em;\r\n      text-transform: uppercase;\r\n      color: #fff;\r\n      font-weight: 700;\r\n      transition: all .25s;\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 14px\r\n    }\r\n\r\n    .load-more .btn-load:hover {\r\n      border-color: var(--blue);\r\n      color: var(--blue);\r\n      background: rgba(110, 193, 234, .04)\r\n    }\r\n\r\n    .load-more .btn-load .progress {\r\n      font-family: var(--mono);\r\n      color: var(--mute-2);\r\n      font-size: 10px;\r\n      letter-spacing: .14em\r\n    }\r\n\r\n    \/* \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 EMPTY \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 *\/\r\n    .empty {\r\n      padding: 80px 24px;\r\n      text-align: center;\r\n      border: 1px dashed var(--line-2);\r\n      border-radius: 18px;\r\n      background: rgba(255, 255, 255, .015);\r\n      display: none\r\n    }\r\n\r\n    .empty.show {\r\n      display: block\r\n    }\r\n\r\n    .empty .icon {\r\n      width: 60px;\r\n      height: 60px;\r\n      border-radius: 14px;\r\n      border: 1px solid var(--line-2);\r\n      display: inline-grid;\r\n      place-items: center;\r\n      color: var(--mute);\r\n      margin-bottom: 18px\r\n    }\r\n\r\n    .empty h3 {\r\n      font-size: 22px;\r\n      font-weight: 700;\r\n      letter-spacing: -.02em;\r\n      margin-bottom: 8px\r\n    }\r\n\r\n    .empty p {\r\n      font-size: 14px;\r\n      max-width: 380px;\r\n      margin: 0 auto\r\n    }\r\n\r\n    .empty .btn {\r\n      margin-top: 18px\r\n    }\r\n\r\n    \/* \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 LIGHTBOX \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 *\/\r\n    .lb {\r\n      position: fixed;\r\n      inset: 0;\r\n      z-index: 100;\r\n      background: rgba(0, 0, 0, .88);\r\n      backdrop-filter: blur(20px);\r\n      -webkit-backdrop-filter: blur(20px);\r\n      display: none;\r\n      opacity: 0;\r\n      transition: opacity .25s;\r\n      touch-action: none\r\n    }\r\n\r\n    .lb.open {\r\n      display: flex;\r\n      opacity: 1;\r\n      flex-direction: column\r\n    }\r\n\r\n    .lb-top {\r\n      padding: 18px 24px;\r\n      display: flex;\r\n      justify-content: space-between;\r\n      align-items: center;\r\n      gap: 16px;\r\n      border-bottom: 1px solid var(--line-2);\r\n      background: rgba(0, 0, 0, .5);\r\n      flex-shrink: 0\r\n    }\r\n\r\n    .lb-meta-l {\r\n      display: flex;\r\n      flex-direction: column;\r\n      gap: 4px;\r\n      min-width: 0;\r\n      flex: 1\r\n    }\r\n\r\n    .lb-counter {\r\n      font-family: var(--mono);\r\n      font-size: 11px;\r\n      letter-spacing: .22em;\r\n      text-transform: uppercase;\r\n      color: var(--blue);\r\n      font-weight: 700\r\n    }\r\n\r\n    .lb-counter b {\r\n      color: #fff\r\n    }\r\n\r\n    .lb-title {\r\n      font-size: 15px;\r\n      font-weight: 600;\r\n      color: #fff;\r\n      letter-spacing: -.005em;\r\n      white-space: nowrap;\r\n      overflow: hidden;\r\n      text-overflow: ellipsis\r\n    }\r\n\r\n    .lb-meta-r {\r\n      display: flex;\r\n      gap: 10px;\r\n      align-items: center;\r\n      flex-shrink: 0\r\n    }\r\n\r\n    .lb-chip {\r\n      font-family: var(--mono);\r\n      font-size: 10px;\r\n      letter-spacing: .16em;\r\n      text-transform: uppercase;\r\n      color: #fff;\r\n      font-weight: 700;\r\n      padding: 6px 10px;\r\n      border: 1px solid var(--line-2);\r\n      border-radius: 6px;\r\n      background: rgba(255, 255, 255, .04);\r\n      display: none\r\n    }\r\n\r\n    @media (min-width:720px) {\r\n      .lb-chip {\r\n        display: inline-flex;\r\n        align-items: center;\r\n        gap: 6px\r\n      }\r\n    }\r\n\r\n    .lb-chip .dot {\r\n      width: 6px;\r\n      height: 6px;\r\n      border-radius: 50%;\r\n      background: var(--blue);\r\n      box-shadow: 0 0 6px var(--blue-glow)\r\n    }\r\n\r\n    .lb-btn {\r\n      width: 42px;\r\n      height: 42px;\r\n      border-radius: 50%;\r\n      border: 1px solid var(--line-2);\r\n      display: grid;\r\n      place-items: center;\r\n      color: #fff;\r\n      transition: all .2s;\r\n      background: rgba(255, 255, 255, .04)\r\n    }\r\n\r\n    .lb-btn:hover {\r\n      border-color: var(--blue);\r\n      color: var(--blue);\r\n      background: rgba(110, 193, 234, .06)\r\n    }\r\n\r\n    .lb-btn svg {\r\n      width: 18px;\r\n      height: 18px\r\n    }\r\n\r\n    .lb-stage {\r\n      flex: 1;\r\n      position: relative;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      overflow: hidden;\r\n      min-height: 0\r\n    }\r\n\r\n    .lb-stage .media-wrap {\r\n      position: relative;\r\n      max-width: calc(100% - 32px);\r\n      max-height: 100%;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center\r\n    }\r\n\r\n    .lb-stage img,\r\n    .lb-stage video {\r\n      max-width: 100%;\r\n      max-height: calc(100vh - 200px);\r\n      object-fit: contain;\r\n      border-radius: 8px;\r\n      background: #040608;\r\n      display: block\r\n    }\r\n\r\n    .lb-stage .ph {\r\n      width: min(90vw, 1100px);\r\n      aspect-ratio: 16\/9;\r\n      border-radius: 10px;\r\n      display: grid;\r\n      place-items: center;\r\n      position: relative;\r\n      overflow: hidden;\r\n      border: 1px solid var(--line-2)\r\n    }\r\n\r\n    .lb-stage .ph::before {\r\n      content: \"\";\r\n      position: absolute;\r\n      inset: 0;\r\n      background-image: radial-gradient(circle, rgba(255, 255, 255, .5) 0.6px, transparent 1px);\r\n      background-size: 5px 5px;\r\n      mix-blend-mode: screen;\r\n      opacity: .35\r\n    }\r\n\r\n    .lb-stage .ph-inner {\r\n      position: relative;\r\n      z-index: 2;\r\n      text-align: center;\r\n      padding: 24px;\r\n      max-width: 80%\r\n    }\r\n\r\n    .lb-stage .ph-inner .tag {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 8px;\r\n      font-family: var(--mono);\r\n      font-size: 11px;\r\n      letter-spacing: .22em;\r\n      text-transform: uppercase;\r\n      color: #fff;\r\n      background: rgba(0, 0, 0, .65);\r\n      padding: 8px 14px;\r\n      border-radius: 999px;\r\n      border: 1px solid rgba(255, 255, 255, .18);\r\n      backdrop-filter: blur(6px);\r\n      margin-bottom: 14px\r\n    }\r\n\r\n    .lb-stage .ph-inner .tag::before {\r\n      content: \"\";\r\n      width: 7px;\r\n      height: 7px;\r\n      border-radius: 50%;\r\n      background: var(--blue);\r\n      box-shadow: 0 0 10px var(--blue-glow);\r\n      animation: pulse 2s ease-in-out infinite\r\n    }\r\n\r\n    @keyframes pulse {\r\n      50% {\r\n        opacity: .4\r\n      }\r\n    }\r\n\r\n    .lb-stage .ph-inner p {\r\n      font-family: var(--mono);\r\n      font-size: 12px;\r\n      letter-spacing: .04em;\r\n      color: rgba(255, 255, 255, .85);\r\n      line-height: 1.6\r\n    }\r\n\r\n    .lb-stage .ph-inner code {\r\n      font-family: var(--mono);\r\n      font-size: 11px;\r\n      background: rgba(110, 193, 234, .08);\r\n      border: 1px solid var(--line);\r\n      color: var(--blue);\r\n      padding: 3px 8px;\r\n      border-radius: 5px;\r\n      display: inline-block;\r\n      margin-top: 14px;\r\n      letter-spacing: .04em;\r\n      word-break: break-all\r\n    }\r\n\r\n    .lb-nav {\r\n      position: absolute;\r\n      top: 50%;\r\n      transform: translateY(-50%);\r\n      width: 52px;\r\n      height: 52px;\r\n      border-radius: 50%;\r\n      background: rgba(0, 0, 0, .65);\r\n      border: 1px solid var(--line-2);\r\n      display: grid;\r\n      place-items: center;\r\n      color: #fff;\r\n      transition: all .2s;\r\n      backdrop-filter: blur(8px);\r\n      z-index: 10\r\n    }\r\n\r\n    .lb-nav:hover {\r\n      border-color: var(--blue);\r\n      background: rgba(110, 193, 234, .1);\r\n      color: var(--blue)\r\n    }\r\n\r\n    .lb-nav svg {\r\n      width: 22px;\r\n      height: 22px\r\n    }\r\n\r\n    .lb-nav.prev {\r\n      left: 18px\r\n    }\r\n\r\n    .lb-nav.next {\r\n      right: 18px\r\n    }\r\n\r\n    .lb-nav:disabled {\r\n      opacity: .3;\r\n      cursor: not-allowed\r\n    }\r\n\r\n    @media (max-width:720px) {\r\n      .lb-nav {\r\n        width: 42px;\r\n        height: 42px\r\n      }\r\n\r\n      .lb-nav.prev {\r\n        left: 8px\r\n      }\r\n\r\n      .lb-nav.next {\r\n        right: 8px\r\n      }\r\n    }\r\n\r\n    .lb-bot {\r\n      padding: 14px 24px 18px;\r\n      border-top: 1px solid var(--line-2);\r\n      background: rgba(0, 0, 0, .5);\r\n      flex-shrink: 0\r\n    }\r\n\r\n    .lb-strip {\r\n      display: flex;\r\n      gap: 8px;\r\n      overflow-x: auto;\r\n      scrollbar-width: none;\r\n      padding-bottom: 4px;\r\n      -webkit-overflow-scrolling: touch\r\n    }\r\n\r\n    .lb-strip::-webkit-scrollbar {\r\n      display: none\r\n    }\r\n\r\n    .lb-thumb {\r\n      width: 72px;\r\n      height: 54px;\r\n      border-radius: 6px;\r\n      border: 1.5px solid transparent;\r\n      flex-shrink: 0;\r\n      cursor: pointer;\r\n      position: relative;\r\n      overflow: hidden;\r\n      background: #0a0f17;\r\n      transition: border-color .2s, transform .2s\r\n    }\r\n\r\n    .lb-thumb:hover {\r\n      transform: translateY(-2px)\r\n    }\r\n\r\n    .lb-thumb.active {\r\n      border-color: var(--blue);\r\n      box-shadow: 0 0 0 1px var(--blue), 0 6px 20px -8px var(--blue-glow)\r\n    }\r\n\r\n    .lb-thumb img {\r\n      width: 100%;\r\n      height: 100%;\r\n      object-fit: cover\r\n    }\r\n\r\n    .lb-thumb .ph-mini {\r\n      width: 100%;\r\n      height: 100%\r\n    }\r\n\r\n    .lb-thumb.is-video::after {\r\n      content: \"\";\r\n      position: absolute;\r\n      left: 50%;\r\n      top: 50%;\r\n      transform: translate(-50%, -50%);\r\n      width: 0;\r\n      height: 0;\r\n      border-left: 8px solid #fff;\r\n      border-top: 5px solid transparent;\r\n      border-bottom: 5px solid transparent;\r\n      filter: drop-shadow(0 0 4px rgba(0, 0, 0, .7))\r\n    }\r\n\r\n    .lb-tip {\r\n      margin-top: 10px;\r\n      font-family: var(--mono);\r\n      font-size: 10px;\r\n      letter-spacing: .16em;\r\n      text-transform: uppercase;\r\n      color: var(--mute-2);\r\n      display: flex;\r\n      gap: 18px;\r\n      justify-content: center;\r\n      align-items: center;\r\n      flex-wrap: wrap\r\n    }\r\n\r\n    .lb-tip .kbd {\r\n      padding: 2px 6px;\r\n      border: 1px solid var(--line-2);\r\n      border-radius: 4px;\r\n      background: rgba(255, 255, 255, .04);\r\n      color: #fff;\r\n      font-size: 9.5px;\r\n      margin: 0 4px\r\n    }\r\n\r\n    @media (max-width:720px) {\r\n      .lb-tip {\r\n        display: none\r\n      }\r\n\r\n      .lb-bot {\r\n        padding: 10px 12px 14px\r\n      }\r\n\r\n      .lb-thumb {\r\n        width: 56px;\r\n        height: 42px\r\n      }\r\n    }\r\n\r\n    \/* \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 CTA + FOOT \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 *\/\r\n    .cta-mid {\r\n      padding: 80px 0;\r\n      background: var(--ink-2)\r\n    }\r\n\r\n    .cta-card {\r\n      position: relative;\r\n      border: 1px solid var(--line);\r\n      border-radius: 24px;\r\n      padding: 48px;\r\n      background: linear-gradient(180deg, rgba(110, 193, 234, .06), rgba(220, 0, 0, .04)), var(--ink);\r\n      overflow: hidden;\r\n      display: grid;\r\n      grid-template-columns: 1fr auto;\r\n      gap: 36px;\r\n      align-items: center\r\n    }\r\n\r\n    .cta-card::before {\r\n      content: \"\";\r\n      position: absolute;\r\n      right: -150px;\r\n      top: -150px;\r\n      width: 400px;\r\n      height: 400px;\r\n      border-radius: 50%;\r\n      background: radial-gradient(circle, var(--blue-glow), transparent 70%);\r\n      filter: blur(40px);\r\n      pointer-events: none\r\n    }\r\n\r\n    .cta-card .l {\r\n      position: relative;\r\n      z-index: 2\r\n    }\r\n\r\n    .cta-card h3 {\r\n      margin-top: 14px;\r\n      font-size: clamp(26px, 3.2vw, 40px);\r\n      letter-spacing: -.025em;\r\n      line-height: 1.1;\r\n      max-width: 640px\r\n    }\r\n\r\n    .cta-card h3 .accent {\r\n      color: var(--blue)\r\n    }\r\n\r\n    .cta-card p {\r\n      margin-top: 14px;\r\n      font-size: 15px;\r\n      line-height: 1.6;\r\n      max-width: 540px\r\n    }\r\n\r\n    .cta-card .r {\r\n      position: relative;\r\n      z-index: 2;\r\n      display: flex;\r\n      gap: 12px;\r\n      flex-wrap: wrap\r\n    }\r\n\r\n    @media (max-width:880px) {\r\n      .cta-card {\r\n        grid-template-columns: 1fr;\r\n        padding: 32px;\r\n        gap: 24px\r\n      }\r\n    }\r\n\r\n    .foot {\r\n      padding: 36px 0;\r\n      border-top: 1px solid var(--line-2);\r\n      background: var(--black)\r\n    }\r\n\r\n    .foot-inner {\r\n      display: flex;\r\n      justify-content: space-between;\r\n      align-items: center;\r\n      gap: 20px;\r\n      flex-wrap: wrap;\r\n      font-family: var(--mono);\r\n      font-size: 11px;\r\n      letter-spacing: .18em;\r\n      text-transform: uppercase;\r\n      color: var(--mute-2)\r\n    }\r\n\r\n    .foot-links {\r\n      display: flex;\r\n      gap: 22px;\r\n      flex-wrap: wrap\r\n    }\r\n\r\n    .foot-links a:hover {\r\n      color: var(--blue)\r\n    }\r\n\r\n    \/* scrollbar polish *\/\r\n    ::-webkit-scrollbar {\r\n      width: 10px;\r\n      height: 10px\r\n    }\r\n\r\n    ::-webkit-scrollbar-track {\r\n      background: #04060a\r\n    }\r\n\r\n    ::-webkit-scrollbar-thumb {\r\n      background: rgba(110, 193, 234, .2);\r\n      border-radius: 5px\r\n    }\r\n\r\n    ::-webkit-scrollbar-thumb:hover {\r\n      background: rgba(110, 193, 234, .4)\r\n    }\r\n\r\n    \/* prefer-reduced-motion *\/\r\n    @media (prefers-reduced-motion: reduce) {\r\n\r\n      *,\r\n      *::before,\r\n      *::after {\r\n        animation-duration: .01ms !important;\r\n        transition-duration: .01ms !important\r\n      }\r\n    }\r\n\r\n    \/* focus for a11y *\/\r\n    button:focus-visible,\r\n    a:focus-visible,\r\n    input:focus-visible {\r\n      outline: 2px solid var(--blue);\r\n      outline-offset: 3px;\r\n      border-radius: 6px\r\n    }\r\n\r\n    \/* remove LED dot\/grid lines from images\/videos *\/\r\n    .card .vis::before,\r\n    .lb-stage .ph::before {\r\n      display: none !important;\r\n    }\r\n\r\n    \/* make media clean *\/\r\n    .card .vis img,\r\n    .card .vis video {\r\n      object-fit: cover;\r\n    }\r\n\r\n    \/* tablet responsive *\/\r\n    @media (max-width: 1024px) {\r\n      .wrap {\r\n        padding: 0 20px;\r\n      }\r\n\r\n      .hero-inner {\r\n        grid-template-columns: 1fr;\r\n      }\r\n\r\n      .grid {\r\n        grid-template-columns: repeat(2, 1fr) !important;\r\n        grid-auto-rows: auto !important;\r\n      }\r\n\r\n      .card,\r\n      .card.s-wide,\r\n      .card.s-big,\r\n      .card.s-tall,\r\n      .card.s-square {\r\n        grid-column: span 1 !important;\r\n        grid-row: auto !important;\r\n        aspect-ratio: 1 \/ 1;\r\n      }\r\n    }\r\n\r\n    \/* mobile responsive *\/\r\n    @media (max-width: 600px) {\r\n      .wrap {\r\n        padding: 0 14px;\r\n      }\r\n\r\n      .hero {\r\n        padding: 34px 0 28px;\r\n      }\r\n\r\n      .hero h1 {\r\n        font-size: 38px;\r\n      }\r\n\r\n      .hero-intro {\r\n        font-size: 14px;\r\n      }\r\n\r\n      .hero-stats {\r\n        grid-template-columns: 1fr 1fr;\r\n      }\r\n\r\n      .filter-bar {\r\n        top: 0;\r\n      }\r\n\r\n      .filter-row {\r\n        display: block;\r\n      }\r\n\r\n      .filter-section.scroll {\r\n        margin-bottom: 12px;\r\n        overflow-x: auto;\r\n        flex-wrap: nowrap;\r\n      }\r\n\r\n      .filter-right {\r\n        width: 100%;\r\n        display: flex;\r\n        flex-direction: column;\r\n        align-items: stretch;\r\n      }\r\n\r\n      .search,\r\n      .search input {\r\n        width: 100% !important;\r\n      }\r\n\r\n      .toggle-grid {\r\n        width: 100%;\r\n        justify-content: center;\r\n      }\r\n\r\n      .grid {\r\n        grid-template-columns: 1fr !important;\r\n        gap: 14px;\r\n      }\r\n\r\n      .card,\r\n      .card.s-wide,\r\n      .card.s-big,\r\n      .card.s-tall,\r\n      .card.s-square,\r\n      .card.feat-wide,\r\n      .card.feat-portrait {\r\n        grid-column: span 1 !important;\r\n        aspect-ratio: 1 \/ 1;\r\n      }\r\n\r\n      .cta-card {\r\n        padding: 24px;\r\n      }\r\n    }\r\n\r\n    \/* Move whole hero section content lower for WordPress header space *\/\r\n.hero {\r\n  padding-top: 100px !important;\r\n  min-height: 720px !important;\r\n}\r\n\r\n\/* Keep content inside hero grid and lower *\/\r\n.hero-inner {\r\n  padding-top: 40px !important;\r\n  align-items: center !important;\r\n}\r\n\r\n\/* Mobile adjustment *\/\r\n@media (max-width: 600px) {\r\n  .hero {\r\n    padding-top: 90px !important;\r\n    min-height: 650px !important;\r\n  }\r\n\r\n  .hero-inner {\r\n    padding-top: 25px !important;\r\n  }\r\n}\r\n  <\/style>\r\n<\/head>\r\n\r\n<body>\r\n\r\n\r\n\r\n  <!-- ================================================================\r\n     BREADCRUMB\r\n     ================================================================ -->\r\n  \r\n\r\n  <!-- ================================================================\r\n     HERO\r\n     ================================================================ -->\r\n  <section class=\"hero\" data-screen-label=\"01 Hero\">\r\n    <div class=\"wrap crumb\">\r\n    <a href=\"https:\/\/starleddisplay.com\/\">Home<\/a>\r\n    <span class=\"sep\">\/<\/span>\r\n    <b>Projects<\/b>\r\n  <\/div>\r\n    <div class=\"wrap hero-inner\">\r\n      <div>\r\n        <div class=\"hero-cat\"><span class=\"num\">PROJECTS<\/span><span>Photo &amp; Video Archive<\/span><\/div>\r\n        <h1>Every install,<br>every <span class=\"underline\">screen<\/span>,<br>across the <span\r\n            class=\"accent\">UAE<\/span>.<\/h1>\r\n        <p class=\"hero-intro\">Browse the full StarLED archive \u2014 every indoor LED wall, outdoor facade, poster display,\r\n          and transparent screen we've delivered. Filter by category, tap any photo or video to expand, drag cards to\r\n          rearrange your view.<\/p>\r\n      <\/div>\r\n      <div class=\"hero-stats\">\r\n        <div class=\"hero-stat\">\r\n          <span class=\"k\">Total Projects<\/span>\r\n          <span class=\"v\" id=\"statTotal\">240<span class=\"u\">+<\/span><\/span>\r\n        <\/div>\r\n        <div class=\"hero-stat\">\r\n          <span class=\"k\">Photos<\/span>\r\n          <span class=\"v\" id=\"statPhotos\">186<\/span>\r\n        <\/div>\r\n        <div class=\"hero-stat\">\r\n          <span class=\"k\">Videos<\/span>\r\n          <span class=\"v\" id=\"statVideos\">54<\/span>\r\n        <\/div>\r\n        <div class=\"hero-stat\">\r\n          <span class=\"k\">Categories<\/span>\r\n          <span class=\"v\">04<\/span>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <!-- ================================================================\r\n     FILTER BAR (sticky)\r\n     ================================================================ -->\r\n  <div class=\"filter-bar\" id=\"filterBar\">\r\n    <div class=\"wrap filter-row\">\r\n      <div class=\"filter-section scroll\" role=\"tablist\" aria-label=\"Category filter\">\r\n        <span class=\"filter-label\">Category<\/span>\r\n        <button class=\"chip active\" data-filter=\"all\" role=\"tab\" aria-selected=\"true\">All <span class=\"count\"\r\n            id=\"cnt-all\">240<\/span><\/button>\r\n        <button class=\"chip\" data-filter=\"indoor\" data-cat=\"indoor\" role=\"tab\" aria-selected=\"false\"><span\r\n            class=\"dot\"><\/span>Indoor <span class=\"count\" id=\"cnt-indoor\">94<\/span><\/button>\r\n        <button class=\"chip\" data-filter=\"outdoor\" data-cat=\"outdoor\" role=\"tab\" aria-selected=\"false\"><span\r\n            class=\"dot\"><\/span>Outdoor <span class=\"count\" id=\"cnt-outdoor\">82<\/span><\/button>\r\n        <button class=\"chip\" data-filter=\"poster\" data-cat=\"poster\" role=\"tab\" aria-selected=\"false\"><span\r\n            class=\"dot\"><\/span>Poster <span class=\"count\" id=\"cnt-poster\">38<\/span><\/button>\r\n        <button class=\"chip\" data-filter=\"transparent\" data-cat=\"transparent\" role=\"tab\" aria-selected=\"false\"><span\r\n            class=\"dot\"><\/span>Transparent <span class=\"count\" id=\"cnt-transparent\">26<\/span><\/button>\r\n      <\/div>\r\n      <div class=\"filter-right\">\r\n        <div class=\"search\">\r\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" aria-hidden=\"true\">\r\n            <circle cx=\"11\" cy=\"11\" r=\"7\" \/>\r\n            <path d=\"M21 21l-4.3-4.3\" \/>\r\n          <\/svg>\r\n          <input id=\"searchInput\" type=\"search\" placeholder=\"Search projects\u2026\" aria-label=\"Search projects\">\r\n        <\/div>\r\n        <div class=\"toggle-grid\" role=\"tablist\" aria-label=\"Media type\">\r\n          <button class=\"active\" data-type=\"all\" aria-selected=\"true\">\r\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\r\n              <rect x=\"3\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\" \/>\r\n              <rect x=\"14\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\" \/>\r\n              <rect x=\"3\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\" \/>\r\n              <rect x=\"14\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\" \/>\r\n            <\/svg>\r\n            <span>All<\/span>\r\n          <\/button>\r\n          <button data-type=\"photo\" aria-selected=\"false\">\r\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\r\n              <rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\" \/>\r\n              <circle cx=\"8.5\" cy=\"11\" r=\"1.5\" fill=\"currentColor\" \/>\r\n              <path d=\"M21 17l-5-5-9 9\" \/>\r\n            <\/svg>\r\n            <span>Photos<\/span>\r\n          <\/button>\r\n          <button data-type=\"video\" aria-selected=\"false\">\r\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\r\n              <rect x=\"3\" y=\"6\" width=\"14\" height=\"12\" rx=\"2\" \/>\r\n              <path d=\"M17 10l4-2v8l-4-2z\" fill=\"currentColor\" \/>\r\n            <\/svg>\r\n            <span>Videos<\/span>\r\n          <\/button>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- ================================================================\r\n     GALLERY\r\n     ================================================================ -->\r\n  <section class=\"gallery\" data-screen-label=\"02 Gallery\">\r\n    <div class=\"wrap\">\r\n      <div class=\"result-bar\">\r\n        <span class=\"count\"><b id=\"resultCount\">0<\/b> projects shown <span id=\"resultFilter\"><\/span><\/span>\r\n        <div style=\"display:flex;gap:10px;align-items:center;flex-wrap:wrap\">\r\n          <span class=\"tip\">Tap to expand <span class=\"kbd\">\u23ce<\/span><\/span>\r\n          <button class=\"reorder-toggle\" id=\"reorderBtn\" aria-pressed=\"false\">\r\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\r\n              <circle cx=\"9\" cy=\"6\" r=\"1.5\" fill=\"currentColor\" \/>\r\n              <circle cx=\"9\" cy=\"12\" r=\"1.5\" fill=\"currentColor\" \/>\r\n              <circle cx=\"9\" cy=\"18\" r=\"1.5\" fill=\"currentColor\" \/>\r\n              <circle cx=\"15\" cy=\"6\" r=\"1.5\" fill=\"currentColor\" \/>\r\n              <circle cx=\"15\" cy=\"12\" r=\"1.5\" fill=\"currentColor\" \/>\r\n              <circle cx=\"15\" cy=\"18\" r=\"1.5\" fill=\"currentColor\" \/>\r\n            <\/svg>\r\n            <span id=\"reorderLabel\">Reorder<\/span>\r\n          <\/button>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- ============================================================\r\n         The grid is generated by JS from the PROJECTS array below.\r\n         Each project is a card. To add real images \/ videos: edit\r\n         the PROJECTS array and replace src:'' with your URL.\r\n         ============================================================ -->\r\n      <div class=\"grid\" id=\"grid\" role=\"list\"><\/div>\r\n\r\n      <div class=\"empty\" id=\"empty\">\r\n        <div class=\"icon\">\r\n          <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\">\r\n            <rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\" \/>\r\n            <circle cx=\"8.5\" cy=\"11\" r=\"1.5\" \/>\r\n            <path d=\"M21 17l-5-5-9 9\" \/>\r\n          <\/svg>\r\n        <\/div>\r\n        <h3>No matches in this view<\/h3>\r\n        <p>Try a different category, clear your search, or reset the filters to see the full archive.<\/p>\r\n        <button class=\"btn btn-ghost\" id=\"clearFiltersBtn\">Clear filters <span class=\"arr\"><\/span><\/button>\r\n      <\/div>\r\n\r\n      <div class=\"load-more\" id=\"loadMoreWrap\">\r\n        <button class=\"btn-load\" id=\"loadMoreBtn\">\r\n          Load more projects\r\n          <span class=\"progress\"><span id=\"loadedCount\">0<\/span> \/ <span id=\"totalCount\">0<\/span><\/span>\r\n        <\/button>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <!-- ================================================================\r\n     MID CTA\r\n     ================================================================ -->\r\n  <section class=\"cta-mid\">\r\n    <div class=\"wrap\">\r\n      <div class=\"cta-card\">\r\n        <div class=\"l\">\r\n          <span class=\"eyebrow\">Your project next<\/span>\r\n          <h3>Same team, same calibration discipline \u2014 for <span class=\"accent\">your storefront<\/span>.<\/h3>\r\n          <p>Send us a photo of the location and the viewing distance. We'll come back with a fixed written quote, the\r\n            recommended pixel pitch, and the brightness spec \u2014 no estimates.<\/p>\r\n        <\/div>\r\n        <div class=\"r\">\r\n          <a href=\"https:\/\/starleddisplay.com\/contact-us\/\" class=\"btn btn-primary\">Get a fixed quote <span\r\n              class=\"arr\"><\/span><\/a>\r\n          <a href=\"https:\/\/starleddisplay.com\/retail-led-screen\/\" class=\"btn btn-ghost\">Read case studies <span class=\"arr\"><\/span><\/a>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n\r\n  <!-- ================================================================\r\n     LIGHTBOX\r\n     ================================================================ -->\r\n  <div class=\"lb\" id=\"lb\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"lbTitle\" aria-hidden=\"true\">\r\n    <div class=\"lb-top\">\r\n      <div class=\"lb-meta-l\">\r\n        <span class=\"lb-counter\"><b id=\"lbIndex\">01<\/b> \/ <span id=\"lbTotal\">00<\/span> \u00b7 <span\r\n            id=\"lbCat\">Indoor<\/span><\/span>\r\n        <span class=\"lb-title\" id=\"lbTitle\">\u2014<\/span>\r\n      <\/div>\r\n      <div class=\"lb-meta-r\">\r\n        <span class=\"lb-chip\" id=\"lbChip\"><span class=\"dot\"><\/span><span id=\"lbChipText\">SMD \u00b7 P3<\/span><\/span>\r\n        <button class=\"lb-btn\" id=\"lbShare\" aria-label=\"Copy link\" title=\"Copy link\">\r\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\r\n            <path d=\"M10 14l4-4M14 4h6v6M20 14v6h-6M4 10V4h6\" \/>\r\n          <\/svg>\r\n        <\/button>\r\n        <button class=\"lb-btn\" id=\"lbClose\" aria-label=\"Close\">\r\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\r\n            <path d=\"M6 6l12 12M18 6L6 18\" \/>\r\n          <\/svg>\r\n        <\/button>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"lb-stage\" id=\"lbStage\">\r\n      <button class=\"lb-nav prev\" id=\"lbPrev\" aria-label=\"Previous\"><svg viewBox=\"0 0 24 24\" fill=\"none\"\r\n          stroke=\"currentColor\" stroke-width=\"2\">\r\n          <path d=\"M15 6l-6 6 6 6\" \/>\r\n        <\/svg><\/button>\r\n      <div class=\"media-wrap\" id=\"lbMediaWrap\"><\/div>\r\n      <button class=\"lb-nav next\" id=\"lbNext\" aria-label=\"Next\"><svg viewBox=\"0 0 24 24\" fill=\"none\"\r\n          stroke=\"currentColor\" stroke-width=\"2\">\r\n          <path d=\"M9 6l6 6-6 6\" \/>\r\n        <\/svg><\/button>\r\n    <\/div>\r\n    <div class=\"lb-bot\">\r\n      <div class=\"lb-strip\" id=\"lbStrip\"><\/div>\r\n      <div class=\"lb-tip\"><span><span class=\"kbd\">\u2190<\/span><span class=\"kbd\">\u2192<\/span> navigate<\/span><span><span\r\n            class=\"kbd\">Esc<\/span> close<\/span><span>Swipe on touch<\/span><\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <script>\r\n    \/* =====================================================================\r\n       PROJECT DATA  \u2014  EDIT THIS ARRAY\r\n       ---------------------------------------------------------------------\r\n       This is where you wire in real photo \/ video URLs.\r\n    \r\n       Each project has:\r\n         id      : unique id (anything, used for save\/reorder)\r\n         type    : 'photo' or 'video'\r\n         cat     : 'indoor' | 'outdoor' | 'poster' | 'transparent'\r\n         title   : project \/ location name shown on the card\r\n         spec    : short tech spec shown under the title (e.g. \"P3.9 \u00b7 SMD\")\r\n         src     : URL to the image OR video (leave '' to keep placeholder)\r\n         poster  : URL to a poster image for videos (optional, '' for placeholder)\r\n         size    : 'square' | 'tall' | 'wide' | 'big'  (desktop tile size)\r\n    \r\n       How to wire in a real asset:\r\n         - For an image:  src: 'images\/jawhara-mirdif-01.jpg'\r\n         - For a video:   src: 'videos\/homes-r-us-facade.mp4', poster: 'images\/homes-r-us-poster.jpg'\r\n         - Mix and match \u2014 any item without src shows the LED gradient placeholder.\r\n    \r\n       The array can grow to hundreds of items \u2014 the grid lazy-loads in\r\n       batches of LOAD_BATCH at a time.\r\n       ===================================================================== *\/\r\n    const PROJECTS = [\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\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\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         HOW TO EDIT \u2014 Read before changing anything\r\n         \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n         1. Ctrl+F the URL or id to find a card quickly\r\n         2. Change  cat:   \u2192  'indoor' | 'outdoor' | 'poster' | 'transparent'\r\n         3. Change  title: \u2192  the real project name shown on the card\r\n         4. Change  spec:  \u2192  e.g.  'SMD \u00b7 P2.5'  'SPT \u00b7 P6'  'COB \u00b7 P1.8'\r\n         5. Change  size:  \u2192  'square' | 'tall' | 'wide' | 'big'\r\n         6. Videos only: fill in  poster:  with a thumbnail\/image URL\r\n         All cards default to  cat:'indoor' \u2014 change each one as needed.\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\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\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\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\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      \/\/ 2025 \/ 08  \u2014 Indoor & Outdoor installation photos\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\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n      { id: 's01', type: 'photo', cat: 'indoor', title: 'Indoor LED Screen', spec: \" \", src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/08\/Indoor-LED-Screen-advertisment-on-screen.jpg', size: 'wide', pal: 1 },\r\n      { id: 's02', type: 'photo', cat: 'outdoor', title: 'Outdoor LED Screen \u2014 Dominos', spec: \" \", src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/08\/outdoor-LED-screen-with-dominozs-add-and-black-background.jpg', size: 'wide', pal: 1 },\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\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\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      \/\/ 2025 \/ 09  \u2014 iOS project photos\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\r\n      { id: 's04', type: 'photo', cat: 'outdoor', title: 'Project \u2014 Jan 2024', spec: ' ', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/09\/20240119_181436000_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 's05', type: 'photo', cat: 'outdoor', title: 'Project \u2014 Mar 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/09\/20240327_201818696_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 's06', type: 'photo', cat: 'outdoor', title: 'Project \u2014 Jan 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/09\/20250110_115901000_iOS-1.jpg', size: 'square', pal: 1 },\r\n      { id: 's07', type: 'photo', cat: 'outdoor', title: 'Project \u2014 Apr 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/09\/20250417_015336000_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 's08', type: 'photo', cat: 'outdoor', title: 'Project \u2014 May 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/09\/20250520_154844681_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 's09', type: 'photo', cat: 'outdoor', title: 'Project \u2014 Jul 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/09\/20250715_015915000_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 's10', type: 'photo', cat: 'indoor', title: 'Project \u2014 Jul 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/09\/20250723_042348870_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 's11', type: 'photo', cat: 'indoor', title: 'LED Installation', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/09\/46461a32bbb74908ac6db2e54736df18.jpg', size: 'square', pal: 1 },\r\n      { id: 's13', type: 'photo', cat: 'outdoor', title: 'LED Installation', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/09\/IMG_0187.jpg', size: 'square', pal: 1 },\r\n      { id: 's14', type: 'photo', cat: 'indoor', title: 'LED Installation', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/09\/IMG_0633.jpg', size: 'square', pal: 1 },\r\n      { id: 's17', type: 'photo', cat: 'indoor', title: 'LED Installation \u2014 Sep 2023', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/09\/WhatsApp-Image-2023-09-18-at-11.45.17-AM.jpeg', size: 'square', pal: 1 },\r\n      { id: 's18', type: 'photo', cat: 'indoor', title: 'LED Installation', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/09\/a1e1224183b84e9a801ab3c7569a3d92.jpg', size: 'square', pal: 1 },\r\n      { id: 's19', type: 'photo', cat: 'indoor', title: 'LED Installation', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/09\/bac4e2adc35c4632aa31c26397374bf3.jpg', size: 'square', pal: 1 },\r\n      { id: 's20', type: 'photo', cat: 'indoor', title: 'LED Installation', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/09\/c0367ffa60fa490481544627d0dfe21a.jpg', size: 'square', pal: 1 },\r\n      { id: 's21', type: 'photo', cat: 'indoor', title: 'LED Installation', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/09\/ecf91f162a644164bda21cd95aace2bf.jpg', size: 'square', pal: 1 },\r\n      { id: 's22', type: 'photo', cat: 'transparent', title: 'Pear Motors \u2014 Transparent LED Wall', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/09\/pear-motors-transparent-LED-Screen-Wall-Dubai-1.jpg', size: 'big', pal: 1 },\r\n      { id: 's23', type: 'video', cat: 'indoor', title: 'LED Screen Video Reel', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/09\/Videos2025-08-25_165027_841.mp4', size: 'wide', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/WechatIMG64.jpg' },\r\n\r\n      \/\/ \u2500\u2500 2025\/09 \u2014 Showcase graphics (Untitled-design series)\r\n      \/\/    These are likely Canva\/social posts \u2014 set correct cat & title\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\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\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      \/\/ 2025 \/ 10  \u2014 Project photos\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\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\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\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\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      \/\/ 2025 \/ 11  \u2014 Project photos\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\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n\r\n      { id: 'n04', type: 'photo', cat: 'outdoor', title: 'Outdoor LED Screen', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/11\/outdoor-screen.webp', size: 'wide', pal: 1 },\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\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\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      \/\/ 2026 \/ 01  \u2014 Building Facade (Outdoor)\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\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\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\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\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      \/\/ 2026 \/ 02  \u2014 Building Facade series (Outdoor)\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\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\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\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\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      \/\/ 2026 \/ 03  \u2014 Mixed project photos\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\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n      { id: 'm01', type: 'photo', cat: 'indoor', title: 'Project \u2014 Oct 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/03\/20241008_100821000_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 'm02', type: 'photo', cat: 'indoor', title: 'Project \u2014 Jul 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/03\/20250723_105826221_iOS-1.jpg', size: 'square', pal: 1 },\r\n      { id: 'm03', type: 'photo', cat: 'indoor', title: 'Hotel Lobby LED Display Screen', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/03\/Hotel-Lobby-LED-Display-Screen-1024x615.jpg.webp', size: 'wide', pal: 1 },\r\n      { id: 'm04', type: 'photo', cat: 'indoor', title: 'LED Installation', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/03\/IMG_1815.jpg', size: 'square', pal: 1 },\r\n      \/\/ \u2500\u2500 2026\/03 \u2014 Building Facade series\r\n\r\n      \/\/ \u2500\u2500 2026\/03 \u2014 Untitled-design showcase graphics\r\n\r\n      { id: 'm17', type: 'photo', cat: 'indoor', title: 'Project Showcase', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/03\/Untitled-design-8.webp', size: 'square', pal: 1 },\r\n      \/\/ \u2500\u2500 2026\/03 \u2014 WechatIMG project photos\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\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\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      \/\/ 2026 \/ 04  \u2014 Photos + COB \/ NX product demo videos\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\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n      { id: 'k01', type: 'photo', cat: 'outdoor', title: 'Project \u2014 Jan 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/04\/20240119_134154000_iOS.jpg', size: 'square', pal: 1 },\r\n\r\n      \/\/ \u2500\u2500 2026\/04 Videos \u2014 COB & NX product demos (change cat\/title)\r\n      { id: 'k06', type: 'video', cat: 'outdoor', title: 'StarLED Brand Video', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/04\/Start-Led-2.mp4', size: 'wide', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-123029.png' },\r\n      { id: 'k07', type: 'video', cat: 'indoor', title: 'COB Durability Demo', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/04\/cob-durability-test-video.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-123526.png' },\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\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\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      \/\/ 2026 \/ 05  \u2014 PHOTOS  (iOS, WhatsApp, WeChat, IMG, Picture series)\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\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n      { id: 'p001', type: 'photo', cat: 'indoor', title: 'Project \u2014 Nov 2021', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20211101_130441000_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 'p002', type: 'photo', cat: 'outdoor', title: 'Project \u2014 Nov 2023', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20231115_073739411_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 'p003', type: 'photo', cat: 'outdoor', title: 'Project \u2014 Nov 2023', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20231115_083557493_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 'p004', type: 'photo', cat: 'outdoor', title: 'Project \u2014 Nov 2023', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20231116_184953577_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 'p005', type: 'photo', cat: 'outdoor', title: 'Project \u2014 Nov 2023 (B)', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20231116_184953577_iOS-1.jpg', size: 'square', pal: 1 },\r\n      { id: 'p006', type: 'photo', cat: 'outdoor', title: 'Project \u2014 Nov 2023', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20231116_185002061_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 'p007', type: 'photo', cat: 'outdoor', title: 'Project \u2014 Mar 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240327_201959855_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 'p008', type: 'photo', cat: 'indoor', title: 'Project \u2014 Jun 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240624_110926859_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 'p009', type: 'photo', cat: 'indoor', title: 'Project \u2014 Jul 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240706_140332000_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 'p010', type: 'photo', cat: 'indoor', title: 'Project \u2014 Jul 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240729_120202000_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 'p011', type: 'photo', cat: 'indoor', title: 'Project \u2014 Sep 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240904_065944000_iOS-1.jpg', size: 'square', pal: 1 },\r\n      { id: 'p012', type: 'photo', cat: 'indoor', title: 'Project \u2014 Sep 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240924_134405000_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 'p013', type: 'photo', cat: 'indoor', title: 'Project \u2014 Sep 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240927_050611000_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 'p014', type: 'photo', cat: 'indoor', title: 'Project \u2014 Sep 2024 (B)', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240927_050612000_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 'p015', type: 'photo', cat: 'indoor', title: 'Project \u2014 Oct 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20241008_100821000_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 'p016', type: 'photo', cat: 'indoor', title: 'Project \u2014 Oct 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20241014_183552000_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 'p017', type: 'photo', cat: 'indoor', title: 'Project \u2014 Nov 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20241104_190333000_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 'p018', type: 'photo', cat: 'outdoor', title: 'Project \u2014 Jan 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250110_121446000_iOS-1.jpg', size: 'square', pal: 1 },\r\n      { id: 'p019', type: 'photo', cat: 'outdoor', title: 'Project \u2014 Jan 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250124_023747000_iOS-1.jpg', size: 'square', pal: 1 },\r\n      { id: 'p020', type: 'photo', cat: 'outdoor', title: 'Project \u2014 Jan 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250127_140708000_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 'p021', type: 'photo', cat: 'outdoor', title: 'Project \u2014 Jan 2025 (B)', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250127_140843000_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 'p022', type: 'photo', cat: 'indoor', title: 'Project \u2014 Feb 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250205_005343000_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 'p023', type: 'photo', cat: 'outdoor', title: 'Project \u2014 Mar 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250307_111118000_iOS-1.jpg', size: 'square', pal: 1 },\r\n      { id: 'p024', type: 'photo', cat: 'outdoor', title: 'Project \u2014 Mar 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250327_100139000_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 'p025', type: 'photo', cat: 'outdoor', title: 'Project \u2014 Mar 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250329_154345000_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 'p026', type: 'photo', cat: 'indoor', title: 'Project \u2014 Apr 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250414_142926000_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 'p027', type: 'photo', cat: 'indoor', title: 'Project \u2014 Apr 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250416_014851000_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 'p028', type: 'photo', cat: 'outdoor', title: 'Project \u2014 Apr 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250417_015336000_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 'p029', type: 'photo', cat: 'indoor', title: 'Project \u2014 Apr 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250419_114657000_iOS-1.jpg', size: 'square', pal: 1 },\r\n      { id: 'p030', type: 'photo', cat: 'outdoor', title: 'Project \u2014 May 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/2025\uff10\uff15\uff12\uff10_\uff11\uff15\uff14\uff18\uff14\uff15\uff16\uff11\uff14_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 'p\u2080\u2083\u2081', type: 'photo', cat: 'outdoor', title: 'Project \u2014 Jul \uff12\uff10\uff12\uff15', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/\uff12\uff10\uff12\uff16\/\uff10\uff15\/\uff12\uff10\uff12\uff15\uff10\uff17\uff10\uff13_\uff11\uff18\uff10\uff11\uff11\uff17\uff10\uff10\uff10_iOS.jpg', size: 'square', pal: 1 },\r\n      { id: 'p043', type: 'photo', cat: 'outdoor', title: 'LED Installation', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_0072.jpg', size: 'square', pal: 1 },\r\n      { id: 'p044', type: 'photo', cat: 'outdoor', title: 'LED Installation', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_0073.jpg', size: 'square', pal: 1 },\r\n      { id: 'p045', type: 'photo', cat: 'outdoor', title: 'LED Installation', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_0187.jpg', size: 'square', pal: 1 },\r\n      { id: 'p046', type: 'photo', cat: 'outdoor', title: 'LED Installation', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_1087.jpg', size: 'square', pal: 1 },\r\n      { id: 'p047', type: 'photo', cat: 'outdoor', title: 'LED Installation', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_1088.jpg', size: 'square', pal: 1 },\r\n      { id: 'p048', type: 'photo', cat: 'indoor', title: 'LED Installation', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_1418-1.jpg', size: 'square', pal: 1 },\r\n      { id: 'p049', type: 'photo', cat: 'indoor', title: 'LED Installation', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_1507.webp', size: 'square', pal: 1 },\r\n      { id: 'p050', type: 'photo', cat: 'indoor', title: 'LED Installation', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_1704.webp', size: 'square', pal: 1 },\r\n      { id: 'p051', type: 'photo', cat: 'indoor', title: 'LED Installation', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_1715.webp', size: 'square', pal: 1 },\r\n      { id: 'p052', type: 'photo', cat: 'indoor', title: 'LED Installation', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_1716.JPG.jpeg', size: 'square', pal: 1 },\r\n      { id: 'p053', type: 'photo', cat: 'indoor', title: 'LED Installation', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_1782.jpg', size: 'square', pal: 1 },\r\n      { id: 'p054', type: 'photo', cat: 'indoor', title: 'LED Installation', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_9719.jpg', size: 'square', pal: 1 },\r\n      { id: 'p055', type: 'photo', cat: 'outdoor', title: 'LED Installation', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_9767.jpg', size: 'square', pal: 1 },\r\n      { id: 'p056', type: 'photo', cat: 'indoor', title: 'Pan Homescreen Display', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Pan-Homescr.jpeg', size: 'wide', pal: 1 },\r\n      { id: 'p057', type: 'photo', cat: 'indoor', title: 'LED Installation', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/PXL_20250827_125728866.MP_.webp', size: 'square', pal: 1 },\r\n      { id: 'p059', type: 'photo', cat: 'indoor', title: 'LED Project Photo 3', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Picture3.jpg', size: 'square', pal: 1 },\r\n      { id: 'p060', type: 'photo', cat: 'outdoor', title: 'LED Project Photo 4', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Picture4.jpg', size: 'square', pal: 1 },\r\n\r\n      { id: 'p063', type: 'photo', cat: 'outdoor', title: 'LED Project Photo 7', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Picture7.jpg', size: 'square', pal: 1 },\r\n      { id: 'p064', type: 'photo', cat: 'outdoor', title: 'LED Project Photo 8', spec: ' ', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Picture8.jpg', size: 'square', pal: 1 },\r\n      { id: 'p065', type: 'photo', cat: 'outdoor', title: 'LED Project Photo 9', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Picture9.jpg', size: 'square', pal: 1 },\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\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\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      \/\/ 2026 \/ 05  \u2014 VIDEOS  (iOS recordings, WhatsApp, WeChat edits)\r\n      \/\/    For each video, fill in  poster:  with a thumbnail image URL\r\n      \/\/    then set the correct  cat:  and  title:\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\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n      { id: 'v001', type: 'video', cat: 'indoor', title: 'Video \u2014 Aug 2023', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20230803_165011000_iOS.mov', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-123919.png' },\r\n      { id: 'v002', type: 'video', cat: 'outdoor', title: 'Video \u2014 Nov 2023', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20231117_062420000_iOS.mov', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-124150.png' },\r\n      { id: 'v003', type: 'video', cat: 'indoor', title: 'Video \u2014 Jan 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240125_160221000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-124424.png' },\r\n      { id: 'v004', type: 'video', cat: 'indoor', title: 'Video \u2014 Jan 2024 (B)', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240125_204938000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-124559.png' },\r\n      { id: 'v005', type: 'video', cat: 'indoor', title: 'Video \u2014 Feb 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240226_152529000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-124745.png' },\r\n      { id: 'v006', type: 'video', cat: 'indoor', title: 'Video \u2014 Mar 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240311_115534000_iOS.mov', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Picture1-1.png' },\r\n      { id: 'v007', type: 'video', cat: 'outdoor', title: 'Video \u2014 Mar 2024 (B)', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240327_201918000_iOS.mov', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-125122.png' },\r\n      { id: 'v008', type: 'video', cat: 'outdoor', title: 'Video \u2014 Apr 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240408_131719000_iOS-1.mov', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-125318.png' },\r\n      { id: 'v009', type: 'video', cat: 'outdoor', title: 'Video \u2014 May 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240510_164204000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-125749.png' },\r\n      { id: 'v010', type: 'video', cat: 'outdoor', title: 'Video \u2014 May 2024 (B)', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240515_161057000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-125845.png' },\r\n      { id: 'v011', type: 'video', cat: 'indoor', title: 'Video \u2014 Jun 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240605_083118000_iOS.mov', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-130242.png' },\r\n      { id: 'v012', type: 'video', cat: 'indoor', title: 'Video \u2014 Jun 2024 (B)', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240624_113618000_iOS.mov', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240624_110926859_iOS-1.jpg' },\r\n      { id: 'v013', type: 'video', cat: 'outdoor', title: 'Video \u2014 Jul 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240706_205538000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-130431.png' },\r\n      { id: 'v014', type: 'video', cat: 'outdoor', title: 'Video \u2014 Jul 2024 (B)', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240720_035039000_iOS.mov', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2024\/10\/Pearl-Motors-Screen-Wall-Dubai.jpg' },\r\n      { id: 'v015', type: 'video', cat: 'indoor', title: 'Video \u2014 Aug 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240802_092553000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Pan-Homescr.jpeg' },\r\n      { id: 'v016', type: 'video', cat: 'indoor', title: 'Video \u2014 Aug 2024 (B)', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240802_093742000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Pan-Homescr.jpeg' },\r\n      { id: 'v017', type: 'video', cat: 'outdoor', title: 'Video \u2014 Aug 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240821_201927000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/09\/pear-motors-transparent-LED-Screen-Wall-Dubai-1.jpg' },\r\n      { id: 'v018', type: 'video', cat: 'indoor', title: 'Video \u2014 Sep 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240910_133144000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240624_110926859_iOS-1.jpg' },\r\n      { id: 'v019', type: 'video', cat: 'indoor', title: 'Video \u2014 Sep 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240915_065013000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-131158.png' },\r\n      { id: 'v020', type: 'video', cat: 'indoor', title: 'Video \u2014 Sep 2024 (B)', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240915_065014000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-131353.png' },\r\n      { id: 'v021', type: 'video', cat: 'indoor', title: 'Video \u2014 Sep 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240917_000110000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-131453.png' },\r\n      { id: 'v022', type: 'video', cat: 'indoor', title: 'Video \u2014 Sep 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240918_090244000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-131549.png' },\r\n      { id: 'v023', type: 'video', cat: 'outdoor', title: 'Video \u2014 Sep 2024 (B)', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240918_092830000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-131810.png' },\r\n      { id: 'v024', type: 'video', cat: 'outdoor', title: 'Video \u2014 Sep 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240920_161457000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-132006.png' },\r\n      { id: 'v025', type: 'video', cat: 'indoor', title: 'Video \u2014 Sep 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240921_090816000_iOS.mov', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-132103.png' },\r\n      { id: 'v026', type: 'video', cat: 'outdoor', title: 'Video \u2014 Sep 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240922_020846000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-132145.png' },\r\n      { id: 'v027', type: 'video', cat: 'indoor', title: 'Video \u2014 Sep 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240927_150217000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-132414.png' },\r\n      { id: 'v028', type: 'video', cat: 'outdoor', title: 'Video \u2014 Oct 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20241031_184304000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20231116_184953577_iOS.jpg ' },\r\n      { id: 'v029', type: 'video', cat: 'outdoor', title: 'Video \u2014 Nov 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20241114_074452000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2024\/10\/Baniyas-LED-Screen-Wall-Dubai.jpg' },\r\n      { id: 'v030', type: 'video', cat: 'indoor', title: 'Video \u2014 Nov 2024 (B)', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20241128_104558000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-132827.png' },\r\n      { id: 'v031', type: 'video', cat: 'indoor', title: 'Video \u2014 Dec 2024', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20241201_035442000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/01\/Regal-LED-Screen.jpg' },\r\n      { id: 'v032', type: 'video', cat: 'indoor', title: 'Video \u2014 Dec 2024', spec: 'SMD \u00b7 ', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20241217_124622000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/01\/Inddor-Screen-2.jpg' },\r\n      { id: 'v033', type: 'video', cat: 'indoor', title: 'Video \u2014 Dec 2024', spec: 'SMD \u00b7 ', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20241221_093612000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/01\/Mall-Screen.jpg' },\r\n      { id: 'v034', type: 'video', cat: 'indoor', title: 'Video \u2014 Dec 2024 (B)', spec: 'SMD \u00b7 ', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20241222_180031000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250915_154114718_iOS.jpg' },\r\n      { id: 'v035', type: 'video', cat: 'indoor', title: 'Video \u2014 Jan 2025', spec: 'SMD \u00b7 ', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250102_101043000_iOS-1.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-133730.png' },\r\n      { id: 'v036', type: 'video', cat: 'outdoor', title: 'Video \u2014 Jan 2025 (B)', spec: 'SMD \u00b7 ', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250108_123811000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2024\/10\/Beijing-Theraphy-LED-Screen-Wall-Dubai.jpg' },\r\n      { id: 'v037', type: 'video', cat: 'outdoor', title: 'Video \u2014 Jan 2025', spec: 'SMD \u00b7 ', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250110_121426000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/01\/Ajman-Bus-Stand-P4-Outdoor-Display-Screen.jpg' },\r\n      { id: 'v038', type: 'video', cat: 'outdoor', title: 'Video \u2014 Jan 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250125_171312000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-134035.png' },\r\n      { id: 'v039', type: 'video', cat: 'indoor', title: 'Video \u2014 Feb 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250204_115628000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-134223.png' },\r\n      { id: 'v040', type: 'video', cat: 'indoor', title: 'Video \u2014 Feb 2025 (B)', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250205_023724000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250205_005343000_iOS-1-1.jpg' },\r\n      { id: 'v041', type: 'video', cat: 'indoor', title: 'Video \u2014 Feb 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250206_090041000_iOS-1.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2024\/11\/Jawhara-Saudi-01.jpg' },\r\n      { id: 'v042', type: 'video', cat: 'indoor', title: 'Video \u2014 Feb 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250213_161813000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-151348.png' },\r\n      { id: 'v043', type: 'video', cat: 'indoor', title: 'Video \u2014 Feb 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250227_142946000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-151241.png' },\r\n      { id: 'v044', type: 'video', cat: 'indoor', title: 'Video \u2014 Mar 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250301_110922000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-151140.png' },\r\n      { id: 'v045', type: 'video', cat: 'outdoor', title: 'Video \u2014 Mar 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250307_111118000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250307_111118000_iOS-1.jpg' },\r\n      { id: 'v046', type: 'video', cat: 'outdoor', title: 'Video \u2014 Mar 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250314_095508000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-125122.png' },\r\n      { id: 'v047', type: 'video', cat: 'indoor', title: 'Video \u2014 Mar 2025 (B)', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250322_125929000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250419_114657000_iOS-1.jpg' },\r\n      { id: 'v048', type: 'video', cat: 'indoor', title: 'Video \u2014 Mar 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250326_124759000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/01\/Hope-English-School-LED-Screen.jpg' },\r\n      { id: 'v049', type: 'video', cat: 'outdoor', title: 'Video \u2014 Mar 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250327_120202000_iOS-1.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250327_100139000_iOS.jpg' },\r\n      { id: 'v050', type: 'video', cat: 'indoor', title: 'Video \u2014 Mar 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250329_170305000_iOS-1.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-150214.png' },\r\n      { id: 'v051', type: 'video', cat: 'poster', title: 'Video \u2014 Apr 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250408_074521000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2024\/10\/HWU-LED-Screen-Wall-01-Dubai.jpg' },\r\n      { id: 'v052', type: 'video', cat: 'indoor', title: 'Video \u2014 Apr 2025 (B)', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250408_130056000_iOS-1.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-150002.png' },\r\n      { id: 'v053', type: 'video', cat: 'outdoor', title: 'Video \u2014 Apr 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250414_160730000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2023\/09\/IMG_1087.jpg' },\r\n      { id: 'v054', type: 'video', cat: 'indoor', title: 'Video \u2014 Apr 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250415_151815000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2023\/09\/IMG_1087.jpg' },\r\n      { id: 'v055', type: 'video', cat: 'indoor', title: 'Video \u2014 Apr 2025 (B)', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250415_151816000_iOS-1.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250414_142926000_iOS.jpg' },\r\n      { id: 'v056', type: 'video', cat: 'indoor', title: 'Video \u2014 Apr 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250416_014857000_iOS-1.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-145625.png' },\r\n      { id: 'v057', type: 'video', cat: 'indoor', title: 'Video \u2014 Apr 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250417_015335000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/09\/20250417_015336000_iOS-scaled-e1758527426193.jpg' },\r\n      { id: 'v059', type: 'video', cat: 'indoor', title: 'Video \u2014 May 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250515_020130000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-145239.png' },\r\n      { id: 'v060', type: 'video', cat: 'outdoor', title: 'Video \u2014 May 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250520_154831000_iOS.mov', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/09\/20250520_154844681_iOS-scaled-e1758536699878.jpg' },\r\n      { id: 'v061', type: 'video', cat: 'outdoor', title: 'Video \u2014 May 2025 (B)', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250520_154906000_iOS.mov', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/09\/20250520_154844681_iOS-scaled-e1758536699878.jpg' },\r\n      { id: 'v062', type: 'video', cat: 'outdoor', title: 'Video \u2014 Jun 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250602_141112000_iOS.mov', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-144904.png' },\r\n      { id: 'v063', type: 'video', cat: 'outdoor', title: 'Video \u2014 Jul 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250703_180148000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250703_180117000_iOS.jpg' },\r\n      { id: 'v064', type: 'video', cat: 'outdoor', title: 'Video \u2014 Jul 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250717_154644000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-144602.png' },\r\n      { id: 'v066', type: 'video', cat: 'indoor', title: 'Video \u2014 Jul 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250724_014757000_iOS.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250724_014757000_iOS.jpg' },\r\n      { id: 'v067', type: 'video', cat: 'outdoor', title: 'Video \u2014 Aug 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250804_072836000_iOS.mov', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-144237.png' },\r\n      { id: 'v068', type: 'video', cat: 'outdoor', title: 'Video \u2014 Aug 2025 (B)', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250804_074635000_iOS.mov', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250804_074730715_iOS.jpg' },\r\n      { id: 'v069', type: 'video', cat: 'outdoor', title: 'LED Screen Clip 1', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/11cb5696-29ad-46c9-a94e-555130bb7335.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2023\/09\/IMG_1087.jpg' },\r\n      { id: 'v070', type: 'video', cat: 'indoor', title: 'LED Screen Clip 2', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/16fbb1e8-a4ed-433e-99a0-55eae90deac0.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-131453.png' },\r\n      { id: 'v071', type: 'video', cat: 'outdoor', title: 'LED Screen Clip 3', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/414c2d66-d798-45c0-8074-c41d1b6b4394.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2024\/10\/Mamzar-Centre-LED-Screen-Wall-Dubai.jpg' },\r\n      { id: 'v072', type: 'video', cat: 'indoor', title: 'WeChat Edit Video 1', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/6017fa072fe411a45cfe3f8168f79c06_WC-EditVideo_1.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_1716.JPG.jpeg' },\r\n      { id: 'v073', type: 'video', cat: 'indoor', title: 'WeChat Edit Video 2', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/7f940c8926d8f6f12dda74a58e29b458_WC-EditVideo_1.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240927_050611000_iOS.jpg' },\r\n      { id: 'v074', type: 'video', cat: 'indoor', title: 'WeChat Edit Video 3', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/90e508595882fac60682fc11adc00f99_WC-EditVideo_1.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-143020.png' },\r\n      { id: 'v075', type: 'video', cat: 'indoor', title: 'WeChat Edit Video 4', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/96108954856bf8401c51162430ed2e9b_WC-EditVideo_1.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2024\/10\/HWU-LED-Screen-Wall-02-Dubai.jpg' },\r\n      { id: 'v076', type: 'video', cat: 'indoor', title: 'WeChat Edit Video 5', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/9ee087675ce13d5f31ae013f7675c675_WC-EditVideo_1.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240924_134405000_iOS.jpg' },\r\n      { id: 'v077', type: 'video', cat: 'outdoor', title: 'LED Video \u2014 IMG_0637', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_0637.mov', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/09\/IMG_0187-scaled-e1756992826793.jpg' },\r\n      { id: 'v078', type: 'video', cat: 'outdoor', title: 'LED Video \u2014 IMG_0652', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_0652.mov', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/09\/pear-motors-transparent-LED-Screen-Wall-Dubai-1.jpg' },\r\n      { id: 'v079', type: 'video', cat: 'indoor', title: 'LED Video \u2014 IMG_1684', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_1684.mov', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20240924_134405000_iOS.jpg' },\r\n      { id: 'v080', type: 'video', cat: 'indoor', title: 'LED Video \u2014 IMG_1712', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_1712.mov', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_1715.webp' },\r\n      { id: 'v081', type: 'video', cat: 'indoor', title: 'LED Video \u2014 IMG_1713', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_1713.mov', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2024\/10\/JawharaLED-Screen-Wall.jpg' },\r\n      { id: 'v082', type: 'video', cat: 'indoor', title: 'LED Video \u2014 IMG_1779', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_1779.mov', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2024\/10\/HWU-LED-Screen-Wall-02-Dubai.jpg' },\r\n      { id: 'v083', type: 'video', cat: 'indoor', title: 'LED Video \u2014 IMG_1784', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_1784.mov', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_1782.jpg' },\r\n      { id: 'v084', type: 'video', cat: 'indoor', title: 'LED Video \u2014 IMG_4814', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_4814.mov', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2024\/10\/private-pool-LED-Screen-Wall-dubai.jpg' },\r\n      { id: 'v085', type: 'video', cat: 'indoor', title: 'LED Video \u2014 IMG_9397', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_9397-1.mov', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_9719.jpg' },\r\n      { id: 'v086', type: 'video', cat: 'indoor', title: 'LED Video \u2014 IMG_9514', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_9514.mov', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2024\/10\/Hut-Potato-LED-Screen-Wall-Sharjah.jpg' },\r\n      { id: 'v087', type: 'video', cat: 'indoor', title: 'LED Video \u2014 IMG_9652', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/IMG_9652.mov', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-140856.png' },\r\n      { id: 'v088', type: 'video', cat: 'indoor', title: 'Pan Homescreen Video', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Pan-Homescrvid.mp4', size: 'wide', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Pan-Homescr.jpeg' },\r\n      { id: 'v089', type: 'video', cat: 'indoor', title: 'LED Video \u2014 Jul 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/PXL_20250722_032847744.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/45472656-6b06-41d0-9367-4a603633f662.webp' },\r\n      { id: 'v090', type: 'video', cat: 'indoor', title: 'LED Video \u2014 Aug 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/PXL_20250821_061452666.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-140024.png' },\r\n      { id: 'v091', type: 'video', cat: 'indoor', title: 'WhatsApp Video \u2014 Jul 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/VID-20250722-WA0000.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2025\/09\/20250723_042348870_iOS-scaled-e1756991316752.jpg' },\r\n      { id: 'v092', type: 'video', cat: 'indoor', title: 'WhatsApp Video \u2014 Jul 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/VID-20250724-WA0002.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250724_014757000_iOS.jpg' },\r\n      { id: 'v093', type: 'video', cat: 'outdoor', title: 'WhatsApp Video \u2014 Aug 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/VID-20250809-WA0006.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250124_023747000_iOS-1.jpg' },\r\n      { id: 'v094', type: 'video', cat: 'outdoor', title: 'WhatsApp Video \u2014 Aug 2025 (B)', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/VID-20250809-WA0029.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/20250127_140708000_iOS.jpg' },\r\n      { id: 'v095', type: 'video', cat: 'outdoor', title: 'WhatsApp Video \u2014 Sep 2025', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/VID-20250901-WA0000.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-134846.png' },\r\n      { id: 'v096', type: 'video', cat: 'outdoor', title: 'WhatsApp Video \u2014 Sep 2025 (B)', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/VID-20250902-WA0004.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-26-134846.png' },\r\n      { id: 'v097', type: 'video', cat: 'outdoor', title: 'Pearl LED Screen Video', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/pearl001.mov', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2024\/10\/Pearl-Motors-Screen-Wall-Dubai.jpg' },\r\n      { id: 'v098', type: 'video', cat: 'poster', title: 'Poster Screen Video', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/poster-screen-video.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-583.png' },\r\n      { id: 'v099', type: 'video', cat: 'poster', title: 'Poster Screen Video (B)', spec: '', src: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/poster-vdeo.mp4', size: 'square', pal: 2, poster: 'https:\/\/starleddisplay.com\/wp-content\/uploads\/2026\/05\/Screenshot-584.png' },\r\n\r\n    ];\r\n    const LOAD_BATCH = 18;             \/\/ how many cards to render per batch\r\n    const STORAGE_KEY = 'starled.projects.order.v1';\r\n    const grid = document.getElementById('grid');\r\n    const empty = document.getElementById('empty');\r\n    const loadMoreWrap = document.getElementById('loadMoreWrap');\r\n    const loadMoreBtn = document.getElementById('loadMoreBtn');\r\n\r\n    let state = {\r\n      filterCat: 'all',\r\n      filterType: 'all',\r\n      search: '',\r\n      rendered: 0,        \/\/ count of cards currently in DOM\r\n      reorder: false,\r\n      filtered: [],       \/\/ current filtered array\r\n      order: loadOrder()  \/\/ saved card order (array of ids)\r\n    };\r\n\r\n    function loadOrder() {\r\n      try { return JSON.parse(localStorage.getItem(STORAGE_KEY) || '[]'); } catch (e) { return []; }\r\n    }\r\n    function saveOrder(ids) {\r\n      try { localStorage.setItem(STORAGE_KEY, JSON.stringify(ids)); } catch (e) { }\r\n    }\r\n\r\n    \/* sort PROJECTS by saved order (if any) *\/\r\n    function applySavedOrder(arr) {\r\n      if (!state.order.length) return arr;\r\n      const map = new Map(arr.map(p => [p.id, p]));\r\n      const seen = new Set();\r\n      const sorted = [];\r\n      state.order.forEach(id => { if (map.has(id)) { sorted.push(map.get(id)); seen.add(id); } });\r\n      arr.forEach(p => { if (!seen.has(p.id)) sorted.push(p); });\r\n      return sorted;\r\n    }\r\n\r\n    \/* \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 update category counts in chip pills \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 *\/\r\n    function updateCounts() {\r\n      const counts = { all: PROJECTS.length, indoor: 0, outdoor: 0, poster: 0, transparent: 0 };\r\n      PROJECTS.forEach(p => counts[p.cat]++);\r\n      Object.entries(counts).forEach(([k, v]) => {\r\n        const el = document.getElementById('cnt-' + k);\r\n        if (el) el.textContent = v;\r\n      });\r\n      \/\/ hero stats\r\n      document.getElementById('statTotal').innerHTML = PROJECTS.length + '<span class=\"u\">+<\/span>';\r\n      document.getElementById('statPhotos').textContent = PROJECTS.filter(p => p.type === 'photo').length;\r\n      document.getElementById('statVideos').textContent = PROJECTS.filter(p => p.type === 'video').length;\r\n    }\r\n    updateCounts();\r\n\r\n    \/* \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 build filtered list \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 *\/\r\n    function rebuildFiltered() {\r\n      const data = applySavedOrder([...PROJECTS]);\r\n      const q = state.search.trim().toLowerCase();\r\n      state.filtered = data.filter(p => {\r\n        if (state.filterCat !== 'all' && p.cat !== state.filterCat) return false;\r\n        if (state.filterType !== 'all' && p.type !== state.filterType) return false;\r\n        if (q) {\r\n          const hay = (p.title + ' ' + p.spec + ' ' + p.cat).toLowerCase();\r\n          if (!hay.includes(q)) return false;\r\n        }\r\n        return true;\r\n      });\r\n      state.rendered = 0;\r\n      grid.innerHTML = '';\r\n      document.getElementById('resultCount').textContent = state.filtered.length;\r\n      const lbl = [];\r\n      if (state.filterCat !== 'all') lbl.push(state.filterCat);\r\n      if (state.filterType !== 'all') lbl.push(state.filterType + 's');\r\n      if (state.search) lbl.push('for \"' + state.search + '\"');\r\n      document.getElementById('resultFilter').textContent = lbl.length ? '\u00b7 ' + lbl.join(' \u00b7 ') : '';\r\n      document.getElementById('totalCount').textContent = state.filtered.length;\r\n\r\n      if (state.filtered.length === 0) {\r\n        empty.classList.add('show');\r\n        loadMoreWrap.style.display = 'none';\r\n      } else {\r\n        empty.classList.remove('show');\r\n        renderNextBatch();\r\n      }\r\n    }\r\n\r\n    \/* \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 render a batch of cards \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 *\/\r\n    function renderNextBatch() {\r\n      const slice = state.filtered.slice(state.rendered, state.rendered + LOAD_BATCH);\r\n      slice.forEach((p, i) => grid.appendChild(makeCard(p, state.rendered + i)));\r\n      state.rendered += slice.length;\r\n      document.getElementById('loadedCount').textContent = state.rendered;\r\n      loadMoreWrap.style.display = state.rendered < state.filtered.length ? 'block' : 'none';\r\n    }\r\n\r\n    \/* \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 make a card \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 *\/\r\n    function makeCard(p, index) {\r\n      const a = document.createElement('button');\r\n      a.className = 'card s-' + (p.size || 'square');\r\n      a.dataset.id = p.id;\r\n      a.dataset.cat = p.cat;\r\n      a.dataset.type = p.type;\r\n      a.dataset.index = index;\r\n      a.setAttribute('role', 'listitem');\r\n      a.setAttribute('aria-label', p.title + ', ' + p.cat + ', ' + (p.type === 'video' ? 'video' : 'photo'));\r\n\r\n      \/\/ visual: image \/ video poster \/ placeholder\r\n      const vis = document.createElement('div');\r\n      vis.className = 'vis pal-' + (p.pal || 1);\r\n      if (p.type === 'photo' && p.src) {\r\n        const img = document.createElement('img');\r\n        img.src = p.src; img.alt = p.title; img.loading = 'lazy';\r\n        img.onerror = () => img.remove();\r\n        vis.appendChild(img);\r\n      } else if (p.type === 'video' && p.poster) {\r\n        const img = document.createElement('img');\r\n        img.src = p.poster; img.alt = p.title; img.loading = 'lazy';\r\n        img.onerror = () => img.remove();\r\n        vis.appendChild(img);\r\n      }\r\n      a.appendChild(vis);\r\n\r\n      \/\/ corner brackets\r\n      ['tl', 'tr', 'bl', 'br'].forEach(c => {\r\n        const s = document.createElement('span');\r\n        s.className = 'corner ' + c;\r\n        a.appendChild(s);\r\n      });\r\n\r\n      \/\/ category + media chips\r\n      const catChip = document.createElement('span');\r\n      catChip.className = 'cat-chip';\r\n      catChip.innerHTML = '<span class=\"dot\"><\/span>' + p.cat;\r\n      a.appendChild(catChip);\r\n\r\n      const mediaChip = document.createElement('span');\r\n      mediaChip.className = 'media-chip';\r\n      mediaChip.innerHTML = p.type === 'video'\r\n        ? '<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M8 5v14l11-7z\"\/><\/svg>Video'\r\n        : '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\/><circle cx=\"8.5\" cy=\"11\" r=\"1.5\" fill=\"currentColor\"\/><path d=\"M21 17l-5-5-9 9\"\/><\/svg>Photo';\r\n      a.appendChild(mediaChip);\r\n\r\n      \/\/ grip handle\r\n      const grip = document.createElement('span');\r\n      grip.className = 'grip';\r\n      grip.innerHTML = '<i><\/i><i><\/i><i><\/i><i><\/i><i><\/i><i><\/i>';\r\n      a.appendChild(grip);\r\n\r\n      \/\/ play badge for video\r\n      if (p.type === 'video') {\r\n        const play = document.createElement('span');\r\n        play.className = 'play';\r\n        play.innerHTML = '<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M8 5v14l11-7z\"\/><\/svg>';\r\n        a.appendChild(play);\r\n      }\r\n\r\n      \/\/ info\r\n      const info = document.createElement('div');\r\n      info.className = 'info';\r\n      info.innerHTML = '<span class=\"title\">' + escape(p.title) + '<\/span>'\r\n        + '<span class=\"meta\"><b>' + escape(p.spec) + '<\/b><span class=\"sep\"><\/span>' + escape(p.cat) + '<\/span>';\r\n      a.appendChild(info);\r\n\r\n      \/\/ click \u2192 lightbox (unless reorder mode)\r\n      a.addEventListener('click', () => {\r\n        if (state.reorder) return;\r\n        openLightbox(p.id);\r\n      });\r\n\r\n      \/\/ keyboard a11y \u2014 enter\/space\r\n      a.addEventListener('keydown', e => {\r\n        if (e.key === 'Enter' || e.key === ' ') {\r\n          e.preventDefault();\r\n          if (!state.reorder) openLightbox(p.id);\r\n        }\r\n      });\r\n\r\n      attachDrag(a);\r\n      return a;\r\n    }\r\n\r\n    function escape(s) {\r\n      return String(s).replace(\/[&<>\"']\/g, c => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;', \"'\": '&#39;' }[c]));\r\n    }\r\n\r\n    \/* \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 DRAG & DROP REORDER \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 *\/\r\n    let dragSrc = null;\r\n    let touchEl = null, touchClone = null, touchOrig = null, touchTimer = null;\r\n\r\n    function attachDrag(card) {\r\n      card.draggable = true;\r\n      card.addEventListener('dragstart', e => {\r\n        if (!state.reorder) { e.preventDefault(); return; }\r\n        dragSrc = card;\r\n        card.classList.add('dragging');\r\n        e.dataTransfer.effectAllowed = 'move';\r\n        try { e.dataTransfer.setData('text\/plain', card.dataset.id); } catch (_) { }\r\n      });\r\n      card.addEventListener('dragend', () => {\r\n        card.classList.remove('dragging');\r\n        document.querySelectorAll('.card.drag-over').forEach(c => c.classList.remove('drag-over'));\r\n        persistOrder();\r\n      });\r\n      card.addEventListener('dragover', e => {\r\n        if (!state.reorder || !dragSrc || dragSrc === card) return;\r\n        e.preventDefault();\r\n        e.dataTransfer.dropEffect = 'move';\r\n      });\r\n      card.addEventListener('dragenter', () => {\r\n        if (state.reorder && dragSrc && dragSrc !== card) card.classList.add('drag-over');\r\n      });\r\n      card.addEventListener('dragleave', () => card.classList.remove('drag-over'));\r\n      card.addEventListener('drop', e => {\r\n        if (!state.reorder || !dragSrc || dragSrc === card) return;\r\n        e.preventDefault();\r\n        card.classList.remove('drag-over');\r\n        const rect = card.getBoundingClientRect();\r\n        const after = (e.clientY - rect.top) > rect.height \/ 2;\r\n        card.parentNode.insertBefore(dragSrc, after ? card.nextSibling : card);\r\n      });\r\n\r\n      \/\/ \u2014\u2014 touch \/ pointer fallback for mobile reorder\r\n      card.addEventListener('touchstart', e => {\r\n        if (!state.reorder) return;\r\n        touchTimer = setTimeout(() => beginTouchDrag(card, e.touches[0]), 180);\r\n      }, { passive: true });\r\n      card.addEventListener('touchmove', e => {\r\n        if (touchTimer) { clearTimeout(touchTimer); touchTimer = null; }\r\n        if (!touchEl) return;\r\n        e.preventDefault();\r\n        const t = e.touches[0];\r\n        moveTouchDrag(t.clientX, t.clientY);\r\n      }, { passive: false });\r\n      card.addEventListener('touchend', () => {\r\n        if (touchTimer) { clearTimeout(touchTimer); touchTimer = null; }\r\n        endTouchDrag();\r\n      });\r\n      card.addEventListener('touchcancel', endTouchDrag);\r\n    }\r\n\r\n    function beginTouchDrag(card, touch) {\r\n      touchEl = card;\r\n      touchOrig = { x: touch.clientX, y: touch.clientY };\r\n      const rect = card.getBoundingClientRect();\r\n      touchClone = card.cloneNode(true);\r\n      touchClone.style.position = 'fixed';\r\n      touchClone.style.left = rect.left + 'px';\r\n      touchClone.style.top = rect.top + 'px';\r\n      touchClone.style.width = rect.width + 'px';\r\n      touchClone.style.height = rect.height + 'px';\r\n      touchClone.style.zIndex = '200';\r\n      touchClone.style.pointerEvents = 'none';\r\n      touchClone.style.opacity = '.92';\r\n      touchClone.style.transform = 'rotate(-1.5deg) scale(1.03)';\r\n      touchClone.style.boxShadow = '0 30px 60px -20px rgba(110,193,234,.5)';\r\n      document.body.appendChild(touchClone);\r\n      card.classList.add('dragging');\r\n      if (navigator.vibrate) try { navigator.vibrate(15); } catch (_) { }\r\n    }\r\n    function moveTouchDrag(x, y) {\r\n      if (!touchClone) return;\r\n      const dx = x - touchOrig.x;\r\n      const dy = y - touchOrig.y;\r\n      const rect = touchEl.getBoundingClientRect();\r\n      touchClone.style.transform = `translate(${dx}px,${dy}px) rotate(-1.5deg) scale(1.03)`;\r\n      const overEl = document.elementFromPoint(x, y);\r\n      document.querySelectorAll('.card.drag-over').forEach(c => c.classList.remove('drag-over'));\r\n      if (overEl) {\r\n        const overCard = overEl.closest('.card');\r\n        if (overCard && overCard !== touchEl) {\r\n          overCard.classList.add('drag-over');\r\n        }\r\n      }\r\n    }\r\n    function endTouchDrag() {\r\n      if (!touchEl) return;\r\n      const target = document.querySelector('.card.drag-over');\r\n      if (target) {\r\n        const rect = target.getBoundingClientRect();\r\n        const after = (parseFloat(touchClone.style.top) + rect.height \/ 2) > rect.top + rect.height \/ 2;\r\n        target.parentNode.insertBefore(touchEl, after ? target.nextSibling : target);\r\n        target.classList.remove('drag-over');\r\n      }\r\n      if (touchClone) { touchClone.remove(); touchClone = null; }\r\n      touchEl.classList.remove('dragging');\r\n      touchEl = null; touchOrig = null;\r\n      persistOrder();\r\n    }\r\n\r\n    function persistOrder() {\r\n      const ids = Array.from(grid.children).map(el => el.dataset.id);\r\n      \/\/ merge into saved global order: rendered ones use their new positions\r\n      const all = applySavedOrder([...PROJECTS]).map(p => p.id);\r\n      const renderedSet = new Set(ids);\r\n      const result = [];\r\n      let renderedIdx = 0;\r\n      all.forEach(id => {\r\n        if (renderedSet.has(id)) {\r\n          result.push(ids[renderedIdx++]);\r\n        } else {\r\n          result.push(id);\r\n        }\r\n      });\r\n      state.order = result;\r\n      saveOrder(result);\r\n    }\r\n\r\n    \/* \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 FILTER CHIPS \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 *\/\r\n    document.querySelectorAll('.filter-section .chip').forEach(chip => {\r\n      chip.addEventListener('click', () => {\r\n        document.querySelectorAll('.filter-section .chip').forEach(c => {\r\n          c.classList.remove('active'); c.setAttribute('aria-selected', 'false');\r\n        });\r\n        chip.classList.add('active'); chip.setAttribute('aria-selected', 'true');\r\n        state.filterCat = chip.dataset.filter;\r\n        rebuildFiltered();\r\n      });\r\n    });\r\n\r\n    document.querySelectorAll('.toggle-grid button').forEach(b => {\r\n      b.addEventListener('click', () => {\r\n        document.querySelectorAll('.toggle-grid button').forEach(x => {\r\n          x.classList.remove('active'); x.setAttribute('aria-selected', 'false');\r\n        });\r\n        b.classList.add('active'); b.setAttribute('aria-selected', 'true');\r\n        state.filterType = b.dataset.type;\r\n        rebuildFiltered();\r\n      });\r\n    });\r\n\r\n    let searchTimer = null;\r\n    document.getElementById('searchInput').addEventListener('input', e => {\r\n      clearTimeout(searchTimer);\r\n      searchTimer = setTimeout(() => {\r\n        state.search = e.target.value || '';\r\n        rebuildFiltered();\r\n      }, 140);\r\n    });\r\n\r\n    document.getElementById('clearFiltersBtn').addEventListener('click', () => {\r\n      state.filterCat = 'all'; state.filterType = 'all'; state.search = '';\r\n      document.getElementById('searchInput').value = '';\r\n      document.querySelectorAll('.filter-section .chip').forEach(c => {\r\n        c.classList.toggle('active', c.dataset.filter === 'all');\r\n        c.setAttribute('aria-selected', c.dataset.filter === 'all' ? 'true' : 'false');\r\n      });\r\n      document.querySelectorAll('.toggle-grid button').forEach(b => {\r\n        b.classList.toggle('active', b.dataset.type === 'all');\r\n        b.setAttribute('aria-selected', b.dataset.type === 'all' ? 'true' : 'false');\r\n      });\r\n      rebuildFiltered();\r\n    });\r\n\r\n    \/* \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 REORDER TOGGLE \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 *\/\r\n    document.getElementById('reorderBtn').addEventListener('click', () => {\r\n      state.reorder = !state.reorder;\r\n      document.body.classList.toggle('reorder-mode', state.reorder);\r\n      const btn = document.getElementById('reorderBtn');\r\n      btn.classList.toggle('active', state.reorder);\r\n      btn.setAttribute('aria-pressed', state.reorder ? 'true' : 'false');\r\n      document.getElementById('reorderLabel').textContent = state.reorder ? 'Done' : 'Reorder';\r\n    });\r\n\r\n    \/* \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 LOAD MORE \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 *\/\r\n    loadMoreBtn.addEventListener('click', renderNextBatch);\r\n\r\n    \/\/ auto-load when bottom is near\r\n    const sentinel = new IntersectionObserver(entries => {\r\n      if (entries[0].isIntersecting && state.rendered < state.filtered.length) {\r\n        renderNextBatch();\r\n      }\r\n    }, { rootMargin: '600px' });\r\n    sentinel.observe(loadMoreWrap);\r\n\r\n    \/* \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 LIGHTBOX \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 *\/\r\n    const lb = document.getElementById('lb');\r\n    const lbStage = document.getElementById('lbStage');\r\n    const lbMediaWrap = document.getElementById('lbMediaWrap');\r\n    const lbStrip = document.getElementById('lbStrip');\r\n    let lbIndex = 0;\r\n    let lbList = [];\r\n\r\n    function openLightbox(id) {\r\n      lbList = state.filtered;\r\n      lbIndex = lbList.findIndex(p => p.id === id);\r\n      if (lbIndex < 0) return;\r\n      buildStrip();\r\n      showLightboxItem();\r\n      lb.classList.add('open');\r\n      lb.setAttribute('aria-hidden', 'false');\r\n      document.body.style.overflow = 'hidden';\r\n    }\r\n    function closeLightbox() {\r\n      lb.classList.remove('open');\r\n      lb.setAttribute('aria-hidden', 'true');\r\n      document.body.style.overflow = '';\r\n      \/\/ stop any video\r\n      const v = lbMediaWrap.querySelector('video');\r\n      if (v) { v.pause(); }\r\n    }\r\n    function showLightboxItem() {\r\n      const p = lbList[lbIndex];\r\n      if (!p) return;\r\n      document.getElementById('lbIndex').textContent = String(lbIndex + 1).padStart(2, '0');\r\n      document.getElementById('lbTotal').textContent = String(lbList.length).padStart(2, '0');\r\n      document.getElementById('lbCat').textContent = p.cat.charAt(0).toUpperCase() + p.cat.slice(1);\r\n      document.getElementById('lbTitle').textContent = p.title;\r\n      document.getElementById('lbChipText').textContent = p.spec;\r\n\r\n      \/\/ media\r\n      lbMediaWrap.innerHTML = '';\r\n      if (p.type === 'photo' && p.src) {\r\n        const img = document.createElement('img');\r\n        img.src = p.src; img.alt = p.title;\r\n        lbMediaWrap.appendChild(img);\r\n      } else if (p.type === 'video' && p.src) {\r\n        const v = document.createElement('video');\r\n        v.src = p.src; v.controls = true; v.autoplay = true; v.playsInline = true; v.preload = 'metadata';\r\n        if (p.poster) v.poster = p.poster;\r\n        lbMediaWrap.appendChild(v);\r\n      } else {\r\n        \/\/ placeholder\r\n        const ph = document.createElement('div');\r\n        ph.className = 'ph pal-' + (p.pal || 1);\r\n        ph.innerHTML = `\r\n      <div class=\"ph-inner\">\r\n        <span class=\"tag\">${p.type === 'video' ? 'Video asset' : 'Image asset'}<\/span>\r\n        <p>${escape(p.title)} \u2014 ${escape(p.spec)}<\/p>\r\n        <code>Replace placeholder \u00b7 set <b>src<\/b> on project id <b>${p.id}<\/b><\/code>\r\n      <\/div>`;\r\n        lbMediaWrap.appendChild(ph);\r\n      }\r\n\r\n      \/\/ strip highlight\r\n      Array.from(lbStrip.children).forEach((t, i) => {\r\n        t.classList.toggle('active', i === lbIndex);\r\n        if (i === lbIndex) t.scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'center' });\r\n      });\r\n      document.getElementById('lbPrev').disabled = lbIndex === 0;\r\n      document.getElementById('lbNext').disabled = lbIndex === lbList.length - 1;\r\n    }\r\n    function buildStrip() {\r\n      lbStrip.innerHTML = '';\r\n      lbList.forEach((p, i) => {\r\n        const t = document.createElement('button');\r\n        t.className = 'lb-thumb' + (p.type === 'video' ? ' is-video' : '');\r\n        t.setAttribute('aria-label', 'Show ' + p.title);\r\n        if (p.src) {\r\n          const img = document.createElement('img');\r\n          img.src = (p.type === 'photo') ? p.src : (p.poster || '');\r\n          img.alt = p.title; img.loading = 'lazy';\r\n          img.onerror = () => { img.remove(); const m = document.createElement('div'); m.className = 'ph-mini pal-' + (p.pal || 1); t.appendChild(m); };\r\n          t.appendChild(img);\r\n        } else {\r\n          const m = document.createElement('div'); m.className = 'ph-mini pal-' + (p.pal || 1);\r\n          t.appendChild(m);\r\n        }\r\n        t.addEventListener('click', () => { lbIndex = i; showLightboxItem(); });\r\n        lbStrip.appendChild(t);\r\n      });\r\n    }\r\n    document.getElementById('lbClose').addEventListener('click', closeLightbox);\r\n    document.getElementById('lbPrev').addEventListener('click', () => { if (lbIndex > 0) { lbIndex--; showLightboxItem(); } });\r\n    document.getElementById('lbNext').addEventListener('click', () => { if (lbIndex < lbList.length - 1) { lbIndex++; showLightboxItem(); } });\r\n\r\n    document.getElementById('lbShare').addEventListener('click', () => {\r\n      const p = lbList[lbIndex]; if (!p) return;\r\n      const url = location.origin + location.pathname + '#project=' + p.id;\r\n      if (navigator.clipboard) {\r\n        navigator.clipboard.writeText(url);\r\n        const btn = document.getElementById('lbShare');\r\n        const old = btn.innerHTML;\r\n        btn.innerHTML = '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M5 12l5 5 9-11\"\/><\/svg>';\r\n        setTimeout(() => btn.innerHTML = old, 1400);\r\n      }\r\n    });\r\n\r\n    document.addEventListener('keydown', e => {\r\n      if (!lb.classList.contains('open')) return;\r\n      if (e.key === 'Escape') closeLightbox();\r\n      else if (e.key === 'ArrowLeft' && lbIndex > 0) { lbIndex--; showLightboxItem(); }\r\n      else if (e.key === 'ArrowRight' && lbIndex < lbList.length - 1) { lbIndex++; showLightboxItem(); }\r\n    });\r\n\r\n    \/\/ click outside media closes\r\n    lb.addEventListener('click', e => {\r\n      if (e.target === lb || e.target === lbStage) { closeLightbox(); }\r\n    });\r\n\r\n    \/\/ swipe support on lightbox stage\r\n    let swipeX = null, swipeY = null;\r\n    lbStage.addEventListener('touchstart', e => {\r\n      swipeX = e.touches[0].clientX; swipeY = e.touches[0].clientY;\r\n    }, { passive: true });\r\n    lbStage.addEventListener('touchend', e => {\r\n      if (swipeX === null) return;\r\n      const dx = e.changedTouches[0].clientX - swipeX;\r\n      const dy = e.changedTouches[0].clientY - swipeY;\r\n      if (Math.abs(dx) > 50 && Math.abs(dx) > Math.abs(dy)) {\r\n        if (dx < 0 && lbIndex < lbList.length - 1) { lbIndex++; showLightboxItem(); }\r\n        else if (dx > 0 && lbIndex > 0) { lbIndex--; showLightboxItem(); }\r\n      } else if (dy > 80 && Math.abs(dy) > Math.abs(dx)) {\r\n        closeLightbox();\r\n      }\r\n      swipeX = swipeY = null;\r\n    });\r\n\r\n    \/* \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 MOBILE NAV \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 *\/\r\n    const navToggle = document.getElementById('navToggle');\r\n    const navMobile = document.getElementById('navMobile');\r\n\r\n    if (navToggle && navMobile) {\r\n      navToggle.addEventListener('click', () => {\r\n        const open = navMobile.classList.toggle('open');\r\n        navToggle.classList.toggle('open', open);\r\n        navToggle.setAttribute('aria-expanded', open ? 'true' : 'false');\r\n      });\r\n    }\r\n\r\n    \/* \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 DEFAULT ALL TAB OPEN \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 *\/\r\n    state.filterCat = 'all';\r\n    state.filterType = 'all';\r\n    state.search = '';\r\n\r\n    document.querySelectorAll('.filter-section .chip').forEach(c => {\r\n      c.classList.toggle('active', c.dataset.filter === 'all');\r\n      c.setAttribute('aria-selected', c.dataset.filter === 'all' ? 'true' : 'false');\r\n    });\r\n\r\n    document.querySelectorAll('.toggle-grid button').forEach(b => {\r\n      b.classList.toggle('active', b.dataset.type === 'all');\r\n      b.setAttribute('aria-selected', b.dataset.type === 'all' ? 'true' : 'false');\r\n    });\r\n\r\n    \/* \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 init \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 *\/\r\n    rebuildFiltered();\r\n\r\n    if (location.hash.startsWith('#project=')) {\r\n      const id = location.hash.slice('#project='.length);\r\n      setTimeout(() => openLightbox(id), 300);\r\n    }\r\n  <\/script>\r\n\r\n<\/body>\r\n\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7f187ce e-flex e-con-boxed e-con e-parent\" data-id=\"7f187ce\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b7b9cac elementor-widget elementor-widget-shortcode\" data-id=\"b7b9cac\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t<div data-elementor-type=\"single-post\" data-elementor-id=\"25386\" class=\"elementor elementor-25386\" data-elementor-post-type=\"elementor_library\">\n\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-279100ba elementor-section-height-min-height elementor-section-boxed elementor-section-height-default elementor-section-items-middle\" data-id=\"279100ba\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t\t<div class=\"elementor-background-overlay\"><\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-custom\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-2ba4bd08\" data-id=\"2ba4bd08\" data-element_type=\"column\" data-e-type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4308e918 elementor-widget elementor-widget-heading\" data-id=\"4308e918\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"#qrcode\">Get  a Quote<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4d0bf85 elementor-widget elementor-widget-text-editor\" data-id=\"4d0bf85\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Ready to Work Together? Transform your business with us!<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1aa5049 elementor-widget elementor-widget-form\" data-id=\"1aa5049\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;button_width&quot;:&quot;50&quot;,&quot;step_next_label&quot;:&quot;Next&quot;,&quot;step_previous_label&quot;:&quot;Previous&quot;,&quot;step_type&quot;:&quot;number_text&quot;,&quot;step_icon_shape&quot;:&quot;circle&quot;}\" data-widget_type=\"form.default\">\n\t\t\t\t\t\t\t<form class=\"elementor-form\" method=\"post\" id=\"quote_form_landing\" name=\"Landing Page Form\" aria-label=\"Landing Page Form\">\n\t\t\t<input type=\"hidden\" name=\"post_id\" value=\"25386\"\/>\n\t\t\t<input type=\"hidden\" name=\"form_id\" value=\"1aa5049\"\/>\n\t\t\t<input type=\"hidden\" name=\"referer_title\" value=\"Led Display Screen Supplier in Dubai, UAE - StarLED Display\" \/>\n\n\t\t\t\t\t\t\t<input type=\"hidden\" name=\"queried_id\" value=\"23605\"\/>\n\t\t\t\n\t\t\t<div class=\"ele-extensions-hide-form elementor-form-fields-wrapper elementor-labels-above\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-name elementor-col-100 elementor-field-required elementor-mark-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-name\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tName\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[name]\" id=\"form-field-name\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" required=\"required\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-email elementor-field-group elementor-column elementor-field-group-email elementor-col-100 elementor-field-required elementor-mark-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-email\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tEmail\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"email\" name=\"form_fields[email]\" id=\"form-field-email\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" required=\"required\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-tel elementor-field-group elementor-column elementor-field-group-phone elementor-col-100 elementor-field-required elementor-mark-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-phone\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tPhone Number\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t<span class=\"ccfef-editor-intl-input\" data-id=\"form-field-phone\" data-field-id=\"a8f8f85\" data-default-country=\"ae\" data-include-countries=\"\" data-exclude-countries=\"\" data-common-countries=\"same\"  data-strict-mode=\"no\" data-dial-code-visibility=\"show\" style=\"display: none;\"><\/span>\t\t<input size=\"1\" type=\"tel\" name=\"form_fields[phone]\" id=\"form-field-phone\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" required=\"required\" pattern=\"[0-9()#&amp;+*-=.]+\" title=\"Only numbers and phone characters (#, -, *, etc) are accepted.\">\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-select elementor-field-group elementor-column elementor-field-group-field_aca0a17 elementor-col-100 elementor-field-required elementor-mark-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-field_aca0a17\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tDisplay Requirements\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field elementor-select-wrapper remove-before \">\n\t\t\t<div class=\"select-caret-down-wrapper\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-eicon-caret-down\" viewBox=\"0 0 571.4 571.4\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M571 393Q571 407 561 418L311 668Q300 679 286 679T261 668L11 418Q0 407 0 393T11 368 36 357H536Q550 357 561 368T571 393Z\"><\/path><\/svg>\t\t\t<\/div>\n\t\t\t<select name=\"form_fields[field_aca0a17]\" id=\"form-field-field_aca0a17\" class=\"elementor-field-textual elementor-size-sm\" required=\"required\">\n\t\t\t\t\t\t\t\t\t<option value=\"Indoor\">Indoor<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"Outdoor\">Outdoor<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"Transparent\">Transparent<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"Modules\">Modules<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"Wholesale(Modules)\">Wholesale(Modules)<\/option>\n\t\t\t\t\t\t\t<\/select>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-hidden elementor-field-group elementor-column elementor-field-group-field_dff1669 elementor-col-100\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"hidden\" name=\"form_fields[field_dff1669]\" id=\"form-field-field_dff1669\" class=\"elementor-field elementor-size-sm  elementor-field-textual\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-company elementor-col-100\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-company\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tCompany\/Brand Name\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[company]\" id=\"form-field-company\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"Name\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-hidden elementor-field-group elementor-column elementor-field-group-lead_source elementor-col-100\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"hidden\" name=\"form_fields[lead_source]\" id=\"form-field-lead_source\" class=\"elementor-field elementor-size-sm  elementor-field-textual\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-group elementor-column elementor-field-type-submit elementor-col-50 e-form__buttons\">\n\t\t\t\t\t<button class=\"elementor-button elementor-size-sm\" type=\"submit\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Submit<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/button>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/form>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-2995fb95\" data-id=\"2995fb95\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-10a3f029 elementor-widget elementor-widget-heading\" data-id=\"10a3f029\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><h4 data-elementor-setting-key=\"title\" data-pen-placeholder=\"Type Here...\" style=\"font-size: 40px;font-style: normal;text-transform: none\">We challenge any UAE-based price. Seen a lower quote?<span style=\"font-family: Montserrat, sans-serif;font-size: 60px;font-style: inherit;font-weight: 700;text-transform: capitalize;white-space: pre-wrap;float: none\"><\/span><\/h4><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-268d7f20 elementor-widget elementor-widget-text-editor\" data-id=\"268d7f20\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>You don\u2019t need to go to China. We\u2019ve already brought the factory to you.<\/p><p>Want to see the quality before you decide? Visit our Dubai facility and experience a live demo.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Projects \u2014 StarLED LED Display Installations, Dubai UAE Home \/ Projects PROJECTSPhoto &amp; Video Archive Every install,every screen,across the UAE. [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"content-type":"","inline_featured_image":false,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-site-content-layout":"full-width-container","site-content-style":"unboxed","site-sidebar-style":"unboxed","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"disabled","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"enabled","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-22201","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Our Digital Signage Projects | StarLED Display<\/title>\n<meta name=\"description\" content=\"Digital signage projects, photographed. Real installs across retail, hospitality, events, and facades. See the finish and fit. Get a quote.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/starleddisplay.com\/ar\/projects\/\" \/>\n<meta property=\"og:locale\" content=\"ar_AR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Our Digital Signage Projects | StarLED Display\" \/>\n<meta property=\"og:description\" content=\"Digital signage projects, photographed. Real installs across retail, hospitality, events, and facades. See the finish and fit. Get a quote.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/starleddisplay.com\/ar\/projects\/\" \/>\n<meta property=\"og:site_name\" content=\"StarLED\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-25T09:56:47+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"50 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/starleddisplay.com\\\/projects\\\/\",\"url\":\"https:\\\/\\\/starleddisplay.com\\\/projects\\\/\",\"name\":\"Our Digital Signage Projects | StarLED Display\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/starleddisplay.com\\\/#website\"},\"datePublished\":\"2021-11-04T10:21:10+00:00\",\"dateModified\":\"2026-06-25T09:56:47+00:00\",\"description\":\"Digital signage projects, photographed. Real installs across retail, hospitality, events, and facades. See the finish and fit. Get a quote.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/starleddisplay.com\\\/projects\\\/#breadcrumb\"},\"inLanguage\":\"ar-AE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/starleddisplay.com\\\/projects\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/starleddisplay.com\\\/projects\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/starleddisplay.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Projects\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/starleddisplay.com\\\/#website\",\"url\":\"https:\\\/\\\/starleddisplay.com\\\/\",\"name\":\"StarLED Display\",\"description\":\"Premier LED display solutions\",\"publisher\":{\"@id\":\"https:\\\/\\\/starleddisplay.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/starleddisplay.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ar-AE\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/starleddisplay.com\\\/#organization\",\"name\":\"StarLED Display\",\"url\":\"https:\\\/\\\/starleddisplay.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ar-AE\",\"@id\":\"https:\\\/\\\/starleddisplay.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/starleddisplay.com\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/cropped-cropped-White-black.png\",\"contentUrl\":\"https:\\\/\\\/starleddisplay.com\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/cropped-cropped-White-black.png\",\"width\":512,\"height\":171,\"caption\":\"StarLED Display\"},\"image\":{\"@id\":\"https:\\\/\\\/starleddisplay.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.instagram.com\\\/Starleddisplay\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/starsign-uae\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Our Digital Signage Projects | StarLED Display","description":"Digital signage projects, photographed. Real installs across retail, hospitality, events, and facades. See the finish and fit. Get a quote.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/starleddisplay.com\/ar\/projects\/","og_locale":"ar_AR","og_type":"article","og_title":"Our Digital Signage Projects | StarLED Display","og_description":"Digital signage projects, photographed. Real installs across retail, hospitality, events, and facades. See the finish and fit. Get a quote.","og_url":"https:\/\/starleddisplay.com\/ar\/projects\/","og_site_name":"StarLED","article_modified_time":"2026-06-25T09:56:47+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"50 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/starleddisplay.com\/projects\/","url":"https:\/\/starleddisplay.com\/projects\/","name":"Our Digital Signage Projects | StarLED Display","isPartOf":{"@id":"https:\/\/starleddisplay.com\/#website"},"datePublished":"2021-11-04T10:21:10+00:00","dateModified":"2026-06-25T09:56:47+00:00","description":"Digital signage projects, photographed. Real installs across retail, hospitality, events, and facades. See the finish and fit. Get a quote.","breadcrumb":{"@id":"https:\/\/starleddisplay.com\/projects\/#breadcrumb"},"inLanguage":"ar-AE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/starleddisplay.com\/projects\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/starleddisplay.com\/projects\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/starleddisplay.com\/"},{"@type":"ListItem","position":2,"name":"Projects"}]},{"@type":"WebSite","@id":"https:\/\/starleddisplay.com\/#website","url":"https:\/\/starleddisplay.com\/","name":"StarLED Display","description":"Premier LED display solutions","publisher":{"@id":"https:\/\/starleddisplay.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/starleddisplay.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ar-AE"},{"@type":"Organization","@id":"https:\/\/starleddisplay.com\/#organization","name":"StarLED Display","url":"https:\/\/starleddisplay.com\/","logo":{"@type":"ImageObject","inLanguage":"ar-AE","@id":"https:\/\/starleddisplay.com\/#\/schema\/logo\/image\/","url":"https:\/\/starleddisplay.com\/wp-content\/uploads\/2023\/06\/cropped-cropped-White-black.png","contentUrl":"https:\/\/starleddisplay.com\/wp-content\/uploads\/2023\/06\/cropped-cropped-White-black.png","width":512,"height":171,"caption":"StarLED Display"},"image":{"@id":"https:\/\/starleddisplay.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.instagram.com\/Starleddisplay\/","https:\/\/www.linkedin.com\/company\/starsign-uae"]}]}},"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"Sameer Kassim","author_link":"https:\/\/starleddisplay.com\/ar\/blog\/author\/sameer\/"},"rttpg_comment":0,"rttpg_category":null,"rttpg_excerpt":"Projects \u2014 StarLED LED Display Installations, Dubai UAE Home \/ Projects PROJECTSPhoto &amp; Video Archive Every install,every screen,across the UAE. [&hellip;]","_links":{"self":[{"href":"https:\/\/starleddisplay.com\/ar\/wp-json\/wp\/v2\/pages\/22201","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/starleddisplay.com\/ar\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/starleddisplay.com\/ar\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/starleddisplay.com\/ar\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/starleddisplay.com\/ar\/wp-json\/wp\/v2\/comments?post=22201"}],"version-history":[{"count":16,"href":"https:\/\/starleddisplay.com\/ar\/wp-json\/wp\/v2\/pages\/22201\/revisions"}],"predecessor-version":[{"id":27344,"href":"https:\/\/starleddisplay.com\/ar\/wp-json\/wp\/v2\/pages\/22201\/revisions\/27344"}],"wp:attachment":[{"href":"https:\/\/starleddisplay.com\/ar\/wp-json\/wp\/v2\/media?parent=22201"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}