{"id":85662,"date":"2026-06-05T02:19:55","date_gmt":"2026-06-05T02:19:55","guid":{"rendered":"https:\/\/www.harsle.com\/?page_id=85662"},"modified":"2026-06-05T07:58:10","modified_gmt":"2026-06-05T07:58:10","slug":"liquid-cooling-cabinet-production-line","status":"publish","type":"page","link":"https:\/\/www.harsle.com\/es\/liquid-cooling-cabinet-production-line\/","title":{"rendered":"Liquid Cooling Cabinet 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>Liquid Cooling Cabinet Production Line | HARSLE Sheet Metal Manufacturing Solutions<\/title>\n  <meta name=\"description\" content=\"HARSLE turnkey liquid cooling cabinet production line \u2014 fiber laser cutting, CNC punching, panel bending, press brake, welding, powder coating and assembly for CDU enclosures, rear-door heat exchangers, manifold panels and AI liquid-cooled server cabinets.\" \/>\n  <meta name=\"keywords\" content=\"Liquid Cooling Cabinet Production Line, Liquid Cooling Cabinet Manufacturing, CDU Enclosure Production, Rear Door Heat Exchanger Manufacturing, Immersion Cooling Cabinet Factory, AI Liquid Cooling Rack Line, How To Manufacture Liquid Cooling Cabinets\" \/>\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\/Liquid-Cooling-Cabinet-1.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 .hero-line {\n      display: block;\n    }\n    .hero-h1 .hero-line:first-child {\n      white-space: nowrap;\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: grid;\n      grid-template-columns: repeat(4, minmax(0, 1fr));\n      gap: 32px;\n      margin-top: 72px;\n      padding-top: 42px;\n      border-top: 1px solid var(--border);\n    }\n    .stat-item { min-width: 0; text-align: center; }\n    .stat-num {\n      font-size: 2rem;\n      font-weight: 800;\n      color: var(--cyan);\n      display: block;\n      white-space: nowrap;\n    }\n    .stat-label {\n      display: block;\n      font-size: .78rem;\n      color: #6a8aaa;\n      text-transform: uppercase;\n      letter-spacing: 1px;\n      white-space: nowrap;\n    }\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      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      .hero-h1 .hero-line:first-child { white-space: normal; }\n      .hero-stats {\n        grid-template-columns: repeat(2, minmax(0, 1fr));\n        gap: 20px;\n        margin-top: 48px;\n        padding-top: 32px;\n      }\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 { font-size: clamp(1.72rem, 8vw, 2.2rem); 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        grid-template-columns: repeat(2, minmax(0, 1fr));\n        gap: 16px;\n        margin-top: 36px;\n        padding-top: 24px;\n      }\n      .stat-num { font-size: clamp(1.1rem, 5vw, 1.6rem); white-space: normal; }\n      .stat-label { font-size: .72rem; line-height: 1.25; letter-spacing: 0; white-space: normal; }\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 #harsle-lp a.btn-primary:visited,\n    html body #harsle-lp .btn-primary *,\n    html body .entry-content #harsle-lp .btn-primary,\n    html body .entry-content #harsle-lp .btn-primary *,\n    html body .wp-block-html #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:hover *,\n    html body #harsle-lp .btn-primary:focus,\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 .btn-primary:active *,\n    html body #harsle-lp a.btn-primary:hover,\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: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 .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 .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      <span class=\"hero-line\">Complete <span class=\"accent\">Liquid Cooling Cabinet<\/span><\/span>\n      <span class=\"hero-line\">Production Line<\/span>\n    <\/h1>\n    <p class=\"hero-sub\">Turnkey Sheet Metal Line for CDU Enclosures, Rear-Door Heat Exchangers, Manifold Panels &amp; AI Liquid-Cooled Racks<\/p>\n    <div class=\"hero-tags\">\n      <span class=\"hero-tag\">Laser Cutting<\/span>\n      <span class=\"hero-tag\">CNC Punching<\/span>\n      <span class=\"hero-tag\">Panel Bending<\/span>\n      <span class=\"hero-tag\">Leak-Test Ready<\/span>\n      <span class=\"hero-tag\">High-Density AI<\/span>\n    <\/div>\n    <p class=\"hero-desc\">\n      AI and hyperscale data centers are shifting to liquid cooling to manage GPU thermal loads beyond air-cooled limits. HARSLE designs complete manufacturing lines for liquid cooling cabinet OEMs \u2014 from chassis blanking and coolant-path cutouts through precision forming, welded manifolds, coating, and assembly \u2014 scaled to your cabinet depth, flow layout, and daily output.\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\">100kW+<\/span>\n        <span class=\"stat-label\">Rack Thermal Class<\/span>\n      <\/div>\n      <div class=\"stat-item\">\n        <span class=\"stat-num\">\u00b10.1mm<\/span>\n        <span class=\"stat-label\">Laser Cut Accuracy<\/span>\n      <\/div>\n      <div class=\"stat-item\">\n        <span class=\"stat-num\">CDU \/ RDHx<\/span>\n        <span class=\"stat-label\">Enclosure Types<\/span>\n      <\/div>\n      <div class=\"stat-item\">\n        <span class=\"stat-num\">Turnkey<\/span>\n        <span class=\"stat-label\">Line Engineering<\/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 Liquid Cooling Cabinet Manufacturing Is Growing<\/h2>\n      <p class=\"section-sub\">GPU-dense AI clusters and next-generation data centers are redefining thermal design. These drivers shape modern liquid cooling enclosure production lines.<\/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 Center Expansion<\/h3>\n          <p>New AI-ready facilities deploy liquid-cooled racks at scale \u2014 driving demand for dedicated sheet metal lines that can produce chassis, manifolds, and CDU housings with repeatable precision.<\/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>Direct-to-chip, rear-door heat exchanger, and immersion cooling systems replace air-only designs \u2014 requiring new enclosure geometries, hose ports, and leak-test-ready weld quality.<\/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 &amp; Power<\/h3>\n          <p>Modern GPU racks exceed 50\u2013100 kW per cabinet. Stronger frames, deeper chassis, and integrated coolant distribution panels demand heavier-gauge forming and structural welding.<\/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\/CDU-Facility-Cooling-Infrastructure.jpg\" alt=\"CDU and Facility Cooling Infrastructure\" loading=\"lazy\" \/>\n        <div class=\"why-body\">\n          <h3>CDU &amp; Facility Cooling Infrastructure<\/h3>\n          <p>Coolant distribution units, pump skids, and manifold enclosures expand the product mix \u2014 manufactured on the same integrated line as server-side liquid cooling cabinets.<\/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\">Liquid Cooling Cabinet Manufacturing Process<\/h2>\n      <p class=\"section-sub\">From raw sheet metal to a finished liquid cooling cabinet \u2014 chassis forming, coolant-path machining, welding, coating, and assembly in one integrated 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: 'Liquid cooling cabinet production starts with cold-rolled steel, stainless steel, or aluminum sheet. Material is graded by thickness and batch, then prepared for chassis and manifold panel machining.',\n      bullets: ['Carbon steel, stainless steel & aluminum supported', 'Typical thickness: 1.0mm \u2013 3.0mm for liquid-cooled chassis', 'Flatness and surface inspection before cutting']\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: 'Fiber laser cutting produces cabinet chassis blanks, rear-door heat exchanger panels, hose port cutouts, manifold plates, and mounting slots with \u00b10.1mm accuracy for leak-critical assemblies.',\n      bullets: ['Coolant port, hose gland, and manifold cutouts', 'RDHx door panels and side plenum blanking', 'Stainless, aluminum, and mild steel processing']\n    },\n    {\n      name: 'CNC Turret Punching',\n      img: 'https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/punching-2.jpg',\n      desc: 'CNC turret punching handles repeated mounting holes, vent patterns, and connector cutouts on identical liquid cooling cabinet panels \u2014 ideal for high-volume AI rack programs.',\n      bullets: ['Cage nut rails and GPU tray mounting patterns', 'Vent grids and cable entry on manifold covers', 'Batch production for standardized liquid-cooled models']\n    },\n    {\n      name: 'Bending',\n      img: 'https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/Bending-1.jpg',\n      desc: 'Press brakes and automatic panel benders form deep chassis sections, rear-door exchanger housings, CDU covers, and structural stiffeners with tight angle control for gasket-ready seams.',\n      bullets: ['\u00b10.1\u00b0 bending accuracy on long chassis panels', 'Panel bender for one-pass door and cover forming', 'Deep-box forming for coolant distribution enclosures']\n    },\n    {\n      name: 'Welding',\n      img: 'https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/Welding-1.jpg',\n      desc: 'MIG, TIG, and laser welding join frames, manifold brackets, and fluid-path housings \u2014 delivering the structural strength and seam quality required for high-density liquid-cooled deployments.',\n      bullets: ['Frame corner and manifold bracket welding', 'Low-distortion laser weld for visible fluid paths', 'Post-weld dimension check before leak-test prep']\n    },\n    {\n      name: 'Grinding & Deburring',\n      img: 'https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/Grinding-Deburring-1.jpg',\n      desc: 'All laser-cut edges and weld seams are deburred and ground smooth \u2014 essential for O-ring sealing surfaces, safe hose routing, and uniform powder coating on liquid cooling enclosures.',\n      bullets: ['Burr-free edges on manifold and port panels', 'Flush weld grinding on fluid-path interfaces', 'Surface prep before phosphating or coating']\n    },\n    {\n      name: 'Powder Coating',\n      img: 'https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/Powder-Coating-2.jpg',\n      desc: 'Electrostatic powder coating with curing oven delivers corrosion protection for facility CDU skids and server-side cabinets \u2014 typically RAL7035 with 500+ hour salt-spray rated finishes.',\n      bullets: ['RAL7035 \/ custom colors for data center environments', 'Pre-treatment: degreasing and phosphating', 'Even film build on deep chassis sections']\n    },\n    {\n      name: 'Assembly',\n      img: 'https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/Assembly-1.jpg',\n      desc: 'Chassis components receive rails, blanking panels, hose brackets, and coolant interface hardware. Door alignment, mounting rail spacing, and port positions are verified before integration.',\n      bullets: ['19\" \/ 21\" rack rails and GPU tray brackets fitted', 'Hose routing brackets and blanking panel install', 'Dimensional QC against customer coolant layout drawings']\n    },\n    {\n      name: 'Finished Liquid Cooling Cabinet',\n      img: 'https:\/\/www.harsle.com\/wp-content\/uploads\/2026\/06\/Finished-Liquid-Cooling-Cabinet.jpg',\n      desc: 'Completed liquid cooling cabinets, CDU enclosures, and rear-door heat exchanger assemblies pass final inspection and are packed for AI infrastructure builders and data center OEMs worldwide.',\n      bullets: ['Door gap, rail spacing, and port position verification', 'Serial traceability for coolant-path sub-assemblies', 'Export crate packing for overseas delivery']\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\">Machines for Liquid Cooling Cabinet Lines<\/h2>\n      <p class=\"section-sub\">Six machines arranged for liquid cooling cabinet lines \u2014 shearing and laser blanking first, CNC punch and panel bender for rack panels, then press brake, laser weld, and downstream coating support.<\/p>\n    <\/div>\n    <div class=\"machines-list\">\n\n      <!-- Machine 1 \u2014 Guillotine Shearing -->\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\/Guillotine-Shearing-Machine.png\" alt=\"Guillotine Shearing Machine\" loading=\"lazy\" \/>\n        <\/div>\n        <div class=\"machine-body\">\n          <div class=\"machine-badge\">Shearing<\/div>\n          <h3>Guillotine Shearing Machine<\/h3>\n          <div class=\"machine-series\">HARSLE QC11Y \/ QC12Y Series<\/div>\n          <p class=\"machine-desc\">Front-end of the liquid cooling line \u2014 shears carbon steel, stainless, and aluminum coils into flat blanks sized for laser cutting, punching, and forming stations downstream.<\/p>\n          <div class=\"machine-features\">\n            <div class=\"machine-feature\">Chassis Sheet to Line-Ready Blanks<\/div>\n            <div class=\"machine-feature\">Clean Edge \u00b7 Minimal Sheet Distortion<\/div>\n            <div class=\"machine-feature\">Steady Feed for 1.0\u20133.0mm Rack &amp; CDU Sheet<\/div>\n          <\/div>\n          <div class=\"machine-btns\">\n            <a href=\"https:\/\/www.harsle.com\/shearing-machine\/\" target=\"_blank\" class=\"btn-primary\">View Details<\/a>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Machine 2 \u2014 Fiber Laser Cutting -->\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\">Blanks liquid-cooled chassis sections, manifold plates, hose port panels, and RDHx door contours before forming \u2014 the precision step for coolant-path and mounting cutouts on every liquid cooling cabinet line.<\/p>\n          <div class=\"machine-features\">\n            <div class=\"machine-feature\">Coolant Port &amp; Hose Gland Cutouts<\/div>\n            <div class=\"machine-feature\">Manifold &amp; RDHx Panel Contours<\/div>\n            <div class=\"machine-feature\">\u00b10.1mm Accuracy \u00b7 Low Material Waste<\/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 3 \u2014 CNC Turret Punch Press -->\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\/CNC-Turret-Punch-Press.png\" alt=\"CNC Turret Punch Press\" loading=\"lazy\" \/>\n        <\/div>\n        <div class=\"machine-body\">\n          <div class=\"machine-badge\">Core Equipment<\/div>\n          <h3>CNC Turret Punch Press<\/h3>\n          <div class=\"machine-series\">HARSLE D-ES300 Servo Turret Series<\/div>\n          <p class=\"machine-desc\">The highest-volume station on a liquid cooling cabinet line \u2014 punches cage nut rails, GPU tray patterns, vent grids, and connector cutouts across thousands of identical chassis and side panels per shift.<\/p>\n          <div class=\"machine-features\">\n            <div class=\"machine-feature\">19&#8243; \/ 21&#8243; Rail &amp; Tray Hole Patterns<\/div>\n            <div class=\"machine-feature\">Manifold Cover Vents &amp; Louver Forms<\/div>\n            <div class=\"machine-feature\">Auto-Index Turret \u00b7 \u00b10.05mm Accuracy<\/div>\n          <\/div>\n          <div class=\"machine-btns\">\n            <a href=\"https:\/\/www.harsle.com\/punching-machine\/\" target=\"_blank\" class=\"btn-primary\">View Details<\/a>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Machine 4 \u2014 Automatic Panel Bender -->\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=\"Panel Bender for Liquid Cooling Cabinets\" loading=\"lazy\" \/>\n        <\/div>\n        <div class=\"machine-body\">\n          <div class=\"machine-badge\">Panel Bender<\/div>\n          <h3>Panel Bender for Liquid Cooling Cabinets<\/h3>\n          <div class=\"machine-series\">HARSLE AutoBend Series<\/div>\n          <p class=\"machine-desc\">Automatically forms rear-door heat exchanger housings, side plenum panels, and CDU covers in one pass \u2014 cutting labor and cycle time on standardized AI liquid-cooled rack models.<\/p>\n          <div class=\"machine-features\">\n            <div class=\"machine-feature\">RDHx Door &amp; Plenum One-Pass Forming<\/div>\n            <div class=\"machine-feature\">CDU Cover &amp; Side Panel Production<\/div>\n            <div class=\"machine-feature\">Consistent Flange Width for Gasket Seams<\/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 5 \u2014 CNC Press Brake -->\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\">Complements the panel bender \u2014 forms deep liquid-cooling chassis uprights, CDU frame sections, manifold brackets, and load-bearing stiffeners that panel benders do not complete in one cycle.<\/p>\n          <div class=\"machine-features\">\n            <div class=\"machine-feature\">Deep Chassis Upright &amp; Rail Bending<\/div>\n            <div class=\"machine-feature\">CDU Frame &amp; Manifold Bracket Forming<\/div>\n            <div class=\"machine-feature\">Automatic Crowning for Long Rack Panels<\/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 6 \u2014 Laser Welding -->\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 SmartWeld Series<\/div>\n          <p class=\"machine-desc\">Joins liquid cooling frames, manifold brackets, and fluid-path housings with clean, low-distortion seams \u2014 reducing grinding before coating and supporting leak-test-ready cabinet assemblies.<\/p>\n          <div class=\"machine-features\">\n            <div class=\"machine-feature\">Chassis Frame &amp; Manifold Bracket Welding<\/div>\n            <div class=\"machine-feature\">Flush Seams \u00b7 Less Post-Grind Work<\/div>\n            <div class=\"machine-feature\">Stainless &amp; Mild Steel Rack Structures<\/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    <\/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\">Liquid cooling enclosures and related sheet metal products produced on HARSLE manufacturing lines \u2014 built for AI data centers and hyperscale thermal infrastructure.<\/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\/Liquid-Cooling-Cabinet.jpg\" alt=\"Liquid Cooling Cabinet\" loading=\"lazy\" \/>\n        <div class=\"product-bento-num\">01<\/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\/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\/AI-Server-Rack.jpg\" alt=\"AI Server Rack\" loading=\"lazy\" \/>\n        <div class=\"product-bento-num\">03<\/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\/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\/CDU-Enclosure.jpg\" alt=\"CDU Enclosure\" loading=\"lazy\" \/>\n        <div class=\"product-bento-num\">05<\/div>\n        <div class=\"product-bento-label\"><h3>CDU 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\/Rear-Door-Heat-Exchanger.jpg\" alt=\"Rear-Door Heat Exchanger\" loading=\"lazy\" \/>\n        <div class=\"product-bento-num\">06<\/div>\n        <div class=\"product-bento-label\"><h3>Rear-Door Heat Exchanger<\/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\/Manifold-Plenum-Panel.jpg\" alt=\"Manifold &amp; Plenum Panel\" loading=\"lazy\" \/>\n        <div class=\"product-bento-num\">07<\/div>\n        <div class=\"product-bento-label\"><h3>Manifold &amp; Plenum Panel<\/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\/Sidecar-Cooling-Cabinet.jpg\" alt=\"Sidecar Cooling Cabinet\" loading=\"lazy\" \/>\n        <div class=\"product-bento-num\">08<\/div>\n        <div class=\"product-bento-label\"><h3>Sidecar Cooling 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\">Engineered for AI liquid cooling programs \u2014 precision chassis forming, coolant-path machining, and leak-critical weld quality.<\/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 Chassis Manufacturing<\/h3>\n          <div class=\"harsle-value\">\u00b10.1mm Cut \u00b7 \u00b10.1\u00b0 Bend<\/div>\n          <p>Laser and CNC forming tuned for hose ports, manifold interfaces, and rack rail spacing on high-density liquid-cooled cabinets.<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"harsle-card\">\n        <div class=\"harsle-icon\">\ud83d\udca7<\/div>\n        <div class=\"harsle-text\">\n          <h3>Liquid Cooling Enclosure Know-How<\/h3>\n          <div class=\"harsle-value\">CDU \u00b7 RDHx \u00b7 Manifold<\/div>\n          <p>Process parameters cover rear-door exchanger housings, CDU skids, and server-side cabinets on one integrated sheet metal line.<\/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 Line Engineering<\/h3>\n          <div class=\"harsle-value\">Layout \u00b7 Equipment \u00b7 Install<\/div>\n          <p>From shearing and laser cutting through coating and assembly \u2014 one supplier plans, delivers, and commissions the full liquid cooling cabinet factory.<\/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 Network<\/h3>\n          <div class=\"harsle-value\">100+ Countries<\/div>\n          <p>Worldwide installation, operator training, and spare parts support keep AI infrastructure and thermal OEM lines running without interruption.<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"harsle-card\">\n        <div class=\"harsle-icon\">\ud83d\udcd0<\/div>\n        <div class=\"harsle-text\">\n          <h3>19&#8243; \/ 21&#8243; Rack Compatibility<\/h3>\n          <div class=\"harsle-value\">42U \u00b7 Custom Depth \u00b7 GPU Tray<\/div>\n          <p>Equipment tuned for standard rack formats, deep liquid-cooled chassis depths, and customer-specific coolant routing layouts.<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"harsle-card\">\n        <div class=\"harsle-icon\">\u2699\ufe0f<\/div>\n        <div class=\"harsle-text\">\n          <h3>Multi-Material Capability<\/h3>\n          <div class=\"harsle-value\">Steel \u00b7 Stainless \u00b7 Aluminum<\/div>\n          <p>Process mild steel, stainless steel, and aluminum across cutting, punching, bending, welding, and coating on a single integrated line.<\/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 reference layout for liquid cooling cabinet production \u2014 sheet preparation, laser cutting, CNC punching, forming, welding, coating, assembly, and final packing in one flow.<\/p>\n    <\/div>\n\n    <!-- Desktop snake flow (HTML\/CSS, no SVG) -->\n    <div class=\"snake-flow-desktop\">\n      <div class=\"snake-flow-label\">Liquid Cooling Cabinet 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\">Sheet Storage &amp; Shearing<\/div><\/div>\n          <div class=\"sf-sub\">Line-ready chassis blanks<\/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\">Chassis, ports, manifold 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\">CNC Turret Punching<\/div><\/div>\n          <div class=\"sf-sub\">Rails, vents, connector cutouts<\/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\">Laser Welding Area<\/div><\/div>\n          <div class=\"sf-sub\">Frame and bracket joining<\/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 Forming<\/div><\/div>\n          <div class=\"sf-sub\">Rails, uprights, brackets<\/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\">RDHx doors, CDU covers, plenums<\/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\">Grinding &amp; Coating<\/div><\/div>\n          <div class=\"sf-sub\">Deburring and powder finish<\/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\">Cabinet Assembly &amp; QC<\/div><\/div>\n          <div class=\"sf-sub\">Rails, ports, hose brackets<\/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\">Finished Cabinet Packing<\/div><\/div>\n          <div class=\"sf-sub\">Export-ready liquid cooling cabinets<\/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\">Sheet Storage &amp; Shearing<\/div><\/div>\n            <div class=\"layout-flow-sub\">Line-ready chassis blanks<\/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\">Chassis, ports, manifold 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\">CNC Turret Punching<\/div><\/div>\n            <div class=\"layout-flow-sub\">Rails, vents, connector cutouts<\/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\">RDHx doors, CDU covers, plenums<\/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 Forming<\/div><\/div>\n            <div class=\"layout-flow-sub\">Rails, uprights, brackets<\/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\">Laser Welding Area<\/div><\/div>\n            <div class=\"layout-flow-sub\">Frame and bracket joining<\/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\">Grinding &amp; Coating<\/div><\/div>\n            <div class=\"layout-flow-sub\">Deburring and powder finish<\/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\">Cabinet Assembly &amp; QC<\/div><\/div>\n            <div class=\"layout-flow-sub\">Rails, ports, hose brackets<\/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\">Finished Cabinet Packing<\/div><\/div>\n            <div class=\"layout-flow-sub\">Export-ready liquid cooling cabinets<\/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\">See HARSLE equipment processing liquid cooling chassis panels, manifold plates, and structural frames in live factory conditions.<\/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>MasterBend press brake forming deep liquid cooling chassis uprights and mounting rails for AI server enclosures.<\/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 \u2014 RDHx &amp; Plenum Panels<\/h3>\n          <p>Automatic panel bender completing rear-door heat exchanger housings and plenum covers in a single pass \u2014 ideal for liquid cooling batch runs.<\/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 \u2014 Chassis &amp; Manifold Panels<\/h3>\n          <p>Fiber laser cutting liquid cooling chassis blanks, hose port panels, and manifold plates at full speed on a production line floor.<\/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 liquid cooling cabinet, CDU enclosure, and AI server rack manufacturing.\n          <\/div>\n        <\/div>\n\n        <div class=\"faq-item\">\n          <button class=\"faq-q\" onclick=\"toggleFaq(this)\">\n            What cabinet types and depths are supported?\n            <span class=\"faq-chevron\">\u25bc<\/span>\n          <\/button>\n          <div class=\"faq-a\">\n            HARSLE lines support standard 42U liquid-cooled racks, rear-door heat exchanger assemblies, CDU skids, and custom depths from 800mm to 1200mm+. Mounting rail spacing follows EIA-310 19-inch \/ 21-inch standards, with customer-specific coolant routing layouts on request.\n          <\/div>\n        <\/div>\n\n        <div class=\"faq-item\">\n          <button class=\"faq-q\" onclick=\"toggleFaq(this)\">\n            Can coolant port and manifold cutouts be produced?\n            <span class=\"faq-chevron\">\u25bc<\/span>\n          <\/button>\n          <div class=\"faq-a\">\n            Yes. Fiber laser cutting handles hose ports, gland cutouts, and manifold plate contours with \u00b10.1mm accuracy. CNC turret punching adds repeated mounting holes and vent patterns on identical chassis panels in the same line.\n          <\/div>\n        <\/div>\n\n        <div class=\"faq-item\">\n          <button class=\"faq-q\" onclick=\"toggleFaq(this)\">\n            Is a turret punch press required for liquid cooling cabinet production?\n            <span class=\"faq-chevron\">\u25bc<\/span>\n          <\/button>\n          <div class=\"faq-a\">\n            For high-volume AI liquid cooling programs, a CNC turret punch press is strongly recommended. It delivers the fastest processing for repeated rail holes, GPU tray patterns, and vent grids on standardized liquid-cooled cabinet models.\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 liquid cooling cabinet production?\n            <span class=\"faq-chevron\">\u25bc<\/span>\n          <\/button>\n          <div class=\"faq-a\">\n            A typical liquid cooling cabinet line includes shearing, fiber laser cutting, CNC turret punching, panel bending, press brake bending, welding, deburring, powder coating, assembly, QC, and packing stations.\n          <\/div>\n        <\/div>\n\n        <div class=\"faq-item\">\n          <button class=\"faq-q\" onclick=\"toggleFaq(this)\">\n            Can HARSLE design a liquid cooling cabinet factory layout?\n            <span class=\"faq-chevron\">\u25bc<\/span>\n          <\/button>\n          <div class=\"faq-a\">\n            Yes. Our engineers provide layout drawings optimized for liquid cooling enclosure material flow \u2014 from shearing and laser cutting through punching, bending, welding, coating, and assembly \u2014 with capacity planning based on your target daily output.\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, liquid cooling cabinet dimensions, coolant layout complexity, 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 Liquid Cooling Cabinet<br\/>Production Line Today<\/h2>\n    <p>Get a custom factory layout, machine configuration, and turnkey liquid cooling cabinet line proposal from HARSLE engineers.<\/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>Liquid Cooling Cabinet Production Line | HARSLE Sheet Metal Manufacturing Solutions HARSLE Manufacturing Solutions Complete Liquid Cooling Cabinet Production Line<\/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-85662","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.harsle.com\/es\/wp-json\/wp\/v2\/pages\/85662","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.harsle.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.harsle.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.harsle.com\/es\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.harsle.com\/es\/wp-json\/wp\/v2\/comments?post=85662"}],"version-history":[{"count":0,"href":"https:\/\/www.harsle.com\/es\/wp-json\/wp\/v2\/pages\/85662\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.harsle.com\/es\/wp-json\/wp\/v2\/media?parent=85662"}],"curies":[{"name":"gracias","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}