{"id":18388,"date":"2025-08-19T11:23:49","date_gmt":"2025-08-19T11:23:49","guid":{"rendered":"https:\/\/damaj.sa\/?page_id=18388"},"modified":"2026-05-05T15:17:41","modified_gmt":"2026-05-05T15:17:41","slug":"solutions","status":"publish","type":"page","link":"https:\/\/damaj.sa\/en\/solutions\/","title":{"rendered":"Solutions"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"18388\" class=\"elementor elementor-18388\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-59256b4 e-flex e-con-boxed wd-section-disabled e-con e-parent\" data-id=\"59256b4\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-13a6985 elementor-widget elementor-widget-html\" data-id=\"13a6985\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- Solutions Section - TranslatePress-friendly + SEO -->\n<section id=\"solutions-section\" class=\"solutions-section chooser-mode\" itemscope itemtype=\"https:\/\/schema.org\/ItemList\">\n  <!-- \u062e\u0644\u0641\u064a\u0629 \u0627\u0644\u062a\u0623\u062b\u064a\u0631 -->\n  <canvas id=\"sol-bg\" aria-hidden=\"true\"><\/canvas>\n\n  <!-- \u0627\u0644\u0647\u064a\u062f\u0631 (\u0627\u0644\u062a\u0628\u0648\u064a\u0628\u0627\u062a) \u2014 PMS \u0623\u0648\u0644\u0627\u064b -->\n  <div id=\"solutions-vanilla\">\n    <div class=\"sol-header hidden\">\n      <div class=\"sol-header-inner\" role=\"tablist\" aria-orientation=\"horizontal\" aria-label=\"\u0627\u062e\u062a\u064a\u0627\u0631 \u0641\u0626\u0629 \u0627\u0644\u062d\u0644\u0648\u0644\">\n        <!-- \u0645\u0646\u0635\u0629 DAMAJ \u0644\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0641\u0646\u0627\u062f\u0642 \u0623\u0648\u0644\u0627\u064b -->\n        <button id=\"tab-damaj-pms\" type=\"button\" class=\"sol-btn\" data-main=\"damajPms\"\n                role=\"tab\" aria-controls=\"panel-damaj-pms\" aria-pressed=\"false\"\n                aria-selected=\"false\" tabindex=\"0\">\n          <span class=\"txt\">DAMAJ Platform \u2014 Hotel Management System (PMS)<\/span>\n        <\/button>\n\n        <!-- \u0627\u0644\u062c\u0647\u062f \u0627\u0644\u0645\u0646\u062e\u0641\u0636 \u0648\u0627\u0644\u062d\u0644\u0648\u0644 \u0627\u0644\u0630\u0643\u064a\u0629 \u062b\u0627\u0646\u064a\u0627\u064b -->\n        <button id=\"tab-lv\" type=\"button\" class=\"sol-btn\" data-main=\"lv\"\n                role=\"tab\" aria-controls=\"panel-lv\" aria-pressed=\"false\"\n                aria-selected=\"false\" tabindex=\"-1\">\n          <span class=\"txt\">Low Voltage & Smart Solutions<\/span>\n        <\/button>\n\n        <!-- \u0627\u0644\u0623\u062a\u0645\u062a\u0629 \u0627\u0644\u0635\u0646\u0627\u0639\u064a\u0629 \u062b\u0627\u0644\u062b\u0627\u064b -->\n        <button id=\"tab-industrial\" type=\"button\" class=\"sol-btn\" data-main=\"industrial\"\n                role=\"tab\" aria-controls=\"panel-industrial\" aria-pressed=\"false\"\n                aria-selected=\"false\" tabindex=\"-1\">\n          <span class=\"txt\">Industrial Automation<\/span>\n        <\/button>\n      <\/div>\n    <\/div>\n\n    <!-- \u0634\u0631\u064a\u0637 \u0627\u0644\u0623\u0642\u0633\u0627\u0645 \u0627\u0644\u0641\u0631\u0639\u064a\u0629 -->\n    <nav class=\"sol-subbar hidden\" aria-label=\"\u0627\u0644\u0623\u0642\u0633\u0627\u0645 \u0627\u0644\u0641\u0631\u0639\u064a\u0629\">\n      <div class=\"sol-subbar-inner\" id=\"subbar-list\"><\/div>\n    <\/nav>\n\n    <!-- \u0634\u0627\u0634\u0629 \u0627\u0644\u0627\u062e\u062a\u064a\u0627\u0631 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629 \u2014 PMS \u0623\u0648\u0644\u0627\u064b \/ Low Voltage \u062b\u0627\u0646\u064a\u0627\u064b \/ Industrial \u062b\u0627\u0644\u062b\u0627\u064b -->\n    <div id=\"solutions-chooser\" role=\"listbox\" aria-label=\"\u0627\u062e\u062a\u064a\u0627\u0631 \u0646\u0642\u0637\u0629 \u0627\u0644\u062f\u062e\u0648\u0644\">\n      <button type=\"button\" data-choose=\"damajPms\" role=\"option\" aria-selected=\"false\" aria-label=\"Hotel Platform \u2014 Hotel Management System (PMS)\">\n        <img\n          src=\"https:\/\/images.unsplash.com\/photo-1556740738-b6a63e27c4df?q=80&w=2000&auto=format&fit=crop\"\n          srcset=\"\n            https:\/\/images.unsplash.com\/photo-1556740738-b6a63e27c4df?q=80&w=1200&auto=format&fit=crop 1200w\n          \"\n          sizes=\"100vw\"\n          loading=\"eager\" decoding=\"async\" alt=\"Hotel Platform \u2014 Hotel Management System (PMS)\" \/>\n        <div class=\"shade\" aria-hidden=\"true\"><\/div>\n        <div class=\"inner\">\n          <span class=\"chip chip--pms\">\n            <span class=\"main-title\">DAMAJ Platform<\/span>\n            <span class=\"sub sub--system\">Hotel Management System (PMS)<\/span>\n            <span class=\"sub sub--explore\">click to explore<\/span>\n          <\/span>\n        <\/div>\n      <\/button>\n\n      <button type=\"button\" data-choose=\"lv\" role=\"option\" aria-selected=\"false\" aria-label=\"Low Voltage & Smart Solutions\">\n        <img\n          src=\"https:\/\/damaj.sa\/wp-content\/uploads\/2025\/08\/Low-voltage-and-smart-solutions.png\"\n          srcset=\"\n            https:\/\/damaj.sa\/wp-content\/uploads\/2025\/08\/Low-voltage-and-smart-solutions.png 1200w\n          \"\n          sizes=\"100vw\"\n          loading=\"lazy\" decoding=\"async\" alt=\"Low Voltage & Smart Solutions\" \/>\n        <div class=\"shade\" aria-hidden=\"true\"><\/div>\n        <div class=\"inner\">\n          <span class=\"chip\">\n            <span class=\"main-title\">Low Voltage <span class=\"amp\">&<\/span> Smart Solutions<\/span>\n            <span class=\"sub sub--explore\">click to explore<\/span>\n          <\/span>\n        <\/div>\n      <\/button>\n\n      <button type=\"button\" data-choose=\"industrial\" role=\"option\" aria-selected=\"false\" aria-label=\"Industrial Automation\">\n        <img\n          src=\"https:\/\/damaj.sa\/wp-content\/uploads\/2025\/08\/Indutrial-automation.png\"\n          srcset=\"\n            https:\/\/damaj.sa\/wp-content\/uploads\/2025\/08\/Indutrial-automation.png 1200w\n          \"\n          sizes=\"100vw\"\n          loading=\"lazy\" decoding=\"async\" alt=\"Industrial Automation\" \/>\n        <div class=\"shade\" aria-hidden=\"true\"><\/div>\n        <div class=\"inner\">\n          <span class=\"chip\">\n            <span class=\"main-title\">Industrial Automation<\/span>\n            <span class=\"sub sub--explore\">click to explore<\/span>\n          <\/span>\n        <\/div>\n      <\/button>\n    <\/div>\n\n    <!-- \u0627\u0644\u0645\u062d\u062a\u0648\u0649 \u0627\u0644\u0631\u0626\u064a\u0633\u064a (\u0646\u0635\u0648\u0635 HTML \u0639\u0627\u062f\u064a\u0629 \u2014 \u064a\u0633\u0647\u0644 \u062a\u0631\u062c\u0645\u062a\u0647\u0627 \u0628\u0640TranslatePress) -->\n    <main class=\"sol-main hidden\" role=\"main\" itemprop=\"itemListElement\" itemscope itemtype=\"https:\/\/schema.org\/ItemList\">\n      <meta itemprop=\"itemListOrder\" content=\"http:\/\/schema.org\/ItemListOrderAscending\"\/>\n      <h2 class=\"sr-only\" style=\"position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;\">Solutions & Services<\/h2>\n\n      <!-- DAMAJ Platform PMS panel -->\n      <section id=\"panel-damaj-pms\" class=\"sol-stack\" role=\"tabpanel\" aria-labelledby=\"tab-damaj-pms\" aria-hidden=\"false\">\n        <!-- Intro \/ Explanation Block -->\n        <div class=\"sol-intro sol-intro--industrial\" aria-label=\"About DAMAJ Platform Hotel Management System\" style=\"text-align:center\">\n          <h3>DAMAJ Platform \u2014 Hotel Management System (PMS)<\/h3>\n          <p>\n            <strong>DAMAJ Platform<\/strong> is a flexible hotel management system designed to centralize hotel operations, enhance guest experience, support staff productivity, and provide hotel management with real-time visibility through dashboards, KPIs, and reports.\n          <\/p>\n          <ul class=\"intro-points\" aria-label=\"Key highlights\">\n            <li>Centralized PMS Operations<\/li>\n            <li>Customizable Guest Experience<\/li>\n            <li>Real-time Staff Workspace<\/li>\n            <li>Modular and Budget-friendly Structure<\/li>\n          <\/ul>\n        <\/div>\n\n        <article id=\"sub-damaj-platform-overview\" class=\"sol-card\" itemscope itemtype=\"https:\/\/schema.org\/Service\" style=\"--bg-image:url('https:\/\/images.unsplash.com\/photo-1556740738-b6a63e27c4df?q=80&w=2000&auto=format&fit=crop')\">\n          <meta itemprop=\"image\" content=\"https:\/\/images.unsplash.com\/photo-1556740738-b6a63e27c4df?q=80&w=2000&auto=format&fit=crop\" \/>\n          <header><h3 itemprop=\"name\"><a class=\"card-link\" href=\"#sub-damaj-platform-overview\" aria-label=\"Permalink to DAMAJ Platform Overview\">DAMAJ Platform Overview<\/a><\/h3><\/header>\n          <div class=\"grid\">\n            <div itemprop=\"description\" dir=\"ltr\" class=\"ltr\">\n              <p class=\"balanced\"><strong>DAMAJ Platform \u2014 Hotel Management System (PMS)<\/strong> helps hotels manage daily operations from one centralized platform while improving efficiency, guest service, and operational control.<\/p>\n              <p class=\"balanced\">The platform is built with a modular structure, allowing each hotel to choose only the modules it needs. This makes it suitable for different hotel sizes, operational requirements, and budgets without paying for unnecessary features.<\/p>\n              <div class=\"bullets\" aria-label=\"Core Value\">\n                <ul>\n                  <li>Centralized hotel operations management<\/li>\n                  <li>Flexible modules based on hotel needs<\/li>\n                  <li>Scalable structure for future growth<\/li>\n                  <li>Customizable settings, branding, and workflows<\/li>\n                <\/ul>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/article>\n\n        <article id=\"sub-pms-operations-admin\" class=\"sol-card\" itemscope itemtype=\"https:\/\/schema.org\/Service\" style=\"--bg-image:url('https:\/\/images.unsplash.com\/photo-1566073771259-6a8506099945?q=80&w=2000&auto=format&fit=crop')\">\n          <meta itemprop=\"image\" content=\"https:\/\/images.unsplash.com\/photo-1566073771259-6a8506099945?q=80&w=2000&auto=format&fit=crop\" \/>\n          <header><h3 itemprop=\"name\"><a class=\"card-link\" href=\"#sub-pms-operations-admin\" aria-label=\"Permalink to PMS Operations and Hotel Admin\">PMS Operations & Hotel Admin<\/a><\/h3><\/header>\n          <div class=\"grid\">\n            <div itemprop=\"description\" dir=\"ltr\" class=\"ltr\">\n              <p class=\"balanced\">DAMAJ Platform provides a flexible hotel admin dashboard for managing core PMS operations, monitoring performance, and controlling hotel settings from one place.<\/p>\n              <div class=\"bullets cols-2\" aria-label=\"PMS and Admin Features\">\n                <ul>\n                  <li>Rooms Management<\/li>\n                  <li>Reservation Management<\/li>\n                  <li>Calendar<\/li>\n                  <li>Guest List<\/li>\n                  <li>Billing<\/li>\n                <\/ul>\n                <ul>\n                  <li>Custom Admin Dashboard<\/li>\n                  <li>KPIs and Charts<\/li>\n                  <li>Reports<\/li>\n                  <li>Operations Tracking<\/li>\n                  <li>Flexible Settings<\/li>\n                <\/ul>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/article>\n\n        <article id=\"sub-guest-staff-experience\" class=\"sol-card\" itemscope itemtype=\"https:\/\/schema.org\/Service\" style=\"--bg-image:url('https:\/\/images.unsplash.com\/photo-1551632436-cbf8dd35adfa?q=80&w=2000&auto=format&fit=crop')\">\n          <meta itemprop=\"image\" content=\"https:\/\/images.unsplash.com\/photo-1551632436-cbf8dd35adfa?q=80&w=2000&auto=format&fit=crop\" \/>\n          <header><h3 itemprop=\"name\"><a class=\"card-link\" href=\"#sub-guest-staff-experience\" aria-label=\"Permalink to Guest and Staff Experience\">Guest & Staff Experience<\/a><\/h3><\/header>\n          <div class=\"grid\">\n            <div itemprop=\"description\" dir=\"ltr\" class=\"ltr\">\n              <p class=\"balanced\">The platform includes a fully customizable guest interface with hotel branding, as well as a dedicated staff interface to track tasks and service requests in real time.<\/p>\n              <div class=\"bullets cols-2\" aria-label=\"Guest and Staff Features\">\n                <ul>\n                  <li>Hotel Information<\/li>\n                  <li>Hotel Menu & Orders<\/li>\n                  <li>Room Services<\/li>\n                  <li>Maintenance Requests<\/li>\n                  <li>Guest Feedback<\/li>\n                  <li>Checkout Actions<\/li>\n                <\/ul>\n                <ul>\n                  <li>Real-time Staff Tasks<\/li>\n                  <li>Request Tracking<\/li>\n                  <li>Task Status Updates<\/li>\n                  <li>Internal Coordination<\/li>\n                  <li>Faster Service Response<\/li>\n                <\/ul>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/article>\n\n        <article id=\"sub-reports-financials-ai\" class=\"sol-card\" itemscope itemtype=\"https:\/\/schema.org\/Service\" style=\"--bg-image:url('https:\/\/images.unsplash.com\/photo-1551288049-bebda4e38f71?q=80&w=2000&auto=format&fit=crop')\">\n          <meta itemprop=\"image\" content=\"https:\/\/images.unsplash.com\/photo-1551288049-bebda4e38f71?q=80&w=2000&auto=format&fit=crop\" \/>\n          <header><h3 itemprop=\"name\"><a class=\"card-link\" href=\"#sub-reports-financials-ai\" aria-label=\"Permalink to Reports Financials Automation and AI\">Reports, Financials, Automation & AI<\/a><\/h3><\/header>\n          <div class=\"grid\">\n            <div itemprop=\"description\" dir=\"ltr\" class=\"ltr\">\n              <p class=\"balanced\">DAMAJ Platform supports hotel decision-making with financial tracking, reports, KPIs, logs, archives, automation, and AI tools that help streamline operations and improve response speed.<\/p>\n              <div class=\"bullets cols-2\" aria-label=\"Management Features\">\n                <ul>\n                  <li>Users and Roles<\/li>\n                  <li>Role-based Permissions<\/li>\n                  <li>Revenue Tracking<\/li>\n                  <li>Expenses Management<\/li>\n                  <li>Financial Reports<\/li>\n                <\/ul>\n                <ul>\n                  <li>Performance KPIs<\/li>\n                  <li>Dashboard Charts<\/li>\n                  <li>Logs and Archive<\/li>\n                  <li>Workflow Automation<\/li>\n                  <li>AI-assisted Operations<\/li>\n                <\/ul>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/article>\n      <\/section>\n\n      <!-- LV panel \u0645\u0639 \u0645\u0642\u062f\u0645\u0629 \u0642\u0628\u0644 \u0627\u0644\u0643\u0631\u0648\u062a -->\n      <section id=\"panel-lv\" class=\"sol-stack hidden\" role=\"tabpanel\" aria-labelledby=\"tab-lv\" aria-hidden=\"true\">\n        <!-- Intro \/ Explanation Block -->\n        <div class=\"sol-intro sol-intro--industrial\" aria-label=\"About Low Voltage & Smart Solutions\" style=\"text-align:center\">\n          <h3>What Low Voltage and Smart Solutions are ?<\/h3>\n          <p>\n            At <strong>DAMAJ<\/strong>, We provide fully integrated technology and ELV (Extra Low Voltage) solutions that unify automation, security, communication, control, and software systems into a single infrastructure. Our expertise spans from smart home automation and lighting control to surveillance, networking, hospitality and centralized systems\u2014delivering efficient, safe, and intelligent environments for residential, commercial, and industrial spaces.\n          <\/p>\n        <\/div>\n\n        <!-- LV Cards -->\n        <article id=\"sub-smart-home\" class=\"sol-card\" itemscope itemtype=\"https:\/\/schema.org\/Service\" style=\"--bg-image:url('https:\/\/damaj.sa\/wp-content\/uploads\/2025\/05\/Photo.2.png')\">\n          <meta itemprop=\"image\" content=\"https:\/\/damaj.sa\/wp-content\/uploads\/2025\/05\/Photo.2.png\" \/>\n          <header><h3 itemprop=\"name\"><a class=\"card-link\" href=\"#sub-smart-home\" aria-label=\"Permalink to Smart Home\">Smart Home<\/a><\/h3><\/header>\n          <div class=\"grid\">\n            <div itemprop=\"description\" dir=\"ltr\" class=\"ltr\">\n              <p class=\"balanced\">We offer integrated home and building automation systems that allow users to control lighting, climate, curtains, security, and multimedia from a centralized platform\u2014enhancing comfort, energy efficiency, and convenience. The entire system can also be controlled via mobile devices, providing flexibility and access anytime, anywhere.<\/p>\n              <div class=\"bullets cols-2\" aria-label=\"Key Components\">\n                <ul>\n                  <li>Smart Switches<\/li><li>Smart Thermostat<\/li><li>Smart Curtains<\/li><li>Smart Gateway<\/li><li>Smart Lighting Systems<\/li>\n                <\/ul>\n                <ul>\n                  <li>Smart Intercom Systems<\/li><li>Smart Sensors<\/li><li>Smart Door Locks<\/li><li>Smart Sound Systems<\/li><li>Smart Control Panels<\/li>\n                <\/ul>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/article>\n\n        <article id=\"sub-communication\" class=\"sol-card\" itemscope itemtype=\"https:\/\/schema.org\/Service\" style=\"--bg-image:url('https:\/\/damaj.sa\/wp-content\/uploads\/2025\/08\/Communication-solutions-2.png')\">\n          <meta itemprop=\"image\" content=\"https:\/\/damaj.sa\/wp-content\/uploads\/2025\/08\/Communication-solutions-2.png\" \/>\n          <header><h3 itemprop=\"name\"><a class=\"card-link\" href=\"#sub-communication\" aria-label=\"Permalink to Communication Solutions\">Communication Solutions<\/a><\/h3><\/header>\n          <div class=\"grid\">\n            <div itemprop=\"description\" dir=\"ltr\" class=\"ltr\">\n              <p class=\"balanced\">We design and deploy reliable communication infrastructures including networking, telephony, internet access, and centralized Satellite systems.<\/p>\n              <div class=\"bullets cols-2\" aria-label=\"Technologies & Components\">\n                <ul>\n                  <li>Data Centers<\/li><li>PBX & IP Telephony Systems<\/li><li>Cisco Switches & Routers<\/li><li>Networks and Servers<\/li>\n                <\/ul>\n                <ul>\n                  <li>MicroTik Routers & Access Points<\/li><li>Centralized Satellite Systems (MATV \/ SMATV)<\/li><li>Nurse Call Systems<\/li><li>Fiber Solutions<\/li>\n                <\/ul>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/article>\n\n        <article id=\"sub-hotel\" class=\"sol-card\" itemscope itemtype=\"https:\/\/schema.org\/Service\" style=\"--bg-image:url('https:\/\/damaj.sa\/wp-content\/uploads\/2025\/08\/Hotel-Solutions-ph1.png')\">\n          <meta itemprop=\"image\" content=\"https:\/\/damaj.sa\/wp-content\/uploads\/2025\/08\/Hotel-Solutions-ph1.png\" \/>\n          <header><h3 itemprop=\"name\"><a class=\"card-link\" href=\"#sub-hotel\" aria-label=\"Permalink to Hotel Solutions\">Hotel Solutions<\/a><\/h3><\/header>\n          <div class=\"grid\">\n            <div itemprop=\"description\" dir=\"ltr\" class=\"ltr\">\n              <p class=\"balanced\">We provide automation, GRMS and communication systems tailored for the hospitality industry, helping hotels improve operational efficiency and deliver better hosting experience.<\/p>\n              <div class=\"bullets\" aria-label=\"Capabilities\">\n                <ul>\n                  <li>DND (Do Not Disturb) and MUR (Make Up Room)<\/li>\n                  <li>Insert Card for Power<\/li>\n                  <li>GRMS & Guest Room Automation<\/li>\n                  <li>Energy Management Systems<\/li>\n                  <li>Integration with Property Management Systems (PMS)<\/li>\n                <\/ul>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/article>\n\n        <article id=\"sub-security\" class=\"sol-card\" itemscope itemtype=\"https:\/\/schema.org\/Service\" style=\"--bg-image:url('https:\/\/damaj.sa\/wp-content\/uploads\/2025\/08\/Security-Systems2-ph.png')\">\n          <meta itemprop=\"image\" content=\"https:\/\/damaj.sa\/wp-content\/uploads\/2025\/08\/Security-Systems2-ph.png\" \/>\n          <header><h3 itemprop=\"name\"><a class=\"card-link\" href=\"#sub-security\" aria-label=\"Permalink to Security Systems\">Security Systems<\/a><\/h3><\/header>\n          <div class=\"grid\">\n            <div itemprop=\"description\" dir=\"ltr\" class=\"ltr\">\n              <p class=\"balanced\">Our integrated security solutions protect people and property through high-performance surveillance, intrusion detection, and advanced access control technologies for all types of facilities.<\/p>\n              <div class=\"bullets\" aria-label=\"Systems\">\n                <ul>\n                  <li>CCTV & Surveillance Cameras<\/li>\n                  <li>Intrusion Detection Systems<\/li>\n                  <li>Access Control & Fingerprint & RFID Card Systems<\/li>\n                  <li>Fire Alarm Systems<\/li>\n                  <li>Perimeter Security<\/li>\n                <\/ul>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/article>\n      <\/section>\n\n\n      <!-- Industrial panel -->\n      <section id=\"panel-industrial\" class=\"sol-stack hidden\" role=\"tabpanel\" aria-labelledby=\"tab-industrial\" aria-hidden=\"true\">\n\n        <!-- \u0627\u0644\u0643\u0631\u062a \u0627\u0644\u062a\u0639\u0631\u064a\u0641\u064a \u0627\u0644\u062c\u062f\u064a\u062f \u0623\u0639\u0644\u0649 \u0642\u0633\u0645 Industrial -->\n        <div class=\"sol-intro sol-intro--industrial\" aria-label=\"About Industrial Automation\" style=\"text-align:center\">\n          <h3>What is Industrial Automation?<\/h3>\n          <p>\n            At <strong>DAMAJ<\/strong>, we deliver end-to-end industrial automation and digitalization\u2014covering PLC\/SCADA, & robotics, IIoT connectivity, and data platforms\u2014to boost productivity, uptime, and real-time visibility across your operations.\n          <\/p>\n          <ul class=\"intro-points\" aria-label=\"Key highlights\">\n            <li>Integrated PLC\/SCADA<\/li>\n            <li>Robotics & Machine Integration<\/li>\n            <li>Industrial IoT & Data Visibility<\/li>\n            <li>Energy & OEE Performance Insights<\/li>\n          <\/ul>\n        <\/div>\n        <!-- \u0646\u0647\u0627\u064a\u0629 \u0627\u0644\u0643\u0631\u062a \u0627\u0644\u062a\u0639\u0631\u064a\u0641\u064a \u0627\u0644\u062c\u062f\u064a\u062f -->\n\n        <article id=\"sub-industrial-automation\" class=\"sol-card\" itemscope itemtype=\"https:\/\/schema.org\/Service\" style=\"--bg-image:url('https:\/\/damaj.sa\/wp-content\/uploads\/2025\/05\/ssss1.png')\">\n          <meta itemprop=\"image\" content=\"https:\/\/damaj.sa\/wp-content\/uploads\/2025\/05\/ssss1.png\" \/>\n          <header><h3 itemprop=\"name\"><a class=\"card-link\" href=\"#sub-industrial-automation\" aria-label=\"Permalink to Industrial Automation\">Industrial Automation<\/a><\/h3><\/header>\n          <div class=\"grid\">\n            <div itemprop=\"description\" dir=\"ltr\" class=\"ltr\">\n              <p><strong>DAMAJ empowers your industrial operations with advanced automation and digital transformation solutions. <\/strong><\/p>\n              <p>Automate your entire operation \u2014 from production lines and PLC systems to CNC machines, industrial robots, and beyond. Boost efficiency, reduce manual workload, and gain real-time monitoring over your factory\u2019s performance anytime, anywhere. Our automation solutions, powered by Industry 4.0 technologies, <strong>Turn data into industrial power.<\/strong><\/p>\n            <\/div>\n          <\/div>\n        <\/article>\n\n        <article id=\"sub-mes\" class=\"sol-card\" itemscope itemtype=\"https:\/\/schema.org\/Service\"\n  style=\"--bg-image:url('https:\/\/damaj.sa\/wp-content\/uploads\/2025\/10\/SmartFactory-MES-Solutions.png')\">\n  <meta itemprop=\"image\" content=\"https:\/\/damaj.sa\/wp-content\/uploads\/2025\/10\/SmartFactory-MES-Solutions.png\" \/>\n  <header>\n    <h3 itemprop=\"name\">\n      <a class=\"card-link\" href=\"#sub-mes\" aria-label=\"Permalink to MES Solutions\">MES Solutions<\/a>\n    <\/h3>\n  <\/header>\n  <div class=\"grid\">\n    <div itemprop=\"description\" dir=\"ltr\" class=\"ltr\">\n      <p><strong>DAMAJ<\/strong> provides Manufacturing Execution System (MES) solutions that connect production, automation, and business systems in real time.<\/p>\n      <p>Our MES integrates machine data, operator input, quality control, and ERP systems \u2014 giving you visibility into every process and enabling smart, data-driven manufacturing decisions.<\/p>\n      <ul class=\"bullets\" aria-label=\"Capabilities\">\n        <li>Real-time production tracking<\/li>\n        <li>OEE & performance monitoring<\/li>\n        <li>Quality management integration<\/li>\n        <li>ERP and SCADA connectivity<\/li>\n      <\/ul>\n    <\/div>\n  <\/div>\n<\/article>\n      <\/section>\n    <\/main>\n  <\/div>\n\n  <!-- Fallback \u0628\u062f\u0648\u0646 JS (\u0644\u0640SEO \u0623\u064a\u0636\u0627\u064b) -->\n  <noscript>\n    <div class=\"sol-main\">\n      <div class=\"sol-stack\">\n        <article class=\"sol-card\" style=\"--bg-image:url('https:\/\/images.unsplash.com\/photo-1581093588401-16ec9f9b3a3a?q=80&w=2000&auto=format&fit=crop')\">\n          <header><h3>Industrial Automation<\/h3><\/header>\n          <div class=\"grid\"><div><p>PLC\/SCADA\u060c \u062d\u0631\u0643\u0629 \u0648\u0631\u0648\u0628\u0648\u062a\u0627\u062a\u060c \u0648\u0631\u0628\u0637 IIoT \u0644\u0631\u0641\u0639 \u0627\u0644\u062c\u0627\u0647\u0632\u064a\u0629 \u0648\u0627\u0644\u0625\u0646\u062a\u0627\u062c\u064a\u0629 \u0639\u0628\u0631 \u062e\u0637\u0648\u0637 \u0627\u0644\u0625\u0646\u062a\u0627\u062c.<\/p><\/div><\/div>\n        <\/article>\n        <article class=\"sol-card\" style=\"--bg-image:url('https:\/\/images.unsplash.com\/photo-1518773553398-650c184e0bb3?q=80&w=2000&auto=format&fit=crop')\">\n          <header><h3>Software Development<\/h3><\/header>\n          <div class=\"grid\"><div><p>\u0628\u0631\u0645\u062c\u064a\u0627\u062a \u0645\u062e\u0635\u0635\u0629: MES\u060c \u0644\u0648\u062d\u0627\u062a \u0645\u0624\u0634\u0631\u0627\u062a\u060c \u0648\u0631\u0628\u0637 \u0627\u0644\u062d\u0627\u0641\u0629-\u0625\u0644\u0649-\u0627\u0644\u0633\u062d\u0627\u0628\u0629 \u0644\u062a\u062d\u0648\u064a\u0644 \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0622\u0644\u0627\u062a \u0625\u0644\u0649 \u0642\u0631\u0627\u0631\u0627\u062a.<\/p><\/div><\/div>\n        <\/article>\n        <article class=\"sol-card\" style=\"--bg-image:url('https:\/\/images.unsplash.com\/photo-1558002038-1055907df827?q=80&w=2000&auto=format&fit=crop')\">\n          <header><h3>Smart Home<\/h3><\/header>\n          <div class=\"grid\"><div><p>\u062d\u0644\u0648\u0644 \u0627\u0644\u0645\u0646\u0632\u0644 \u0627\u0644\u0630\u0643\u064a \u0644\u0644\u062a\u062d\u0643\u0645 \u0641\u064a \u0627\u0644\u0625\u0636\u0627\u0621\u0629 \u0648\u0627\u0644\u062a\u0643\u064a\u064a\u0641 \u0648\u0627\u0644\u0633\u062a\u0627\u0626\u0631 \u0648\u0627\u0644\u0637\u0627\u0642\u0629 \u0645\u0646 \u0645\u0643\u0627\u0646 \u0648\u0627\u062d\u062f\u2026<\/p><\/div><\/div>\n        <\/article>\n      <\/div>\n    <\/div>\n  <\/noscript>\n<\/section>\n\n<style>\n  :root{\n    --container-max:1400px;\n    --site-header-offset: 0px;\n    --site-footer-offset: 0px;\n    --entry-nudge: 0px;\n    --chooser-pull-up: 80px; \/* \u064a\u0631\u0641\u0639 \u0634\u0627\u0634\u0629 \u0627\u0644\u0627\u062e\u062a\u064a\u0627\u0631 \u0644\u062a\u0644\u062a\u0635\u0642 \u0628\u0627\u0644\u0647\u064a\u062f\u0631 \u0642\u062f\u0631 \u0627\u0644\u0625\u0645\u0643\u0627\u0646 *\/\n    --header-nudge: 12px;\n    --sol-bar-h: 72px;\n    --sol-subbar-h: 0px;\n    --hero-boost: 0px;\n    --chooser-extra-height: 165px; \/* \u064a\u0632\u064a\u062f \u0637\u0648\u0644 \u0635\u0648\u0631 \u0635\u0641\u062d\u0629 \u0627\u0644\u0628\u062f\u0627\u064a\u0629 \u062d\u062a\u0649 \u062a\u0644\u0627\u0645\u0633 \u0627\u0644\u0641\u0648\u062a\u0631 *\/\n\n    --sol-blue:#1d4ed8;  --sol-blue-rgb:29,78,216;\n    --sol-cyan:#0ea5e9;  --sol-cyan-rgb:14,165,233;\n\n    --sol-link-dist:140;\n    --sol-link-opacity:0.18;\n    --sol-base-speed:0.15;\n    --sol-max-drift:0.7;\n    --sol-drift-smooth:0.06;\n    --sol-particles-density:100;\n    --sol-particles-min:40;\n    --sol-particles-max:140;\n  }\n\n  .solutions-section{\n    position:relative;\n    z-index:auto;\n    margin-top:0 !important;\n    padding-top:0 !important;\n  }\n\n  \/* Apply the upward pull only on the first chooser screen.\n     Once a section is opened, the internal tabs return to normal flow\n     so the website header does not overlap them. *\/\n  .solutions-section.chooser-mode{\n    margin-top:calc(-1 * var(--chooser-pull-up)) !important;\n  }\n\n  .solutions-section:not(.chooser-mode) .sol-header-inner{\n    padding-top:18px;\n  }\n\n  #sol-bg{\n    position:fixed; inset:0; width:100vw; height:100vh; z-index:0; pointer-events:none; display:block;\n    background:\n      radial-gradient(1200px 600px at 80% -10%, rgba(59,130,246,.10), transparent 60%),\n      radial-gradient(1000px 500px at 10% 110%, rgba(14,165,233,.10), transparent 60%),\n      linear-gradient(180deg, #ffffff, #fbfdff);\n  }\n  @media (prefers-reduced-motion: reduce){ #sol-bg{ display:none !important; } }\n\n  .sol-header{ position:relative; z-index:3; background:transparent; border-bottom:none; margin-top:0!important; }\n  .sol-header-inner{ max-width:var(--container-max); margin:0 auto; padding:14px 24px; display:flex; justify-content:center; gap:26px; flex-wrap:wrap; }\n  .sol-btn{ border:2px solid var(--sol-blue); border-radius:999px; display:inline-flex; align-items:center; gap:10px; padding:12px 20px; transition: transform .25s ease, box-shadow .25s ease, background-color .2s ease, color .2s ease, border-color .2s ease; background:transparent; }\n  .sol-btn:hover{ border-color:var(--sol-blue); background:color-mix(in srgb, var(--sol-blue) 6%, transparent); box-shadow:0 6px 16px color-mix(in srgb, var(--sol-blue) 18%, transparent); }\n  .sol-btn.active{ background:linear-gradient(90deg,var(--sol-blue),var(--sol-cyan)); color:#fff; border-color:var(--sol-blue); box-shadow:0 10px 24px rgba(2,132,199,.25); transform: translateY(-1px) scale(1.06); }\n  .sol-btn .txt{ font:600 15px\/1.1 ui-sans-serif,system-ui; color:var(--sol-blue); letter-spacing:.2px; text-align:center; }\n  .sol-btn.active .txt{ color:#fff; }\n  .sol-btn:focus-visible{ outline:3px solid var(--sol-blue); outline-offset:2px; }\n\n  .sol-subbar{ position:sticky; top:calc(var(--site-header-offset)); z-index:2; background:transparent; backdrop-filter:none; border:none; box-shadow:none; }\n  .sol-subbar.hidden{ display:none !important; }\n  .sol-subbar-inner{ max-width:var(--container-max); margin:0 auto; padding:8px 16px; display:flex; gap:18px; align-items:center; justify-content:center; flex-wrap:wrap; direction:ltr; }\n  .subitem{ flex:0 0 auto; border:none; background:transparent; cursor:pointer; padding:10px 14px; border-radius:999px; font:700 14px\/1 ui-sans-serif,system-ui; color:#334155; transition: transform .25s ease, color .25s ease, background-color .25s ease; }\n  .subitem:hover{ background:color-mix(in srgb, var(--sol-blue) 6%, transparent); }\n  .subitem.active{ color:var(--sol-blue); transform:scale(1.12); background:color-mix(in srgb, var(--sol-blue) 10%, transparent); }\n  .subitem:focus-visible{ outline:3px solid var(--sol-blue); outline-offset:2px; }\n\n  .sol-main{ max-width:var(--container-max); margin:0 auto; padding:28px 24px 16px; position:relative; z-index:1; }\n\n  #solutions-chooser{\n    position:sticky;\n    top:var(--site-header-offset);\n    min-height:calc(100vh - var(--site-header-offset) + var(--chooser-extra-height));\n    height:calc(100vh - var(--site-header-offset) + var(--chooser-extra-height));\n    display:grid;\n    grid-template-columns:repeat(3, minmax(0, 1fr));\n    z-index:2;\n    width:100vw;\n    margin-left:calc(50% - 50vw);\n    margin-right:calc(50% - 50vw);\n    outline:none;\n  }\n  #solutions-chooser[aria-hidden=\"true\"]{ display:none !important; }\n  #solutions-chooser button{ position:relative; overflow:hidden; border:none; cursor:pointer; }\n  #solutions-chooser img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; will-change: transform, filter; transform: translateZ(0); transition: transform 1.2s cubic-bezier(.22,.87,.35,1), filter .45s ease-in-out; }\n  #solutions-chooser .shade{ position:absolute; inset:0; background:rgba(0,0,0,.4); transition: background-color .2s ease; }\n  #solutions-chooser .inner{ position:absolute; inset:0; display:grid; place-items:center; padding:0 clamp(14px, 2vw, 32px); }\n  #solutions-chooser .chip{ position:relative; z-index:1; display:inline-flex; flex-direction:column; align-items:center; justify-content:center; max-width:min(92%, 520px); color:#fff; font:800 clamp(20px,2.55vw,44px)\/1.08 ui-sans-serif,system-ui; letter-spacing:.25px; text-shadow:0 2px 12px rgba(0,0,0,.55), 0 8px 30px rgba(0,0,0,.35); text-align:center; transition: transform .35s cubic-bezier(.22,.87,.35,1), letter-spacing .25s ease; transform-origin:center; will-change: transform; overflow:visible; }\n  #solutions-chooser .chip .main-title{ display:block; }\n  #solutions-chooser .chip .amp{ display:inline; font:inherit; margin:0 .08em; transition: transform .35s cubic-bezier(.22,.87,.35,1); transform-origin:center; }\n  #solutions-chooser .chip .sub{ display:block; font:700 clamp(12px,1.05vw,16px)\/1.25 ui-sans-serif,system-ui; opacity:.96; margin-top:10px; letter-spacing:.7px; text-transform:uppercase; }\n  #solutions-chooser .chip .sub--system{ font:800 clamp(13px,1.25vw,18px)\/1.25 ui-sans-serif,system-ui; text-transform:none; letter-spacing:.35px; }\n  #solutions-chooser .chip .sub--explore{ font:700 clamp(11px,0.95vw,14px)\/1 ui-sans-serif,system-ui; opacity:.92; }\n\n\n  \/* Professional click badge on the chooser screen *\/\n  #solutions-chooser .chip .sub--explore{\n    display:inline-flex;\n    align-items:center;\n    justify-content:center;\n    width:max-content;\n    margin-inline:auto;\n    padding:9px 16px;\n    border-radius:999px;\n    border:1px solid rgba(255,255,255,.42);\n    background:\n      linear-gradient(180deg, rgba(255,255,255,.20), rgba(255,255,255,.08)),\n      rgba(0,82,129,.32);\n    box-shadow:\n      0 10px 28px rgba(0,0,0,.25),\n      inset 0 1px 0 rgba(255,255,255,.28);\n    backdrop-filter: blur(8px);\n    -webkit-backdrop-filter: blur(8px);\n    text-shadow:0 1px 8px rgba(0,0,0,.45);\n  }\n\n  @media (hover: hover){\n    #solutions-chooser button:hover .shade{ background:rgba(0,0,0,.30); }\n    #solutions-chooser button:hover img{ filter: blur(6px); transform: scale(1.06); }\n    #solutions-chooser button:hover .chip{ transform: translateZ(0) scale(1.06); letter-spacing:.35px; }\n    #solutions-chooser button:hover .chip .amp{ transform: scale(1.04); }\n    #solutions-chooser button:hover .chip .sub--explore{\n      background:\n        linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,.12)),\n        rgba(14,165,233,.38);\n      border-color:rgba(255,255,255,.62);\n      box-shadow:\n        0 14px 34px rgba(0,0,0,.30),\n        inset 0 1px 0 rgba(255,255,255,.38);\n    }\n    #solutions-chooser button:focus-visible .chip{ transform: translateZ(0) scale(1.06); letter-spacing:.35px; }\n  }\n\n  .sol-stack{ display:flex; flex-direction:column; gap:24px; }\n  .sol-card{ position:relative; border:1px solid transparent; border-radius:28px; background:transparent; box-shadow:0 8px 20px rgba(2, 6, 23, 0.06), 0 2px 6px rgba(2, 6, 23, 0.04); opacity:0; transform: translateY(36px) scale(.98); filter: saturate(1); overflow:hidden; transition: transform .45s cubic-bezier(.22,.87,.35,1), box-shadow .45s cubic-bezier(.22,.87,.35,1), filter .45s ease, opacity .5s ease-out; transition-delay: var(--stagger, 0ms); }\n  .sol-card::before{ content:\"\"; position:absolute; inset:0; background-image: var(--bg-image); background-size:cover; background-position:center; transition: filter .45s ease; }\n  .sol-card::after{ content:\"\"; position:absolute; inset:0; background: rgba(0,0,0,.58); transition: background .35s ease; }\n  .sol-card.is-in{ opacity:1; transform:none; box-shadow:0 12px 26px rgba(2,6,23,.08), 0 2px 6px rgba(2,6,23,.04); }\n  .sol-card:hover{ transform: translateY(-4px) scale(1.01); box-shadow:0 14px 34px rgba(2, 6, 23, 0.10), 0 4px 10px rgba(2, 6, 23, 0.06); }\n  .sol-card:hover::before{ filter: blur(6px); }\n\n  .sol-card header{ background:transparent; padding:22px 18px 0; display:flex; justify-content:center; align-items:flex-start; position:relative; z-index:1; }\n  .sol-card header h3{ margin:0 auto; display:inline-flex; align-items:center; gap:10px; font:800 clamp(18px, 1.5vw, 22px)\/1.25 ui-sans-serif, system-ui; color:#fff; background: rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.25); padding:10px 14px; border-radius:999px; letter-spacing:.2px; box-shadow:0 2px 10px rgba(0,0,0,.25); text-align:center; transition: transform .35s cubic-bezier(.22,.87,.35,1), box-shadow .35s ease; }\n  .sol-card header h3 .card-link{ color:inherit; text-decoration:none; }\n  .sol-card header h3 .card-link:focus-visible{ outline:3px solid #fff; outline-offset:2px; border-radius:999px; }\n  .sol-card:hover header h3{ transform: translateY(-1px); box-shadow:0 6px 18px rgba(0,0,0,.32); }\n\n  .sol-card .grid{ display:grid; gap:18px; padding:16px 18px 24px; grid-template-columns:1fr; align-items:start; position:relative; z-index:1; }\n  .sol-card img{ display:none !important; }\n\n  .sol-card p, .sol-card .balanced, .sol-card .ltr, .sol-card .bullets li{ color:#fff; }\n  .sol-card p{ font:600 16.5px\/1.9 ui-sans-serif, system-ui; margin:2px 0 0; text-align:center; }\n  .bullets{ margin-top:14px; display:grid; gap:14px; }\n  .bullets ul{ list-style:disc; padding-inline-start:22px; margin:0; display:flex; flex-direction:column; gap:6px; }\n  .bullets.cols-2{ grid-template-columns:1fr 1fr; }\n  .bullets li{ line-height:1.7; }\n\n  .sol-intro{ position:relative; border-radius:20px; padding:20px 22px; background: radial-gradient(800px 400px at 90% -10%, rgba(59,130,246,.12), transparent 60%), radial-gradient(700px 380px at 10% 110%, rgba(14,165,233,.12), transparent 60%), linear-gradient(180deg, #ffffff, #f8fbff); border:1px solid rgba(29,78,216,.10); box-shadow:0 10px 26px rgba(2,6,23,.06); margin:8px 0 12px; }\n  .sol-intro h3{ margin:0 0 10px; color:#0f172a; font:800 18px\/1.2 ui-sans-serif,system-ui; text-align:center; }\n  .sol-intro p{ margin:0; color:#1f2937; font:600 15.5px\/1.8 ui-sans-serif,system-ui; text-align:center; }\n  .sol-intro .intro-points{ margin:14px auto 0; padding:0; list-style:none; max-width:1000px; display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:10px 14px; }\n  .sol-intro .intro-points li{ color:#334155; font:600 14px\/1.6 ui-sans-serif,system-ui; position:relative; padding-inline-start:18px; }\n  .sol-intro .intro-points li::before{ content:\"\u2022\"; position:absolute; inset-inline-start:0; color:#2563eb; font-weight:900; }\n\n  .sol-showcase{ position:relative; }\n  .sol-sticky{ position:sticky; top:calc(var(--site-header-offset) + var(--sol-subbar-h) + 12px); height:calc(100vh - var(--site-header-offset) - var(--sol-subbar-h) - 12px); display:grid; align-content:center; z-index:1; }\n  .sol-viewport{ position:relative; min-height:70vh; }\n\n  .sol-frame{ position:absolute; inset:0; display:grid; grid-template-columns:1fr; gap:24px; opacity:0; pointer-events:none; transition:opacity .45s ease; }\n  .sol-frame.is-active{ opacity:1; pointer-events:auto; }\n  .sol-frame .sol-card{ opacity:0; transform: translateY(24px) scale(.985); transition: transform .6s ease, opacity .5s ease; }\n  .sol-frame.is-active .sol-card{ opacity:1; transform:none; }\n\n  .sol-steps{ position:relative; }\n  .sol-steps .step{ height:90vh; }\n\n  .hidden{ display:none !important; }\n  #sol-debug{ position:fixed; right:10px; bottom:10px; z-index:9999; background:#111; color:#fff; font:12px\/1.4 ui-sans-serif; padding:6px 10px; border-radius:999px; opacity:.85; display:none; }\n\n  \/* MOBILE *\/\n  @media (max-width: 1024px){\n    #solutions-chooser{\n      grid-template-columns:1fr;\n      min-height: calc(100vh - var(--site-header-offset) + var(--chooser-extra-height));\n      height: calc(100vh - var(--site-header-offset) + var(--chooser-extra-height));\n      gap: 10px;\n      padding: 0;\n      top: var(--site-header-offset);\n      direction: ltr;\n    }\n    .solutions-section .sol-main{\n  padding-inline: 10px !important; \/* \u064a\u0642\u0644\u0644 \u0627\u0644\u0641\u0631\u0627\u063a \u0627\u0644\u062c\u0627\u0646\u0628\u064a *\/\n}\n    #solutions-chooser button{ height: calc((100vh - var(--site-header-offset) + var(--chooser-extra-height) - 20px) \/ 3); border-radius: 20px; }\n    #solutions-chooser img{ object-position: center; }\n    #solutions-chooser .inner{\n      position:absolute; top:50%; left:50%;\n      transform: translate(-50%,-50%);\n      display:flex; justify-content:center; align-items:center;\n      text-align:center;\n      width: 90%;\n      max-width: 680px;\n    }\n    #solutions-chooser .chip{ font-size:clamp(17px, 5vw, 28px); max-width:92%; }\n    #solutions-chooser .chip .sub{ display:block; font:700 clamp(11px,3vw,14px)\/1.15 ui-sans-serif,system-ui; opacity:.95; margin-top:7px; letter-spacing:.65px; text-shadow:0 1px 8px rgba(0,0,0,.45); }\n    #solutions-chooser .chip .sub--system{ font:800 clamp(12px,3.5vw,15px)\/1.2 ui-sans-serif,system-ui; text-transform:none; }\n    #solutions-chooser .chip .sub--explore{ text-transform:uppercase; }\n  }\n\n  \/* Desktop: DAMAJ PMS \/ LV \/ Industrial *\/\n  @media (min-width: 1025px){\n    #solutions-chooser{\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      direction: ltr;\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce){\n    *{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }\n    .sol-card, .sol-card header h3{ transition:none !important; }\n  }\n\n  \/* ===================== *\/\n  \/*  RTL FIXES (AR PAGES) *\/\n  \/* ===================== *\/\n  \/* \u062a\u064f\u0641\u0639\u0651\u064e\u0644 \u062a\u0644\u0642\u0627\u0626\u064a\u0627\u064b \u0625\u0630\u0627 \u0643\u0627\u0646\u062a \u0635\u0641\u062d\u0629 TranslatePress \u0627\u0644\u0639\u0631\u0628\u064a\u0629 \u062a\u0636\u0639 dir=\"rtl\" \u0639\u0644\u0649 <html> *\/\n  :root[dir=\"rtl\"] .solutions-section{ direction: rtl; }\n  :root[dir=\"rtl\"] .sol-subbar-inner{ direction: rtl; }\n  :root[dir=\"rtl\"] #solutions-chooser{ direction: rtl; }\n\n  \/* \u0645\u062d\u0627\u0630\u0627\u0629 \u0646\u0635\u0648\u0635 \u0627\u0644\u0643\u0631\u0648\u062a \u0648\u0627\u0644\u0645\u0642\u062f\u0645\u0627\u062a \u064a\u0645\u064a\u0646\u0627\u064b \u0641\u064a \u0627\u0644\u0639\u0631\u0628\u064a\u0629 *\/\n  :root[dir=\"rtl\"] .sol-card p,\n  :root[dir=\"rtl\"] .sol-card .balanced,\n  :root[dir=\"rtl\"] .sol-card .bullets li,\n  :root[dir=\"rtl\"] .sol-intro p{ text-align: right; unicode-bidi: plaintext; }\n\n  \/* \u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0643\u0631\u062a \u064a\u062a\u0628\u0639 RTL \u062f\u0648\u0646 \u0642\u0644\u0628 \u062a\u0631\u062a\u064a\u0628 \u0627\u0644\u0643\u0644\u0645\u0627\u062a *\/\n  :root[dir=\"rtl\"] .sol-card header h3{ direction: rtl; }\n\n  \/* \u0646\u0642\u0627\u0637 \u0627\u0644\u0645\u0642\u062f\u0645\u0629: \u0646\u0642\u0644 \u0627\u0644\u0646\u0642\u0637\u0629 \u0625\u0644\u0649 \u0627\u0644\u064a\u0645\u064a\u0646 \u0645\u0639 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u062e\u0635\u0627\u0626\u0635 \u0627\u0644\u0645\u0646\u0637\u0642\u064a\u0629 *\/\n  :root[dir=\"rtl\"] .sol-intro .intro-points li{\n    padding-inline-start: 0;\n    padding-inline-end: 18px;\n  }\n  :root[dir=\"rtl\"] .sol-intro .intro-points li::before{\n    inset-inline-start: auto;\n    inset-inline-end: 0;\n  }\n\n  \/* \u0627\u0644\u0642\u0648\u0627\u0626\u0645 \u062f\u0627\u062e\u0644 \u0627\u0644\u0643\u0631\u0648\u062a: \u062a\u062d\u062a\u0631\u0645 \u0627\u0644\u0627\u062a\u062c\u0627\u0647 *\/\n  :root[dir=\"rtl\"] .bullets ul{ list-style-position: outside; }\n\n  \/* ===== RTL LISTS FIX (AR) ===== *\/\n  :root[dir=\"rtl\"] .ltr{\n    direction: rtl !important;       \/* \u0643\u0627\u0646\u062a LTR \u0641\u064a \u0627\u0644\u0646\u0633\u062e\u0629 \u0627\u0644\u0623\u0635\u0644\u064a\u0629\u060c \u0648\u0641\u064a \u0646\u0633\u062e\u0629 AR \u062a\u0635\u0628\u062d RTL *\/\n    text-align: right;\n    unicode-bidi: plaintext;\n  }\n  :root[dir=\"rtl\"] .bullets{ direction: rtl; }\n  :root[dir=\"rtl\"] .bullets ul{\n    display: block !important;       \/* \u0625\u0644\u063a\u0627\u0621 flex \u0641\u064a RTL \u0644\u062a\u0641\u0627\u062f\u064a \u0644\u062e\u0628\u0637\u0629 \u0627\u0644\u0639\u0644\u0627\u0645\u0627\u062a *\/\n    padding-inline-start: 0;         \/* \u0644\u0627 \u0645\u0633\u0627\u0641\u0629 \u064a\u0633\u0627\u0631 *\/\n    padding-inline-end: 22px;        \/* \u0645\u0633\u0627\u0641\u0629 \u0639\u0646\u062f \u064a\u0645\u064a\u0646 \u0627\u0644\u0639\u0646\u0635\u0631 *\/\n    margin: 0;\n    list-style: disc outside;        \/* \u0627\u0644\u0639\u0644\u0627\u0645\u0629 \u0639\u0644\u0649 \u064a\u0645\u064a\u0646 \u0627\u0644\u0646\u0635 *\/\n  }\n  :root[dir=\"rtl\"] .bullets li{ text-align: right; }\n  :root[dir=\"rtl\"] .bullets.cols-2{ grid-template-columns: 1fr 1fr; }\n\n  \/* ===== \u0625\u0636\u0627\u0641\u0629 \u0644\u0648\u0646 \u0648\u062a\u0645\u0648\u062c \u0644\u0644\u0643\u0631\u062a \u0627\u0644\u062a\u0639\u0631\u064a\u0641\u064a \u0627\u0644\u062c\u062f\u064a\u062f (Industrial) ===== *\/\n  .sol-intro--industrial{\n    --ia-rgb: 0, 82, 129; \/* #005281 *\/\n    background:\n      radial-gradient(800px 400px at 90% -10%, rgba(var(--ia-rgb), 0.14), transparent 60%),\n      radial-gradient(700px 380px at 10% 110%, rgba(var(--ia-rgb), 0.12), transparent 60%),\n      linear-gradient(180deg, #ffffff, #f8fbff);\n    border: 1px solid rgba(var(--ia-rgb), 0.18);\n    box-shadow: 0 10px 26px rgba(2,6,23,.06);\n  }\n  :root[dir=\"rtl\"] .sol-intro--industrial .intro-points li::before{\n    color: rgb(var(--ia-rgb));\n  }\n<\/style>\n\n<script>\n\/* ===== \u0633\u0644\u0648\u0643 \u0627\u0644\u0648\u0627\u062c\u0647\u0629 (\u0628\u062f\u0648\u0646 \u0623\u064a \u0646\u0638\u0627\u0645 \u062a\u0631\u062c\u0645\u0629 JS) ===== *\/\n(function(){\n  const __DEV__ = false;\n  const root = document.getElementById('solutions-vanilla');\n\n  \/\/ \u0623\u062f\u0648\u0627\u062a\n  function clamp(n, a, b){ return Math.max(a, Math.min(b, n)); }\n\n  \/\/ \u0643\u0627\u0634 \u0627\u0644\u0639\u0646\u0627\u0635\u0631\n  const subbar = root.querySelector('.sol-subbar');\n  const subbarList = root.querySelector('#subbar-list');\n  const groups = {\n    damajPms: document.getElementById('panel-damaj-pms'),\n    lv: document.getElementById('panel-lv'),\n    industrial: document.getElementById('panel-industrial')\n  };\n\n  \/\/ \u062a\u0641\u0639\u064a\u0644 \u0638\u0647\u0648\u0631 \u0627\u0644\u0643\u0631\u0648\u062a \u0639\u0646\u062f \u0627\u0644\u0633\u062d\u0628\n  const revealObserver = new IntersectionObserver(function(entries){\n    const batch = entries\n      .filter(e=>e.isIntersecting && !e.target.dataset.revealed)\n      .sort((a,b)=> a.target.getBoundingClientRect().top - b.target.getBoundingClientRect().top);\n\n    batch.forEach((entry,i)=>{\n      const el = entry.target;\n      el.style.setProperty('--stagger', (i*120)+'ms');\n      el.classList.add('is-in');\n      el.dataset.revealed='1';\n      revealObserver.unobserve(el);\n    });\n  }, { root:null, threshold:0.15, rootMargin:'0px 0px -10% 0px' });\n\n  function initReveal(scope){\n    const container = scope || document;\n    const cards = container.querySelectorAll('.sol-card');\n    cards.forEach((el)=>{\n      if(!el.dataset.observed){\n        el.dataset.observed='1';\n        el.style.transitionDelay='var(--stagger, 0ms)';\n        el.style.willChange='transform, opacity';\n        revealObserver.observe(el);\n      }\n    });\n  }\n\n  \/\/ \u0628\u0646\u0627\u0621 \u0627\u0644\u0640Showcase \u0645\u0646 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 \u0627\u0644\u0645\u0648\u062c\u0648\u062f\u0629 \u0641\u064a HTML\n  function buildShowcase(groupEl){\n    if (!groupEl || groupEl.dataset.showcaseBuilt) return;\n\n    const allChildren = Array.from(groupEl.children);\n    const cards = allChildren.filter(el => el.classList.contains('sol-card'));\n    const prefix = allChildren.filter(el => !el.classList.contains('sol-card'));\n\n    if (!cards.length) return;\n\n    const showcase = document.createElement('div'); showcase.className = 'sol-showcase';\n    const sticky = document.createElement('div'); sticky.className = 'sol-sticky';\n    const viewport = document.createElement('div'); viewport.className = 'sol-viewport';\n    sticky.appendChild(viewport); showcase.appendChild(sticky);\n\n    const steps = document.createElement('div'); steps.className = 'sol-steps'; showcase.appendChild(steps);\n\n    cards.forEach((card, idx)=>{\n      const frame = document.createElement('div'); frame.className = 'sol-frame'; frame.appendChild(card);\n      viewport.appendChild(frame);\n      const step = document.createElement('div'); step.className = 'step'; step.dataset.frame = String(idx);\n      steps.appendChild(step);\n    });\n\n    groupEl.textContent = '';\n    prefix.forEach(el => groupEl.appendChild(el));\n    groupEl.appendChild(showcase);\n    groupEl.dataset.showcaseBuilt = '1';\n    activateFrame(groupEl, 0);\n  }\n\n  buildShowcase(groups.damajPms);\n  buildShowcase(groups.lv);\n  buildShowcase(groups.industrial);\n\n  \/\/ \u062a\u0641\u0639\u064a\u0644 \u062a\u0628\u0648\u064a\u0628 \u0627\u0641\u062a\u0631\u0627\u0636\u064a: DAMAJ Platform PMS\n  let currentMain = 'damajPms';\n  setActiveMain('damajPms', false);\n\n  \/\/ \u0628\u0646\u0627\u0621 \u0634\u0631\u064a\u0637 \u0627\u0644\u0623\u0642\u0633\u0627\u0645 \u0627\u0644\u0641\u0631\u0639\u064a\u0629 \u0645\u0646 \u0627\u0644\u0639\u0646\u0627\u0648\u064a\u0646 \u0627\u0644\u0645\u0648\u062c\u0648\u062f\u0629 \u0641\u064a HTML\n  function buildSubbarFor(groupKey){\n    subbarList.innerHTML = '';\n    const groupEl = groups[groupKey];\n    if(!groupEl) return;\n    const titles = Array.from(groupEl.querySelectorAll('.sol-card header h3')).map(h=>h.textContent.trim());\n    titles.forEach((t,idx)=>{\n      const b = document.createElement('button');\n      b.className = 'subitem';\n      b.type = 'button';\n      b.textContent = t;\n      b.dataset.index = String(idx);\n      b.setAttribute('aria-label', t);\n      subbarList.appendChild(b);\n    });\n    setSubbarActive(0);\n  }\n\n  function setSubbarActive(idx){\n    const items = subbarList.querySelectorAll('.subitem');\n    items.forEach((it,i)=> it.classList.toggle('active', i===idx));\n  }\n\n  function scrollToStep(groupEl, idx){\n    const stepsWrap = groupEl.querySelector('.sol-steps');\n    if(!stepsWrap) return;\n    const step = stepsWrap.children[idx];\n    if(!step) return;\n\n    const rect = step.getBoundingClientRect();\n    const yNow = window.pageYOffset;\n    const headerOffset = parseInt(getComputedStyle(document.documentElement).getPropertyValue('--site-header-offset')) || 0;\n    const subbarH = parseInt(getComputedStyle(document.documentElement).getPropertyValue('--sol-subbar-h')) || 0;\n    const targetY = rect.top + yNow - headerOffset - subbarH + 8;\n\n    window.scrollTo({ top: targetY, behavior: 'smooth' });\n  }\n\n  function updateOffsets(){\n    const adminBar = document.getElementById('wpadminbar');\n    const headerCandidates = [\n      window.SOL_CFG?.headerSelector,\n      '.elementor-location-header','.e-header','.site-header','#masthead','header[role=\"banner\"]','header'\n    ].filter(Boolean);\n    const footerCandidates = [\n      window.SOL_CFG?.footerSelector,\n      '.elementor-location-footer','.e-footer','.site-footer','#colophon','footer[role=\"contentinfo\"]','footer'\n    ].filter(Boolean);\n    function findFirst(selectors){ for (const s of selectors){ const el = document.querySelector(s); if (el) return el; } return null; }\n\n    let headerOffset = 0, footerOffset = 0;\n    if (typeof window.SOL_CFG?.offsets?.header === 'number') {\n      headerOffset = window.SOL_CFG.offsets.header;\n    } else {\n      const h = findFirst(headerCandidates);\n      if (h) headerOffset = h.offsetHeight;\n      if (adminBar) headerOffset += adminBar.offsetHeight || 0;\n      headerOffset += (window.SOL_CFG?.headerExtra || 0);\n    }\n\n    if (typeof window.SOL_CFG?.offsets?.footer === 'number') {\n      footerOffset = window.SOL_CFG.offsets.footer;\n    } else {\n      const f = findFirst(footerCandidates);\n      let isFixed = null;\n      if (typeof window.SOL_CFG?.footerIsFixed === 'boolean') {\n        isFixed = window.SOL_CFG.footerIsFixed;\n      } else if (f) {\n        const cs = window.getComputedStyle(f);\n        isFixed = (cs.position === 'fixed' || cs.position === 'sticky');\n      }\n      if (f && isFixed) footerOffset = f.offsetHeight;\n      footerOffset += (window.SOL_CFG?.footerExtra || 0);\n    }\n\n    let subbarH = 0;\n    const subbarEl = root.querySelector('.sol-subbar');\n    if (subbarEl && !subbarEl.classList.contains('hidden')){\n      subbarH = Math.round(subbarEl.getBoundingClientRect().height);\n    }\n\n    document.documentElement.style.setProperty('--site-header-offset', headerOffset + 'px');\n    document.documentElement.style.setProperty('--site-footer-offset', footerOffset + 'px');\n    document.documentElement.style.setProperty('--sol-subbar-h', subbarH + 'px');\n\n    const bar = root.querySelector('.sol-header');\n    if (bar) {\n      const h = Math.round(bar.getBoundingClientRect().height);\n      document.documentElement.style.setProperty('--sol-bar-h', h + 'px');\n    }\n  }\n\n  function withRaf(fn){\n    let ticking=false;\n    return function(){ if(!ticking){ ticking=true; requestAnimationFrame(()=>{ fn(); ticking=false; }); } };\n  }\n  const updateOffsetsRaf = withRaf(updateOffsets);\n\n  const stepsCache = { key: null, centers: [], groupEl: null };\n\n  function rebuildStepsCache(){\n    const activeGroup = groups[currentMain];\n    if (!activeGroup || activeGroup.classList.contains('hidden')) return;\n    const stepsWrap = activeGroup.querySelector('.sol-steps');\n    if (!stepsWrap) return;\n    const list = Array.from(stepsWrap.children);\n    const centers = list.map(el=>{\n      const r = el.getBoundingClientRect();\n      return (r.top + r.bottom)\/2 + window.pageYOffset;\n    });\n    stepsCache.key = currentMain;\n    stepsCache.centers = centers;\n    stepsCache.groupEl = activeGroup;\n  }\n\n  function activateFrame(groupEl, idx){\n    const frames = groupEl.querySelectorAll('.sol-frame');\n    frames.forEach((f,i)=> f.classList.toggle('is-active', i===idx));\n    setSubbarActive(idx);\n  }\n\n  function updateActiveByScroll(){\n    const activeGroup = stepsCache.groupEl;\n    const centers = stepsCache.centers;\n    if (!activeGroup || !centers.length) return;\n    const viewportCenterAbs = window.pageYOffset + (window.innerHeight\/2);\n    let bestIdx = 0, bestDist = Infinity;\n    for (let i=0;i<centers.length;i++){\n      const dist = Math.abs(centers[i] - viewportCenterAbs);\n      if (dist < bestDist){ bestDist = dist; bestIdx = i; }\n    }\n    activateFrame(activeGroup, bestIdx);\n  }\n  const updateActiveByScrollRaf = withRaf(updateActiveByScroll);\n\n  updateOffsets();\n  initReveal(document);\n  rebuildStepsCache();\n  updateActiveByScroll();\n\n  window.addEventListener('resize', ()=>{ updateOffsetsRaf(); rebuildStepsCache(); updateActiveByScrollRaf(); resizeCanvas(); }, { passive:true });\n  window.addEventListener('scroll', (e)=>{ updateActiveByScrollRaf(); handleScrollDrift(); }, { passive:true });\n\n  \/\/ \u0627\u0644\u062a\u0628\u062f\u064a\u0644 \u0628\u064a\u0646 \u0627\u0644\u062a\u0628\u0648\u064a\u0628\u0627\u062a\n  document.addEventListener('click', function(e){\n    const btn = e.target.closest('.sol-btn[role=\"tab\"]');\n    if(!btn) return;\n    setActiveMain(btn.dataset.main, true);\n    window.scrollTo({top:0,behavior:'smooth'});\n    rebuildStepsCache();\n    updateActiveByScroll();\n  });\n\n  \/\/ \u0623\u0642\u0633\u0627\u0645 \u0641\u0631\u0639\u064a\u0629\n  subbar.addEventListener('click', function(e){\n    const b = e.target.closest('.subitem');\n    if(!b) return;\n    const idx = parseInt(b.dataset.index, 10) || 0;\n    const groupEl = groups[currentMain];\n    scrollToStep(groupEl, idx);\n  });\n\n  \/\/ \u0634\u0627\u0634\u0629 \u0627\u0644\u0627\u062e\u062a\u064a\u0627\u0631\n  const chooser = document.getElementById('solutions-chooser');\n  function revealMainUI(afterChoose){\n    if (!chooser || chooser.getAttribute('aria-hidden') === 'true') return;\n    chooser.setAttribute('aria-hidden','true');\n    chooser.remove();\n    document.getElementById('solutions-section')?.classList.remove('chooser-mode');\n    root.querySelector('.sol-header').classList.remove('hidden');\n    root.querySelector('.sol-subbar').classList.remove('hidden');\n    root.querySelector('.sol-main').classList.remove('hidden');\n\n    buildSubbarFor(currentMain);\n    initReveal(root.querySelector('.sol-main'));\n    updateOffsets();\n\n    if (!afterChoose){\n      const sec = document.getElementById('solutions-section');\n      const offset = parseInt(getComputedStyle(document.documentElement).getPropertyValue('--site-header-offset')) || 0;\n      const subbarH = parseInt(getComputedStyle(document.documentElement).getPropertyValue('--sol-subbar-h')) || 0;\n      const y = sec.getBoundingClientRect().top + window.pageYOffset - offset - subbarH;\n      window.scrollTo({ top:y, behavior:'smooth' });\n    }\n\n    rebuildStepsCache();\n    updateActiveByScroll();\n  }\n\n  chooser.querySelectorAll('[data-choose]').forEach(btn=>{\n    btn.addEventListener('click',()=>{\n      setActiveMain(btn.dataset.choose, true);\n      revealMainUI(true);\n    });\n  });\n\n  function setActiveMain(key, focusTab){\n    currentMain = key;\n    const headerBtns = root.querySelectorAll('.sol-btn[role=\"tab\"]');\n    headerBtns.forEach(b=>{\n      const active = b.dataset.main===key;\n      b.classList.toggle('active', active);\n      b.setAttribute('aria-pressed', String(active)); \/\/ \u0625\u0628\u0642\u0627\u0621\u0647\u0627 \u062d\u0633\u0628 \u0627\u0644\u0646\u0633\u062e\u0629 \u0627\u0644\u0623\u0635\u0644\u064a\u0629\n      b.setAttribute('aria-selected', String(active));\n      b.setAttribute('aria-current', active ? 'page' : 'false');\n      b.tabIndex = active ? 0 : -1;\n      if (focusTab && active) b.focus();\n    });\n    Object.keys(groups).forEach(k=>{\n      const show = k===key;\n      const el = groups[k];\n      el.classList.toggle('hidden', !show);\n      el.setAttribute('aria-hidden', String(!show));\n      const frames = el.querySelectorAll('.sol-frame');\n      frames.forEach((f,i)=> f.classList.toggle('is-active', i===0 && show));\n    });\n    buildSubbarFor(key);\n    if (!subbar.classList.contains('hidden')) updateOffsets();\n  }\n\n  \/* ===== \u0627\u0644\u0631\u0648\u0627\u0628\u0637 \u0627\u0644\u062b\u0627\u0628\u062a\u0629 \u0644\u0643\u0644 \u0643\u0631\u062a (Anchor Links) ===== *\/\n  function getGroupKeyFromElement(el){\n    const sec = el.closest('section');\n    if (!sec) return null;\n    if (sec.id === 'panel-industrial') return 'industrial';\n    if (sec.id === 'panel-lv') return 'lv';\n    if (sec.id === 'panel-damaj-pms') return 'damajPms';\n    return null;\n  }\n\n  function getCardIndexById(groupEl, id){\n    const cards = Array.from(groupEl.querySelectorAll('.sol-card'));\n    return cards.findIndex(c => c.id === id);\n  }\n\n  function ensureUIVisibleForGroup(groupKey){\n    \/\/ \u0625\u0646 \u0643\u0627\u0646\u062a \u0634\u0627\u0634\u0629 \u0627\u0644\u0627\u062e\u062a\u064a\u0627\u0631 \u0645\u0627 \u062a\u0632\u0627\u0644 \u0645\u0648\u062c\u0648\u062f\u0629\u060c \u0623\u0638\u0647\u0631 \u0627\u0644\u0648\u0627\u062c\u0647\u0629 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629\n    if (document.getElementById('solutions-chooser')) revealMainUI(true);\n    setActiveMain(groupKey, false);\n    buildSubbarFor(groupKey);\n    rebuildStepsCache();\n  }\n\n  function navigateToHash(){\n    const id = (location.hash || '').replace('#','');\n    if (!id) return;\n    const target = document.getElementById(id);\n    if (!target) return;\n\n    const groupKey = getGroupKeyFromElement(target);\n    if (!groupKey) return;\n\n    ensureUIVisibleForGroup(groupKey);\n\n    const groupEl = groups[groupKey];\n    \/\/ \u0644\u0623\u0646\u0646\u0627 \u0646\u0642\u0644\u0646\u0627 \u0627\u0644\u0628\u0637\u0627\u0642\u0627\u062a \u062f\u0627\u062e\u0644 frames \u0641\u064a buildShowcase\u060c \u0646\u062d\u062a\u0627\u062c \u0641\u0647\u0631\u0633\u0647\u0627 \u062d\u0633\u0628 \u062a\u0631\u062a\u064a\u0628\u0647\u0627 \u0627\u0644\u0623\u0635\u0644\u064a\n    let idx = -1;\n    const frames = groupEl.querySelectorAll('.sol-frame');\n    frames.forEach((f, i) => {\n      const card = f.querySelector('.sol-card');\n      if (card && card.id === id) idx = i;\n    });\n    if (idx < 0) return;\n\n    activateFrame(groupEl, idx);\n    setSubbarActive(idx);\n    scrollToStep(groupEl, idx);\n  }\n\n  \/\/ \u062c\u0639\u0644 \u0639\u0646\u0648\u0627\u0646 \u0643\u0644 \u0643\u0631\u062a \u064a\u062d\u062f\u0651\u062b \u0627\u0644\u0640hash \u0628\u062f\u0648\u0646 \u0642\u0641\u0632\u0629 \u062e\u0627\u0637\u0626\u0629\n  document.addEventListener('click', function(e){\n    const a = e.target.closest('a.card-link[href^=\"#\"]');\n    if(!a) return;\n    e.preventDefault();\n    const hash = a.getAttribute('href');\n    if (history.pushState) history.pushState(null, '', hash); else location.hash = hash;\n    navigateToHash();\n  });\n\n  window.addEventListener('hashchange', navigateToHash);\n  \/\/ \u0641\u064a \u062d\u0627\u0644 \u0648\u0635\u0644 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0628\u0631\u0627\u0628\u0637 \u0645\u0628\u0627\u0634\u0631\n  window.addEventListener('load', navigateToHash);\n\n  \/* ===== \u0627\u0644\u062e\u0644\u0641\u064a\u0629 (Canvas Network) ===== *\/\n  const prefersReduced = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n  const canvas = document.getElementById('sol-bg');\n  const ctx = canvas && canvas.getContext ? canvas.getContext('2d', { alpha: true }) : null;\n\n  let DPR = 1, W = 0, H = 0;\n  let particles = [];\n  let grid = null;\n  let lastScrollY = window.pageYOffset || 0;\n  let driftY = 0;\n  let targetDriftY = 0;\n\n  function cssNum(v, fallback){ const n = parseFloat(getComputedStyle(document.documentElement).getPropertyValue(v)); return Number.isFinite(n)? n : fallback; }\n  const LINK_DIST = ()=> cssNum('--sol-link-dist', 140);\n  const LINK_OPACITY = ()=> cssNum('--sol-link-opacity', 0.18);\n  const BASE_SPEED = ()=> cssNum('--sol-base-speed', 0.15);\n  const MAX_DRIFT = ()=> cssNum('--sol-max-drift', 0.7);\n  const DRIFT_SMOOTH = ()=> cssNum('--sol-drift-smooth', 0.06);\n  function DENSITY(){\n  const base = parseFloat(getComputedStyle(document.documentElement).getPropertyValue('--sol-particles-density')) || 100;\n  \/\/ \u062a\u0642\u0644\u064a\u0644 \u0627\u0644\u0643\u062b\u0627\u0641\u0629 \u0639\u0644\u0649 \u0627\u0644\u0634\u0627\u0634\u0627\u062a \u0627\u0644\u0635\u063a\u064a\u0631\u0629 (\u0645\u0648\u0628\u0627\u064a\u0644)\n  return (window.innerWidth < 768) ? base * 100 : base;\n}\n  const P_MIN = ()=> cssNum('--sol-particles-min', 40);\n  const P_MAX = ()=> cssNum('--sol-particles-max', 140);\n\n  function resizeCanvas(){\n    if (!canvas || !ctx || prefersReduced) return;\n    W = canvas.clientWidth; H = canvas.clientHeight;\n    DPR = Math.max(1, Math.min(2, window.devicePixelRatio || 1));\n    canvas.width = Math.floor(W * DPR);\n    canvas.height = Math.floor(H * DPR);\n    ctx.setTransform(DPR, 0, 0, DPR, 0, 0);\n    const targetCount = Math.max(P_MIN(), Math.min(P_MAX(), Math.floor((W*H) \/ DENSITY())));\n    if (particles.length === 0){ initParticles(targetCount); } else { adjustParticleCount(targetCount); }\n    buildGrid();\n  }\n\n  function rnd(a,b){ return a + Math.random()*(b-a); }\n  function initParticles(count){ particles = []; for(let i=0;i<count;i++){ particles.push(makeParticle(true)); } }\n  function adjustParticleCount(target){\n    const diff = target - particles.length;\n    if (diff > 0){ for(let i=0;i<diff;i++) particles.push(makeParticle(true)); }\n    else if (diff < 0){ particles.splice(Math.max(0, particles.length + diff), Math.abs(diff)); }\n  }\n  function makeParticle(randomPos=false){\n    return { x: randomPos ? rnd(0, W) : (Math.random()<.5?0:W), y: randomPos ? rnd(0, H) : rnd(0, H), vx: rnd(-0.2, 0.2), vy: rnd(-0.2, 0.2), r: rnd(1.0, 2.4), hue: Math.random()<0.5 ? 0 : 1 };\n  }\n\n  function buildGrid(){\n    const cell = LINK_DIST();\n    const cols = Math.max(1, Math.ceil(W \/ cell));\n    const rows = Math.max(1, Math.ceil(H \/ cell));\n    grid = new Array(cols * rows);\n    grid.fill(null).forEach((_,i)=> grid[i] = []);\n    for (let i=0;i<particles.length;i++){\n      const p = particles[i];\n      const cx = Math.floor(p.x \/ cell);\n      const cy = Math.floor(p.y \/ cell);\n      const idx = cy * cols + cx;\n      if(grid[idx]) grid[idx].push(i);\n    }\n    grid._cell = cell; grid._cols = cols; grid._rows = rows;\n  }\n\n  function handleScrollDrift(){\n    const y = window.pageYOffset || 0;\n    const delta = y - lastScrollY;\n    lastScrollY = y;\n    targetDriftY = Math.max(-MAX_DRIFT(), Math.min(MAX_DRIFT(), delta * 0.02));\n  }\n\n  let linkRGB='29,78,216', node1='rgba(29,78,216,0.55)', node2='rgba(14,165,233,0.5)';\n  function snapshotTheme(){\n    const cs = getComputedStyle(document.documentElement);\n    const blue = cs.getPropertyValue('--sol-blue-rgb').trim() || '29,78,216';\n    const cyan = cs.getPropertyValue('--sol-cyan-rgb').trim() || '14,165,233';\n    linkRGB = blue;\n    node1 = `rgba(${blue},0.55)`;\n    node2 = `rgba(${cyan},0.5)`;\n  }\n  snapshotTheme();\n\n  function step(){\n    if (!ctx) return;\n    driftY += (targetDriftY - driftY) * DRIFT_SMOOTH();\n\n    for (let p of particles){\n      p.x += p.vx + (Math.sin(p.y*0.002)*0.05);\n      p.y += p.vy + driftY + BASE_SPEED();\n      if (p.x < -10) p.x = W + 10;\n      if (p.x > W + 10) p.x = -10;\n      if (p.y < -10) { p.y = H + 10; p.x = rnd(0,W); }\n      if (p.y > H + 10) { p.y = -10; p.x = rnd(0,W); }\n    }\n\n    buildGrid();\n    ctx.clearRect(0,0,W,H);\n\n    const cell = grid._cell, cols = grid._cols, rows = grid._rows;\n    const linkDist = LINK_DIST();\n    const linkDist2 = linkDist * linkDist;\n    const alphaBase = LINK_OPACITY();\n\n    for (let cy=0; cy<rows; cy++){\n      for (let cx=0; cx<cols; cx++){\n        const bucket = grid[cy*cols+cx];\n        if (!bucket || !bucket.length) continue;\n        for (let ny = Math.max(0, cy-1); ny <= Math.min(rows-1, cy+1); ny++){\n          for (let nx = Math.max(0, cx-1); nx <= Math.min(cols-1, cx+1); nx++){\n            const nb = grid[ny*cols+nx];\n            if (!nb || !nb.length) continue;\n            for (let iIdx = 0; iIdx < bucket.length; iIdx++){\n              const i = bucket[iIdx];\n              const a = particles[i];\n              for (let jIdx = 0; jIdx < nb.length; jIdx++){\n                const j = nb[jIdx];\n                if (bucket === nb && j <= i) continue;\n                const b = particles[j];\n                const dx = a.x - b.x, dy = a.y - b.y;\n                const d2 = dx*dx + dy*dy;\n                if (d2 <= linkDist2){\n                  const alpha = Math.max(0, alphaBase * (1 - d2 \/ linkDist2));\n                  ctx.beginPath();\n                  ctx.moveTo(a.x, a.y);\n                  ctx.lineTo(b.x, b.y);\n                  ctx.strokeStyle = `rgba(${linkRGB},${alpha.toFixed(3)})`;\n                  ctx.lineWidth = 1;\n                  ctx.stroke();\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n\n    for (let p of particles){\n      ctx.beginPath();\n      ctx.arc(p.x, p.y, p.r, 0, Math.PI*2);\n      ctx.fillStyle = p.hue ? node1 : node2;\n      ctx.fill();\n    }\n  }\n\n  let animId = null;\n  function loop(){ step(); animId = requestAnimationFrame(loop); }\n\n  function initCanvas(){\n    const canvas = document.getElementById('sol-bg');\n    if (!canvas || !canvas.getContext || prefersReduced) return;\n    resizeCanvas();\n    handleScrollDrift();\n    if (animId) cancelAnimationFrame(animId);\n    loop();\n  }\n\n  document.addEventListener('visibilitychange', ()=>{ if (prefersReduced) return; if (document.hidden){ if (animId) cancelAnimationFrame(animId), animId = null; } else { if (!animId) loop(); } });\n  window.addEventListener('resize', snapshotTheme, {passive:true});\n\n  initCanvas();\n\n  function destroy(){\n    revealObserver.disconnect();\n    window.removeEventListener('resize', updateOffsetsRaf, {passive:true});\n    window.removeEventListener('scroll', updateActiveByScrollRaf, {passive:true});\n    if(animId) cancelAnimationFrame(animId), animId = null;\n  }\n})();\n<\/script>\n\n<!-- JSON-LD: \u0642\u0627\u0626\u0645\u0629 \u062e\u062f\u0645\u0627\u062a (SEO) -->\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"ItemList\",\n  \"name\": \"Solutions & Services\",\n  \"itemListOrder\": \"ItemListOrderAscending\",\n  \"itemListElement\": [\n    { \"@type\": \"Service\", \"name\": \"DAMAJ Platform \u2014 Hotel Management System (PMS)\", \"image\": \"https:\/\/images.unsplash.com\/photo-1556740738-b6a63e27c4df?q=80&w=2000&auto=format&fit=crop\" },\n    { \"@type\": \"Service\", \"name\": \"Smart Home\", \"image\": \"https:\/\/damaj.sa\/wp-content\/uploads\/2025\/05\/Photo.2.png\" },\n    { \"@type\": \"Service\", \"name\": \"Communication Solutions\", \"image\": \"https:\/\/damaj.sa\/wp-content\/uploads\/2025\/08\/Communication-solutions-2.png\" },\n    { \"@type\": \"Service\", \"name\": \"Hotel Solutions\", \"image\": \"https:\/\/damaj.sa\/wp-content\/uploads\/2025\/08\/Hotel-Solutions-ph1.png\" },\n    { \"@type\": \"Service\", \"name\": \"Security Systems\", \"image\": \"https:\/\/damaj.sa\/wp-content\/uploads\/2025\/08\/Security-Systems2-ph.png\" },\n    { \"@type\": \"Service\", \"name\": \"Industrial Automation\", \"image\": \"https:\/\/damaj.sa\/wp-content\/uploads\/2025\/05\/ssss1.png\" },\n    { \"@type\": \"Service\", \"name\": \"MES Solutions\", \"image\": \"https:\/\/damaj.sa\/wp-content\/uploads\/2025\/10\/SmartFactory-MES-Solutions.png\" }\n  ]\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>DAMAJ Platform \u2014 Hotel Management System (PMS) Low Voltage &#038; Smart Solutions Industrial Automation DAMAJ Platform Hotel Management System (PMS)<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-18388","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/damaj.sa\/en\/wp-json\/wp\/v2\/pages\/18388","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/damaj.sa\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/damaj.sa\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/damaj.sa\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/damaj.sa\/en\/wp-json\/wp\/v2\/comments?post=18388"}],"version-history":[{"count":123,"href":"https:\/\/damaj.sa\/en\/wp-json\/wp\/v2\/pages\/18388\/revisions"}],"predecessor-version":[{"id":18803,"href":"https:\/\/damaj.sa\/en\/wp-json\/wp\/v2\/pages\/18388\/revisions\/18803"}],"wp:attachment":[{"href":"https:\/\/damaj.sa\/en\/wp-json\/wp\/v2\/media?parent=18388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}