{"id":85493,"date":"2026-06-03T09:04:25","date_gmt":"2026-06-03T09:04:25","guid":{"rendered":"https:\/\/www.harsle.com\/?page_id=85493"},"modified":"2026-06-04T09:17:47","modified_gmt":"2026-06-04T09:17:47","slug":"ai-server-rack-production-line","status":"publish","type":"page","link":"https:\/\/www.harsle.com\/de\/ai-server-rack-production-line\/","title":{"rendered":"AI Server Rack Production Line"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\" \/>\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/>\n  <title>AI Server Rack Production Line | HARSLE Sheet Metal Manufacturing Solutions<\/title>\n  <meta name=\"description\" content=\"HARSLE provides complete AI server rack manufacturing solutions \u2014 fiber laser cutting, CNC press brake, panel bending, robotic automation. Build your data center cabinet production line today.\" \/>\n  <meta name=\"keywords\" content=\"AI Server Rack Production Line, Server Rack Manufacturing Solution, Data Center Cabinet Manufacturing, AI Infrastructure Manufacturing, Network Cabinet Production Line, Server Rack Factory Setup\" \/>\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\" \/>\n  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@300;400;500;600;700;800;900&#038;display=swap\" rel=\"stylesheet\" \/>\n  <style>\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n    \/* \u2500\u2500 WordPress embedding reset \u2500\u2500\n       Prevents theme & Gutenberg default margins from creating white gaps\n       between sections. All rules use !important to override theme styles. *\/\n    html body section,\n    html body section + section,\n    html body .wp-block-html section,\n    html body .entry-content section,\n    html body .page-content section,\n    html body article section {\n      margin-top: 0 !important;\n      margin-bottom: 0 !important;\n    }\n    \/* Stop WordPress p\/figure\/div wrappers adding space around our sections *\/\n    html body .wp-block-html,\n    html body .wp-block-html > *:first-child,\n    html body .wp-block-html > *:last-child,\n    html body .entry-content > p:empty,\n    html body .page-content > p:empty {\n      margin: 0 !important;\n      padding: 0 !important;\n    }\n    \/* Gutenberg block gap override *\/\n    html body .wp-block-group,\n    html body .wp-block-group__inner-container {\n      gap: 0 !important;\n      margin: 0 !important;\n      padding: 0 !important;\n    }\n\n    :root {\n      --blue:    #0e6cf6;\n      --blue-dk: #0a52c4;\n      --cyan:    #00d4ff;\n      --dark:    #080e1a;\n      --dark2:   #0d1526;\n      --dark3:   #111c34;\n      --card-bg: #0f1e3a;\n      --border:  rgba(0,212,255,.18);\n      --text:    #c8d8f0;\n      --white:   #ffffff;\n      --gold:    #f5a623;\n    }\n\n    html, body {\n      width: 100%;\n      scroll-behavior: smooth;\n    }\n\n    body {\n      font-family: 'Inter', sans-serif;\n      background: var(--dark);\n      color: var(--text);\n      line-height: 1.65;\n      overflow-x: hidden;\n    }\n\n    \/* \u2500\u2500 HEADER \u2500\u2500 *\/\n    \/* \u2500\u2500 HERO \u2500\u2500 *\/\n    #hero {\n      position: relative;\n      min-height: 100vh;\n      display: flex;\n      align-items: center;\n      overflow: hidden;\n    }\n    .hero-bg {\n      position: absolute;\n      inset: 0;\n      background:\n        linear-gradient(120deg, rgba(8,14,26,.92) 0%, rgba(8,14,26,.65) 60%, rgba(8,14,26,.40) 100%),\n        url('https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/Server-Rack-Production-Line.jpg') center\/cover no-repeat;\n    }\n    .hero-glow {\n      position: absolute;\n      width: 700px; height: 700px;\n      top: -150px; left: -150px;\n      background: radial-gradient(circle, rgba(0,212,255,.12) 0%, transparent 70%);\n      pointer-events: none;\n    }\n    .hero-content {\n      position: relative;\n      z-index: 2;\n      max-width: 960px;\n      padding: 140px 48px 80px 96px;\n    }\n    .hero-badge {\n      display: inline-flex;\n      align-items: center;\n      gap: 8px;\n      background: rgba(0,212,255,.1);\n      border: 1px solid var(--border);\n      border-radius: 50px;\n      padding: 6px 18px;\n      font-size: .78rem;\n      font-weight: 600;\n      color: var(--cyan);\n      letter-spacing: 1px;\n      text-transform: uppercase;\n      margin-bottom: 28px;\n    }\n    .hero-badge::before {\n      content: '';\n      width: 8px; height: 8px;\n      background: var(--cyan);\n      border-radius: 50%;\n      animation: pulse 2s infinite;\n    }\n    @keyframes pulse {\n      0%,100% { opacity:1; transform:scale(1); }\n      50%      { opacity:.4; transform:scale(1.5); }\n    }\n    .hero-h1 {\n      font-size: clamp(2.2rem, 5vw, 3.6rem);\n      font-weight: 900;\n      color: var(--white);\n      line-height: 1.15;\n      margin-bottom: 28px;\n    }\n    .hero-h1 .accent { color: var(--cyan); }\n    .hero-sub {\n      font-size: 1.05rem;\n      color: var(--text);\n      margin-bottom: 22px;\n      font-weight: 500;\n      letter-spacing: .5px;\n    }\n    .hero-tags {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 14px;\n      margin-bottom: 44px;\n    }\n    .hero-tag {\n      background: rgba(14,108,246,.15);\n      border: 1px solid rgba(14,108,246,.35);\n      border-radius: 4px;\n      padding: 4px 12px;\n      font-size: .8rem;\n      color: #8ab4ff;\n      font-weight: 500;\n    }\n    .hero-desc {\n      font-size: .97rem;\n      color: #94aec8;\n      max-width: 780px;\n      margin-bottom: 52px;\n    }\n    .btn-group { display: flex; gap: 14px; flex-wrap: wrap; }\n    .btn-primary {\n      display: inline-flex;\n      align-items: center;\n      gap: 8px;\n      background: linear-gradient(135deg, var(--blue), #3b82f6);\n      color: #fff !important;\n      padding: 14px 32px;\n      border-radius: 8px;\n      font-weight: 700;\n      font-size: .95rem;\n      text-decoration: none;\n      border: none;\n      cursor: pointer;\n      transition: transform .2s, box-shadow .2s;\n      box-shadow: 0 4px 24px rgba(14,108,246,.35);\n    }\n    .btn-primary:hover,\n    .btn-primary:focus,\n    .btn-primary:focus-visible,\n    .btn-primary:active {\n      color: #fff !important;\n      transform: translateY(-2px);\n      box-shadow: 0 8px 32px rgba(14,108,246,.5);\n    }\n    .btn-secondary {\n      display: inline-flex;\n      align-items: center;\n      gap: 8px;\n      background: transparent;\n      color: var(--white);\n      padding: 13px 30px;\n      border-radius: 8px;\n      font-weight: 600;\n      font-size: .95rem;\n      text-decoration: none;\n      border: 1px solid rgba(255,255,255,.25);\n      cursor: pointer;\n      transition: border-color .2s, background .2s;\n    }\n    .btn-secondary:hover {\n      border-color: var(--cyan);\n      background: rgba(0,212,255,.06);\n    }\n    .hero-stats {\n      display: flex;\n      gap: 56px;\n      margin-top: 72px;\n      padding-top: 42px;\n      border-top: 1px solid var(--border);\n      flex-wrap: wrap;\n    }\n    .stat-item { text-align: center; }\n    .stat-num {\n      font-size: 2rem;\n      font-weight: 800;\n      color: var(--cyan);\n      display: block;\n    }\n    .stat-label { font-size: .78rem; color: #6a8aaa; text-transform: uppercase; letter-spacing: 1px; }\n\n    \/* \u2500\u2500 SECTION BASE \u2500\u2500 *\/\n    section { padding: 96px 0; width: 100%; margin: 0; display: block; }\n    .container { max-width: 1200px; margin: 0 auto; padding: 0 48px; }\n    .section-label {\n      display: inline-block;\n      font-size: .72rem;\n      font-weight: 700;\n      color: var(--cyan);\n      letter-spacing: 2px;\n      text-transform: uppercase;\n      margin-bottom: 14px;\n    }\n    .section-title {\n      font-size: clamp(1.7rem, 3.5vw, 2.6rem);\n      font-weight: 800;\n      color: var(--white);\n      margin-bottom: 16px;\n      line-height: 1.2;\n    }\n    .section-sub {\n      font-size: .97rem;\n      color: #6a8aaa;\n      max-width: 600px;\n    }\n    .title-block { margin-bottom: 56px; }\n    .title-block.center { text-align: center; }\n    .title-block.center .section-sub { margin: 0 auto; }\n\n    \/* \u2500\u2500 SECTION 2 \u2014 WHY GROWING \u2500\u2500 *\/\n    #why { background: var(--dark2); }\n    .why-grid {\n      display: grid;\n      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));\n      gap: 24px;\n    }\n    .why-card {\n      background: var(--card-bg);\n      border: 1px solid var(--border);\n      border-radius: 14px;\n      transition: transform .25s, box-shadow .25s, border-color .25s;\n      position: relative;\n      overflow: hidden;\n    }\n    .why-card::before {\n      content: '';\n      position: absolute;\n      top: 0; left: 0; right: 0;\n      height: 3px;\n      background: linear-gradient(90deg, var(--blue), var(--cyan));\n      opacity: 0;\n      transition: opacity .25s;\n    }\n    .why-card:hover { transform: translateY(-6px); box-shadow: 0 12px 40px rgba(0,212,255,.12); border-color: rgba(0,212,255,.35); }\n    .why-card:hover::before { opacity: 1; }\n    .why-img {\n      width: 100%;\n      aspect-ratio: 4 \/ 3;\n      object-fit: cover;\n      display: block;\n      background: #0a1628;\n      transition: transform .35s;\n    }\n    .why-card:hover .why-img { transform: scale(1.04); }\n    .why-body { padding: 24px 24px 28px; }\n    .why-card h3 { font-size: 1.05rem; font-weight: 700; color: var(--white); margin-bottom: 10px; }\n    .why-card p { font-size: .88rem; color: #6a8aaa; }\n\n    \/* \u2500\u2500 SECTION 3 \u2014 PROCESS \u2500\u2500 *\/\n    #process { background: var(--dark); }\n    .process-tabs {\n      display: flex;\n      gap: 6px;\n      flex-wrap: wrap;\n      justify-content: center;\n      margin-bottom: 36px;\n    }\n    .process-tab-btn {\n      display: flex;\n      align-items: center;\n      gap: 8px;\n      background: var(--card-bg);\n      border: 1px solid var(--border);\n      border-radius: 8px;\n      padding: 9px 16px;\n      cursor: pointer;\n      transition: border-color .2s, background .2s;\n      color: #6a8aaa;\n      font-size: .8rem;\n      font-weight: 600;\n    }\n    .process-tab-btn:hover {\n      background: var(--card-bg);\n      border-color: rgba(0,212,255,.35);\n      color: var(--text);\n    }\n    .process-tab-btn.active {\n      border-color: var(--blue);\n      background: rgba(14,108,246,.14);\n      color: var(--white);\n    }\n    .process-tab-num {\n      width: 22px; height: 22px;\n      border-radius: 50%;\n      background: rgba(14,108,246,.25);\n      display: flex; align-items: center; justify-content: center;\n      font-size: .68rem;\n      font-weight: 800;\n      color: var(--cyan);\n      flex-shrink: 0;\n    }\n    .process-tab-btn.active .process-tab-num {\n      background: var(--blue);\n      color: #fff;\n    }\n    \/* progress bar *\/\n    .process-progress-wrap {\n      height: 3px;\n      background: rgba(255,255,255,.06);\n      border-radius: 3px;\n      margin-bottom: 40px;\n      overflow: hidden;\n    }\n    .process-progress-bar {\n      height: 100%;\n      background: linear-gradient(90deg, var(--blue), var(--cyan));\n      border-radius: 3px;\n      transition: width .4s ease;\n    }\n    \/* panel *\/\n    .process-panel {\n      display: grid;\n      grid-template-columns: 58% 1fr;\n      gap: 0;\n      background: var(--card-bg);\n      border: 1px solid var(--border);\n      border-radius: 20px;\n      overflow: hidden;\n      min-height: 440px;\n    }\n    .process-panel-img-wrap {\n      position: relative;\n      overflow: hidden;\n    }\n    .process-panel-img {\n      width: 100%;\n      height: 100%;\n      min-height: 440px;\n      object-fit: cover;\n      display: block;\n      transition: transform .5s ease, opacity .35s ease;\n    }\n    .process-panel-img.fade { opacity: 0; transform: scale(1.03); }\n    .process-panel-step-badge {\n      position: absolute;\n      top: 20px; left: 20px;\n      background: rgba(8,14,26,.75);\n      backdrop-filter: blur(8px);\n      border: 1px solid var(--border);\n      border-radius: 8px;\n      padding: 6px 14px;\n      font-size: .72rem;\n      font-weight: 800;\n      color: var(--cyan);\n      letter-spacing: 2px;\n      text-transform: uppercase;\n    }\n    .process-panel-nav {\n      position: absolute;\n      bottom: 20px;\n      left: 50%;\n      transform: translateX(-50%);\n      display: flex;\n      gap: 8px;\n    }\n    .process-panel-nav button {\n      width: 36px; height: 36px;\n      border-radius: 50%;\n      border: 1px solid rgba(255,255,255,.25);\n      background: rgba(8,14,26,.7);\n      backdrop-filter: blur(8px);\n      color: #fff;\n      font-size: .9rem;\n      cursor: pointer;\n      transition: border-color .2s, background .2s;\n      display: flex; align-items: center; justify-content: center;\n    }\n    .process-panel-nav button:hover {\n      border-color: var(--cyan);\n      background: rgba(0,212,255,.12);\n    }\n    .process-panel-info {\n      padding: 40px 36px;\n      display: flex;\n      flex-direction: column;\n      justify-content: center;\n      position: relative;\n    }\n    .process-panel-info::before {\n      content: '';\n      position: absolute;\n      top: 0; left: 0;\n      width: 3px; height: 100%;\n      background: linear-gradient(to bottom, var(--blue), var(--cyan));\n      border-radius: 0 3px 3px 0;\n    }\n    .process-panel-label {\n      font-size: .7rem;\n      font-weight: 700;\n      color: var(--cyan);\n      letter-spacing: 2px;\n      text-transform: uppercase;\n      margin-bottom: 12px;\n    }\n    .process-panel-title {\n      font-size: 1.55rem;\n      font-weight: 800;\n      color: var(--white);\n      line-height: 1.25;\n      margin-bottom: 16px;\n      transition: opacity .3s;\n    }\n    .process-panel-desc {\n      font-size: .9rem;\n      color: #6a8aaa;\n      line-height: 1.7;\n      margin-bottom: 24px;\n      transition: opacity .3s;\n    }\n    .process-panel-bullets {\n      display: flex;\n      flex-direction: column;\n      gap: 10px;\n      margin-bottom: 28px;\n    }\n    .process-panel-bullet {\n      display: flex;\n      align-items: flex-start;\n      gap: 10px;\n      font-size: .85rem;\n      color: var(--text);\n    }\n    .process-panel-bullet::before {\n      content: '';\n      width: 6px; height: 6px;\n      min-width: 6px;\n      border-radius: 50%;\n      background: var(--cyan);\n      margin-top: 6px;\n    }\n    .process-panel-counter {\n      font-size: .78rem;\n      color: #3a5570;\n      margin-top: auto;\n      padding-top: 20px;\n      border-top: 1px solid var(--border);\n    }\n    .process-panel-counter strong { color: var(--text); }\n    @media (max-width: 860px) {\n      .process-panel { grid-template-columns: 1fr; }\n      .process-panel-img { min-height: 260px; height: 260px; }\n      .process-panel-info { padding: 28px 24px; }\n    }\n\n    \/* \u2500\u2500 SECTION 4 \u2014 MACHINES \u2500\u2500 *\/\n    #machines { background: var(--dark2); }\n    .machines-list {\n      display: flex;\n      flex-direction: column;\n      gap: 0;\n    }\n    .machine-row + .machine-row {\n      border-top: 1px solid var(--border);\n    }\n    .machine-row {\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      min-height: 520px;\n      background: none;\n      border: none;\n      border-radius: 0;\n      overflow: hidden;\n    }\n    \/* even rows: flip image to right *\/\n    \/* image pane *\/\n    .machine-img-pane {\n      position: relative;\n      background: none;\n      display: flex;\n      align-items: stretch;\n      justify-content: stretch;\n      overflow: hidden;\n      padding: 0;\n    }\n    .machine-img {\n      width: 100%;\n      height: 100%;\n      object-fit: cover;\n      display: block;\n      position: relative;\n      z-index: 1;\n      transition: transform .4s ease;\n    }\n    .machine-row:hover .machine-img { transform: scale(1.04); }\n    \/* content pane *\/\n    .machine-body {\n      padding: 52px 52px 52px 48px;\n      display: flex;\n      flex-direction: column;\n      justify-content: center;\n    }\n    .machine-badge {\n      display: inline-flex;\n      align-items: center;\n      align-self: flex-start;\n      background: transparent;\n      border: 1px solid rgba(0,212,255,.4);\n      color: var(--cyan);\n      font-size: .68rem;\n      font-weight: 700;\n      letter-spacing: 2px;\n      text-transform: uppercase;\n      padding: 4px 12px;\n      border-radius: 4px;\n      margin-bottom: 20px;\n    }\n    .machine-body h3 {\n      font-size: clamp(1.5rem, 2.5vw, 2rem);\n      font-weight: 800;\n      color: var(--white);\n      line-height: 1.2;\n      margin-bottom: 8px;\n    }\n    .machine-series {\n      font-size: .95rem;\n      color: #8ab4ff;\n      font-weight: 600;\n      margin-bottom: 18px;\n    }\n    .machine-desc {\n      font-size: .9rem;\n      color: #6a8aaa;\n      line-height: 1.7;\n      margin-bottom: 22px;\n    }\n    .machine-features {\n      display: flex;\n      flex-direction: column;\n      gap: 10px;\n      margin-bottom: 36px;\n    }\n    .machine-feature {\n      display: flex;\n      align-items: center;\n      gap: 12px;\n      font-size: .88rem;\n      color: var(--text);\n    }\n    .machine-feature::before {\n      content: '';\n      width: 8px; height: 8px;\n      min-width: 8px;\n      border-radius: 50%;\n      background: var(--blue);\n      box-shadow: 0 0 6px rgba(14,108,246,.6);\n    }\n    .machine-btns {\n      display: flex;\n      gap: 12px;\n      flex-wrap: wrap;\n    }\n    @media (max-width: 860px) {\n      .machine-row {\n        grid-template-columns: 1fr;\n        min-height: unset;\n        background: var(--card-bg);\n        border: 1px solid var(--border);\n        border-radius: 16px;\n        overflow: hidden;\n      }\n      .machines-list { gap: 20px; }\n      .machine-row + .machine-row { border-top: 1px solid var(--border); }\n      .machine-img-pane {\n        background: linear-gradient(135deg, #080f20 0%, #0d1e3c 100%);\n        min-height: 280px;\n        padding: 0;\n      }\n      .machine-img { width: 100%; height: 280px; object-fit: cover; }\n      .machine-body { padding: 28px 24px; }\n      .machine-body h3 { font-size: 1.3rem; }\n    }\n    @media (max-width: 480px) {\n      .machine-body { padding: 24px 20px; }\n      .machine-btns .btn-primary,\n      .machine-btns .btn-secondary { width: 100%; justify-content: center; }\n    }\n\n    \/* \u2500\u2500 SECTION 5 \u2014 PRODUCTS \u2500\u2500 *\/\n    #products { background: var(--dark); }\n    .products-bento {\n      display: grid;\n      grid-template-columns: repeat(4, 1fr);\n      gap: 14px;\n    }\n    .product-bento-card {\n      position: relative;\n      aspect-ratio: 4 \/ 3;\n      border-radius: 16px;\n      overflow: hidden;\n      cursor: default;\n      background: #0a1628;\n    }\n    .product-bento-img {\n      width: 100%;\n      height: 100%;\n      object-fit: contain;\n      display: block;\n      transition: transform .5s ease;\n    }\n    .product-bento-card:hover .product-bento-img {\n      transform: scale(1.07);\n    }\n    \/* dark gradient overlay *\/\n    .product-bento-card::after {\n      content: '';\n      position: absolute;\n      inset: 0;\n      background: linear-gradient(\n        to top,\n        rgba(8,14,26,.85) 0%,\n        rgba(8,14,26,.25) 50%,\n        transparent 80%\n      );\n      transition: background .3s;\n    }\n    .product-bento-card:hover::after {\n      background: linear-gradient(\n        to top,\n        rgba(8,14,26,.92) 0%,\n        rgba(8,14,26,.4) 55%,\n        rgba(14,108,246,.08) 100%\n      );\n    }\n    \/* top accent bar on hover *\/\n    .product-bento-card::before {\n      content: '';\n      position: absolute;\n      top: 0; left: 0; right: 0;\n      height: 3px;\n      background: linear-gradient(90deg, var(--blue), var(--cyan));\n      z-index: 3;\n      transform: scaleX(0);\n      transform-origin: left;\n      transition: transform .32s ease;\n    }\n    .product-bento-card:hover::before { transform: scaleX(1); }\n    .product-bento-label {\n      position: absolute;\n      bottom: 0; left: 0; right: 0;\n      z-index: 2;\n      padding: 16px 18px 18px;\n    }\n    .product-bento-card h3 {\n      font-size: .92rem;\n      font-weight: 700;\n      color: var(--white);\n      line-height: 1.3;\n      margin: 0;\n      transition: color .2s;\n    }\n    .product-bento-card:hover h3 { color: #a8d4ff; }\n    .product-bento-num { display: none; }\n    @media (max-width: 900px) {\n      .products-bento { grid-template-columns: repeat(2, 1fr); }\n    }\n    @media (max-width: 480px) {\n      .products-bento { grid-template-columns: 1fr; }\n    }\n\n    \/* \u2500\u2500 SECTION 6 \u2014 WHY HARSLE \u2500\u2500 *\/\n    #why-harsle { background: var(--dark2); }\n    .why-harsle-grid {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap: 24px;\n    }\n    .harsle-card {\n      display: flex;\n      gap: 18px;\n      align-items: flex-start;\n      background: var(--card-bg);\n      border: 1px solid var(--border);\n      border-radius: 14px;\n      padding: 28px;\n      transition: border-color .2s, transform .2s;\n    }\n    .harsle-card:hover {\n      border-color: rgba(0,212,255,.35);\n      transform: translateY(-4px);\n    }\n    .harsle-icon {\n      width: 44px; height: 44px;\n      min-width: 44px;\n      background: linear-gradient(135deg, var(--blue), #3b82f6);\n      border-radius: 10px;\n      display: flex; align-items: center; justify-content: center;\n      font-size: 1.25rem;\n    }\n    .harsle-text h3 {\n      font-size: .97rem;\n      font-weight: 700;\n      color: var(--white);\n      margin-bottom: 4px;\n    }\n    .harsle-text .harsle-value {\n      font-size: .82rem;\n      color: var(--cyan);\n      font-weight: 600;\n      margin-bottom: 4px;\n    }\n    .harsle-text p {\n      font-size: .82rem;\n      color: #6a8aaa;\n    }\n\n    \/* \u2500\u2500 SECTION 7 \u2014 LAYOUT \u2500\u2500 *\/\n    #layout { background: var(--dark); }\n\n    \/* \u2500\u2500 Desktop snake flow \u2500\u2500 *\/\n    .snake-flow-desktop { display: block; }\n    .snake-flow-label {\n      font-size: .72rem;\n      font-weight: 700;\n      color: #5f7f9f;\n      letter-spacing: 1px;\n      margin-bottom: 28px;\n    }\n    .snake-grid {\n      display: grid;\n      grid-template-columns: 1fr 56px 1fr 56px 1fr;\n      grid-template-rows: auto 44px auto 44px auto;\n      align-items: center;\n      row-gap: 0;\n      column-gap: 0;\n    }\n    \/* boxes *\/\n    .sf-box {\n      background: #102345;\n      border: 1.5px solid rgba(0,212,255,.38);\n      border-radius: 10px;\n      padding: 16px 20px;\n      transition: border-color .2s, background .2s;\n    }\n    .sf-box:hover { border-color: var(--cyan); background: #122a50; }\n    .sf-box.sf-output {\n      background: #152e1a;\n      border-color: rgba(245,166,35,.5);\n    }\n    .sf-box-header {\n      display: flex;\n      align-items: baseline;\n      gap: 8px;\n      margin-bottom: 4px;\n    }\n    .sf-num {\n      font-size: .68rem;\n      font-weight: 800;\n      color: var(--cyan);\n      letter-spacing: 1.5px;\n      flex-shrink: 0;\n    }\n    .sf-output .sf-num { color: var(--gold); }\n    .sf-title {\n      font-size: .9rem;\n      font-weight: 800;\n      color: #fff;\n      line-height: 1.25;\n    }\n    .sf-sub {\n      font-size: .75rem;\n      color: #6a8aaa;\n    }\n    \/* horizontal arrows \u2014 block arrow style *\/\n    .sf-ha {\n      display: flex; align-items: center; justify-content: center;\n      font-size: 0;\n    }\n    .sf-ha::after {\n      content: '';\n      display: block;\n      width: 46px; height: 22px;\n      background: var(--cyan);\n      clip-path: polygon(0% 28%, 64% 28%, 64% 0%, 100% 50%, 64% 100%, 64% 72%, 0% 72%);\n    }\n    \/* left-pointing variant *\/\n    .sf-ha.sf-left::after {\n      clip-path: polygon(100% 28%, 36% 28%, 36% 0%, 0% 50%, 36% 100%, 36% 72%, 100% 72%);\n    }\n    \/* vertical arrows \u2014 block arrow style *\/\n    .sf-va {\n      display: flex; align-items: center; justify-content: center;\n      font-size: 0;\n    }\n    .sf-va::after {\n      content: '';\n      display: block;\n      width: 22px; height: 46px;\n      background: var(--cyan);\n      clip-path: polygon(28% 0%, 72% 0%, 72% 64%, 100% 64%, 50% 100%, 0% 64%, 28% 64%);\n    }\n    \/* grid positions *\/\n    .sf-r1c1 { grid-column:1; grid-row:1; }\n    .sf-r1c2 { grid-column:2; grid-row:1; }\n    .sf-r1c3 { grid-column:3; grid-row:1; }\n    .sf-r1c4 { grid-column:4; grid-row:1; }\n    .sf-r1c5 { grid-column:5; grid-row:1; }\n    .sf-r2c5 { grid-column:5; grid-row:2; }\n    .sf-r3c5 { grid-column:5; grid-row:3; }\n    .sf-r3c4 { grid-column:4; grid-row:3; }\n    .sf-r3c3 { grid-column:3; grid-row:3; }\n    .sf-r3c2 { grid-column:2; grid-row:3; }\n    .sf-r3c1 { grid-column:1; grid-row:3; }\n    .sf-r4c1 { grid-column:1; grid-row:4; }\n    .sf-r5c1 { grid-column:1; grid-row:5; }\n    .sf-r5c2 { grid-column:2; grid-row:5; }\n    .sf-r5c3 { grid-column:3; grid-row:5; }\n    .sf-r5c4 { grid-column:4; grid-row:5; }\n    .sf-r5c5 { grid-column:5; grid-row:5; }\n\n    \/* Mobile: arrow flow *\/\n    .factory-layout-mobile { display: none; }\n    @media (max-width: 860px) {\n      .snake-flow-desktop { display: none; }\n      .factory-layout-mobile { display: block; }\n    }\n    .layout-flow-mobile {\n      display: flex;\n      flex-direction: column;\n      align-items: stretch;\n      gap: 0;\n    }\n    \/* one row = two cards + horizontal arrow *\/\n    .layout-flow-row {\n      display: grid;\n      grid-template-columns: 1fr 28px 1fr;\n      align-items: center;\n      gap: 0;\n    }\n    .layout-flow-card {\n      background: var(--card-bg);\n      border: 1px solid var(--border);\n      border-radius: 10px;\n      padding: 12px 14px;\n    }\n    .layout-flow-card.is-output {\n      border-color: rgba(245,166,35,.5);\n      background: rgba(245,166,35,.06);\n    }\n    .layout-flow-card-header {\n      display: flex;\n      align-items: baseline;\n      gap: 6px;\n      margin-bottom: 3px;\n    }\n    .layout-flow-num {\n      font-size: .62rem;\n      font-weight: 800;\n      color: var(--cyan);\n      letter-spacing: 1px;\n      flex-shrink: 0;\n    }\n    .layout-flow-card.is-output .layout-flow-num { color: var(--gold); }\n    .layout-flow-name {\n      font-size: .8rem;\n      font-weight: 700;\n      color: var(--white);\n      line-height: 1.25;\n    }\n    .layout-flow-sub {\n      font-size: .7rem;\n      color: #5a7a9a;\n      margin-top: 2px;\n    }\n    \/* horizontal arrow between two cards \u2014 block arrow *\/\n    .layout-flow-h-arrow {\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      font-size: 0;\n    }\n    .layout-flow-h-arrow::after {\n      content: '';\n      display: block;\n      width: 28px; height: 14px;\n      background: var(--cyan);\n      clip-path: polygon(0% 28%, 64% 28%, 64% 0%, 100% 50%, 64% 100%, 64% 72%, 0% 72%);\n    }\n    \/* vertical arrow between rows \u2014 block arrow *\/\n    .layout-flow-v-arrow {\n      display: flex;\n      justify-content: center;\n      align-items: center;\n      height: 28px;\n      font-size: 0;\n    }\n    .layout-flow-v-arrow::after {\n      content: '';\n      display: block;\n      width: 14px; height: 28px;\n      background: var(--cyan);\n      clip-path: polygon(28% 0%, 72% 0%, 72% 64%, 100% 64%, 50% 100%, 0% 64%, 28% 64%);\n    }\n    \/* last row: single card full width *\/\n    .layout-flow-row-single {\n      display: flex;\n      justify-content: center;\n    }\n    .layout-flow-row-single .layout-flow-card {\n      width: 60%;\n      text-align: center;\n    }\n    \/* \u2500\u2500 SECTION 8 \u2014 VIDEOS \u2500\u2500 *\/\n    #videos { background: var(--dark2); }\n    .videos-grid {\n      display: grid;\n      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n      gap: 24px;\n    }\n    .video-card {\n      background: var(--card-bg);\n      border: 1px solid var(--border);\n      border-radius: 16px;\n      overflow: hidden;\n    }\n    .video-embed {\n      position: relative;\n      padding-bottom: 56.25%;\n      height: 0;\n      background: #000;\n    }\n    .video-placeholder {\n      position: absolute;\n      inset: 0;\n      display: flex;\n      flex-direction: column;\n      align-items: center;\n      justify-content: center;\n      gap: 12px;\n      width: 100%;\n      border: none;\n      background: #0a1628;\n      cursor: pointer;\n      overflow: hidden;\n    }\n    .video-thumb {\n      position: absolute;\n      inset: 0;\n      width: 100%;\n      height: 100%;\n      object-fit: cover;\n      opacity: .72;\n      transition: transform .35s, opacity .35s;\n    }\n    .play-btn {\n      position: relative;\n      z-index: 2;\n      width: 64px; height: 64px;\n      background: rgba(255,255,255,.15);\n      border: 2px solid rgba(255,255,255,.7);\n      border-radius: 50%;\n      backdrop-filter: blur(6px);\n      display: flex; align-items: center; justify-content: center;\n      font-size: 1.5rem;\n      transition: background .2s, transform .2s;\n    }\n    .play-btn::before {\n      content: '';\n      width: 0;\n      height: 0;\n      border-top: 12px solid transparent;\n      border-bottom: 12px solid transparent;\n      border-left: 18px solid #fff;\n      margin-left: 4px;\n    }\n    .video-placeholder::after {\n      content: '';\n      position: absolute;\n      inset: 0;\n      background: linear-gradient(180deg, rgba(8,14,26,.1), rgba(8,14,26,.72));\n      z-index: 1;\n    }\n    .video-placeholder:hover .play-btn {\n      background: rgba(255,255,255,.28);\n      transform: scale(1.1);\n    }\n    .video-placeholder:hover .video-thumb {\n      opacity: .9;\n      transform: scale(1.04);\n    }\n    .video-placeholder span { display: none; }\n    .video-body { padding: 20px; }\n    .video-body h3 {\n      font-size: .95rem;\n      font-weight: 700;\n      color: var(--white);\n      margin-bottom: 4px;\n    }\n    .video-body p { font-size: .8rem; color: #6a8aaa; }\n\n    \/* \u2500\u2500 SECTION 9 \u2014 FAQ \u2500\u2500 *\/\n    #faq { background: var(--dark); }\n    .faq-list {\n      max-width: 1120px;\n      margin: 0 auto;\n      display: grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 24px;\n      align-items: start;\n    }\n    .faq-column {\n      display: flex;\n      flex-direction: column;\n      gap: 14px;\n      align-items: stretch;\n    }\n    .faq-item {\n      border: 1px solid var(--border);\n      border-radius: 12px;\n      overflow: hidden;\n    }\n    .faq-q {\n      width: 100%;\n      background: var(--card-bg);\n      color: var(--white);\n      font-size: .97rem;\n      font-weight: 600;\n      padding: 22px 28px;\n      text-align: left;\n      border: none;\n      cursor: pointer;\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      gap: 16px;\n      transition: background .2s;\n    }\n    .faq-q:hover { background: #0f2248; }\n    .faq-q .faq-chevron {\n      font-size: .85rem;\n      color: var(--cyan);\n      transition: transform .25s;\n      flex-shrink: 0;\n    }\n    .faq-q.open .faq-chevron { transform: rotate(180deg); }\n    .faq-a {\n      display: none;\n      padding: 0 28px 22px;\n      background: var(--card-bg);\n      font-size: .9rem;\n      color: #6a8aaa;\n      border-top: 1px solid var(--border);\n      padding-top: 18px;\n    }\n    .faq-a.open { display: block; }\n\n    \/* \u2500\u2500 SECTION 10 \u2014 FINAL CTA \u2500\u2500 *\/\n    #final-cta {\n      position: relative;\n      padding: 120px 0;\n      width: 100%;\n      background: var(--dark2);\n      overflow: hidden;\n      text-align: center;\n    }\n    .final-cta-bg {\n      position: absolute;\n      inset: 0;\n      background:\n        radial-gradient(ellipse 80% 60% at 50% 50%, rgba(14,108,246,.18) 0%, transparent 70%),\n        radial-gradient(ellipse 40% 40% at 80% 20%, rgba(0,212,255,.08) 0%, transparent 60%);\n      pointer-events: none;\n    }\n    .final-cta-content { position: relative; z-index: 2; max-width: 960px; margin: 0 auto; }\n    #final-cta h2 {\n      font-size: clamp(1.8rem, 4vw, 3rem);\n      font-weight: 900;\n      color: var(--white);\n      line-height: 1.18;\n      margin-bottom: 20px;\n    }\n    #final-cta p {\n      font-size: 1rem;\n      color: #6a8aaa;\n      margin-bottom: 40px;\n    }\n    #final-cta .btn-group { justify-content: center; }\n    .cta-highlights {\n      display: grid;\n      grid-template-columns: repeat(4, 1fr);\n      gap: 40px;\n      margin-top: 48px;\n    }\n    .cta-highlight { text-align: center; }\n    .cta-highlight-icon {\n      font-size: 1.5rem;\n      margin-bottom: 6px;\n    }\n    .cta-highlight-text {\n      font-size: .8rem;\n      color: #6a8aaa;\n      line-height: 1.45;\n    }\n    .quote-modal {\n      position: fixed;\n      inset: 0;\n      z-index: 1000;\n      display: none;\n      align-items: center;\n      justify-content: center;\n      padding: 24px;\n      background: rgba(8,14,26,.72);\n      backdrop-filter: blur(10px);\n    }\n    .quote-modal.open { display: flex; }\n    .quote-modal-panel {\n      position: relative;\n      width: min(720px, 100%);\n      max-height: 88vh;\n      overflow: auto;\n      background: #ffffff;\n      border: none;\n      border-radius: 10px;\n      padding: 40px 44px 36px;\n      box-shadow: 0 20px 60px rgba(0,0,0,.28);\n    }\n    .quote-modal-close {\n      position: absolute;\n      top: 14px;\n      right: 14px;\n      width: 36px;\n      height: 36px;\n      border: 1px solid #e2e8f0;\n      border-radius: 50%;\n      background: #fff;\n      color: #64748b;\n      font-size: 1.2rem;\n      line-height: 1;\n      cursor: pointer;\n      z-index: 2;\n    }\n    .quote-modal-close:hover { border-color: #94a3b8; color: #334155; }\n    .quote-shortcode {\n      color: #3d4f6f;\n      text-align: left;\n    }\n    .quote-modal-panel .elementor-form-fields-wrapper {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 18px 24px;\n    }\n    .quote-modal-panel .elementor-field-group {\n      margin: 0;\n      padding: 0;\n      width: 100%;\n    }\n    .quote-modal-panel .elementor-field-group.elementor-col-50 {\n      width: calc(50% - 12px);\n    }\n    .quote-modal-panel .elementor-field-label {\n      display: block;\n      margin-bottom: 8px;\n      font-size: .95rem;\n      font-weight: 500;\n      color: #3d4f6f;\n      line-height: 1.3;\n    }\n    .quote-modal-panel .elementor-mark-required .elementor-field-label::after {\n      content: ' *';\n      color: #e53935;\n      font-weight: 600;\n    }\n    .quote-modal-panel .elementor-field-textual {\n      width: 100%;\n      padding: 11px 14px;\n      border: 1px solid #e2e8f0;\n      border-radius: 6px;\n      background: #fff;\n      color: #1e293b;\n      font-family: inherit;\n      font-size: .95rem;\n      line-height: 1.4;\n      transition: border-color .2s;\n    }\n    .quote-modal-panel .elementor-field-textual:focus {\n      outline: none;\n      border-color: #94a3b8;\n    }\n    .quote-modal-panel textarea.elementor-field-textual {\n      min-height: 140px;\n      resize: vertical;\n    }\n    .quote-modal-panel .e-form__buttons {\n      display: flex;\n      justify-content: center;\n      margin-top: 8px;\n      padding-top: 4px;\n    }\n    .quote-modal-panel .elementor-button {\n      min-width: 160px;\n      padding: 14px 40px;\n      border: none;\n      border-radius: 8px;\n      background: #ff7a59 !important;\n      color: #fff !important;\n      font-family: inherit;\n      font-size: .9rem;\n      font-weight: 700;\n      letter-spacing: .04em;\n      text-transform: uppercase;\n      cursor: pointer;\n      transition: background .2s, transform .2s;\n    }\n    .quote-modal-panel .elementor-button:hover {\n      background: #ff6347 !important;\n      transform: translateY(-1px);\n    }\n    @media (max-width: 600px) {\n      .quote-modal-panel { padding: 36px 20px 28px; }\n      .quote-modal-panel .elementor-field-group.elementor-col-50 { width: 100%; }\n    }\n    .video-modal {\n      position: fixed;\n      inset: 0;\n      z-index: 1001;\n      display: none;\n      align-items: center;\n      justify-content: center;\n      padding: 24px;\n      background: rgba(8,14,26,.82);\n      backdrop-filter: blur(10px);\n    }\n    .video-modal.open { display: flex; }\n    .video-modal-panel {\n      position: relative;\n      width: min(980px, 100%);\n      background: #000;\n      border: 1px solid var(--border);\n      border-radius: 14px;\n      box-shadow: 0 24px 80px rgba(0,0,0,.5);\n    }\n    .video-modal-frame {\n      position: relative;\n      padding-bottom: 56.25%;\n      height: 0;\n    }\n    .video-modal-frame iframe {\n      position: absolute;\n      inset: 0;\n      width: 100%;\n      height: 100%;\n      border: none;\n      border-radius: 14px;\n    }\n    .video-modal-close {\n      position: absolute;\n      top: -46px;\n      right: 0;\n      width: 38px;\n      height: 38px;\n      border: 1px solid rgba(255,255,255,.24);\n      border-radius: 50%;\n      background: rgba(255,255,255,.08);\n      color: var(--white);\n      font-size: 1.25rem;\n      cursor: pointer;\n    }\n    .video-modal-close:hover { border-color: var(--cyan); color: var(--cyan); }\n    .video-modal-footer {\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      padding: 14px 20px;\n      background: rgba(8,14,26,.9);\n      border-top: 1px solid rgba(0,212,255,.15);\n      border-radius: 0 0 14px 14px;\n      gap: 10px;\n    }\n    .yt-watch-btn {\n      display: inline-flex;\n      align-items: center;\n      gap: 8px;\n      background: #ff0000;\n      color: #fff;\n      font-size: .88rem;\n      font-weight: 700;\n      padding: 9px 22px;\n      border-radius: 6px;\n      text-decoration: none;\n      transition: background .2s, transform .2s;\n    }\n    .yt-watch-btn:hover { background: #cc0000; transform: scale(1.03); }\n    .yt-watch-hint {\n      font-size: .78rem;\n      color: #6a8aaa;\n    }\n\n    \/* \u2500\u2500 RESPONSIVE \u2500\u2500 *\/\n    @media (max-width: 900px) {\n      section { padding: 72px 0; }\n      .container { padding: 0 24px; }\n      .hero-content { padding: 120px 24px 60px; }\n      .products-grid { grid-template-columns: repeat(4, 1fr); }\n      .machines-grid { grid-template-columns: 1fr; }\n      .machine-card { grid-template-columns: 1fr; }\n      .machine-img,\n      .machine-img-placeholder {\n        height: auto;\n        min-height: 0;\n        aspect-ratio: 4 \/ 3;\n      }\n      .why-harsle-grid { grid-template-columns: repeat(2, 1fr); }\n      .process-flow { grid-template-columns: repeat(2, 1fr); }\n      .faq-list { grid-template-columns: 1fr; }\n      .cta-highlights { gap: 24px; }\n      #final-cta { padding: 80px 0; }\n      #final-cta .final-cta-content { padding: 0 24px; }\n    }\n    @media (max-width: 560px) {\n      .hero-content { padding: 86px 24px 48px; }\n      .hero-badge { margin-bottom: 18px; }\n      .hero-h1 { margin-bottom: 18px; }\n      .hero-sub { margin-bottom: 14px; }\n      .hero-tags {\n        gap: 8px;\n        margin-bottom: 24px;\n      }\n      .hero-desc { margin-bottom: 28px; }\n      .products-grid { grid-template-columns: repeat(2, 1fr); }\n      .product-img { aspect-ratio: 4 \/ 3; }\n      .why-harsle-grid { grid-template-columns: 1fr; }\n      .process-flow { grid-template-columns: 1fr; }\n      .cta-highlights { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }\n      .cta-highlight-text { font-size: .68rem; }\n      .hero-stats {\n        display: grid;\n        grid-template-columns: repeat(2, 1fr);\n        gap: 18px;\n        margin-top: 36px;\n        padding-top: 24px;\n      }\n    }\n\n    \/* \u2550\u2550 WordPress Full-Width Breakout \u2550\u2550\n       Forces the embedded block to span 100vw regardless of theme container width.\n       Works with Gutenberg Custom HTML block and Classic Editor. *\/\n    #harsle-lp {\n      width: 100vw;\n      margin-left: calc(50% - 50vw);\n      overflow-x: hidden;\n    }\n    \/* Override common WordPress theme containers *\/\n    html body .entry-content:has(#harsle-lp),\n    html body .post-content:has(#harsle-lp),\n    html body .page-content:has(#harsle-lp),\n    html body .wp-block-html:has(#harsle-lp) {\n      max-width: none !important;\n      width: 100% !important;\n      padding-left: 0 !important;\n      padding-right: 0 !important;\n      margin-left: 0 !important;\n      margin-right: 0 !important;\n    }\n    \/* Keep primary CTA text white when embedded in WordPress themes *\/\n    html body #harsle-lp .btn-primary,\n    html body #harsle-lp a.btn-primary,\n    html body #harsle-lp button.btn-primary,\n    html body .entry-content #harsle-lp .btn-primary,\n    html body .wp-block-html #harsle-lp .btn-primary {\n      color: #fff !important;\n      -webkit-text-fill-color: #fff !important;\n    }\n    html body #harsle-lp .btn-primary:hover,\n    html body #harsle-lp .btn-primary:focus,\n    html body #harsle-lp .btn-primary:focus-visible,\n    html body #harsle-lp .btn-primary:active,\n    html body #harsle-lp a.btn-primary:hover,\n    html body #harsle-lp a.btn-primary:focus,\n    html body #harsle-lp a.btn-primary:focus-visible,\n    html body #harsle-lp a.btn-primary:active,\n    html body #harsle-lp button.btn-primary:hover,\n    html body #harsle-lp button.btn-primary:focus,\n    html body #harsle-lp button.btn-primary:focus-visible,\n    html body #harsle-lp button.btn-primary:active,\n    html body .entry-content #harsle-lp .btn-primary:hover,\n    html body .entry-content #harsle-lp a.btn-primary:hover,\n    html body .wp-block-html #harsle-lp .btn-primary:hover,\n    html body .wp-block-html #harsle-lp a.btn-primary:hover {\n      color: #fff !important;\n      -webkit-text-fill-color: #fff !important;\n    }\n    \/* Process step tabs \u2014 keep dark card style on hover (WP themes often force white button:hover) *\/\n    html body #harsle-lp .process-tab-btn,\n    html body #harsle-lp button.process-tab-btn,\n    html body .entry-content #harsle-lp .process-tab-btn,\n    html body .entry-content #harsle-lp button.process-tab-btn,\n    html body .wp-block-html #harsle-lp .process-tab-btn,\n    html body .wp-block-html #harsle-lp button.process-tab-btn {\n      background: var(--card-bg) !important;\n      border: 1px solid var(--border) !important;\n      color: #6a8aaa !important;\n      box-shadow: none !important;\n    }\n    html body #harsle-lp .process-tab-btn:hover,\n    html body #harsle-lp .process-tab-btn:focus,\n    html body #harsle-lp .process-tab-btn:focus-visible,\n    html body #harsle-lp button.process-tab-btn:hover,\n    html body #harsle-lp button.process-tab-btn:focus,\n    html body #harsle-lp button.process-tab-btn:focus-visible,\n    html body .entry-content #harsle-lp .process-tab-btn:hover,\n    html body .entry-content #harsle-lp button.process-tab-btn:hover,\n    html body .wp-block-html #harsle-lp .process-tab-btn:hover,\n    html body .wp-block-html #harsle-lp button.process-tab-btn:hover {\n      background: var(--card-bg) !important;\n      border-color: rgba(0,212,255,.35) !important;\n      color: var(--text) !important;\n    }\n    html body #harsle-lp .process-tab-btn.active,\n    html body #harsle-lp button.process-tab-btn.active,\n    html body .entry-content #harsle-lp .process-tab-btn.active,\n    html body .wp-block-html #harsle-lp .process-tab-btn.active {\n      background: rgba(14,108,246,.14) !important;\n      border-color: var(--blue) !important;\n      color: var(--white) !important;\n    }\n    html body #harsle-lp .process-tab-btn.active:hover,\n    html body #harsle-lp button.process-tab-btn.active:hover,\n    html body .entry-content #harsle-lp .process-tab-btn.active:hover,\n    html body .wp-block-html #harsle-lp .process-tab-btn.active:hover {\n      background: rgba(14,108,246,.14) !important;\n      border-color: var(--blue) !important;\n      color: var(--white) !important;\n    }\n  <\/style>\n<\/head>\n<body>\n<div id=\"harsle-lp\">\n\n<!-- \u2550\u2550 HERO \u2550\u2550 -->\n<section id=\"hero\">\n  <div class=\"hero-bg\"><\/div>\n  <div class=\"hero-glow\"><\/div>\n  <div class=\"hero-content\">\n    <div class=\"hero-badge\">HARSLE Manufacturing Solutions<\/div>\n    <h1 class=\"hero-h1\">\n      Complete <span class=\"accent\">AI Server Rack<\/span><br\/>Manufacturing Solution\n    <\/h1>\n    <p class=\"hero-sub\">Build High-Precision AI Server Racks with Automated Sheet Metal Manufacturing<\/p>\n    <div class=\"hero-tags\">\n      <span class=\"hero-tag\">Laser Cutting<\/span>\n      <span class=\"hero-tag\">Bending<\/span>\n      <span class=\"hero-tag\">Welding<\/span>\n      <span class=\"hero-tag\">Surface Finishing<\/span>\n      <span class=\"hero-tag\">Automation<\/span>\n    <\/div>\n    <p class=\"hero-desc\">\n      The rapid growth of AI data centers is driving unprecedented demand for high-precision server racks, network cabinets, and liquid cooling enclosures. HARSLE provides complete sheet metal manufacturing solutions for AI infrastructure production.\n    <\/p>\n    <div class=\"btn-group\">\n      <button type=\"button\" class=\"btn-primary\" onclick=\"openQuoteModal()\">Get A Quote<\/button>\n      <a href=\"https:\/\/www.harsle.com\/products\/\" class=\"btn-secondary\" style=\"border: 2px solid rgba(255,255,255,.7); color:#fff;\">Vell Products<\/a>\n    <\/div>\n    <div class=\"hero-stats\">\n      <div class=\"stat-item\">\n        <span class=\"stat-num\">100+<\/span>\n        <span class=\"stat-label\">Countries Served<\/span>\n      <\/div>\n      <div class=\"stat-item\">\n        <span class=\"stat-num\">\u00b10.1mm<\/span>\n        <span class=\"stat-label\">Positioning Accuracy<\/span>\n      <\/div>\n      <div class=\"stat-item\">\n        <span class=\"stat-num\">24\/7<\/span>\n        <span class=\"stat-label\">Automated Production<\/span>\n      <\/div>\n      <div class=\"stat-item\">\n        <span class=\"stat-num\">Turnkey<\/span>\n        <span class=\"stat-label\">Factory Planning<\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550 SECTION 2 \u2014 WHY GROWING \u2550\u2550 -->\n<section id=\"why\">\n  <div class=\"container\">\n    <div class=\"title-block center\">\n      <span class=\"section-label\">Market Trend<\/span>\n      <h2 class=\"section-title\">Why AI Server Rack Manufacturing Is Growing<\/h2>\n      <p class=\"section-sub\">Global demand for AI infrastructure is accelerating. Here&#8217;s what&#8217;s driving the surge in server rack production.<\/p>\n    <\/div>\n    <div class=\"why-grid\">\n      <div class=\"why-card\">\n        <img decoding=\"async\" class=\"why-img\" src=\"https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/AI-Data-Centers-Expansion.jpg\" alt=\"AI Data Centers Expansion\" loading=\"lazy\" \/>\n        <div class=\"why-body\">\n          <h3>AI Data Centers Expansion<\/h3>\n          <p>Thousands of new AI-ready data centers are being built worldwide, creating massive demand for precision-manufactured rack enclosures.<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"why-card\">\n        <img decoding=\"async\" class=\"why-img\" src=\"https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/Higher-Rack-Density.jpg\" alt=\"Higher Rack Density\" loading=\"lazy\" \/>\n        <div class=\"why-body\">\n          <h3>Higher Rack Density<\/h3>\n          <p>Modern AI racks require stronger structures and higher precision to support dense GPU configurations and heavier computational loads.<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"why-card\">\n        <img decoding=\"async\" class=\"why-img\" src=\"https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/Liquid-Cooling-Adoption.jpg\" alt=\"Liquid Cooling Adoption\" loading=\"lazy\" \/>\n        <div class=\"why-body\">\n          <h3>Liquid Cooling Adoption<\/h3>\n          <p>Next-generation AI infrastructure is rapidly shifting toward liquid cooling cabinets, demanding new manufacturing capabilities.<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"why-card\">\n        <img decoding=\"async\" class=\"why-img\" src=\"https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/Increased-Power-Demand.jpg\" alt=\"Increased Power Demand\" loading=\"lazy\" \/>\n        <div class=\"why-body\">\n          <h3>Increased Power Demand<\/h3>\n          <p>AI facilities require more electrical cabinets and power distribution enclosures, expanding the overall sheet metal production scope.<\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550 SECTION 3 \u2014 PROCESS \u2550\u2550 -->\n<section id=\"process\">\n  <div class=\"container\">\n    <div class=\"title-block center\">\n      <span class=\"section-label\">Manufacturing Flow<\/span>\n      <h2 class=\"section-title\">AI Server Rack Manufacturing Process<\/h2>\n      <p class=\"section-sub\">From raw sheet metal to a finished AI server rack \u2014 a fully automated, end-to-end production flow.<\/p>\n    <\/div>\n\n    <!-- Step Tabs -->\n    <div class=\"process-tabs\" id=\"process-tabs\"><\/div>\n\n    <!-- Progress Bar -->\n    <div class=\"process-progress-wrap\">\n      <div class=\"process-progress-bar\" id=\"process-progress\"><\/div>\n    <\/div>\n\n    <!-- Feature Panel -->\n    <div class=\"process-panel\">\n      <div class=\"process-panel-img-wrap\">\n        <img decoding=\"async\" class=\"process-panel-img\" id=\"process-img\" src=\"\" alt=\"\">\n        <div class=\"process-panel-step-badge\" id=\"process-badge\">Step 01 \/ 09<\/div>\n        <div class=\"process-panel-nav\">\n          <button onclick=\"stepProcess(-1)\" aria-label=\"Previous step\">&#8592;<\/button>\n          <button onclick=\"stepProcess(1)\" aria-label=\"Next step\">&#8594;<\/button>\n        <\/div>\n      <\/div>\n      <div class=\"process-panel-info\">\n        <div class=\"process-panel-label\" id=\"process-label\">Manufacturing Flow<\/div>\n        <div class=\"process-panel-title\" id=\"process-title\"><\/div>\n        <div class=\"process-panel-desc\" id=\"process-desc\"><\/div>\n        <ul class=\"process-panel-bullets\" id=\"process-bullets\"><\/ul>\n        <div class=\"process-panel-counter\" id=\"process-counter\"><\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<script>\n  const processSteps = [\n    {\n      name: 'Raw Sheet Metal',\n      img: 'https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/Raw-Sheet-Metal.jpg',\n      desc: 'Quality raw sheet metal is the foundation of every AI server rack. Sheets are sorted by material grade, thickness, and batch order before entering the production line.',\n      bullets: ['Carbon Steel, Stainless Steel & Aluminum available', 'Sheets sorted by thickness: 0.8mm \u2013 3.0mm', 'Material inspection and surface check included']\n    },\n    {\n      name: 'Fiber Laser Cutting',\n      img: 'https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/Fiber-Laser-Cutting-1.jpg',\n      desc: 'High-speed fiber laser cutting delivers precise blanks for rack frames, cabinet doors, ventilation panels, and cable routing slots with minimal material waste.',\n      bullets: ['Precision \u00b10.1mm cutting accuracy', 'Ventilation holes and mounting slots in one pass', 'Supports stainless steel, aluminum and mild steel']\n    },\n    {\n      name: 'Punching',\n      img: 'https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/punching-2.jpg',\n      desc: 'CNC punching processes repeated features \u2014 mounting holes, louvers, cage nut slots \u2014 across large batches of rack components with high consistency.',\n      bullets: ['Multi-tool punching for complex hole patterns', 'Ideal for high-volume identical rack panels', 'Automated sheet feeding reduces labor cost']\n    },\n    {\n      name: 'Bending',\n      img: 'https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/Bending-1.jpg',\n      desc: 'CNC press brakes and automatic panel benders form the three-dimensional rack structure \u2014 frames, side panels, doors, and covers \u2014 with exact angular precision.',\n      bullets: ['\u00b10.1\u00b0 bending angle accuracy', 'DA69T \/ DA66T multi-axis CNC controller', 'Panel bender for one-pass door & cover forming']\n    },\n    {\n      name: 'Welding',\n      img: 'https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/Welding-1.jpg',\n      desc: 'Rack frame components and structural brackets are joined by MIG\/TIG welding stations, ensuring the mechanical strength required for dense GPU server loads.',\n      bullets: ['Robotic or semi-automatic welding stations', 'Meets load-bearing specs for high-density AI racks', 'Post-weld dimension verification']\n    },\n    {\n      name: 'Grinding & Deburring',\n      img: 'https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/Grinding-Deburring-1.jpg',\n      desc: 'Welded seams are ground smooth and all cut edges are deburred to prepare a clean, burr-free surface for coating adhesion and safe cable routing.',\n      bullets: ['Automated deburring machine for laser-cut parts', 'Weld seam grinding for flush finish', 'Surface roughness checked before coating']\n    },\n    {\n      name: 'Powder Coating',\n      img: 'https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/Powder-Coating.jpg',\n      desc: 'Electrostatic powder coating followed by curing oven treatment delivers a durable, corrosion-resistant finish in standard RAL colors for data center environments.',\n      bullets: ['Electrostatic application for even coverage', 'RAL7035 light grey standard; custom colors available', 'Salt spray resistance: 500+ hours']\n    },\n    {\n      name: 'Assembly',\n      img: 'https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/Assembly.jpg',\n      desc: 'Finished components are assembled with hardware, cage nuts, cable management accessories, blanking panels, and locking systems, then inspected against customer specs.',\n      bullets: ['Standard 19\" \/ 21\" rack unit configurations', 'Cage nut, PDU, and blanking panel integration', '100% dimensional and functional QC inspection']\n    },\n    {\n      name: 'Finished AI Server Rack',\n      img: 'https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/Finished-AI-Server-Rack.jpg',\n      desc: 'Completed AI server racks pass final quality inspection and are carefully packed for safe export delivery to data center operators and AI infrastructure builders worldwide.',\n      bullets: ['Final torque check and door alignment test', 'Custom labeling and serial number tracking', 'Export-standard wooden crate or foam packaging']\n    }\n  ];\n\n  let currentStep = 0;\n\n  function renderProcessTabs() {\n    const tabsEl = document.getElementById('process-tabs');\n    tabsEl.innerHTML = processSteps.map((s, i) => `\n      <button class=\"process-tab-btn ${i === 0 ? 'active' : ''}\" onclick=\"goToStep(${i})\">\n        <span class=\"process-tab-num\">${String(i + 1).padStart(2, '0')}<\/span>\n        <span>${s.name}<\/span>\n      <\/button>\n    `).join('');\n  }\n\n  function updateProcessPanel(idx, animate) {\n    const step = processSteps[idx];\n    const img = document.getElementById('process-img');\n\n    if (animate) {\n      img.classList.add('fade');\n      setTimeout(() => {\n        img.src = step.img;\n        img.alt = step.name;\n        img.classList.remove('fade');\n      }, 300);\n    } else {\n      img.src = step.img;\n      img.alt = step.name;\n    }\n\n    document.getElementById('process-badge').textContent  = `Step ${String(idx + 1).padStart(2, '0')} \/ ${String(processSteps.length).padStart(2, '0')}`;\n    document.getElementById('process-label').textContent  = 'Manufacturing Flow';\n    document.getElementById('process-title').textContent  = step.name;\n    document.getElementById('process-desc').textContent   = step.desc;\n    document.getElementById('process-bullets').innerHTML  = step.bullets.map(b => `<li class=\"process-panel-bullet\">${b}<\/li>`).join('');\n    document.getElementById('process-counter').innerHTML  =\n      `<strong>${idx + 1}<\/strong> of <strong>${processSteps.length}<\/strong> production steps &nbsp;\u00b7&nbsp; ${processSteps.slice(idx + 1).map(s => s.name).slice(0, 2).join(' \u2192 ')}${idx < processSteps.length - 2 ? ' \u2192\u2026' : ''}`;\n\n    \/\/ Progress bar\n    document.getElementById('process-progress').style.width = `${((idx + 1) \/ processSteps.length) * 100}%`;\n\n    \/\/ Tabs active state\n    document.querySelectorAll('.process-tab-btn').forEach((btn, i) => {\n      btn.classList.toggle('active', i === idx);\n    });\n\n    currentStep = idx;\n  }\n\n  function goToStep(idx) { updateProcessPanel(idx, true); }\n  function stepProcess(dir) {\n    const next = (currentStep + dir + processSteps.length) % processSteps.length;\n    updateProcessPanel(next, true);\n  }\n\n  renderProcessTabs();\n  updateProcessPanel(0, false);\n<\/script>\n\n<!-- \u2550\u2550 SECTION 4 \u2014 MACHINES \u2550\u2550 -->\n<section id=\"machines\">\n  <div class=\"container\">\n    <div class=\"title-block center\">\n      <span class=\"section-label\">Equipment Solutions<\/span>\n      <h2 class=\"section-title\">Recommended HARSLE Machines<\/h2>\n      <p class=\"section-sub\">Core production equipment for a high-efficiency AI server rack manufacturing line.<\/p>\n    <\/div>\n    <div class=\"machines-list\">\n\n      <!-- Machine 1 \u2014 image left -->\n      <div class=\"machine-row\">\n        <div class=\"machine-img-pane\">\n          <img decoding=\"async\" class=\"machine-img\" src=\"https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/ecocut-3.png\" alt=\"Fiber Laser Cutting Machine\" loading=\"lazy\" \/>\n        <\/div>\n        <div class=\"machine-body\">\n          <div class=\"machine-badge\">Laser Cutting<\/div>\n          <h3>Fiber Laser Cutting Machine<\/h3>\n          <div class=\"machine-series\">HARSLE EcoCut \/ ProCut Series<\/div>\n          <p class=\"machine-desc\">High-speed fiber laser cutting delivers precise blanks for rack frames, cabinet doors, and ventilation panels with minimal material waste.<\/p>\n          <div class=\"machine-features\">\n            <div class=\"machine-feature\">Rack Frame &amp; Cabinet Door Cutting<\/div>\n            <div class=\"machine-feature\">Ventilation Hole &amp; Slot Processing<\/div>\n            <div class=\"machine-feature\">Stainless Steel, Aluminum &amp; Mild Steel<\/div>\n          <\/div>\n          <div class=\"machine-btns\">\n            <a href=\"https:\/\/www.harsle.com\/laser-cutting-machine\/\" target=\"_blank\" class=\"btn-primary\">View Details<\/a>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Machine 2 \u2014 image right (even) -->\n      <div class=\"machine-row\">\n        <div class=\"machine-img-pane\">\n          <img decoding=\"async\" class=\"machine-img\" src=\"https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/MasterBend-3.png\" alt=\"CNC Press Brake\" loading=\"lazy\" \/>\n        <\/div>\n        <div class=\"machine-body\">\n          <div class=\"machine-badge\">Press Brake<\/div>\n          <h3>CNC Press Brake<\/h3>\n          <div class=\"machine-series\">MasterBend Series \u2014 DA69T \/ DA66T<\/div>\n          <p class=\"machine-desc\">The MasterBend series delivers \u00b10.1mm bending accuracy for server rack frames, side panels, and structural components with smart multi-axis control.<\/p>\n          <div class=\"machine-features\">\n            <div class=\"machine-feature\">Server Rack Frame Bending<\/div>\n            <div class=\"machine-feature\">Cabinet Side Panel Forming<\/div>\n            <div class=\"machine-feature\">Automatic Crowning &amp; WILA Clamping<\/div>\n          <\/div>\n          <div class=\"machine-btns\">\n            <a href=\"https:\/\/www.harsle.com\/press-brake\/\" target=\"_blank\" class=\"btn-primary\">View Details<\/a>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Machine 3 \u2014 image left -->\n      <div class=\"machine-row\">\n        <div class=\"machine-img-pane\">\n          <img decoding=\"async\" class=\"machine-img\" src=\"https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/panel-Bender-3.png\" alt=\"Automatic Panel Bender\" loading=\"lazy\" \/>\n        <\/div>\n        <div class=\"machine-body\">\n          <div class=\"machine-badge\">Panel Bender<\/div>\n          <h3>Automatic Panel Bender<\/h3>\n          <div class=\"machine-series\">HARSLE AutoBend Series<\/div>\n          <p class=\"machine-desc\">Fully automatic panel bending with one-pass forming for rack doors, side panels, and cabinet covers \u2014 dramatically reducing labor and cycle time.<\/p>\n          <div class=\"machine-features\">\n            <div class=\"machine-feature\">Rack Door &amp; Side Panel One-Pass Forming<\/div>\n            <div class=\"machine-feature\">Cabinet Cover &amp; Frame Production<\/div>\n            <div class=\"machine-feature\">High Efficiency, Minimal Operator Skill<\/div>\n          <\/div>\n          <div class=\"machine-btns\">\n            <a href=\"https:\/\/www.harsle.com\/panel-bender\/\" target=\"_blank\" class=\"btn-primary\">View Details<\/a>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Machine 4 \u2014 image right (even) -->\n      <div class=\"machine-row\">\n        <div class=\"machine-img-pane\">\n          <img decoding=\"async\" class=\"machine-img\" src=\"https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/01\/SmartWeld-1.png\" alt=\"Laser Welding Machine\" loading=\"lazy\" \/>\n        <\/div>\n        <div class=\"machine-body\">\n          <div class=\"machine-badge\">Laser Welding<\/div>\n          <h3>Laser Welding Machine<\/h3>\n          <div class=\"machine-series\">HARSLE Handheld &amp; Platform Laser Welding Series<\/div>\n          <p class=\"machine-desc\">Fiber laser welding delivers strong, clean joints for rack frames, structural brackets, and cabinet assemblies \u2014 with minimal heat distortion and no post-weld grinding required.<\/p>\n          <div class=\"machine-features\">\n            <div class=\"machine-feature\">Rack Frame &amp; Bracket Welding<\/div>\n            <div class=\"machine-feature\">Clean Seams with Minimal Heat Distortion<\/div>\n            <div class=\"machine-feature\">Stainless Steel, Carbon Steel &amp; Aluminum<\/div>\n          <\/div>\n          <div class=\"machine-btns\">\n            <a href=\"https:\/\/www.harsle.com\/smartweld\/\" target=\"_blank\" class=\"btn-primary\">View Details<\/a>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Machine 5 \u2014 image left -->\n      <div class=\"machine-row\">\n        <div class=\"machine-img-pane\">\n          <img decoding=\"async\" class=\"machine-img\" src=\"https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/Robotic-Bending-Cell-1.png\" alt=\"Robotic Bending Cell\" loading=\"lazy\" \/>\n        <\/div>\n        <div class=\"machine-body\">\n          <div class=\"machine-badge\">Automation<\/div>\n          <h3>Robotic Bending Cell<\/h3>\n          <div class=\"machine-series\">Robot + Panel Bender Integration<\/div>\n          <p class=\"machine-desc\">Combine a robotic arm with HARSLE&#8217;s panel bender for 24\/7 lights-out production \u2014 fully automated loading, bending, and stacking of server rack components.<\/p>\n          <div class=\"machine-features\">\n            <div class=\"machine-feature\">24\/7 Automated Production<\/div>\n            <div class=\"machine-feature\">Robotic Arm + Panel Bender System<\/div>\n            <div class=\"machine-feature\">MES &amp; Smart Factory Ready<\/div>\n          <\/div>\n          <div class=\"machine-btns\">\n            <a href=\"https:\/\/www.youtube.com\/watch?v=Z-Z1Cbuh2bE\" target=\"_blank\" class=\"btn-primary\" rel=\"noopener\">View Details<\/a>\n          <\/div>\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550 SECTION 5 \u2014 PRODUCTS \u2550\u2550 -->\n<section id=\"products\">\n  <div class=\"container\">\n    <div class=\"title-block center\">\n      <span class=\"section-label\">Product Range<\/span>\n      <h2 class=\"section-title\">Products We Help Manufacture<\/h2>\n      <p class=\"section-sub\">HARSLE equipment supports the complete range of AI data center enclosures and cabinets.<\/p>\n    <\/div>\n    <div class=\"products-bento\">\n\n      <div class=\"product-bento-card\">\n        <img decoding=\"async\" class=\"product-bento-img\" src=\"https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/AI-Server-Rack.jpg\" alt=\"AI Server Rack\" loading=\"lazy\" \/>\n        <div class=\"product-bento-num\">01<\/div>\n        <div class=\"product-bento-label\"><h3>AI Server Rack<\/h3><\/div>\n      <\/div>\n\n      <div class=\"product-bento-card\">\n        <img decoding=\"async\" class=\"product-bento-img\" src=\"https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/GPU-Server-Cabinet.jpg\" alt=\"GPU Server Cabinet\" loading=\"lazy\" \/>\n        <div class=\"product-bento-num\">02<\/div>\n        <div class=\"product-bento-label\"><h3>GPU Server Cabinet<\/h3><\/div>\n      <\/div>\n\n      <div class=\"product-bento-card\">\n        <img decoding=\"async\" class=\"product-bento-img\" src=\"https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/Network-Cabinet.jpg\" alt=\"Network Cabinet\" loading=\"lazy\" \/>\n        <div class=\"product-bento-num\">03<\/div>\n        <div class=\"product-bento-label\"><h3>Network Cabinet<\/h3><\/div>\n      <\/div>\n\n      <div class=\"product-bento-card\">\n        <img decoding=\"async\" class=\"product-bento-img\" src=\"https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/Date-Center-Cabinet.jpg\" alt=\"Data Center Cabinet\" loading=\"lazy\" \/>\n        <div class=\"product-bento-num\">04<\/div>\n        <div class=\"product-bento-label\"><h3>Data Center Cabinet<\/h3><\/div>\n      <\/div>\n\n      <div class=\"product-bento-card\">\n        <img decoding=\"async\" class=\"product-bento-img\" src=\"https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/Liquid-Cooling-Cabinet.jpg\" alt=\"Liquid Cooling Cabinet\" loading=\"lazy\" \/>\n        <div class=\"product-bento-num\">05<\/div>\n        <div class=\"product-bento-label\"><h3>Liquid Cooling Cabinet<\/h3><\/div>\n      <\/div>\n\n      <div class=\"product-bento-card\">\n        <img decoding=\"async\" class=\"product-bento-img\" src=\"https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/Power-Distribution-Cabinet.jpg\" alt=\"Power Distribution Cabinet\" loading=\"lazy\" \/>\n        <div class=\"product-bento-num\">06<\/div>\n        <div class=\"product-bento-label\"><h3>Power Distribution Cabinet<\/h3><\/div>\n      <\/div>\n\n      <div class=\"product-bento-card\">\n        <img decoding=\"async\" class=\"product-bento-img\" src=\"https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/UPS-Enclosure.jpg\" alt=\"UPS Enclosure\" loading=\"lazy\" \/>\n        <div class=\"product-bento-num\">07<\/div>\n        <div class=\"product-bento-label\"><h3>UPS Enclosure<\/h3><\/div>\n      <\/div>\n\n      <div class=\"product-bento-card\">\n        <img decoding=\"async\" class=\"product-bento-img\" src=\"https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/Battery-Energy-Storage-Cabinet.jpg\" alt=\"Battery Energy Storage Cabinet\" loading=\"lazy\" \/>\n        <div class=\"product-bento-num\">08<\/div>\n        <div class=\"product-bento-label\"><h3>Battery Energy Storage Cabinet<\/h3><\/div>\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550 SECTION 6 \u2014 WHY HARSLE \u2550\u2550 -->\n<section id=\"why-harsle\">\n  <div class=\"container\">\n    <div class=\"title-block center\">\n      <span class=\"section-label\">Our Advantages<\/span>\n      <h2 class=\"section-title\">Why Choose HARSLE<\/h2>\n      <p class=\"section-sub\">Purpose-built capabilities for the demands of AI infrastructure manufacturing.<\/p>\n    <\/div>\n    <div class=\"why-harsle-grid\">\n      <div class=\"harsle-card\">\n        <div class=\"harsle-icon\">\ud83c\udfaf<\/div>\n        <div class=\"harsle-text\">\n          <h3>Precision Manufacturing<\/h3>\n          <div class=\"harsle-value\">\u00b10.1mm Position Accuracy<\/div>\n          <p>Ultra-precise CNC machining ensures every rack frame and panel meets tight AI hardware tolerances.<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"harsle-card\">\n        <div class=\"harsle-icon\">\ud83e\udde0<\/div>\n        <div class=\"harsle-text\">\n          <h3>Smart CNC Control<\/h3>\n          <div class=\"harsle-value\">DA53T \/ DA66T \/ DA69T<\/div>\n          <p>Advanced CNC controllers deliver real-time feedback, automatic crowning, and multi-axis synchronization.<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"harsle-card\">\n        <div class=\"harsle-icon\">\ud83c\udfed<\/div>\n        <div class=\"harsle-text\">\n          <h3>Turnkey Production Line<\/h3>\n          <div class=\"harsle-value\">Complete Factory Planning<\/div>\n          <p>From layout design to equipment selection and installation \u2014 we deliver the full factory, ready to run.<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"harsle-card\">\n        <div class=\"harsle-icon\">\ud83c\udf0d<\/div>\n        <div class=\"harsle-text\">\n          <h3>Global Service<\/h3>\n          <div class=\"harsle-value\">100+ Countries<\/div>\n          <p>Worldwide sales, service, and spare parts network ensures continuous uptime wherever you operate.<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"harsle-card\">\n        <div class=\"harsle-icon\">\ud83d\udc77<\/div>\n        <div class=\"harsle-text\">\n          <h3>Professional Engineering Team<\/h3>\n          <div class=\"harsle-value\">Custom Layout Design<\/div>\n          <p>Our engineers provide customized factory layout drawings and machine configuration consulting.<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"harsle-card\">\n        <div class=\"harsle-icon\">\ud83e\udd16<\/div>\n        <div class=\"harsle-text\">\n          <h3>Automation Integration<\/h3>\n          <div class=\"harsle-value\">Robot + CNC + MES Ready<\/div>\n          <p>Seamlessly integrate robotic arms, automated feeding, and MES systems for lights-out production.<\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550 SECTION 7 \u2014 LAYOUT \u2550\u2550 -->\n<section id=\"layout\">\n  <div class=\"container\">\n    <div class=\"title-block\">\n      <span class=\"section-label\">Factory Planning<\/span>\n      <h2 class=\"section-title\">Sample Production Line Layout<\/h2>\n      <p class=\"section-sub\">A proven end-to-end layout optimized for AI server rack manufacturing. Request your custom version.<\/p>\n    <\/div>\n\n    <!-- Desktop snake flow (HTML\/CSS, no SVG) -->\n    <div class=\"snake-flow-desktop\">\n      <div class=\"snake-flow-label\">AI Server Rack Production Flow<\/div>\n      <div class=\"snake-grid\">\n\n        <!-- Row 1: 01 \u2192 02 \u2192 03 -->\n        <div class=\"sf-box sf-r1c1\">\n          <div class=\"sf-box-header\"><div class=\"sf-num\">01<\/div><div class=\"sf-title\">Material Storage<\/div><\/div>\n          <div class=\"sf-sub\">Raw sheet preparation<\/div>\n        <\/div>\n        <div class=\"sf-ha sf-r1c2\">&#8594;<\/div>\n        <div class=\"sf-box sf-r1c3\">\n          <div class=\"sf-box-header\"><div class=\"sf-num\">02<\/div><div class=\"sf-title\">Fiber Laser Cutting<\/div><\/div>\n          <div class=\"sf-sub\">Rack frames and panels<\/div>\n        <\/div>\n        <div class=\"sf-ha sf-r1c4\">&#8594;<\/div>\n        <div class=\"sf-box sf-r1c5\">\n          <div class=\"sf-box-header\"><div class=\"sf-num\">03<\/div><div class=\"sf-title\">Deburring<\/div><\/div>\n          <div class=\"sf-sub\">Edge finishing<\/div>\n        <\/div>\n\n        <!-- Turn: \u2193 at column 5 -->\n        <div class=\"sf-va sf-r2c5\">&#8595;<\/div>\n\n        <!-- Row 2: 06 \u2190 05 \u2190 04 -->\n        <div class=\"sf-box sf-r3c1\">\n          <div class=\"sf-box-header\"><div class=\"sf-num\">06<\/div><div class=\"sf-title\">Welding Area<\/div><\/div>\n          <div class=\"sf-sub\">Frame assembly<\/div>\n        <\/div>\n        <div class=\"sf-ha sf-left sf-r3c2\">&#8592;<\/div>\n        <div class=\"sf-box sf-r3c3\">\n          <div class=\"sf-box-header\"><div class=\"sf-num\">05<\/div><div class=\"sf-title\">Press Brake<\/div><\/div>\n          <div class=\"sf-sub\">Structural bending<\/div>\n        <\/div>\n        <div class=\"sf-ha sf-left sf-r3c4\">&#8592;<\/div>\n        <div class=\"sf-box sf-r3c5\">\n          <div class=\"sf-box-header\"><div class=\"sf-num\">04<\/div><div class=\"sf-title\">Panel Bending<\/div><\/div>\n          <div class=\"sf-sub\">Door and cover forming<\/div>\n        <\/div>\n\n        <!-- Turn: \u2193 at column 1 -->\n        <div class=\"sf-va sf-r4c1\">&#8595;<\/div>\n\n        <!-- Row 3: 07 \u2192 08 \u2192 09 -->\n        <div class=\"sf-box sf-r5c1\">\n          <div class=\"sf-box-header\"><div class=\"sf-num\">07<\/div><div class=\"sf-title\">Powder Coating<\/div><\/div>\n          <div class=\"sf-sub\">Surface finishing<\/div>\n        <\/div>\n        <div class=\"sf-ha sf-r5c2\">&#8594;<\/div>\n        <div class=\"sf-box sf-r5c3\">\n          <div class=\"sf-box-header\"><div class=\"sf-num\">08<\/div><div class=\"sf-title\">Assembly<\/div><\/div>\n          <div class=\"sf-sub\">Hardware and QC<\/div>\n        <\/div>\n        <div class=\"sf-ha sf-r5c4\">&#8594;<\/div>\n        <div class=\"sf-box sf-output sf-r5c5\">\n          <div class=\"sf-box-header\"><div class=\"sf-num\">09<\/div><div class=\"sf-title\">Packing<\/div><\/div>\n          <div class=\"sf-sub\">Ready for shipment<\/div>\n        <\/div>\n\n      <\/div>\n    <\/div>\n\n    <!-- Mobile-only arrow flow: 2 per row -->\n    <div class=\"factory-layout-mobile\">\n      <div class=\"layout-flow-mobile\">\n\n        <!-- Row 1: 01 \u2192 02 -->\n        <div class=\"layout-flow-row\">\n          <div class=\"layout-flow-card\">\n            <div class=\"layout-flow-card-header\"><div class=\"layout-flow-num\">01<\/div><div class=\"layout-flow-name\">Material Storage<\/div><\/div>\n            <div class=\"layout-flow-sub\">Raw sheet preparation<\/div>\n          <\/div>\n          <div class=\"layout-flow-h-arrow\">\u2192<\/div>\n          <div class=\"layout-flow-card\">\n            <div class=\"layout-flow-card-header\"><div class=\"layout-flow-num\">02<\/div><div class=\"layout-flow-name\">Fiber Laser Cutting<\/div><\/div>\n            <div class=\"layout-flow-sub\">Rack frames &amp; panels<\/div>\n          <\/div>\n        <\/div>\n        <div class=\"layout-flow-v-arrow\">\u2193<\/div>\n\n        <!-- Row 2: 03 \u2192 04 -->\n        <div class=\"layout-flow-row\">\n          <div class=\"layout-flow-card\">\n            <div class=\"layout-flow-card-header\"><div class=\"layout-flow-num\">03<\/div><div class=\"layout-flow-name\">Deburring<\/div><\/div>\n            <div class=\"layout-flow-sub\">Edge finishing<\/div>\n          <\/div>\n          <div class=\"layout-flow-h-arrow\">\u2192<\/div>\n          <div class=\"layout-flow-card\">\n            <div class=\"layout-flow-card-header\"><div class=\"layout-flow-num\">04<\/div><div class=\"layout-flow-name\">Panel Bending<\/div><\/div>\n            <div class=\"layout-flow-sub\">Door and cover forming<\/div>\n          <\/div>\n        <\/div>\n        <div class=\"layout-flow-v-arrow\">\u2193<\/div>\n\n        <!-- Row 3: 05 \u2192 06 -->\n        <div class=\"layout-flow-row\">\n          <div class=\"layout-flow-card\">\n            <div class=\"layout-flow-card-header\"><div class=\"layout-flow-num\">05<\/div><div class=\"layout-flow-name\">Press Brake<\/div><\/div>\n            <div class=\"layout-flow-sub\">Structural bending<\/div>\n          <\/div>\n          <div class=\"layout-flow-h-arrow\">\u2192<\/div>\n          <div class=\"layout-flow-card\">\n            <div class=\"layout-flow-card-header\"><div class=\"layout-flow-num\">06<\/div><div class=\"layout-flow-name\">Welding Area<\/div><\/div>\n            <div class=\"layout-flow-sub\">Frame assembly<\/div>\n          <\/div>\n        <\/div>\n        <div class=\"layout-flow-v-arrow\">\u2193<\/div>\n\n        <!-- Row 4: 07 \u2192 08 -->\n        <div class=\"layout-flow-row\">\n          <div class=\"layout-flow-card\">\n            <div class=\"layout-flow-card-header\"><div class=\"layout-flow-num\">07<\/div><div class=\"layout-flow-name\">Powder Coating<\/div><\/div>\n            <div class=\"layout-flow-sub\">Surface finishing<\/div>\n          <\/div>\n          <div class=\"layout-flow-h-arrow\">\u2192<\/div>\n          <div class=\"layout-flow-card\">\n            <div class=\"layout-flow-card-header\"><div class=\"layout-flow-num\">08<\/div><div class=\"layout-flow-name\">Assembly<\/div><\/div>\n            <div class=\"layout-flow-sub\">Hardware and QC<\/div>\n          <\/div>\n        <\/div>\n        <div class=\"layout-flow-v-arrow\">\u2193<\/div>\n\n        <!-- Row 5: 09 (single, centered) -->\n        <div class=\"layout-flow-row-single\">\n          <div class=\"layout-flow-card is-output\">\n            <div class=\"layout-flow-card-header\"><div class=\"layout-flow-num\">09<\/div><div class=\"layout-flow-name\">Packing<\/div><\/div>\n            <div class=\"layout-flow-sub\">Ready for shipment<\/div>\n          <\/div>\n        <\/div>\n\n      <\/div>\n    <\/div>\n\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550 SECTION 8 \u2014 VIDEOS \u2550\u2550 -->\n<section id=\"videos\">\n  <div class=\"container\">\n    <div class=\"title-block center\">\n      <span class=\"section-label\">See It In Action<\/span>\n      <h2 class=\"section-title\">Video Center<\/h2>\n      <p class=\"section-sub\">Watch HARSLE machines in live production environments for AI rack manufacturing.<\/p>\n    <\/div>\n    <div class=\"videos-grid\">\n      <div class=\"video-card\">\n        <div class=\"video-embed\">\n          <button type=\"button\" class=\"video-placeholder\" onclick=\"openVideoModal('https:\/\/www.youtube.com\/embed\/vPnxYltBeBg?si=nCGgQ9nP1Kz80bVC')\">\n            <img decoding=\"async\" class=\"video-thumb\" src=\"https:\/\/img.youtube.com\/vi\/vPnxYltBeBg\/hqdefault.jpg\" alt=\"HARSLE Genius Press Brake video thumbnail\" loading=\"lazy\" \/>\n            <div class=\"play-btn\"><\/div>\n            <span>HARSLE Genius Press Brake<\/span>\n          <\/button>\n        <\/div>\n        <div class=\"video-body\">\n          <h3>HARSLE Genius Press Brake<\/h3>\n          <p>High-precision CNC press brake for server rack frame bending with DA69T controller.<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"video-card\">\n        <div class=\"video-embed\">\n          <button type=\"button\" class=\"video-placeholder\" onclick=\"openVideoModal('https:\/\/www.youtube.com\/embed\/Z-Z1Cbuh2bE?si=FcTalMBZD3NwV2UI')\">\n            <img decoding=\"async\" class=\"video-thumb\" src=\"https:\/\/img.youtube.com\/vi\/Z-Z1Cbuh2bE\/hqdefault.jpg\" alt=\"Panel Bender Automation video thumbnail\" loading=\"lazy\" \/>\n            <div class=\"play-btn\"><\/div>\n            <span>Panel Bender Automation<\/span>\n          <\/button>\n        <\/div>\n        <div class=\"video-body\">\n          <h3>Panel Bender Automation<\/h3>\n          <p>Automatic panel bender with robotic arm \u2014 one-time forming of rack doors and side panels.<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"video-card\">\n        <div class=\"video-embed\">\n          <button type=\"button\" class=\"video-placeholder\" onclick=\"openVideoModal('https:\/\/www.youtube.com\/embed\/4tR_KLiMSO0?si=j_gUbq5pUNC0do-v')\">\n            <img decoding=\"async\" class=\"video-thumb\" src=\"https:\/\/img.youtube.com\/vi\/4tR_KLiMSO0\/hqdefault.jpg\" alt=\"Laser Cutting Production video thumbnail\" loading=\"lazy\" \/>\n            <div class=\"play-btn\"><\/div>\n            <span>Laser Cutting Production<\/span>\n          <\/button>\n        <\/div>\n        <div class=\"video-body\">\n          <h3>Laser Cutting Production<\/h3>\n          <p>Fiber laser cutting machine processing stainless steel server rack panels at full speed.<\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550 SECTION 9 \u2014 FAQ \u2550\u2550 -->\n<section id=\"faq\">\n  <div class=\"container\">\n    <div class=\"title-block center\">\n      <span class=\"section-label\">Common Questions<\/span>\n      <h2 class=\"section-title\">Frequently Asked Questions<\/h2>\n    <\/div>\n    <div class=\"faq-list\">\n      <div class=\"faq-column\">\n        <div class=\"faq-item\">\n          <button class=\"faq-q\" onclick=\"toggleFaq(this)\">\n            What materials can be processed?\n            <span class=\"faq-chevron\">\u25bc<\/span>\n          <\/button>\n          <div class=\"faq-a\">\n            HARSLE machines support Carbon Steel, Stainless Steel, and Aluminum \u2014 the three primary materials used in AI server rack and data center cabinet manufacturing.\n          <\/div>\n        <\/div>\n\n        <div class=\"faq-item\">\n          <button class=\"faq-q\" onclick=\"toggleFaq(this)\">\n            What rack sizes can be manufactured?\n            <span class=\"faq-chevron\">\u25bc<\/span>\n          <\/button>\n          <div class=\"faq-a\">\n            All rack sizes are fully customizable according to customer specifications. HARSLE equipment supports standard 19-inch and 21-inch rack formats, as well as any custom dimensions required for your project.\n          <\/div>\n        <\/div>\n\n        <div class=\"faq-item\">\n          <button class=\"faq-q\" onclick=\"toggleFaq(this)\">\n            Can HARSLE provide a complete production line?\n            <span class=\"faq-chevron\">\u25bc<\/span>\n          <\/button>\n          <div class=\"faq-a\">\n            Yes. HARSLE offers full turnkey production line solutions including fiber laser cutting, CNC press brake bending, automatic panel bending, welding, powder coating, and robotic automation \u2014 everything from raw material to finished rack.\n          <\/div>\n        <\/div>\n\n        <div class=\"faq-item\">\n          <button class=\"faq-q\" onclick=\"toggleFaq(this)\">\n            Can HARSLE design factory layouts?\n            <span class=\"faq-chevron\">\u25bc<\/span>\n          <\/button>\n          <div class=\"faq-a\">\n            Yes. Our engineering team provides professional factory layout design services, including equipment placement, material flow optimization, and production capacity planning \u2014 all tailored to your specific facility and output requirements.\n          <\/div>\n        <\/div>\n\n        <div class=\"faq-item\">\n          <button class=\"faq-q\" onclick=\"toggleFaq(this)\">\n            Do you provide installation and training?\n            <span class=\"faq-chevron\">\u25bc<\/span>\n          <\/button>\n          <div class=\"faq-a\">\n            Yes. HARSLE provides full on-site installation, commissioning, and operator training services. Our global service network in 100+ countries ensures ongoing technical support throughout the machine&#8217;s lifecycle.\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"faq-column\">\n        <div class=\"faq-item\">\n          <button class=\"faq-q\" onclick=\"toggleFaq(this)\">\n            Can the production line be customized?\n            <span class=\"faq-chevron\">\u25bc<\/span>\n          <\/button>\n          <div class=\"faq-a\">\n            Yes. Machine configuration, automation level, factory layout, and production capacity can be customized based on your product range, floor space, and investment plan.\n          <\/div>\n        <\/div>\n\n        <div class=\"faq-item\">\n          <button class=\"faq-q\" onclick=\"toggleFaq(this)\">\n            What equipment is required for rack production?\n            <span class=\"faq-chevron\">\u25bc<\/span>\n          <\/button>\n          <div class=\"faq-a\">\n            A typical line includes fiber laser cutting, deburring, panel bending, CNC press brake bending, welding, powder coating, assembly, and packing equipment.\n          <\/div>\n        <\/div>\n\n        <div class=\"faq-item\">\n          <button class=\"faq-q\" onclick=\"toggleFaq(this)\">\n            Can robotic automation be added later?\n            <span class=\"faq-chevron\">\u25bc<\/span>\n          <\/button>\n          <div class=\"faq-a\">\n            Yes. HARSLE can plan the line with future automation in mind, making it easier to add robotic loading, bending cells, and automated handling when production demand grows.\n          <\/div>\n        <\/div>\n\n        <div class=\"faq-item\">\n          <button class=\"faq-q\" onclick=\"toggleFaq(this)\">\n            Do you provide machine recommendations?\n            <span class=\"faq-chevron\">\u25bc<\/span>\n          <\/button>\n          <div class=\"faq-a\">\n            Yes. Our team recommends suitable machine models and specifications according to your material thickness, rack dimensions, target output, and automation requirements.\n          <\/div>\n        <\/div>\n\n        <div class=\"faq-item\">\n          <button class=\"faq-q\" onclick=\"toggleFaq(this)\">\n            Do you support overseas customers?\n            <span class=\"faq-chevron\">\u25bc<\/span>\n          <\/button>\n          <div class=\"faq-a\">\n            Yes. HARSLE supports customers worldwide with technical consultation, machine delivery, installation guidance, training, spare parts, and after-sales service.\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550 SECTION 10 \u2014 FINAL CTA \u2550\u2550 -->\n<section id=\"final-cta\">\n  <div class=\"final-cta-bg\"><\/div>\n  <div class=\"final-cta-content\">\n    <span class=\"section-label\">Ready to Start?<\/span>\n    <h2>Start Your AI Server Rack<br\/>Manufacturing Project Today<\/h2>\n    <p>Get Factory Layout, Machine Recommendation and Turnkey Proposal from HARSLE Experts.<\/p>\n    <div class=\"btn-group\">\n      <button type=\"button\" class=\"btn-primary\" onclick=\"openQuoteModal()\" style=\"font-size:1rem; padding:16px 36px;\">\n        Get A Quote\n      <\/button>\n      <a href=\"https:\/\/www.harsle.com\/products\/\" class=\"btn-secondary\" style=\"font-size:1rem; padding:15px 34px;\">\n        Vell Products\n      <\/a>\n    <\/div>\n    <div class=\"cta-highlights\">\n      <div class=\"cta-highlight\">\n        <div class=\"cta-highlight-icon\">\ud83d\ude80<\/div>\n        <div class=\"cta-highlight-text\">Fast Response<br\/>Within 24 Hours<\/div>\n      <\/div>\n      <div class=\"cta-highlight\">\n        <div class=\"cta-highlight-icon\">\ud83c\udd93<\/div>\n        <div class=\"cta-highlight-text\">Free Consultation<br\/>No Obligation<\/div>\n      <\/div>\n      <div class=\"cta-highlight\">\n        <div class=\"cta-highlight-icon\">\ud83c\udf0d<\/div>\n        <div class=\"cta-highlight-text\">100+ Countries<br\/>Served Globally<\/div>\n      <\/div>\n      <div class=\"cta-highlight\">\n        <div class=\"cta-highlight-icon\">\ud83c\udfed<\/div>\n        <div class=\"cta-highlight-text\">Turnkey Factory<br\/>Planning Included<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<div class=\"quote-modal\" id=\"quote-modal\" aria-hidden=\"true\" onclick=\"closeQuoteModal(event)\">\n  <div class=\"quote-modal-panel\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Get A Quote\">\n    <button type=\"button\" class=\"quote-modal-close\" onclick=\"closeQuoteModal()\" aria-label=\"Close quote form\">\u00d7<\/button>\n    <div class=\"quote-shortcode\">\n      <!-- WordPress \u4e0a\u7ebf\u65f6\u66ff\u6362\u4e3a: [html_block id=\"34465\"] -->\n      <form class=\"elementor-form\" method=\"post\" name=\"Get A Quote\" aria-label=\"Get A Quote\" onsubmit=\"return false;\">\n        <div class=\"elementor-form-fields-wrapper elementor-labels-above\">\n          <div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-name elementor-col-50 elementor-field-required elementor-mark-required\">\n            <label for=\"quote-field-name\" class=\"elementor-field-label\">Name<\/label>\n            <input type=\"text\" name=\"form_fields[name]\" id=\"quote-field-name\" class=\"elementor-field elementor-size-md elementor-field-textual\" required>\n          <\/div>\n          <div class=\"elementor-field-type-email elementor-field-group elementor-column elementor-field-group-email elementor-col-50 elementor-field-required elementor-mark-required\">\n            <label for=\"quote-field-email\" class=\"elementor-field-label\">Email<\/label>\n            <input type=\"email\" name=\"form_fields[email]\" id=\"quote-field-email\" class=\"elementor-field elementor-size-md elementor-field-textual\" required>\n          <\/div>\n          <div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-company elementor-col-50\">\n            <label for=\"quote-field-company\" class=\"elementor-field-label\">Company<\/label>\n            <input type=\"text\" name=\"form_fields[company]\" id=\"quote-field-company\" class=\"elementor-field elementor-size-md elementor-field-textual\">\n          <\/div>\n          <div class=\"elementor-field-type-tel elementor-field-group elementor-column elementor-field-group-WhatsApp elementor-col-50\">\n            <label for=\"quote-field-whatsapp\" class=\"elementor-field-label\">WhatsApp<\/label>\n            <input type=\"tel\" name=\"form_fields[WhatsApp]\" id=\"quote-field-whatsapp\" class=\"elementor-field elementor-size-md elementor-field-textual\">\n          <\/div>\n          <div class=\"elementor-field-type-textarea elementor-field-group elementor-column elementor-field-group-message elementor-col-100 elementor-field-required elementor-mark-required\">\n            <label for=\"quote-field-message\" class=\"elementor-field-label\">Message<\/label>\n            <textarea class=\"elementor-field-textual elementor-field elementor-size-md\" name=\"form_fields[message]\" id=\"quote-field-message\" rows=\"6\" required><\/textarea>\n          <\/div>\n          <div class=\"elementor-field-group elementor-column elementor-field-type-submit elementor-col-100 e-form__buttons\">\n            <button class=\"elementor-button elementor-size-md\" type=\"submit\">\n              <span class=\"elementor-button-content-wrapper\">\n                <span class=\"elementor-button-text\">SUBMIT<\/span>\n              <\/span>\n            <\/button>\n          <\/div>\n        <\/div>\n      <\/form>\n    <\/div>\n  <\/div>\n<\/div>\n\n<div class=\"video-modal\" id=\"video-modal\" aria-hidden=\"true\" onclick=\"closeVideoModal(event)\">\n  <div class=\"video-modal-panel\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Video player\">\n    <button type=\"button\" class=\"video-modal-close\" onclick=\"closeVideoModal()\" aria-label=\"Close video\">\u00d7<\/button>\n    <div class=\"video-modal-frame\" id=\"video-modal-frame\"><\/div>\n    <div class=\"video-modal-footer\">\n      <a id=\"yt-watch-btn\" class=\"yt-watch-btn\" href=\"#\" target=\"_blank\" rel=\"noopener noreferrer\">\n        <svg width=\"18\" height=\"13\" viewBox=\"0 0 18 13\" fill=\"white\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M17.6 2.03A2.26 2.26 0 0 0 16.01.42C14.6 0 9 0 9 0S3.4 0 1.99.42A2.26 2.26 0 0 0 .4 2.03 23.7 23.7 0 0 0 0 6.5a23.7 23.7 0 0 0 .4 4.47 2.26 2.26 0 0 0 1.59 1.6C3.4 13 9 13 9 13s5.6 0 7.01-.43a2.26 2.26 0 0 0 1.59-1.6A23.7 23.7 0 0 0 18 6.5a23.7 23.7 0 0 0-.4-4.47Z\"\/><path d=\"M7.2 9.29 11.88 6.5 7.2 3.71v5.58Z\" fill=\"#ff0000\"\/><\/svg>\n        Watch on YouTube\n      <\/a>\n      <span class=\"yt-watch-hint\">Video not playing? Open directly in YouTube \u2197<\/span>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n  function toggleFaq(btn) {\n    const answer = btn.nextElementSibling;\n    const isOpen = answer.classList.contains('open');\n    answer.classList.toggle('open', !isOpen);\n    btn.classList.toggle('open', !isOpen);\n  }\n\n  function openQuoteModal() {\n    const modal = document.getElementById('quote-modal');\n    modal.classList.add('open');\n    modal.setAttribute('aria-hidden', 'false');\n  }\n\n  function closeQuoteModal(event) {\n    if (event && event.target !== event.currentTarget) return;\n    const modal = document.getElementById('quote-modal');\n    modal.classList.remove('open');\n    modal.setAttribute('aria-hidden', 'true');\n  }\n\n  function openVideoModal(src) {\n    const modal = document.getElementById('video-modal');\n    const frame = document.getElementById('video-modal-frame');\n    const watchBtn = document.getElementById('yt-watch-btn');\n\n    \/\/ Extract video ID for the \"Watch on YouTube\" link\n    const videoId = src.split('\/embed\/')[1].split('?')[0];\n    watchBtn.href = `https:\/\/www.youtube.com\/watch?v=${videoId}`;\n\n    \/\/ Use the exact embed URL provided (with si parameter), append autoplay flags\n    const separator = src.includes('?') ? '&' : '?';\n    const embedSrc = src + separator + 'autoplay=1&mute=1&rel=0&modestbranding=1&playsinline=1';\n\n    frame.innerHTML = `<iframe\n      src=\"${embedSrc}\"\n      title=\"YouTube video player\"\n      frameborder=\"0\"\n      allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\n      referrerpolicy=\"strict-origin-when-cross-origin\"\n      allowfullscreen\n    ><\/iframe>`;\n    modal.classList.add('open');\n    modal.setAttribute('aria-hidden', 'false');\n  }\n\n  function closeVideoModal(event) {\n    if (event && event.target !== event.currentTarget) return;\n    const modal = document.getElementById('video-modal');\n    const frame = document.getElementById('video-modal-frame');\n    modal.classList.remove('open');\n    modal.setAttribute('aria-hidden', 'true');\n    frame.innerHTML = '';\n  }\n\n  document.addEventListener('keydown', (event) => {\n    if (event.key === 'Escape') {\n      closeQuoteModal();\n      closeVideoModal();\n    }\n  });\n\n<\/script>\n\n<\/div><!-- \/#harsle-lp -->\n<\/body>\n<\/html>\n\n","protected":false},"excerpt":{"rendered":"<p>AI Server Rack Production Line | HARSLE Sheet Metal Manufacturing Solutions HARSLE Manufacturing Solutions Complete AI Server RackManufacturing Solution Build<\/p>","protected":false},"author":5,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-85493","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.harsle.com\/de\/wp-json\/wp\/v2\/pages\/85493","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.harsle.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.harsle.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.harsle.com\/de\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.harsle.com\/de\/wp-json\/wp\/v2\/comments?post=85493"}],"version-history":[{"count":0,"href":"https:\/\/www.harsle.com\/de\/wp-json\/wp\/v2\/pages\/85493\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.harsle.com\/de\/wp-json\/wp\/v2\/media?parent=85493"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}