{"id":22033,"date":"2026-04-12T13:23:28","date_gmt":"2026-04-12T05:23:28","guid":{"rendered":"https:\/\/believeindustry.company\/?page_id=22033"},"modified":"2026-10-31T15:35:06","modified_gmt":"2026-10-31T07:35:06","slug":"pintu-dan-tingkap","status":"publish","type":"page","link":"https:\/\/believeindustry.company\/ms\/door-and-window\/","title":{"rendered":"Pintu dan Tingkap"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"22033\" class=\"elementor elementor-22033\" data-elementor-post-type=\"page\">\n\t\t\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-b9e1e96 e-flex e-con-boxed e-con e-parent\" data-id=\"b9e1e96\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-33a9036 elementor-widget elementor-widget-spacer\" data-id=\"33a9036\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d7ae1a4 elementor-widget elementor-widget-html\" data-id=\"d7ae1a4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n\/* ============================================\n   Design System \u2014 Clean Minimal (Matching Site Style)\n   ============================================ *\/\n:root {\n    --orange:    #E8720C;\n    --orange-lt:  #f97316;\n    --gray-50:    #f9fafb;\n    --gray-100:   #f3f4f6;\n    --gray-200:   #e5e7eb;\n    --gray-300:   #d1d5db;\n    --gray-400:   #9ca3af;\n    --gray-500:   #6b7280;\n    --gray-600:   #4b5563;\n    --gray-700:   #374151;\n    --gray-800:   #1f2937;\n    --gray-900:   #111827;\n    --font-head:   'Segoe UI', system-ui, -apple-system, sans-serif;\n    --font-body:   'Segoe UI', system-ui, -apple-system, sans-serif;\n    --radius-sm:   8px;\n    --radius-md:   12px;\n    --radius-lg:   16px;\n    --shadow-sm:    0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);\n    --shadow-md:    0 4px 12px rgba(0,0,0,0.07);\n    --shadow-lg:    0 10px 30px rgba(0,0,0,0.10);\n    --transition:   0.22s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n\/* ============================================\n   Reset & Base\n   ============================================ *\/\n*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\nbody {\n    font-family: var(--font-body);\n    color: var(--gray-800);\n    background: #fff;\n    line-height: 1.6;\n    -webkit-font-smoothing: antialiased;\n}\n\na { color: inherit; text-decoration: none; }\nimg { max-width: 100%; display: block; }\n\n\/* ============================================\n   Hero Section \u2014 Clean & Minimal\n   ============================================ *\/\n.cat-hero {\n    background: linear-gradient(180deg, #fff 0%, var(--gray-50) 100%);\n    padding: 72px 24px 56px;\n    text-align: center;\n    border-bottom: 3px solid var(--orange);\n}\n\n.cat-hero__tag {\n    display: inline-block;\n    font-size: 11px;\n    font-weight: 700;\n    letter-spacing: 0.14em;\n    text-transform: uppercase;\n    color: var(--orange);\n    background: rgba(232,114,12,0.08);\n    border: 1px solid rgba(232,114,12,0.18);\n    padding: 5px 16px;\n    border-radius: 100px;\n    margin-bottom: 20px;\n}\n\n.cat-hero__title {\n    font-family: var(--font-head);\n    font-size: clamp(28px, 4.5vw, 42px);\n    font-weight: 800;\n    color: var(--gray-900);\n    line-height: 1.15;\n    margin-bottom: 16px;\n    letter-spacing: -0.02em;\n}\n\n.cat-hero__desc {\n    font-size: 15px;\n    color: var(--gray-500);\n    line-height: 1.75;\n    max-width: 560px;\n    margin: 0 auto 32px;\n}\n\n.cat-hero__btns {\n    display: flex;\n    gap: 12px;\n    justify-content: center;\n    flex-wrap: wrap;\n}\n\n.cat-hero__btn {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    font-size: 14px;\n    font-weight: 600;\n    padding: 11px 28px;\n    border-radius: 100px;\n    border: 1.5px solid var(--gray-300);\n    color: var(--gray-700);\n    background: #fff;\n    transition: var(--transition);\n    cursor: pointer;\n}\n.cat-hero__btn:hover {\n    border-color: var(--gray-400);\n    background: var(--gray-50);\n    box-shadow: var(--shadow-sm);\n}\n.cat-hero__btn--primary {\n    background: var(--orange);\n    color: #fff;\n    border-color: var(--orange);\n}\n.cat-hero__btn--primary:hover {\n    background: var(--orange-lt);\n    border-color: var(--orange-lt);\n    box-shadow: 0 4px 16px rgba(232,114,12,0.25);\n}\n\n\/* ============================================\n   Section (Product Grid Area)\n   ============================================ *\/\n.cat-section {\n    max-width: 1200px;\n    margin: 0 auto;\n    padding: 48px 24px 64px;\n}\n\n.cat-section__header {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    margin-bottom: 32px;\n    flex-wrap: wrap;\n    gap: 12px;\n}\n\n.cat-section__count {\n    font-size: 13px;\n    font-weight: 600;\n    color: var(--gray-500);\n    letter-spacing: 0.02em;\n}\n.cat-section__count em {\n    font-style: normal;\n    color: var(--gray-900);\n    font-weight: 800;\n}\n\n\/* ============================================\n   Search Bar \u2014 Clean Style\n   ============================================ *\/\n.cat-search {\n    margin-bottom: 40px;\n    position: relative;\n}\n\n.cat-search__inner {\n    display: flex;\n    align-items: stretch;\n    border: 1.5px solid var(--gray-200);\n    border-radius: var(--radius-sm);\n    background: #fff;\n    transition: border-color 0.22s, box-shadow 0.22s;\n}\n.cat-search__inner:focus-within {\n    border-color: var(--orange);\n    box-shadow: 0 0 0 3px rgba(232,114,12,0.1), var(--shadow-sm);\n}\n\n.cat-search__icon {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 48px;\n    min-width: 48px;\n    background: var(--gray-50);\n    border-right: 1px solid var(--gray-200);\n    border-radius: var(--radius-sm) 0 0 var(--radius-sm);\n}\n.cat-search__icon svg { opacity: 0.4; }\n\n.cat-search__input {\n    flex: 1;\n    border: none;\n    outline: none;\n    font-family: var(--font-body);\n    font-size: 14px;\n    font-weight: 500;\n    color: var(--gray-800);\n    padding: 12px 14px;\n    background: transparent;\n}\n.cat-search__input::placeholder {\n    color: var(--gray-400);\n    font-weight: 400;\n}\n\n.cat-search__clear {\n    display: none;\n    align-items: center;\n    justify-content: center;\n    width: 40px;\n    min-width: 40px;\n    background: none;\n    border: none;\n    cursor: pointer;\n    color: var(--gray-400);\n    font-size: 18px;\n    transition: color 0.2s;\n}\n.cat-search__clear:hover { color: var(--orange); }\n.cat-search__clear.visible { display: flex; }\n\n.cat-search__match {\n    font-size: 12px;\n    color: var(--gray-500);\n    margin-top: 10px;\n    min-height: 18px;\n    font-weight: 500;\n}\n.cat-search__match em {\n    font-style: normal;\n    color: var(--orange);\n    font-weight: 700;\n}\n\n\/* ============================================\n   Product Grid\n   ============================================ *\/\n.cat-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));\n    gap: 24px;\n}\n\n\/* ============================================\n   Product Card\n   ============================================ *\/\n.cat-card {\n    background: #fff;\n    border: 1px solid var(--gray-200);\n    border-radius: var(--radius-md);\n    overflow: hidden;\n    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);\n    display: flex;\n    flex-direction: column;\n}\n.cat-card:hover {\n    transform: translateY(-4px);\n    box-shadow: var(--shadow-lg);\n    border-color: var(--gray-300);\n}\n\n\/* Image & title are both clickable \u2014 not just \"View Details\" *\/\n.cat-card__img-link {\n    display: block;\n    position: relative;\n    overflow: hidden;\n    background: var(--gray-100);\n    cursor: pointer;\n}\n.cat-card__img-link:focus-visible {\n    outline: 2px solid var(--orange);\n    outline-offset: -2px;\n}\n.cat-card__img-link .cat-card__img {\n    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.cat-card:hover .cat-card__img-link .cat-card__img {\n    transform: scale(1.04);\n}\n\n.cat-grid .cat-card__img {\n    width: 100% !important;\n    height: 220px !important;\n    object-fit: cover !important;\n    display: block;\n    background: var(--gray-100);\n}\n\n.cat-grid .cat-card__img-placeholder {\n    width: 100% !important;\n    height: 220px !important;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background: linear-gradient(135deg, var(--gray-100), var(--gray-200));\n    color: var(--gray-400);\n    font-size: 36px;\n    font-weight: 800;\n    font-family: var(--font-head);\n}\n\n.cat-card__body {\n    padding: 24px;\n    display: flex;\n    flex-direction: column;\n    flex: 1;\n}\n\n.cat-card__badge {\n    display: inline-block;\n    font-size: 10px;\n    font-weight: 700;\n    letter-spacing: 0.1em;\n    text-transform: uppercase;\n    color: var(--gray-600);\n    background: var(--gray-100);\n    border-radius: 100px;\n    padding: 3px 10px;\n    margin-bottom: 12px;\n    align-self: flex-start;\n}\n\n.cat-card__title {\n    font-family: var(--font-head);\n    font-size: 17px;\n    font-weight: 700;\n    color: var(--gray-900);\n    line-height: 1.35;\n    margin-bottom: 10px;\n    transition: color 0.2s;\n}\n.cat-card:hover .cat-card__title {\n    color: var(--orange);\n}\n.cat-card__title a {\n    color: inherit;\n    text-decoration: none;\n    transition: color 0.2s;\n}\n.cat-card__title a:hover {\n    color: var(--orange);\n    text-decoration: underline;\n    text-underline-offset: 3px;\n}\n.cat-card__title a:focus-visible,\n.cat-card__link:focus-visible {\n    outline: 2px solid var(--orange);\n    outline-offset: 3px;\n    border-radius: 2px;\n}\n\n.cat-card__excerpt {\n    font-size: 13px;\n    color: var(--gray-500);\n    line-height: 1.7;\n    margin-bottom: 20px;\n    flex: 1;\n}\n\n.cat-card__link {\n    display: inline-flex;\n    align-items: center;\n    gap: 6px;\n    font-size: 13px;\n    font-weight: 600;\n    color: var(--orange);\n    transition: gap 0.2s;\n}\n.cat-card__link:hover {\n    gap: 10px;\n}\n.cat-card__link svg {\n    transition: transform 0.2s;\n}\n.cat-card__link:hover svg {\n    transform: translateX(3px);\n}\n\n\/* Highlight match *\/\n.cat-card__title mark,\n.cat-card__excerpt mark {\n    background: rgba(232,114,12,0.15);\n    color: var(--orange);\n    border-radius: 2px;\n    padding: 0 2px;\n}\n\n\/* Empty state *\/\n.cat-grid__empty {\n    display: none;\n    grid-column: 1 \/ -1;\n    text-align: center;\n    padding: 80px 20px;\n    border: 1px solid var(--gray-200);\n    border-radius: var(--radius-md);\n    background: var(--gray-50);\n}\n.cat-grid__empty.visible { display: block; }\n.cat-grid__empty-icon { font-size: 48px; margin-bottom: 16px; opacity: 0.25; }\n.cat-grid__empty-title {\n    font-size: 17px;\n    font-weight: 700;\n    color: var(--gray-700);\n    margin-bottom: 8px;\n}\n.cat-grid__empty-desc {\n    font-size: 14px;\n    color: var(--gray-400);\n    line-height: 1.7;\n}\n\n\/* ============================================\n   Loading Skeleton\n   ============================================ *\/\n.cat-skeleton {\n    display: none;\n    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));\n    gap: 24px;\n}\n.cat-skeleton__card {\n    background: #fff;\n    border: 1px solid var(--gray-200);\n    border-radius: var(--radius-md);\n    overflow: hidden;\n}\n.cat-skeleton__img {\n    width: 100%;\n    height: 220px;\n    background: linear-gradient(90deg, var(--gray-100) 25%, var(--gray-200) 50%, var(--gray-100) 75%);\n    background-size: 200% 100%;\n    animation: shimmer 1.4s infinite;\n}\n.cat-skeleton__body {\n    padding: 24px;\n}\n.cat-skeleton__line {\n    height: 12px;\n    border-radius: 6px;\n    background: linear-gradient(90deg, var(--gray-100) 25%, var(--gray-200) 50%, var(--gray-100) 75%);\n    background-size: 200% 100%;\n    animation: shimmer 1.4s infinite;\n    margin-bottom: 10px;\n}\n.cat-skeleton__line--short { width: 60%; }\n.cat-skeleton__line--long  { width: 100%; }\n\n@keyframes shimmer {\n    0%   { background-position: 200% 0; }\n    100% { background-position: -200% 0; }\n}\n\n\/* Loading badge *\/\n.cat-loading-badge {\n    display: inline-flex;\n    align-items: center;\n    gap: 6px;\n    font-size: 12px;\n    font-weight: 600;\n    color: var(--gray-500);\n}\n.cat-loading-badge .dot {\n    width: 6px;\n    height: 6px;\n    border-radius: 50%;\n    background: var(--orange);\n    animation: pulse 1s infinite;\n}\n@keyframes pulse {\n    0%, 100% { opacity: 0.3; }\n    50%      { opacity: 1; }\n}\n\n\/* Error state *\/\n.cat-error {\n    display: none;\n    grid-column: 1 \/ -1;\n    text-align: center;\n    padding: 60px 20px;\n    border: 1px solid var(--gray-200);\n    border-radius: var(--radius-md);\n    background: var(--gray-50);\n}\n.cat-error.visible { display: block; }\n.cat-error__icon { font-size: 40px; margin-bottom: 16px; opacity: 0.3; }\n.cat-error__title {\n    font-size: 17px;\n    font-weight: 700;\n    color: var(--gray-700);\n    margin-bottom: 8px;\n}\n.cat-error__desc {\n    font-size: 14px;\n    color: var(--gray-400);\n    line-height: 1.7;\n    margin-bottom: 16px;\n}\n.cat-error__retry {\n    display: inline-flex;\n    align-items: center;\n    gap: 6px;\n    font-size: 13px;\n    font-weight: 600;\n    color: #fff;\n    background: var(--orange);\n    border: 1.5px solid var(--orange);\n    padding: 9px 24px;\n    border-radius: 100px;\n    cursor: pointer;\n    transition: var(--transition);\n}\n.cat-error__retry:hover {\n    background: var(--orange-lt);\n    border-color: var(--orange-lt);\n}\n\n\/* ============================================\n   Quick facts\n   ============================================ *\/\n.cat-facts {\n    display: grid;\n    grid-template-columns: repeat(4, 1fr);\n    gap: 1px;\n    background: var(--gray-200);\n    border: 1px solid var(--gray-200);\n    border-radius: var(--radius-md);\n    overflow: hidden;\n    max-width: 900px;\n    margin: 32px auto 0;\n    text-align: center;\n}\n.cat-fact { background: #fff; padding: 18px 12px; text-align: center; }\n.cat-fact__num {\n    display: block;\n    font-family: var(--font-head);\n    font-size: 18px;\n    font-weight: 800;\n    color: var(--gray-900);\n    line-height: 1.3;\n}\n.cat-fact__label {\n    display: block;\n    font-size: 11px;\n    font-weight: 600;\n    letter-spacing: 0.04em;\n    color: var(--gray-500);\n    text-transform: uppercase;\n    margin-top: 4px;\n}\n\n@media (max-width: 768px) {\n    .cat-facts { grid-template-columns: repeat(2, 1fr); }\n    .cat-fact__num { font-size: 16px; }\n}\n\n\/* ============================================\n   Editorial content\n   ============================================ *\/\n.wrap { max-width: 1000px; margin: 0 auto; padding: 0 24px; }\n.cat-content { background: #fff; padding: 8px 0 24px; }\n.cat-content .wrap > h2 {\n    font-family: var(--font-head);\n    font-size: 24px;\n    font-weight: 800;\n    color: var(--gray-900);\n    line-height: 1.3;\n    margin: 46px 0 16px;\n    letter-spacing: -0.01em;\n}\n.cat-content .wrap > h2:first-of-type { margin-top: 8px; }\n.cat-content h3 {\n    font-family: var(--font-head);\n    font-size: 16px;\n    font-weight: 700;\n    color: var(--gray-800);\n    margin: 26px 0 8px;\n    line-height: 1.4;\n}\n.cat-content p { font-size: 15px; color: var(--gray-600); line-height: 1.8; margin-bottom: 14px; }\n.cat-content a.inline { color: var(--orange); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }\n.cat-content a.inline:hover { color: var(--orange-lt); }\n\n.cat-content ul.cat-list { list-style: none; margin: 0 0 18px; padding: 0; }\n.cat-content ul.cat-list li {\n    font-size: 15px; color: var(--gray-600); line-height: 1.75;\n    padding: 0 0 10px 22px; position: relative;\n}\n.cat-content ul.cat-list li::before {\n    content: \"\";\n    position: absolute; left: 4px; top: 11px;\n    width: 6px; height: 6px; border-radius: 50%;\n    background: var(--orange);\n}\n.cat-content ul.cat-list li strong { color: var(--gray-800); font-weight: 600; }\n\n.cat-table-wrap { overflow-x: auto; margin: 18px 0 8px; border: 1px solid var(--gray-200); border-radius: var(--radius-md); }\n.cat-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 620px; }\n.cat-table caption { text-align: left; font-size: 12px; color: var(--gray-400); padding: 10px 14px; caption-side: bottom; }\n.cat-table th, .cat-table td { padding: 11px 14px; text-align: left; border-bottom: 1px solid var(--gray-200); vertical-align: top; }\n.cat-table thead th {\n    background: var(--gray-50); font-size: 11px; font-weight: 700;\n    letter-spacing: 0.06em; text-transform: uppercase; color: var(--gray-500);\n    white-space: nowrap;\n}\n.cat-table tbody tr:last-child td { border-bottom: none; }\n.cat-table tbody th { font-weight: 600; color: var(--gray-800); }\n.cat-table td { color: var(--gray-600); }\n.cat-table tbody tr:hover { background: var(--gray-50); }\n\n.cat-faq { margin: 8px 0; border-top: 1px solid var(--gray-200); }\n.cat-faq details { border-bottom: 1px solid var(--gray-200); }\n.cat-faq summary {\n    cursor: pointer;\n    list-style: none;\n    padding: 16px 30px 16px 0;\n    position: relative;\n    font-size: 15px;\n    font-weight: 600;\n    color: var(--gray-800);\n    line-height: 1.5;\n}\n.cat-faq summary::-webkit-details-marker { display: none; }\n.cat-faq summary::after {\n    content: \"+\";\n    position: absolute; right: 4px; top: 50%;\n    transform: translateY(-50%);\n    font-size: 20px; font-weight: 400; color: var(--orange);\n    line-height: 1;\n}\n.cat-faq details[open] summary::after { content: \"\\2013\"; }\n.cat-faq summary:hover { color: var(--orange); }\n.cat-faq .cat-faq__a { font-size: 14px; color: var(--gray-600); line-height: 1.8; padding: 0 24px 18px 0; }\n.cat-faq .cat-faq__a a { color: var(--orange); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }\n\n\/* ============================================\n   CTA Section\n   ============================================ *\/\n.cat-cta {\n    position: relative;\n    max-width: 100%;\n    margin: 56px 0 0;\n    padding: 44px 48px;\n    border-radius: 20px;\n    overflow: hidden;\n    text-align: left;\n    background:\n        radial-gradient(120% 150% at 92% -20%, rgba(245,158,11,0.22) 0%, rgba(245,158,11,0) 58%),\n        linear-gradient(135deg, #1E3A8A 0%, #1b3676 46%, #14264f 100%);\n    border: 1px solid rgba(255,255,255,0.10);\n    box-shadow:\n        0 28px 54px -24px rgba(20,38,79,0.58),\n        0 6px 16px -8px rgba(20,38,79,0.32),\n        inset 0 1px 0 rgba(255,255,255,0.14);\n}\n\/* top orange hairline *\/\n.cat-cta::before {\n    content: \"\";\n    position: absolute; left: 0; right: 0; top: 0; height: 3px;\n    background: linear-gradient(90deg, rgba(245,158,11,0) 0%, #F59E0B 30%, #FFC062 50%, #F59E0B 70%, rgba(245,158,11,0) 100%);\n}\n\/* faint diagonal texture *\/\n.cat-cta::after {\n    content: \"\";\n    position: absolute; inset: 0;\n    background-image: repeating-linear-gradient(115deg, rgba(255,255,255,0.05) 0 1px, rgba(255,255,255,0) 1px 70px);\n    pointer-events: none;\n}\n.cat-cta__inner {\n    position: relative; z-index: 1;\n    display: grid;\n    grid-template-columns: minmax(0, 1fr) auto;\n    align-items: center;\n    gap: 40px;\n}\n.cat-cta__eyebrow {\n    display: inline-flex; align-items: center; gap: 8px;\n    font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;\n    color: #FBBF24;\n    background: rgba(255,255,255,0.08);\n    border: 1px solid rgba(255,255,255,0.16);\n    padding: 5px 12px 5px 10px; border-radius: 100px;\n    margin-bottom: 14px;\n}\n.cat-cta__eyebrow::before {\n    content: \"\"; width: 6px; height: 6px; border-radius: 50%;\n    background: #F59E0B; box-shadow: 0 0 0 3px rgba(245,158,11,0.20);\n}\n.cat-cta__title {\n    font-family: var(--font-head);\n    font-size: 26px;\n    line-height: 1.25;\n    font-weight: 800;\n    color: #fff;\n    letter-spacing: -0.01em;\n    margin-bottom: 10px;\n    max-width: 560px;\n}\n.cat-cta__desc {\n    font-size: 14.5px;\n    line-height: 1.8;\n    color: rgba(255,255,255,0.78);\n    margin: 0;\n    max-width: 560px;\n}\n.cat-cta__btns {\n    display: flex;\n    flex-direction: column;\n    gap: 12px;\n    min-width: 216px;\n}\n.cat-cta__btn {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n    font-size: 14px;\n    font-weight: 700;\n    padding: 13px 26px;\n    border-radius: 100px;\n    transition: var(--transition);\n    cursor: pointer;\n    white-space: nowrap;\n}\n.cat-cta__btn:focus-visible { outline: 2px solid #FBBF24; outline-offset: 3px; }\n.cat-cta__btn--outline {\n    border: 1px solid rgba(255,255,255,0.30);\n    color: #fff;\n    background: rgba(255,255,255,0.06);\n}\n.cat-cta__btn--outline:hover {\n    background: rgba(255,255,255,0.14);\n    border-color: rgba(255,255,255,0.50);\n}\n.cat-cta__btn--primary {\n    background: linear-gradient(180deg, #F9A825 0%, #E8720C 100%);\n    color: #fff;\n    border: 1px solid rgba(255,255,255,0.18);\n    box-shadow: 0 12px 24px -12px rgba(232,114,12,0.85), inset 0 1px 0 rgba(255,255,255,0.35);\n}\n.cat-cta__btn--primary:hover {\n    background: linear-gradient(180deg, #FFB733 0%, #F0800F 100%);\n    transform: translateY(-1px);\n    box-shadow: 0 16px 28px -12px rgba(232,114,12,0.95), inset 0 1px 0 rgba(255,255,255,0.40);\n}\n\n\/* CTA stacks before the rest of the layout does *\/\n@media (max-width: 860px) {\n    .cat-cta { text-align: center; padding: 34px 24px; }\n    .cat-cta__inner { grid-template-columns: 1fr; gap: 24px; }\n    .cat-cta__title { font-size: 22px; max-width: none; margin-left: auto; margin-right: auto; }\n    .cat-cta__desc { max-width: none; margin-left: auto; margin-right: auto; }\n    .cat-cta__eyebrow { margin-bottom: 12px; }\n    .cat-cta__btns { min-width: 0; width: 100%; max-width: 340px; margin: 0 auto; }\n}\n\n\/* ============================================\n   Responsive\n   ============================================ *\/\n@media (max-width: 768px) {\n    .cat-hero { padding: 48px 16px 40px; }\n    .cat-section { padding: 32px 16px 48px; }\n    .cat-grid, .cat-skeleton {\n        grid-template-columns: 1fr;\n        gap: 16px;\n    }\n    .cat-grid .cat-card__img,\n    .cat-grid .cat-card__img-placeholder,\n    .cat-skeleton .cat-skeleton__img { height: 180px !important; }\n    .cat-hero__btns { flex-direction: column; align-items: center; }\n    .cat-cta { margin-top: 40px; padding: 32px 22px; border-radius: 16px; }\n}\n<\/style>\n<!-- ============================================\n     Hero Section\n     ============================================ -->\n<section class=\"cat-hero\">\n    <div class=\"cat-hero__tag\">Product Catalog<\/div>\n    <h1 class=\"cat-hero__title\">Door &amp; Window Roll Forming Machines<\/h1>\n    <p class=\"cat-hero__desc\">\n        Steel door frames that fold at the corner, insulated garage door panels, curved shutter tracks, interlocking shutter slats, and window frame profiles. Four lines, each built to your section drawing and run on test coil before shipment.\n    <\/p>\n    <div class=\"cat-hero__btns\">\n        <a href=\"https:\/\/believeindustry.company\/request-a-quote\/\" class=\"cat-hero__btn cat-hero__btn--primary\">Request a Quote<\/a>\n        <a href=\"#machine-lines\" class=\"cat-hero__btn\">Browse 4 Machine Types<\/a>\n    <\/div>\n    <div class=\"cat-facts\">\n        <div class=\"cat-fact\"><span class=\"cat-fact__num\">4<\/span><span class=\"cat-fact__label\">Machine types<\/span><\/div>\n        <div class=\"cat-fact\"><span class=\"cat-fact__num\">0.8 - 2.0 mm<\/span><span class=\"cat-fact__label\">Frame coil<\/span><\/div>\n        <div class=\"cat-fact\"><span class=\"cat-fact__num\">15 - 20 m\/min<\/span><span class=\"cat-fact__label\">Frame line speed<\/span><\/div>\n        <div class=\"cat-fact\"><span class=\"cat-fact__num\">22<\/span><span class=\"cat-fact__label\">Forming stations<\/span><\/div>\n    <\/div>\n<\/section>\n\n<!-- ============================================\n     Product Section\n     ============================================ -->\n<section class=\"cat-section\" id=\"machine-lines\">\n\n    <div class=\"cat-section__header\">\n        <h2 class=\"cat-section__h2\">Roll forming machines for doors and windows<\/h2>\n        <span class=\"cat-section__count\" id=\"catCount\"><em>4<\/em> &nbsp;Machines Available<\/span>\n    <\/div>\n\n    <!-- Search Bar -->\n    <div class=\"cat-search\">\n        <div class=\"cat-search__inner\">\n            <div class=\"cat-search__icon\">\n                <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#666\" stroke-width=\"2\" stroke-linecap=\"round\"><circle cx=\"11\" cy=\"11\" r=\"7\"\/><path d=\"M16 16l5 5\"\/><\/svg>\n            <\/div>\n            <input\n                type=\"text\"\n                class=\"cat-search__input\"\n                id=\"catSearchInput\"\n                placeholder=\"Search machines... e.g. door frame, garage, track, slat...\"\n                autocomplete=\"off\"\n                spellcheck=\"false\"\n            >\n            <button class=\"cat-search__clear\" id=\"catSearchClear\" type=\"button\" aria-label=\"Clear search\">&times;<\/button>\n        <\/div>\n        <div class=\"cat-search__match\" id=\"catSearchMatch\"><\/div>\n    <\/div>\n\n    <!-- Loading skeleton -->\n    <div class=\"cat-skeleton\" id=\"catSkeleton\">\n        <div class=\"cat-skeleton__card\">\n            <div class=\"cat-skeleton__img\"><\/div>\n            <div class=\"cat-skeleton__body\">\n                <div class=\"cat-skeleton__line cat-skeleton__line--short\"><\/div>\n                <div class=\"cat-skeleton__line cat-skeleton__line--long\"><\/div>\n                <div class=\"cat-skeleton__line cat-skeleton__line--long\"><\/div>\n                <div class=\"cat-skeleton__line cat-skeleton__line--short\"><\/div>\n            <\/div>\n        <\/div>\n        <div class=\"cat-skeleton__card\">\n            <div class=\"cat-skeleton__img\"><\/div>\n            <div class=\"cat-skeleton__body\">\n                <div class=\"cat-skeleton__line cat-skeleton__line--short\"><\/div>\n                <div class=\"cat-skeleton__line cat-skeleton__line--long\"><\/div>\n                <div class=\"cat-skeleton__line cat-skeleton__line--long\"><\/div>\n                <div class=\"cat-skeleton__line cat-skeleton__line--short\"><\/div>\n            <\/div>\n        <\/div>\n        <div class=\"cat-skeleton__card\">\n            <div class=\"cat-skeleton__img\"><\/div>\n            <div class=\"cat-skeleton__body\">\n                <div class=\"cat-skeleton__line cat-skeleton__line--short\"><\/div>\n                <div class=\"cat-skeleton__line cat-skeleton__line--long\"><\/div>\n                <div class=\"cat-skeleton__line cat-skeleton__line--long\"><\/div>\n                <div class=\"cat-skeleton__line cat-skeleton__line--short\"><\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <!-- Product grid (server rendered, refreshed in the background) -->\n    <div class=\"cat-grid\" id=\"catGrid\">\n\n        <article class=\"cat-card\">\n            <a class=\"cat-card__img-link\" href=\"https:\/\/believeindustry.company\/roll-forming-machine\/steel-door-roll-forming-machine\/steel-door-frame-roll-forming-machine\/\" tabindex=\"-1\" aria-hidden=\"true\">\n                <img loading=\"lazy\" class=\"cat-card__img\" src=\"https:\/\/believeindustry.company\/wp-content\/uploads\/2026\/05\/door-frame-roll-forming-machine.webp?w=800\" srcset=\"https:\/\/believeindustry.company\/wp-content\/uploads\/2026\/05\/door-frame-roll-forming-machine.webp?w=400 400w, https:\/\/believeindustry.company\/wp-content\/uploads\/2026\/05\/door-frame-roll-forming-machine.webp?w=800 800w, https:\/\/believeindustry.company\/wp-content\/uploads\/2026\/05\/door-frame-roll-forming-machine.webp?w=1200 1200w\" sizes=\"auto, (max-width: 768px) 100vw, 360px\" width=\"800\" height=\"600\" alt=\"Steel Door Frame Roll Forming Machine\" loading=\"lazy\" decoding=\"async\" onerror=\"this.style.display=&#039;none&#039;;this.nextElementSibling.style.display=&#039;flex&#039;;\" title=\"\">\n                <div class=\"cat-card__img-placeholder\" style=\"display:none\">F<\/div>\n            <\/a>\n            <div class=\"cat-card__body\">\n                <span class=\"cat-card__badge\">Door Frame<\/span>\n                <h3 class=\"cat-card__title\"><a href=\"https:\/\/believeindustry.company\/roll-forming-machine\/steel-door-roll-forming-machine\/steel-door-frame-roll-forming-machine\/\">Steel Door Frame Roll Forming Machine<\/a><\/h3>\n                <p class=\"cat-card__excerpt\">Turns galvanized coil into a folding steel door frame on one line: miter notches, hinge slots and lock cutouts are punched before forming, so the frame folds at 90 degrees on site without a second operation.<\/p>\n                <a class=\"cat-card__link\" href=\"https:\/\/believeindustry.company\/roll-forming-machine\/steel-door-roll-forming-machine\/steel-door-frame-roll-forming-machine\/\">View machine specs<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg><\/a>\n            <\/div>\n        <\/article>\n        <article class=\"cat-card\">\n            <a class=\"cat-card__img-link\" href=\"https:\/\/believeindustry.company\/roll-forming-machine\/steel-door-roll-forming-machine\/garage-door-roll-forming-machine\/\" tabindex=\"-1\" aria-hidden=\"true\">\n                <img loading=\"lazy\" class=\"cat-card__img\" src=\"https:\/\/believeindustry.company\/wp-content\/uploads\/2018\/04\/garage-door-roll-forming-machine-e1523344274653.jpg?w=800\" srcset=\"https:\/\/believeindustry.company\/wp-content\/uploads\/2018\/04\/garage-door-roll-forming-machine-e1523344274653.jpg?w=400 400w, https:\/\/believeindustry.company\/wp-content\/uploads\/2018\/04\/garage-door-roll-forming-machine-e1523344274653.jpg?w=800 800w, https:\/\/believeindustry.company\/wp-content\/uploads\/2018\/04\/garage-door-roll-forming-machine-e1523344274653.jpg?w=1200 1200w\" sizes=\"auto, (max-width: 768px) 100vw, 360px\" width=\"800\" height=\"600\" alt=\"Garage Door Roll Forming Machine\" loading=\"lazy\" decoding=\"async\" onerror=\"this.style.display=&#039;none&#039;;this.nextElementSibling.style.display=&#039;flex&#039;;\" title=\"\">\n                <div class=\"cat-card__img-placeholder\" style=\"display:none\">G<\/div>\n            <\/a>\n            <div class=\"cat-card__body\">\n                <span class=\"cat-card__badge\">Garage Door<\/span>\n                <h3 class=\"cat-card__title\"><a href=\"https:\/\/believeindustry.company\/roll-forming-machine\/steel-door-roll-forming-machine\/garage-door-roll-forming-machine\/\">Garage Door Roll Forming Machine<\/a><\/h3>\n                <p class=\"cat-card__excerpt\">Forms garage door panels from 200 to 600 mm wide coil at 12 to 15 m\/min, with embossing and pattern punching in line, and an optional PU injection station for insulated composite panels.<\/p>\n                <a class=\"cat-card__link\" href=\"https:\/\/believeindustry.company\/roll-forming-machine\/steel-door-roll-forming-machine\/garage-door-roll-forming-machine\/\">View machine specs<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg><\/a>\n            <\/div>\n        <\/article>\n        <article class=\"cat-card\">\n            <a class=\"cat-card__img-link\" href=\"https:\/\/believeindustry.company\/roll-forming-machine\/steel-door-roll-forming-machine\/roller-shutter-door-track-roll-forming-machine\/\" tabindex=\"-1\" aria-hidden=\"true\">\n                <img loading=\"lazy\" class=\"cat-card__img\" src=\"https:\/\/believeindustry.company\/wp-content\/uploads\/2018\/04\/door-track-roll-forming-machine-1-e1522828125688.jpg?w=800\" srcset=\"https:\/\/believeindustry.company\/wp-content\/uploads\/2018\/04\/door-track-roll-forming-machine-1-e1522828125688.jpg?w=400 400w, https:\/\/believeindustry.company\/wp-content\/uploads\/2018\/04\/door-track-roll-forming-machine-1-e1522828125688.jpg?w=800 800w, https:\/\/believeindustry.company\/wp-content\/uploads\/2018\/04\/door-track-roll-forming-machine-1-e1522828125688.jpg?w=1200 1200w\" sizes=\"auto, (max-width: 768px) 100vw, 360px\" width=\"800\" height=\"600\" alt=\"Roller Shutter Door Track Roll Forming Machine\" loading=\"lazy\" decoding=\"async\" onerror=\"this.style.display=&#039;none&#039;;this.nextElementSibling.style.display=&#039;flex&#039;;\" title=\"\">\n                <div class=\"cat-card__img-placeholder\" style=\"display:none\">T<\/div>\n            <\/a>\n            <div class=\"cat-card__body\">\n                <span class=\"cat-card__badge\">Track<\/span>\n                <h3 class=\"cat-card__title\"><a href=\"https:\/\/believeindustry.company\/roll-forming-machine\/steel-door-roll-forming-machine\/roller-shutter-door-track-roll-forming-machine\/\">Roller Shutter Door Track Roll Forming Machine<\/a><\/h3>\n                <p class=\"cat-card__excerpt\">Produces the guide track that carries a roller shutter or garage door up and down, in straight or curved sections from 0.8 to 1.5 mm galvanized or cold rolled strip, with assembly holes pre-punched.<\/p>\n                <a class=\"cat-card__link\" href=\"https:\/\/believeindustry.company\/roll-forming-machine\/steel-door-roll-forming-machine\/roller-shutter-door-track-roll-forming-machine\/\">View machine specs<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg><\/a>\n            <\/div>\n        <\/article>\n        <article class=\"cat-card\">\n            <a class=\"cat-card__img-link\" href=\"https:\/\/believeindustry.company\/roll-forming-machine\/steel-door-roll-forming-machine\/steel-rolling-shutter-slat-roll-forming-machine\/\" tabindex=\"-1\" aria-hidden=\"true\">\n                <img loading=\"lazy\" class=\"cat-card__img\" src=\"https:\/\/believeindustry.company\/wp-content\/uploads\/2018\/04\/steel-rolling-shutter-slat-roll-forming-machine.jpg?w=800\" srcset=\"https:\/\/believeindustry.company\/wp-content\/uploads\/2018\/04\/steel-rolling-shutter-slat-roll-forming-machine.jpg?w=400 400w, https:\/\/believeindustry.company\/wp-content\/uploads\/2018\/04\/steel-rolling-shutter-slat-roll-forming-machine.jpg?w=800 800w, https:\/\/believeindustry.company\/wp-content\/uploads\/2018\/04\/steel-rolling-shutter-slat-roll-forming-machine.jpg?w=1200 1200w\" sizes=\"auto, (max-width: 768px) 100vw, 360px\" width=\"800\" height=\"600\" alt=\"Steel Rolling Shutter Slat Roll Forming Machine\" loading=\"lazy\" decoding=\"async\" onerror=\"this.style.display=&#039;none&#039;;this.nextElementSibling.style.display=&#039;flex&#039;;\" title=\"\">\n                <div class=\"cat-card__img-placeholder\" style=\"display:none\">S<\/div>\n            <\/a>\n            <div class=\"cat-card__body\">\n                <span class=\"cat-card__badge\">Slat<\/span>\n                <h3 class=\"cat-card__title\"><a href=\"https:\/\/believeindustry.company\/roll-forming-machine\/steel-door-roll-forming-machine\/steel-rolling-shutter-slat-roll-forming-machine\/\">Steel Rolling Shutter Slat Roll Forming Machine<\/a><\/h3>\n                <p class=\"cat-card__excerpt\">Rolls the horizontal slats that interlock into a roller shutter curtain, for warehouse, factory, kitchen and vehicle doors, with hollow, foam filled and PU insulated variants.<\/p>\n                <a class=\"cat-card__link\" href=\"https:\/\/believeindustry.company\/roll-forming-machine\/steel-door-roll-forming-machine\/steel-rolling-shutter-slat-roll-forming-machine\/\">View machine specs<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg><\/a>\n            <\/div>\n        <\/article>\n\n        <!-- Empty state -->\n        <div class=\"cat-grid__empty\" id=\"catGridEmpty\">\n            <div class=\"cat-grid__empty-icon\">&#8981;<\/div>\n            <div class=\"cat-grid__empty-title\">No Machines Found<\/div>\n            <div class=\"cat-grid__empty-desc\">Try a different keyword. Search covers machine names and descriptions.<\/div>\n        <\/div>\n\n        <!-- Error state -->\n        <div class=\"cat-error\" id=\"catError\">\n            <div class=\"cat-error__icon\">&#9888;<\/div>\n            <div class=\"cat-error__title\">Failed to Load Products<\/div>\n            <div class=\"cat-error__desc\">There was a problem fetching the latest products. Please check your connection and try again.<\/div>\n            <button class=\"cat-error__retry\" id=\"catRetry\" type=\"button\">Retry<\/button>\n        <\/div>\n    <\/div><!-- \/cat-grid -->\n\n    <!-- CTA -->\n    <div class=\"cat-cta\">\n        <div class=\"cat-cta__inner\">\n            <div class=\"cat-cta__text\">\n                <span class=\"cat-cta__eyebrow\">Custom engineering<\/span>\n                <h2 class=\"cat-cta__title\">Need A Door Or Window Profile We Do Not List?<\/h2>\n                <p class=\"cat-cta__desc\">Send one drawing: the section, the coil you will run and the punch pattern. We will come back with a configuration, a cycle time and a price range.<\/p>\n            <\/div>\n            <div class=\"cat-cta__btns\">\n                <a href=\"https:\/\/believeindustry.company\/contact\/\" class=\"cat-cta__btn cat-cta__btn--primary\">Email Us<\/a>\n                <a href=\"https:\/\/believeindustry.company\/about-believe-industry\/\" class=\"cat-cta__btn cat-cta__btn--outline\">About Us<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n\n<\/section>\n\n<section class=\"cat-content\">\n    <div class=\"wrap\">\n\n        <h2>What a door line actually makes<\/h2>\n        <p>\n            A door is not one profile. It is a frame that folds at the corners, a leaf or a curtain that closes the opening, and a track that guides it. Each of those is a separate roll formed section, and each has its own tolerance problem. That is why this page lists four machines rather than one: buyers who want a complete door production line normally buy two or three of them together.\n        <\/p>\n        <p>\n            The dividing line in the catalogue is between frames and panels. A frame is an open profile that is notched and folded on site or in the plant. A panel or a slat is a closed or semi closed section that has to look right on the face, because it is the part the customer sees every day.\n        <\/p>\n\n        <h2>Steel door frames: the miter notch is the machine<\/h2>\n        <p>\n            Any press brake can bend a door frame. What a roll forming line adds is the notch: the miter cut that lets the profile fold into a 90 degree corner without a weld. The punch unit also cuts hinge slots, the strike plate opening, the lock prep and the anchor holes, all before forming, so the finished profile comes off the line ready to assemble.\n        <\/p>\n        <p>\n            Our frame line runs 0.8 to 2.0 mm galvanized coil through 22 forming stations with a servo punch, at 15 to 20 m\/min. In real output that is roughly 6 to 8 frames a minute, against 1 to 2 frames a minute by manual press brake work. The gap is not speed on the bend, it is the number of separate handling steps that disappear.\n        <\/p>\n        <p>\n            Gauge is the first thing to fix. A 1.2 mm frame suits a stud partition; a 1.6 to 2.0 mm frame suits a masonry opening with a fire rating. The roll design, the shaft diameter and the punch tonnage all follow that number, so deciding it late is expensive.\n        <\/p>\n\n        <h2>Garage door panels and the insulated option<\/h2>\n        <p>\n            Garage door panels are formed from 200 to 600 mm wide coil at 12 to 15 m\/min, excluding punching and cutting. The line embosses the surface pattern and punches the hinge and handle positions in the same pass, which matters because a panel that is formed flat and punched later never lines up perfectly across a run.\n        <\/p>\n        <p>\n            There are two products here. A single skin panel is one formed sheet, sold on price and used on light domestic doors. A composite panel is two skins with polyurethane foam injected between them, and it is what the insulation value in a modern garage door actually comes from. The forming section is shared; the foaming press, the injection station and the curing time are not.\n        <\/p>\n\n        <h2>Roller shutter track and slat: one system, two machines<\/h2>\n        <p>\n            The track is the guide. It is an open channel formed from 0.8 to 1.5 mm galvanized or cold rolled strip at 8 to 15 m\/min, and the version that sells in volume is the curved track, because real openings sit in real walls with returns and soffits. Assembly holes are punched in line so the installer does not drill on a ladder.\n        <\/p>\n        <p>\n            The slat is the curtain. Each slat is a closed interlocking section, and the whole door is a stack of them hinged together, which means the tolerance on one slat multiplies by the number of slats in the opening. That is why slat lines are specified on repeatability rather than on top speed.\n        <\/p>\n        <p>\n            Slats are also the most varied product in this family. Hollow slats for warehouses and factories, foam filled slats for kitchens and shop fronts, PU filled slats for insulation and wind load, and small sections for vehicle and van doors. Each variant is a different roll set on the same machine base.\n        <\/p>\n\n        <h2>Window profiles on the same machine family<\/h2>\n        <p>\n            Window frames, sashes, mullions, sills and trim are roll formed on the same architecture as door frames. The section is different: thinner in gauge, normally 0.5 to 1.5 mm, but wider across the face, up to about 250 mm, at 10 to 25 m\/min. That width is what makes the roll design the critical part, because a wide shallow section springs back more than a narrow deep one.\n        <\/p>\n        <p>\n            Steel and aluminum both run, but not with the same rolls. Steel strip at 0.5 to 1.2 mm forms predictably and holds the section. Aluminum alloy is softer, wider and easier to mark, so the roll surfaces are polished and the pass schedule is gentler. If you plan to run both materials on one machine, say so before the design is fixed rather than after.\n        <\/p>\n\n        <h2>Specifications at a glance<\/h2>\n        <div class=\"cat-table-wrap\">\n            <table class=\"cat-table\">\n                <caption>Figures are typical for this product family. Final values are confirmed against your profile drawing before order.<\/caption>\n                <thead>\n                    <tr>\n                        <th scope=\"col\">Profile<\/th>\n                        <th scope=\"col\">Coil thickness<\/th>\n                        <th scope=\"col\">Speed<\/th>\n                        <th scope=\"col\">Notable<\/th>\n                    <\/tr>\n                <\/thead>\n                <tbody>\n                    <tr>\n                        <th scope=\"row\"><a href=\"https:\/\/believeindustry.company\/roll-forming-machine\/steel-door-roll-forming-machine\/steel-door-frame-roll-forming-machine\/\" class=\"inline\">Steel door frame<\/a><\/th>\n                        <td>0.8 - 2.0 mm<\/td>\n                        <td>15 - 20 m\/min<\/td>\n                        <td>22 stations, servo punch, miter notch and lock prep in line<\/td>\n                    <\/tr>\n                    <tr>\n                        <th scope=\"row\"><a href=\"https:\/\/believeindustry.company\/roll-forming-machine\/steel-door-roll-forming-machine\/garage-door-roll-forming-machine\/\" class=\"inline\">Garage door panel<\/a><\/th>\n                        <td>coil 200 - 600 mm wide<\/td>\n                        <td>12 - 15 m\/min<\/td>\n                        <td>Embossing and pattern punching, PU injection for composite panels<\/td>\n                    <\/tr>\n                    <tr>\n                        <th scope=\"row\"><a href=\"https:\/\/believeindustry.company\/roll-forming-machine\/steel-door-roll-forming-machine\/roller-shutter-door-track-roll-forming-machine\/\" class=\"inline\">Shutter track<\/a><\/th>\n                        <td>0.8 - 1.5 mm<\/td>\n                        <td>8 - 15 m\/min<\/td>\n                        <td>Straight or curved, assembly holes pre-punched<\/td>\n                    <\/tr>\n                    <tr>\n                        <th scope=\"row\"><a href=\"https:\/\/believeindustry.company\/roll-forming-machine\/steel-door-roll-forming-machine\/steel-rolling-shutter-slat-roll-forming-machine\/\" class=\"inline\">Shutter slat<\/a><\/th>\n                        <td>per drawing<\/td>\n                        <td>per drawing<\/td>\n                        <td>Interlocking section, hollow, foam filled or PU insulated<\/td>\n                    <\/tr>\n                    <tr>\n                        <th scope=\"row\">Window frame profile<\/th>\n                        <td>0.5 - 1.5 mm<\/td>\n                        <td>10 - 25 m\/min<\/td>\n                        <td>Face width up to 250 mm, steel or aluminum, quick change cassettes<\/td>\n                    <\/tr>\n                <\/tbody>\n            <\/table>\n        <\/div>\n\n        <h2>How to specify a door or window line<\/h2>\n        <p>\n            Five answers decide most of the quotation. The section drawing with the fold or lock geometry, because that fixes the stand count. The material and coating you will actually buy, because bare, galvanized and pre painted strip need different roll finishes. Every size the line must cover, because a frame line that runs one width and a frame line that runs four are different machines. The punch pattern, because hinge and lock positions are tooling, not software. And the output you need per shift, because that decides whether you buy one line or a line plus a stacker.\n        <\/p>\n        <p>\n            If you are still comparing forming methods, our <a href=\"https:\/\/believeindustry.company\/how-to-choose-operate-maintain-a-roll-forming-machine\/\" class=\"inline\">guide to choosing, operating and maintaining a roll forming machine<\/a> covers the same decisions from a wider angle. To work out how far a coil will run before you commit to a tonnage, the <a href=\"https:\/\/believeindustry.company\/metal-coil-calculator\/\" class=\"inline\">metal coil calculator<\/a> does the arithmetic.\n        <\/p>\n\n        <h2>Frequently asked questions<\/h2>\n<div class=\"cat-faq\">\n            <details>\n                <summary>What does a steel door frame roll forming machine do?<\/summary>\n                <div class=\"cat-faq__a\">It takes flat galvanized coil and delivers a finished door frame profile that folds at the corners. Punches for the miter notch, the hinge slots, the strike plate and the mounting holes run in line before forming, so the installer folds rather than fabricates. A 22 station line at 15 to 20 m\/min produces roughly 6 to 8 frames a minute.<\/div>\n            <\/details>\n\n            <details>\n                <summary>What coil thickness do door frame lines run?<\/summary>\n                <div class=\"cat-faq__a\">Most steel door frame work runs 0.8 to 2.0 mm galvanized coil. The gauge is set by the fire rating and the wall type, not by the machine: a 1.2 mm frame is normal for a drywall partition and 1.6 to 2.0 mm for a masonry opening. Confirm the heaviest gauge you will sell before the roll design is fixed, because stands and shafts are sized on that number.<\/div>\n            <\/details>\n\n            <details>\n                <summary>Can one line make several door frame sizes?<\/summary>\n                <div class=\"cat-faq__a\">Yes, within the same profile family. Width changes are handled by adjusting the roll spacing and the cut off length, and the punch unit is programmed per size. A completely different profile section, for example a double rebate frame, needs its own roll set or a cassette change.<\/div>\n            <\/details>\n\n            <details>\n                <summary>Do I need separate machines for the shutter track and the slat?<\/summary>\n                <div class=\"cat-faq__a\">Yes. They are two different products in the same door system. The track is an open channel, straight or curved, with pre-punched assembly holes. The slat is a closed interlocking section that has to hinge against the next slat, so the roll design and the tolerance stack are different. Buyers normally order both so the curtain and the guide come from one supplier.<\/div>\n            <\/details>\n\n            <details>\n                <summary>What is an insulated garage door panel line?<\/summary>\n                <div class=\"cat-faq__a\">It is a panel line with a PU injection station after forming. A single skin panel is one formed sheet; a composite panel is two skins filled with polyurethane foam, which gives the door its insulation value and its rigidity. The forming section is the same, the difference is the foaming line, the press and the curing time.<\/div>\n            <\/details>\n\n            <details>\n                <summary>Can the same machine family make window profiles?<\/summary>\n                <div class=\"cat-faq__a\">Yes. Window frames, sashes, mullions, sills and trim are roll formed on the same machine architecture as door frames. What changes is the section: window profiles are narrower in gauge, 0.5 to 1.5 mm, but wider across the face, up to about 250 mm, so the roll design and the shaft stiffness are tuned to that shape.<\/div>\n            <\/details>\n\n            <details>\n                <summary>Steel or aluminum window profiles, which line do I need?<\/summary>\n                <div class=\"cat-faq__a\">Both run on the same machine family, with different roll schedules. Steel uses 0.5 to 1.2 mm galvanized strip and forms with less springback. Aluminum alloys are softer and wider in section, so the rolls are polished differently and the pass schedule is gentler to avoid marking the surface. Tell us the alloy and temper, not just the thickness.<\/div>\n            <\/details>\n\n            <details>\n                <summary>What do you need to quote a door or window line?<\/summary>\n                <div class=\"cat-faq__a\">The section drawing with the fold or lock geometry, the material and coating you will actually buy, every size the line must cover, the punch pattern for hinges and locks, and the output you need per shift. With those five items we quote a configuration and a cycle time instead of a catalogue number.<\/div>\n            <\/details>\n        <\/div>\n    <\/div>\n<\/section>\n\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"ItemList\",\n  \"name\": \"Door & Window Roll Forming Machines | Beli RollForming\",\n  \"description\": \"Door and window roll forming machines: steel door frames 0.8 to 2.0 mm, garage door panels, shutter tracks, slats and window profile lines.\",\n  \"numberOfItems\": 4,\n  \"itemListElement\": [\n    {\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"Product\",\"name\":\"Steel Door Frame Roll Forming Machine\",\"url\":\"https:\/\/believeindustry.company\/roll-forming-machine\/steel-door-roll-forming-machine\/steel-door-frame-roll-forming-machine\/\",\"image\":\"https:\/\/believeindustry.company\/wp-content\/uploads\/2026\/05\/door-frame-roll-forming-machine.webp\",\"description\":\"Turns galvanized coil into a folding steel door frame on one line: miter notches, hinge slots and lock cutouts are punched before forming, so the frame folds at 90 degrees on site without a second operation.\",\"brand\":{\"@type\":\"Brand\",\"name\":\"Beli RollForming\"}}},\n    {\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"Product\",\"name\":\"Garage Door Roll Forming Machine\",\"url\":\"https:\/\/believeindustry.company\/roll-forming-machine\/steel-door-roll-forming-machine\/garage-door-roll-forming-machine\/\",\"image\":\"https:\/\/believeindustry.company\/wp-content\/uploads\/2018\/04\/garage-door-roll-forming-machine-e1523344274653.jpg\",\"description\":\"Forms garage door panels from 200 to 600 mm wide coil at 12 to 15 m\/min, with embossing and pattern punching in line, and an optional PU injection station for insulated composite panels.\",\"brand\":{\"@type\":\"Brand\",\"name\":\"Beli RollForming\"}}},\n    {\"@type\":\"ListItem\",\"position\":3,\"item\":{\"@type\":\"Product\",\"name\":\"Roller Shutter Door Track Roll Forming Machine\",\"url\":\"https:\/\/believeindustry.company\/roll-forming-machine\/steel-door-roll-forming-machine\/roller-shutter-door-track-roll-forming-machine\/\",\"image\":\"https:\/\/believeindustry.company\/wp-content\/uploads\/2018\/04\/door-track-roll-forming-machine-1-e1522828125688.jpg\",\"description\":\"Produces the guide track that carries a roller shutter or garage door up and down, in straight or curved sections from 0.8 to 1.5 mm galvanized or cold rolled strip, with assembly holes pre-punched.\",\"brand\":{\"@type\":\"Brand\",\"name\":\"Beli RollForming\"}}},\n    {\"@type\":\"ListItem\",\"position\":4,\"item\":{\"@type\":\"Product\",\"name\":\"Steel Rolling Shutter Slat Roll Forming Machine\",\"url\":\"https:\/\/believeindustry.company\/roll-forming-machine\/steel-door-roll-forming-machine\/steel-rolling-shutter-slat-roll-forming-machine\/\",\"image\":\"https:\/\/believeindustry.company\/wp-content\/uploads\/2018\/04\/steel-rolling-shutter-slat-roll-forming-machine.jpg\",\"description\":\"Rolls the horizontal slats that interlock into a roller shutter curtain, for warehouse, factory, kitchen and vehicle doors, with hollow, foam filled and PU insulated variants.\",\"brand\":{\"@type\":\"Brand\",\"name\":\"Beli RollForming\"}}}\n  ]\n}\n<\/script>\n\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [{\"@type\":\"Question\",\"name\":\"What does a steel door frame roll forming machine do?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"It takes flat galvanized coil and delivers a finished door frame profile that folds at the corners. Punches for the miter notch, the hinge slots, the strike plate and the mounting holes run in line before forming, so the installer folds rather than fabricates. A 22 station line at 15 to 20 m\/min produces roughly 6 to 8 frames a minute.\"}},\n    {\"@type\":\"Question\",\"name\":\"What coil thickness do door frame lines run?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Most steel door frame work runs 0.8 to 2.0 mm galvanized coil. The gauge is set by the fire rating and the wall type, not by the machine: a 1.2 mm frame is normal for a drywall partition and 1.6 to 2.0 mm for a masonry opening. Confirm the heaviest gauge you will sell before the roll design is fixed, because stands and shafts are sized on that number.\"}},\n    {\"@type\":\"Question\",\"name\":\"Can one line make several door frame sizes?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes, within the same profile family. Width changes are handled by adjusting the roll spacing and the cut off length, and the punch unit is programmed per size. A completely different profile section, for example a double rebate frame, needs its own roll set or a cassette change.\"}},\n    {\"@type\":\"Question\",\"name\":\"Do I need separate machines for the shutter track and the slat?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. They are two different products in the same door system. The track is an open channel, straight or curved, with pre-punched assembly holes. The slat is a closed interlocking section that has to hinge against the next slat, so the roll design and the tolerance stack are different. Buyers normally order both so the curtain and the guide come from one supplier.\"}},\n    {\"@type\":\"Question\",\"name\":\"What is an insulated garage door panel line?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"It is a panel line with a PU injection station after forming. A single skin panel is one formed sheet; a composite panel is two skins filled with polyurethane foam, which gives the door its insulation value and its rigidity. The forming section is the same, the difference is the foaming line, the press and the curing time.\"}},\n    {\"@type\":\"Question\",\"name\":\"Can the same machine family make window profiles?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. Window frames, sashes, mullions, sills and trim are roll formed on the same machine architecture as door frames. What changes is the section: window profiles are narrower in gauge, 0.5 to 1.5 mm, but wider across the face, up to about 250 mm, so the roll design and the shaft stiffness are tuned to that shape.\"}},\n    {\"@type\":\"Question\",\"name\":\"Steel or aluminum window profiles, which line do I need?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Both run on the same machine family, with different roll schedules. Steel uses 0.5 to 1.2 mm galvanized strip and forms with less springback. Aluminum alloys are softer and wider in section, so the rolls are polished differently and the pass schedule is gentler to avoid marking the surface. Tell us the alloy and temper, not just the thickness.\"}},\n    {\"@type\":\"Question\",\"name\":\"What do you need to quote a door or window line?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The section drawing with the fold or lock geometry, the material and coating you will actually buy, every size the line must cover, the punch pattern for hinges and locks, and the output you need per shift. With those five items we quote a configuration and a cycle time instead of a catalogue number.\"}}]\n}\n<\/script>\n<script>\n(function () {\n    'use strict';\n\n    var TAG_SLUG = 'door-lines';\n    var API_BASE = 'https:\/\/believeindustry.company\/wp-json\/wp\/v2';\n\n    var skeleton = document.getElementById('catSkeleton');\n    var grid     = document.getElementById('catGrid');\n    var countEl  = document.getElementById('catCount');\n    var errorEl  = document.getElementById('catError');\n    var retryBtn = document.getElementById('catRetry');\n    var emptyEl  = document.getElementById('catGridEmpty');\n    var input    = document.getElementById('catSearchInput');\n    var clearBtn = document.getElementById('catSearchClear');\n    var matchEl  = document.getElementById('catSearchMatch');\n\n    var total = document.querySelectorAll('#catGrid .cat-card').length;\n    var serverLinks = Array.prototype.map.call(\n        document.querySelectorAll('#catGrid .cat-card__title a'),\n        function (a) { return a.getAttribute('href'); }\n    );\n\n    function debounce(fn, ms) {\n        var timer;\n        return function () {\n            clearTimeout(timer);\n            timer = setTimeout(fn, ms);\n        };\n    }\n\n    function stripHtml(html) {\n        var tmp = document.createElement('div');\n        tmp.innerHTML = html;\n        return (tmp.textContent || '').trim();\n    }\n\n    function truncate(text, max) {\n        if (text.length <= max) return text;\n        return text.slice(0, max).replace(\/\\s+\\S*$\/, '') + '...';\n    }\n\n    function getBadge(title) {\n        var t = title.toLowerCase();\n        if (t.indexOf('frame') !== -1) return 'Door Frame';\n        if (t.indexOf('garage') !== -1) return 'Garage Door';\n        if (t.indexOf('track') !== -1) return 'Track';\n        if (t.indexOf('slat') !== -1) return 'Slat';\n        if (t.indexOf('window') !== -1) return 'Window';\n        return 'Machine';\n    }\n\n    function escapeHtml(str) {\n        var div = document.createElement('div');\n        div.textContent = str;\n        return div.innerHTML;\n    }\n\n    function escapeAttr(str) {\n        return escapeHtml(str).replace(\/\"\/g, '&quot;');\n    }\n\n    function fetchJSON(url, timeoutMs) {\n        return new Promise(function (resolve, reject) {\n            var controller = new AbortController();\n            var timer = setTimeout(function () {\n                controller.abort();\n                reject(new Error('Request timeout'));\n            }, timeoutMs || 10000);\n\n            fetch(url, { signal: controller.signal })\n                .then(function (res) {\n                    clearTimeout(timer);\n                    if (!res.ok) throw new Error('HTTP ' + res.status);\n                    return res.json();\n                })\n                .then(function (data) {\n                    clearTimeout(timer);\n                    resolve(data);\n                })\n                .catch(function (err) {\n                    clearTimeout(timer);\n                    reject(err);\n                });\n        });\n    }\n\n    function renderProducts(products) {\n        var html = '';\n\n        products.forEach(function (p) {\n            var badge   = getBadge(p.title);\n            var initial = escapeHtml(p.title.charAt(0) || '?');\n            var imgHtml, phHtml;\n\n            if (p.image) {\n                var base = p.image.split('?')[0];\n                var attr = escapeAttr(base);\n                imgHtml = '<img loading=\"lazy\" class=\"cat-card__img\" src=\"' + attr + '?w=800\" ' +\n                          'srcset=\"' + attr + '?w=400 400w, ' + attr + '?w=800 800w, ' + attr + '?w=1200 1200w\" ' +\n                          'sizes=\"(max-width: 768px) 100vw, 360px\" width=\"800\" height=\"600\" ' +\n                          'alt=\"' + escapeAttr(p.title) + '\" loading=\"lazy\" decoding=\"async\" ' +\n                          'onerror=\"this.style.display=\\'none\\';this.nextElementSibling.style.display=\\'flex\\';\">';\n                phHtml  = '<div class=\"cat-card__img-placeholder\" style=\"display:none\">' + initial + '<\/div>';\n            } else {\n                imgHtml = '';\n                phHtml  = '<div class=\"cat-card__img-placeholder\">' + initial + '<\/div>';\n            }\n\n            html += '' +\n                '<article class=\"cat-card\">' +\n                    '<a class=\"cat-card__img-link\" href=\"' + escapeAttr(p.link) + '\" tabindex=\"-1\" aria-hidden=\"true\">' +\n                        imgHtml + phHtml +\n                    '<\/a>' +\n                    '<div class=\"cat-card__body\">' +\n                        '<span class=\"cat-card__badge\">' + escapeHtml(badge) + '<\/span>' +\n                        '<h3 class=\"cat-card__title\"><a href=\"' + escapeAttr(p.link) + '\">' + escapeHtml(p.title) + '<\/a><\/h3>' +\n                        '<p class=\"cat-card__excerpt\">' + escapeHtml(p.excerpt) + '<\/p>' +\n                        '<a href=\"' + escapeAttr(p.link) + '\" class=\"cat-card__link\">View machine specs' +\n                            '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg>' +\n                        '<\/a>' +\n                    '<\/div>' +\n                '<\/article>';\n        });\n\n        html += document.getElementById('catGridEmpty').outerHTML;\n        html += document.getElementById('catError').outerHTML;\n\n        grid.innerHTML = html;\n\n        errorEl = document.getElementById('catError');\n        emptyEl = document.getElementById('catGridEmpty');\n    }\n\n    function sameProducts(a, b) {\n        if (!a || !b || a.length !== b.length) return false;\n        var la = a.slice().sort();\n        var lb = b.slice().sort();\n        for (var i = 0; i < la.length; i++) {\n            if (la[i] !== lb[i]) return false;\n        }\n        return true;\n    }\n\n    function bindSearch() {\n        function highlightText(node, keyword) {\n            if (!keyword || !node) return;\n            var text = node.textContent;\n            var idx  = text.toLowerCase().indexOf(keyword.toLowerCase());\n            if (idx === -1) return;\n            var before = text.slice(0, idx);\n            var match  = text.slice(idx, idx + keyword.length);\n            var after  = text.slice(idx + keyword.length);\n            node.innerHTML = '';\n            node.appendChild(document.createTextNode(before));\n            var mark = document.createElement('mark');\n            mark.textContent = match;\n            node.appendChild(mark);\n            node.appendChild(document.createTextNode(after));\n        }\n\n        function clearHighlights() {\n            grid.querySelectorAll('mark').forEach(function (m) {\n                m.outerHTML = m.textContent;\n            });\n        }\n\n        function doSearch() {\n            var cards   = grid.querySelectorAll('.cat-card');\n            var keyword = input.value.trim();\n            var kw      = keyword.toLowerCase();\n            var visible = 0;\n\n            clearBtn.classList.toggle('visible', keyword.length > 0);\n\n            if (!kw) {\n                cards.forEach(function (c) { c.style.display = ''; });\n                clearHighlights();\n                matchEl.innerHTML = '';\n                emptyEl.classList.remove('visible');\n                var em0 = countEl.querySelector('em');\n                if (em0) em0.textContent = total;\n                return;\n            }\n\n            cards.forEach(function (card) {\n                var title   = card.querySelector('.cat-card__title');\n                var excerpt = card.querySelector('.cat-card__excerpt');\n                var badge   = card.querySelector('.cat-card__badge');\n                var specs   = card.querySelector('.cat-card__specs');\n\n                var hay = [\n                    title   ? title.textContent : '',\n                    excerpt ? stripHtml(excerpt.innerHTML) : '',\n                    badge   ? badge.textContent : '',\n                    specs   ? specs.textContent : ''\n                ].join(' ').toLowerCase();\n\n                if (hay.indexOf(kw) !== -1) {\n                    card.style.display = '';\n                    visible++;\n                    clearHighlights();\n                    if (title)   highlightText(title.querySelector('a') || title, keyword);\n                    if (excerpt) highlightText(excerpt, keyword);\n                } else {\n                    card.style.display = 'none';\n                }\n            });\n\n            var em = countEl.querySelector('em');\n            if (em) em.textContent = visible;\n\n            if (visible === 0) {\n                matchEl.innerHTML = '<em>0<\/em> &nbsp;MATCHES, try another keyword';\n                emptyEl.classList.add('visible');\n            } else if (visible === total) {\n                matchEl.innerHTML = '<em>' + visible + '<\/em> &nbsp;MATCHES, all machines';\n            } else {\n                matchEl.innerHTML = '<em>' + visible + '<\/em> &nbsp;MATCHES found';\n            }\n\n            if (visible > 0) emptyEl.classList.remove('visible');\n        }\n\n        input.addEventListener('input', debounce(doSearch, 160));\n\n        clearBtn.addEventListener('click', function () {\n            input.value = '';\n            doSearch();\n            input.focus();\n        });\n\n        document.addEventListener('keydown', function (e) {\n            if (e.key === '\/' && document.activeElement !== input) {\n                var tag = (document.activeElement || {}).tagName || '';\n                if (tag === 'INPUT' || tag === 'TEXTAREA') return;\n                e.preventDefault();\n                input.focus();\n            }\n            if (e.key === 'Escape' && document.activeElement === input) {\n                input.blur();\n                if (input.value) { input.value = ''; doSearch(); }\n            }\n        });\n    }\n\n    function getTagId() {\n        return fetchJSON(API_BASE + '\/tags?slug=' + TAG_SLUG).then(function (tags) {\n            if (!tags || tags.length === 0) throw new Error('Tag not found: ' + TAG_SLUG);\n            return tags[0].id;\n        });\n    }\n\n    function getPosts(tagId) {\n        return fetchJSON(\n            API_BASE + '\/posts?tags=' + tagId +\n            '&per_page=100&_fields=id,title,link,excerpt,jetpack_featured_media_url'\n        ).then(function (posts) {\n            if (!posts || posts.length === 0) throw new Error('No posts found');\n            return posts.map(function (p) {\n                return {\n                    title:   stripHtml(p.title.rendered || ''),\n                    link:    p.link || '#',\n                    excerpt: truncate(stripHtml(p.excerpt.rendered || ''), 200),\n                    image:   (p.jetpack_featured_media_url || '').split('?')[0]\n                };\n            });\n        });\n    }\n\n    function showSkeleton() {\n        skeleton.style.display = 'grid';\n        grid.style.display = 'none';\n        countEl.innerHTML = '<span class=\"cat-loading-badge\"><span class=\"dot\"><\/span> Loading products...<\/span>';\n        input.disabled = true;\n    }\n\n    function hideSkeleton() {\n        skeleton.style.display = 'none';\n        grid.style.display = '';\n        input.disabled = false;\n    }\n\n    function showError() {\n        hideSkeleton();\n        if (errorEl) errorEl.classList.add('visible');\n        countEl.innerHTML = '<em style=\"color:#ef4444;\">Error<\/em>';\n    }\n\n    function loadProducts(manual) {\n        if (manual) {\n            showSkeleton();\n            if (errorEl) errorEl.classList.remove('visible');\n            if (emptyEl) emptyEl.classList.remove('visible');\n        }\n\n        getTagId()\n            .then(getPosts)\n            .then(function (products) {\n                var liveLinks = products.map(function (p) { return p.link; });\n                if (!sameProducts(liveLinks, serverLinks)) {\n                    renderProducts(products);\n                    serverLinks = liveLinks;\n                    total = products.length;\n                    countEl.innerHTML = '<em>' + total + '<\/em> &nbsp;Machines Available';\n                }\n                hideSkeleton();\n            })\n            .catch(function (err) {\n                console.warn('[Catalog] background refresh:', err && err.message);\n                if (manual) { showError(); } else { hideSkeleton(); }\n            });\n    }\n\n    if (retryBtn) {\n        retryBtn.addEventListener('click', function () { loadProducts(true); });\n    }\n\n    bindSearch();\n    loadProducts(false);\n\n})();\n<\/script>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-ba38ca0 e-flex e-con-boxed e-con e-parent\" data-id=\"ba38ca0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Product Catalog Door &amp; Window Roll Forming Machines Steel door frames that fold at the corner, insulated garage door panels, curved shutter tracks, interlocking shutter slats, and window frame profiles. Four lines, each built to your section drawing and run on test coil before shipment. Request a Quote Browse 4 Machine Types 4Machine types 0.8 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":22040,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"beli_elementor_import":"","beli_elementor_applied":"","_wpcom_ai_launchpad_about_page":false,"_wpcom_ai_launchpad_gallery_page":false,"_wpcom_ai_launchpad_contact_page":false,"_wpcom_ai_launchpad_events_page":false,"_wpcom_ai_launchpad_video_page":false,"_wpcom_ai_launchpad_portfolio_piece":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"footnotes":"","big_sky_generated":false},"tags":[],"class_list":["post-22033","page","type-page","status-publish","has-post-thumbnail","hentry"],"blocksy_meta":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/P9K5n8-5Jn","jetpack_likes_enabled":false,"jetpack-related-posts":[{"id":22047,"url":"https:\/\/believeindustry.company\/ms\/customized-profiles\/","url_meta":{"origin":22033,"position":0},"title":"profil tersuai","author":"Believe Industry Group","date":"April 12, 2026","format":false,"excerpt":"Product Catalog Customized Profile Roll Forming Machines Guardrail, barrier posts, silo panels, greenhouse sections, steel studs, cable tray, scaffold planks and embossing lines. Eleven machines built from your section drawing, not from a catalogue. Request a Quote Browse 11 Machine Types 11Machine types 0.2 - 5.0 mmCoil gauge up to\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"custom roll forming machine","src":"https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2018\/05\/custom-roll-forming-machine.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2018\/05\/custom-roll-forming-machine.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2018\/05\/custom-roll-forming-machine.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2018\/05\/custom-roll-forming-machine.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2018\/05\/custom-roll-forming-machine.jpg?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":22002,"url":"https:\/\/believeindustry.company\/ms\/energy-and-electric\/","url_meta":{"origin":22033,"position":1},"title":"Tenaga dan Elektrik","author":"Believe Industry Group","date":"April 12, 2026","format":false,"excerpt":"Energy & Electric Roll Forming Machines | Cable Tray, Strut, DIN Rail Product Catalog Energy & Electric Roll Forming Machines Cable tray, strut channel and DIN rail lines for electrical infrastructure \u2014 built to hold a standard rather than a drawing, with the hole pattern punched in line and the\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"engery and electric","src":"https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2026\/04\/engery-and-electric.webp?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2026\/04\/engery-and-electric.webp?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2026\/04\/engery-and-electric.webp?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2026\/04\/engery-and-electric.webp?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2026\/04\/engery-and-electric.webp?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2026\/04\/engery-and-electric.webp?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":21922,"url":"https:\/\/believeindustry.company\/ms\/construction-and-steel-structure\/","url_meta":{"origin":22033,"position":2},"title":"Pembinaan dan struktur keluli","author":"Believe Industry Group","date":"April 12, 2026","format":false,"excerpt":"Product Catalog Construction & Steel Structure Roll Forming Machines Purlins, roof and wall sheets, metal tiles, floor deck and light steel framing \u2014 25 roll forming lines built to your profile drawing, your steel grade and your target output per shift, then run on test coil before shipment. Request a\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"B Deck Roll Forming Machine","src":"https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2021\/08\/B-Deck-Roll-Forming-Machine.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2021\/08\/B-Deck-Roll-Forming-Machine.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2021\/08\/B-Deck-Roll-Forming-Machine.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2021\/08\/B-Deck-Roll-Forming-Machine.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":22021,"url":"https:\/\/believeindustry.company\/ms\/downspout-and-gutter\/","url_meta":{"origin":22033,"position":3},"title":"Salur dan talang air hujan","author":"Believe Industry Group","date":"April 12, 2026","format":false,"excerpt":"Product Catalog Downspout & Gutter Roll Forming Machines K-style, half round and industrial gutter, rectangular and round downpipes with matching elbows, and hydroponic hanging channels. Four lines built to your profile drawing and run on test coil before shipment. Request a Quote Browse 4 Machine Types 4Machine types 5 -\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"downspout and gutter","src":"https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2026\/04\/downspout-and-gutter.webp?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2026\/04\/downspout-and-gutter.webp?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2026\/04\/downspout-and-gutter.webp?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2026\/04\/downspout-and-gutter.webp?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2026\/04\/downspout-and-gutter.webp?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2026\/04\/downspout-and-gutter.webp?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":23163,"url":"https:\/\/believeindustry.company\/ms\/beli-blog\/","url_meta":{"origin":22033,"position":4},"title":"Blog Kami","author":"Believe Industry Group","date":"Jun 22, 2026","format":false,"excerpt":"Blog | Syarikat Believe Industry \u2014 Wawasan &amp; Panduan Mesin Pembentuk Gulungan Hab Pengetahuan Wawasan &amp; Panduan Pembentukan Gulungan Artikel pakar tentang mesin pembentukan gulungan sejuk, pembuatan profil logam, pemilihan peralatan dan amalan terbaik industri \u2014 daripada pasukan Believe Industry. \u2014 Artikel Diterbitkan \u2014 Kategori 15+ Tahun Pengalaman \u00d7\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":21970,"url":"https:\/\/believeindustry.company\/ms\/material-storage\/","url_meta":{"origin":22033,"position":5},"title":"Penyimpanan Material","author":"Believe Industry Group","date":"April 12, 2026","format":false,"excerpt":"Material Storage Roll Forming Machines | Pallet Racking Home \/ Roll Forming Machines \/ Material Storage Product Catalog Material Storage Roll Forming Machines Beli RollForming builds the production lines behind pallet racking and shelving systems: upright lines, step beam lines, box beam lines, bracing lines and shelf panel lines. Every\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"Automated Warehouse Racking Machinery","src":"https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2026\/03\/pallet-Racking-System.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2026\/03\/pallet-Racking-System.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2026\/03\/pallet-Racking-System.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2026\/03\/pallet-Racking-System.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2026\/03\/pallet-Racking-System.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/believeindustry.company\/wp-content\/uploads\/2026\/03\/pallet-Racking-System.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/believeindustry.company\/ms\/wp-json\/wp\/v2\/pages\/22033","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/believeindustry.company\/ms\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/believeindustry.company\/ms\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/believeindustry.company\/ms\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/believeindustry.company\/ms\/wp-json\/wp\/v2\/comments?post=22033"}],"version-history":[{"count":20,"href":"https:\/\/believeindustry.company\/ms\/wp-json\/wp\/v2\/pages\/22033\/revisions"}],"predecessor-version":[{"id":25216,"href":"https:\/\/believeindustry.company\/ms\/wp-json\/wp\/v2\/pages\/22033\/revisions\/25216"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/believeindustry.company\/ms\/wp-json\/wp\/v2\/media\/22040"}],"wp:attachment":[{"href":"https:\/\/believeindustry.company\/ms\/wp-json\/wp\/v2\/media?parent=22033"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/believeindustry.company\/ms\/wp-json\/wp\/v2\/tags?post=22033"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}