{"id":1830,"date":"2026-08-21T08:07:46","date_gmt":"2026-08-21T08:07:46","guid":{"rendered":"https:\/\/kurtfoundry.com\/?page_id=1830"},"modified":"2026-08-24T07:11:10","modified_gmt":"2026-08-24T07:11:10","slug":"material-grade-advisor-tool","status":"publish","type":"page","link":"https:\/\/kurtfoundry.com\/fr\/material-grade-advisor-tool\/","title":{"rendered":"Outil de conseil en grade de mat\u00e9riau"},"content":{"rendered":"\n<style>\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=Playfair+Display:wght@400;500;600;700&family=Open+Sans:wght@300;400;600&display=swap');\n\n  #kf-grade-advisor {\n    all: initial;\n    display: block;\n    width: 100%;\n    font-family: 'Open Sans', sans-serif;\n  }\n  #kf-grade-advisor *,\n  #kf-grade-advisor *::before,\n  #kf-grade-advisor *::after {\n    box-sizing: border-box;\n  }\n  #kf-grade-advisor {\n    --gs-primary-dark: #0a0e0d;\n    --gs-primary:      #2b3a36;\n    --gs-primary-light:#445851;\n    --gs-accent:       #d4af37;\n    --gs-bg-light:     #f9f8f4;\n    --gs-bg-white:     #ffffff;\n    --gs-bg-grey:      #f0efe9;\n    --gs-text-main:    #333333;\n    --gs-text-muted:   #666666;\n    --gs-text-light:   #e0e0e0;\n    --gs-border:       #e2dfd5;\n    --gs-transition:   all 0.4s cubic-bezier(0.25, 1, 0.5, 1);\n  }\n\n  #kf-grade-advisor .kf-ga-wrap { max-width: 100%; margin: 0 auto; }\n\n  #kf-grade-advisor h2, #kf-grade-advisor h3 { font-family: 'Playfair Display', serif; font-weight: 600; color: var(--gs-primary-dark); margin: 0; }\n  #kf-grade-advisor p { margin: 0; color: var(--gs-text-muted); }\n  #kf-grade-advisor .kf-ga-subtitle { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 3px; color: var(--gs-primary-light); font-weight: 600; display: block; margin-bottom: 0.8rem; }\n\n  #kf-grade-advisor .kf-ga-header { text-align: center; margin-bottom: 3rem; }\n  #kf-grade-advisor .kf-ga-header h2 { font-size: 2.4rem; line-height: 1.2; margin-bottom: 1rem; }\n  #kf-grade-advisor .kf-ga-header p { font-size: 1.02rem; max-width: 700px; margin: 0 auto; line-height: 1.7; }\n  #kf-grade-advisor .kf-ga-header-link-row { margin-top: 1.1rem; }\n\n  #kf-grade-advisor .kf-ga-wizard {\n    background: linear-gradient(135deg, #182220 0%, var(--gs-primary) 100%);\n    border-radius: 0;\n    padding: 3rem max(3rem, calc((100% - 1400px) \/ 2)) 2.6rem;\n    color: var(--gs-bg-white);\n  }\n  #kf-grade-advisor .kf-ga-progress { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 2rem; flex-wrap: wrap; }\n  #kf-grade-advisor .kf-ga-progress-left { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }\n  #kf-grade-advisor .kf-ga-step-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 1.5px; color: var(--gs-accent); font-weight: 600; }\n  #kf-grade-advisor .kf-ga-dots { display: flex; gap: 10px; }\n  #kf-grade-advisor .kf-ga-dot {\n    all: unset; cursor: default; box-sizing: border-box;\n    width: 30px; height: 30px; border-radius: 50%;\n    background: #1b2621; border: 2px solid rgba(212,175,55,0.4);\n    color: rgba(212,175,55,0.6);\n    display: flex; align-items: center; justify-content: center;\n    font-family: 'Playfair Display', serif; font-weight: 700; font-size: 0.8rem;\n    transition: var(--gs-transition);\n    flex-shrink: 0;\n  }\n  #kf-grade-advisor .kf-ga-dot.is-done,\n  #kf-grade-advisor .kf-ga-dot.is-active { background: var(--gs-accent); border-color: var(--gs-accent); color: var(--gs-primary-dark); }\n  #kf-grade-advisor .kf-ga-dot.is-clickable { cursor: pointer; }\n  #kf-grade-advisor .kf-ga-dot.is-clickable:hover { border-color: var(--gs-accent); transform: translateY(-1px); }\n\n  #kf-grade-advisor .kf-ga-back-link {\n    all: unset; cursor: pointer; font-size: 0.95rem; font-weight: 700;\n    color: rgba(255,255,255,0.9); background: rgba(255,255,255,0.08);\n    border: 1px solid rgba(255,255,255,0.3); border-radius: 6px;\n    padding: 10px 18px; display: inline-flex; align-items: center; gap: 8px;\n    transition: var(--gs-transition);\n  }\n  #kf-grade-advisor .kf-ga-back-link:hover { color: var(--gs-accent); background: rgba(255,255,255,0.16); border-color: var(--gs-accent); }\n\n  #kf-grade-advisor .kf-ga-question { font-family: 'Playfair Display', serif; font-weight: 500; font-size: 1.5rem; color: var(--gs-bg-white); margin-bottom: 1.3rem; }\n  #kf-grade-advisor .kf-ga-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 1.4rem; }\n  #kf-grade-advisor .kf-ga-option {\n    all: unset; cursor: pointer; display: block;\n    background: rgba(255,255,255,0.04);\n    border: 1px solid rgba(212,175,55,0.28);\n    border-radius: 3px;\n    padding: 1.1rem 1.3rem;\n    transition: var(--gs-transition);\n  }\n  #kf-grade-advisor .kf-ga-option:hover { border-color: var(--gs-accent); transform: translateY(-2px); }\n  #kf-grade-advisor .kf-ga-option:focus-visible { outline: 2px solid var(--gs-accent); outline-offset: 2px; }\n  #kf-grade-advisor .kf-ga-option.is-selected { background: rgba(212,175,55,0.12); border-color: var(--gs-accent); }\n  #kf-grade-advisor .kf-ga-option-title { font-family: 'Open Sans', sans-serif; font-weight: 600; font-size: 0.98rem; color: var(--gs-bg-white); margin-bottom: 4px; }\n  #kf-grade-advisor .kf-ga-option-desc { font-size: 0.85rem; line-height: 1.5; color: var(--gs-text-light); opacity: 0.75; }\n\n  #kf-grade-advisor .kf-ga-nav-row { display: flex; justify-content: flex-start; margin-bottom: 1.6rem; min-height: 20px; }\n\n  #kf-grade-advisor .kf-ga-bars-label { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 1.5px; color: var(--gs-text-light); opacity: 0.6; margin-bottom: 1rem; }\n  #kf-grade-advisor .kf-ga-bar-group { margin-bottom: 12px; }\n  #kf-grade-advisor .kf-ga-bar-group-label { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 1.2px; color: var(--gs-accent); opacity: 0.85; margin-bottom: 6px; }\n  #kf-grade-advisor .kf-ga-bar-row { display: grid; grid-template-columns: 100px 1fr 38px; align-items: center; gap: 10px; margin-bottom: 5px; }\n  #kf-grade-advisor .kf-ga-bar-name { font-size: 0.73rem; font-weight: 600; color: var(--gs-text-light); opacity: 0.7; }\n  #kf-grade-advisor .kf-ga-bar-track { height: 5px; background: rgba(255,255,255,0.1); border-radius: 4px; overflow: hidden; }\n  #kf-grade-advisor .kf-ga-bar-fill { height: 100%; width: 0%; background: var(--gs-accent); border-radius: 4px; transition: width 0.5s ease; }\n  #kf-grade-advisor .kf-ga-bar-pct { font-size: 0.73rem; color: var(--gs-text-light); opacity: 0.7; text-align: right; }\n  #kf-grade-advisor .kf-ga-bar-row.is-leader .kf-ga-bar-name,\n  #kf-grade-advisor .kf-ga-bar-row.is-leader .kf-ga-bar-pct { color: var(--gs-accent); opacity: 1; }\n\n  #kf-grade-advisor .kf-ga-result {\n    display: none;\n    background: var(--gs-bg-white);\n    border: 1px solid var(--gs-border);\n    border-top: none;\n    padding: 3rem max(3rem, calc((100% - 1400px) \/ 2));\n  }\n  #kf-grade-advisor .kf-ga-result.is-visible { display: block; }\n  #kf-grade-advisor .kf-ga-result-name { font-size: 1.9rem; margin: 0.4rem 0 0.7rem; color: var(--gs-primary); }\n  #kf-grade-advisor .kf-ga-result-rationale { font-size: 1rem; line-height: 1.75; max-width: 700px; margin-bottom: 2rem; }\n\n  #kf-grade-advisor .kf-ga-table-responsive { width: 100%; overflow-x: auto; background: var(--gs-bg-white); border: 1px solid var(--gs-border); box-shadow: 0 10px 30px rgba(0,0,0,0.03); margin-bottom: 1.8rem; }\n  #kf-grade-advisor .kf-ga-table { width: 100%; border-collapse: collapse; text-align: left; }\n  #kf-grade-advisor .kf-ga-table th, #kf-grade-advisor .kf-ga-table td { padding: 0.9rem 1.2rem; border-bottom: 1px solid var(--gs-border); font-size: 0.86rem; }\n  #kf-grade-advisor .kf-ga-table th { background: var(--gs-primary-dark); color: var(--gs-bg-white); font-weight: 600; font-family: 'Playfair Display', serif; letter-spacing: 0.3px; white-space: nowrap; }\n  #kf-grade-advisor .kf-ga-table td { color: var(--gs-text-main); }\n  #kf-grade-advisor .kf-ga-table tr:last-child td { border-bottom: none; }\n  #kf-grade-advisor .kf-ga-table tr:hover td { background: var(--gs-bg-light); }\n  #kf-grade-advisor .kf-ga-table .kf-ga-spec-key { color: var(--gs-text-muted); width: 40%; }\n  #kf-grade-advisor .kf-ga-table .kf-ga-spec-val { font-weight: 600; color: var(--gs-primary); }\n  #kf-grade-advisor .kf-ga-table tr.is-winner td { background: #faf5e6; }\n  #kf-grade-advisor .kf-ga-table td.kf-ga-grade-name { font-weight: 600; color: var(--gs-primary); }\n  #kf-grade-advisor .kf-ga-table td.kf-ga-family { color: var(--gs-text-muted); font-size: 0.76rem; text-transform: uppercase; letter-spacing: 0.4px; }\n  #kf-grade-advisor .kf-ga-table tr.kf-ga-family-start td { border-top: 2px solid var(--gs-border); }\n\n  #kf-grade-advisor .kf-ga-cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 1.6rem; margin-bottom: 1.6rem; }\n  #kf-grade-advisor .kf-ga-btn {\n    all: unset; cursor: pointer; display: inline-flex; align-items: center; justify-content: center;\n    padding: 1rem 2.4rem; font-family: 'Open Sans', sans-serif; font-size: 0.85rem;\n    text-transform: uppercase; letter-spacing: 1.5px; font-weight: 600;\n    border-radius: 2px; border: 1px solid transparent; transition: var(--gs-transition);\n  }\n  #kf-grade-advisor .kf-ga-btn-dark { background: var(--gs-primary); color: var(--gs-bg-white); border-color: var(--gs-primary); }\n  #kf-grade-advisor .kf-ga-btn-dark:hover { background: var(--gs-primary-dark); border-color: var(--gs-primary-dark); transform: translateY(-2px); box-shadow: 0 8px 15px rgba(0,0,0,0.1); }\n  #kf-grade-advisor .kf-ga-btn-dark:focus-visible { outline: 2px solid var(--gs-accent); outline-offset: 2px; }\n  #kf-grade-advisor .kf-ga-text-link { all: unset; cursor: pointer; font-size: 0.85rem; font-weight: 600; color: var(--gs-text-muted); border-bottom: 1px solid var(--gs-border); padding-bottom: 2px; }\n  #kf-grade-advisor .kf-ga-text-link:hover { color: var(--gs-primary); border-color: var(--gs-primary-light); }\n\n  #kf-grade-advisor .kf-ga-trust { display: flex; flex-wrap: wrap; gap: 0.5rem; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.5px; color: var(--gs-text-muted); padding-top: 1.4rem; border-top: 1px solid var(--gs-border); margin-bottom: 1.8rem; }\n  #kf-grade-advisor .kf-ga-trust span.kf-ga-dotsep { color: var(--gs-accent); margin: 0 0.3rem; }\n\n  #kf-grade-advisor .kf-ga-note { font-size: 0.82rem; line-height: 1.6; color: var(--gs-text-muted); background: var(--gs-bg-light); border-left: 3px solid var(--gs-primary-light); padding: 0.9rem 1.1rem; margin-bottom: 1.4rem; }\n  #kf-grade-advisor .kf-ga-note .kf-ga-text-link { border-color: var(--gs-primary-light); }\n\n  #kf-grade-advisor .kf-ga-compare-toggle {\n    all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: 6px;\n    font-size: 0.85rem; font-weight: 600; color: var(--gs-primary);\n    border-bottom: 1px solid var(--gs-primary-light); padding-bottom: 2px; margin-bottom: 1.2rem;\n  }\n  #kf-grade-advisor .kf-ga-compare-toggle .kf-ga-caret { display: inline-block; transition: transform 0.2s ease; font-size: 0.7rem; }\n  #kf-grade-advisor .kf-ga-compare-toggle.is-open .kf-ga-caret { transform: rotate(180deg); }\n  #kf-grade-advisor .kf-ga-compare-wrap { display: none; }\n  #kf-grade-advisor .kf-ga-compare-wrap.is-open { display: block; }\n\n  @media (max-width: 720px) {\n    #kf-grade-advisor .kf-ga-wizard, #kf-grade-advisor .kf-ga-result { padding: 2rem 1.4rem; }\n    #kf-grade-advisor .kf-ga-header h2 { font-size: 1.9rem; }\n    #kf-grade-advisor .kf-ga-options { grid-template-columns: 1fr; }\n    #kf-grade-advisor .kf-ga-bar-row { grid-template-columns: 84px 1fr 32px; }\n    #kf-grade-advisor .kf-ga-table-responsive { overflow-x: auto; }\n    #kf-grade-advisor .kf-ga-table { min-width: 760px; }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    #kf-grade-advisor * { transition: none !important; }\n  }\n\n  .kf-ga-modal-overlay {\n    display: none;\n    position: fixed;\n    inset: 0;\n    background: rgba(10, 14, 13, 0.72);\n    z-index: 9999;\n    align-items: center;\n    justify-content: center;\n    padding: 24px;\n  }\n  .kf-ga-modal-overlay.active { display: flex; }\n  body.kf-modal-open { overflow: hidden; }\n  .kf-ga-modal-box {\n    background: #ffffff;\n    border-radius: 8px;\n    max-width: 560px;\n    width: 100%;\n    max-height: 88vh;\n    overflow-y: auto;\n    padding: 2.4rem;\n    position: relative;\n    box-shadow: 0 20px 60px rgba(0,0,0,0.35);\n  }\n  .kf-ga-modal-close {\n    all: unset;\n    position: absolute;\n    top: 16px;\n    right: 20px;\n    font-size: 1.8rem;\n    line-height: 1;\n    cursor: pointer;\n    color: var(--gs-text-muted);\n  }\n  .kf-ga-modal-close:hover { color: var(--gs-primary); }\n  .kf-ga-modal-title {\n    font-family: 'Playfair Display', serif;\n    font-size: 1.6rem;\n    margin: 0 0 0.6rem;\n    color: var(--gs-primary);\n  }\n  .kf-ga-modal-sub {\n    font-size: 0.92rem;\n    color: var(--gs-text-muted);\n    margin: 0 0 1.4rem;\n  }\n<\/style>\n\n<div id=\"kf-grade-advisor\">\n  <div class=\"kf-ga-wrap\">\n\n    <div class=\"kf-ga-header\">\n      <span class=\"kf-ga-subtitle\">Material Selection<\/span>\n      <h2>Find Your Casting Material &amp; Grade in Under a Minute<\/h2>\n      <p>Answer four quick questions in plain terms \u2014 no engineering background needed. We&#8217;ll match your part to a grey iron, ductile iron, carbon steel, or stainless steel grade, based on real mechanical property data. You can go back and change any answer.<\/p>\n      <div class=\"kf-ga-header-link-row\">\n        <button class=\"kf-ga-text-link\" id=\"kf-ga-header-spec-link\">Don&#8217;t See Your Grade? Send Us Your Spec \u2192<\/button>\n      <\/div>\n    <\/div>\n\n    <div class=\"kf-ga-wizard\">\n      <div class=\"kf-ga-progress\">\n        <div class=\"kf-ga-progress-left\">\n          <span class=\"kf-ga-step-label\" id=\"kf-ga-step-label\">Step 1 of 4<\/span>\n          <div class=\"kf-ga-dots\" id=\"kf-ga-dots\"><\/div>\n        <\/div>\n      <\/div>\n\n      <div id=\"kf-ga-question-mount\"><\/div>\n      <div class=\"kf-ga-nav-row\" id=\"kf-ga-nav-row\"><\/div>\n\n      <p class=\"kf-ga-bars-label\">Current match<\/p>\n      <div id=\"kf-ga-bars-mount\"><\/div>\n    <\/div>\n\n    <div class=\"kf-ga-result\" id=\"kf-ga-result\">\n      <span class=\"kf-ga-subtitle\" style=\"color: var(--gs-accent);\">Recommended Material &amp; Grade<\/span>\n      <h3 class=\"kf-ga-result-name\" id=\"kf-ga-result-name\">\u2014<\/h3>\n      <p class=\"kf-ga-result-rationale\" id=\"kf-ga-result-rationale\"><\/p>\n\n      <div class=\"kf-ga-table-responsive\">\n        <table class=\"kf-ga-table\">\n          <tbody id=\"kf-ga-spec-body\"><\/tbody>\n        <\/table>\n      <\/div>\n\n      <div class=\"kf-ga-cta-row\">\n        <button class=\"kf-ga-btn kf-ga-btn-dark js-quote-btn\" id=\"kf-ga-cta\">Request Quote for This Grade<\/button>\n        <button class=\"kf-ga-text-link\" id=\"kf-ga-edit\">\u2190 Back to Change an Answer<\/button>\n        <button class=\"kf-ga-text-link\" id=\"kf-ga-restart\">Start Over<\/button>\n      <\/div>\n\n      <div class=\"kf-ga-trust\">\n        <span>ISO 9001:2015 Certified<\/span><span class=\"kf-ga-dotsep\">\u00b7<\/span>\n        <span>DDP Shipping to North America &amp; Europe<\/span><span class=\"kf-ga-dotsep\">\u00b7<\/span>\n        <span>48-Hr DFM Quote Turnaround<\/span>\n      <\/div>\n\n      <p class=\"kf-ga-note\">This is a starting recommendation, not a final spec. A foundry engineer confirms grade, tolerance, and castability against your drawing before tooling is cut.<\/p>\n\n      <button class=\"kf-ga-compare-toggle\" id=\"kf-ga-compare-toggle\">\n        <span class=\"kf-ga-caret\">\u25be<\/span> Compare all 12 grades\n      <\/button>\n      <div class=\"kf-ga-table-responsive kf-ga-compare-wrap\" id=\"kf-ga-compare-wrap\">\n        <table class=\"kf-ga-table\">\n          <thead>\n            <tr><th>Family<\/th><th>Grade<\/th><th>Standard<\/th><th>Tensile<\/th><th>Yield<\/th><th>Elongation<\/th><th>Damping<\/th><th>Best For<\/th><\/tr>\n          <\/thead>\n          <tbody id=\"kf-ga-compare-body\"><\/tbody>\n        <\/table>\n      <\/div>\n\n      <div class=\"kf-ga-note\" style=\"margin-bottom: 0;\">\n        Working with a different standard, alloy, or a grade not shown here? <button class=\"kf-ga-text-link\" id=\"kf-ga-footer-spec-link\">Send Us Your Spec \u2192<\/button>\n      <\/div>\n    <\/div>\n\n  <\/div>\n<\/div>\n\n<div class=\"kf-ga-modal-overlay\" id=\"quoteModalOverlay\">\n  <div class=\"kf-ga-modal-box\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"kf-ga-modal-title\">\n    <button type=\"button\" class=\"kf-ga-modal-close\" id=\"kf-ga-modal-close\" aria-label=\"Close\">&times;<\/button>\n    <h3 id=\"kf-ga-modal-title\" class=\"kf-ga-modal-title\">Send Us Your Spec<\/h3>\n    <p class=\"kf-ga-modal-sub\">Tell us the grade, standard, or application details and our engineering team will follow up directly.<\/p>\n    <div class=\"kf-ga-modal-form\">\n      <style id=\"wpforms-css-vars-1838\">\n\t\t\t\t#wpforms-1838 {\n\t\t\t\t--wpforms-container-padding: 0px;\n--wpforms-container-border-width: 1px;\n--wpforms-container-border-radius: 3px;\n--wpforms-background-color: rgba(0, 0, 0, 0);\n--wpforms-field-size-input-height: 43px;\n--wpforms-field-size-input-spacing: 15px;\n--wpforms-field-size-font-size: 16px;\n--wpforms-field-size-line-height: 19px;\n--wpforms-field-size-padding-h: 14px;\n--wpforms-field-size-checkbox-size: 16px;\n--wpforms-field-size-sublabel-spacing: 5px;\n--wpforms-field-size-icon-size: 1;\n--wpforms-label-size-font-size: 16px;\n--wpforms-label-size-line-height: 19px;\n--wpforms-label-size-sublabel-font-size: 14px;\n--wpforms-label-size-sublabel-line-height: 17px;\n--wpforms-button-size-font-size: 17px;\n--wpforms-button-size-height: 41px;\n--wpforms-button-size-padding-h: 15px;\n--wpforms-button-size-margin-top: 10px;\n--wpforms-container-shadow-size-box-shadow: none;\n\t\t\t}\n\t\t\t<\/style><div class=\"wpforms-container wpforms-container-full wpforms-render-modern\" id=\"wpforms-1838\"><form id=\"wpforms-form-1838\" class=\"wpforms-validate wpforms-form wpforms-ajax-form\" data-formid=\"1838\" method=\"post\" enctype=\"multipart\/form-data\" action=\"\/fr\/wp-json\/wp\/v2\/pages\/1830\" data-token=\"4dabc0a9b6b1e44dce59b8bc668f77bc\" data-token-time=\"1788425881\"><noscript class=\"wpforms-error-noscript\">Veuillez activer JavaScript dans votre navigateur pour remplir ce formulaire.<\/noscript><div id=\"wpforms-error-noscript\" style=\"display: none;\">Veuillez activer JavaScript dans votre navigateur pour remplir ce formulaire.<\/div><div class=\"wpforms-field-container\">\t\t<div id=\"wpforms-1838-field_4-container\"\n\t\t\tclass=\"wpforms-field wpforms-field-text\"\n\t\t\tdata-field-type=\"text\"\n\t\t\tdata-field-id=\"4\"\n\t\t\t>\n\t\t\t<label class=\"wpforms-field-label\" for=\"wpforms-1838-field_4\" >Name Message Email<\/label>\n\t\t\t<input type=\"text\" id=\"wpforms-1838-field_4\" class=\"wpforms-field-medium\" name=\"wpforms[fields][4]\" >\n\t\t<\/div>\n\t\t<div id=\"wpforms-1838-field_1-container\" class=\"wpforms-field wpforms-field-name\" data-field-id=\"1\"><fieldset><legend class=\"wpforms-field-label\">Name <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/legend><div class=\"wpforms-field-row wpforms-field-medium\"><div class=\"wpforms-field-row-block wpforms-first wpforms-one-half\"><input type=\"text\" id=\"wpforms-1838-field_1\" class=\"wpforms-field-name-first wpforms-field-required\" name=\"wpforms[fields][1][first]\" aria-errormessage=\"wpforms-1838-field_1-error\" required><label for=\"wpforms-1838-field_1\" class=\"wpforms-field-sublabel after\">Pr\u00e9nom<\/label><\/div><div class=\"wpforms-field-row-block wpforms-one-half\"><input type=\"text\" id=\"wpforms-1838-field_1-last\" class=\"wpforms-field-name-last wpforms-field-required\" name=\"wpforms[fields][1][last]\" aria-errormessage=\"wpforms-1838-field_1-last-error\" required><label for=\"wpforms-1838-field_1-last\" class=\"wpforms-field-sublabel after\">Nom<\/label><\/div><\/div><\/fieldset><\/div><div id=\"wpforms-1838-field_2-container\" class=\"wpforms-field wpforms-field-email\" data-field-id=\"2\"><label class=\"wpforms-field-label\" for=\"wpforms-1838-field_2\">Email <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><input type=\"email\" id=\"wpforms-1838-field_2\" class=\"wpforms-field-medium wpforms-field-required\" name=\"wpforms[fields][2]\" spellcheck=\"false\" aria-errormessage=\"wpforms-1838-field_2-error\" required><\/div><div id=\"wpforms-1838-field_3-container\" class=\"wpforms-field wpforms-field-textarea\" data-field-id=\"3\"><label class=\"wpforms-field-label\" for=\"wpforms-1838-field_3\">Your Spec \/ Message <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><textarea id=\"wpforms-1838-field_3\" class=\"wpforms-field-medium wpforms-field-required\" name=\"wpforms[fields][3]\" aria-errormessage=\"wpforms-1838-field_3-error\" required><\/textarea><\/div><script>\n\t\t\t\t( function() {\n\t\t\t\t\tconst style = document.createElement( 'style' );\n\t\t\t\t\tstyle.appendChild( document.createTextNode( '#wpforms-1838-field_4-container { position: absolute !important; overflow: hidden !important; display: inline !important; height: 1px !important; width: 1px !important; z-index: -1000 !important; padding: 0 !important; } #wpforms-1838-field_4-container input { visibility: hidden; } #wpforms-conversational-form-page #wpforms-1838-field_4-container label { counter-increment: none; }' ) );\n\t\t\t\t\tdocument.head.appendChild( style );\n\t\t\t\t\tdocument.currentScript?.remove();\n\t\t\t\t} )();\n\t\t\t<\/script><\/div><!-- .wpforms-field-container --><div class=\"wpforms-submit-container\" ><input type=\"hidden\" name=\"wpforms[id]\" value=\"1838\"><input type=\"hidden\" name=\"page_title\" value=\"\"><input type=\"hidden\" name=\"page_url\" value=\"https:\/\/kurtfoundry.com\/fr\/wp-json\/wp\/v2\/pages\/1830\"><input type=\"hidden\" name=\"url_referer\" value=\"\"><button type=\"submit\" name=\"wpforms[submit]\" id=\"wpforms-submit-1838\" class=\"wpforms-submit\" data-alt-text=\"Sending...\" data-submit-text=\"Submit\" aria-live=\"assertive\" value=\"wpforms-submit\">Submit<\/button><img decoding=\"async\" src=\"https:\/\/kurtfoundry.com\/wp-content\/plugins\/wpforms-lite\/assets\/images\/submit-spin.svg\" class=\"wpforms-submit-spinner\" style=\"display: none;\" width=\"26\" height=\"26\" alt=\"Chargement en cours\" title=\"\"><\/div><\/form><\/div>  <!-- .wpforms-container -->\n    <\/div>\n  <\/div>\n<\/div>\n\n<script data-no-optimize=\"1\">\n(function(){\n  var root = document.getElementById('kf-grade-advisor');\n  if (!root) return;\n\n  var GRADES = {\n    ht200: {\n      family: 'Grey Iron', short: 'Class 30', name: 'Grey Iron', standard: 'ASTM A48 Class 30',\n      tensile: '30 ksi (207 MPa) min', yield: 'Not applicable (brittle failure)', elongation: '~0%',\n      damping: 'Excellent', weightRange: '1 \u2013 300 kg',\n      applications: 'General machine bases, brackets, housings, lower-load enclosures',\n      rationale: 'Class 30 is our entry-level grey iron grade \u2014 strong vibration damping and easy machining at the lowest cost of the three grey iron grades. It suits parts under light to moderate static load.'\n    },\n    ht250: {\n      family: 'Grey Iron', short: 'Class 35', name: 'Grey Iron', standard: 'ASTM A48 Class 35',\n      tensile: '35 ksi (241 MPa) min', yield: 'Not applicable (brittle failure)', elongation: '~0%',\n      damping: 'Very good', weightRange: '5 \u2013 600 kg',\n      applications: 'Engine blocks, gearbox housings, valve bodies, general industrial castings',\n      rationale: 'Class 35 is our most commonly ordered grey iron grade \u2014 a step up in strength from Class 30 while keeping most of its damping. It\\u2019s the default choice for mid-duty static and lightly cyclic parts.'\n    },\n    ht300: {\n      family: 'Grey Iron', short: 'Class 40', name: 'Grey Iron', standard: 'ASTM A48 Class 40',\n      tensile: '40 ksi (276 MPa) min', yield: 'Not applicable (brittle failure)', elongation: '~0%',\n      damping: 'Good', weightRange: '10 \u2013 800 kg',\n      applications: 'High-strength machine tool beds, high-pressure valve bodies, heavy-duty static parts',\n      rationale: 'Class 40 pushes grey iron to its practical strength ceiling with a finer, more pearlitic structure. Damping is still good, though a little below Class 30\/Class 35, in exchange for meaningfully higher load capacity.'\n    },\n    qt45010: {\n      family: 'Ductile Iron', short: '65-45-12', name: 'Ductile Iron', standard: 'ASTM A536 65-45-12',\n      tensile: '65 ksi (450 MPa) min', yield: '45 ksi (310 MPa) min', elongation: '12% min',\n      damping: 'Moderate', weightRange: '1 \u2013 300 kg',\n      applications: 'Pipe fittings, agricultural parts, structural components needing high toughness',\n      rationale: '65-45-12 has the highest elongation of our three ductile iron grades, making it the most forgiving under shock or impact loading. It trades some peak strength for that flexibility.'\n    },\n    qt5007: {\n      family: 'Ductile Iron', short: '80-55-06', name: 'Ductile Iron', standard: 'ASTM A536 80-55-06',\n      tensile: '80 ksi (550 MPa) min', yield: '55 ksi (380 MPa) min', elongation: '6% min',\n      damping: 'Fair', weightRange: '5 \u2013 500 kg',\n      applications: 'Gearbox housings, crankshafts, automotive and general machinery components',\n      rationale: '80-55-06 is the balanced, most commonly ordered ductile iron grade \u2014 enough strength for structural and rotating parts while keeping useful ductility for cyclic loads.'\n    },\n    qt6003: {\n      family: 'Ductile Iron', short: '100-70-03', name: 'Ductile Iron', standard: 'ASTM A536 100-70-03',\n      tensile: '100 ksi (690 MPa) min', yield: '70 ksi (483 MPa) min', elongation: '3% min',\n      damping: 'Low-Fair', weightRange: '10 \u2013 800 kg',\n      applications: 'Heavy gears, camshafts, high-strength structural parts under steady load',\n      rationale: '100-70-03 is our highest-strength ductile iron grade, at the cost of the lowest elongation of the three. It suits parts under high, steady load more than sudden shock.'\n    },\n    zg230450: {\n      family: 'Carbon Steel', short: 'WCB', name: 'Carbon Steel', standard: 'ASTM A216 WCB',\n      tensile: '70 ksi (485 MPa) min', yield: '36 ksi (250 MPa) min', elongation: '22% min',\n      damping: 'Low', weightRange: '5 \u2013 800 kg',\n      applications: 'General structural parts, pump and valve components needing good plasticity and weldability',\n      rationale: 'WCB is our standard, most commonly ordered carbon steel grade \u2014 good ductility and weldability \u2014 a good fit when a part needs to flex under load or be repaired by welding.'\n    },\n    zg270500: {\n      family: 'Carbon Steel', short: 'WCC', name: 'Carbon Steel', standard: 'ASTM A216 WCC',\n      tensile: '70 ksi (485 MPa) min', yield: '40 ksi (275 MPa) min', elongation: '22% min',\n      damping: 'Low', weightRange: '10 \u2013 1000 kg',\n      applications: 'Heavy machinery frames, mining and construction equipment, high-strength structural castings',\n      rationale: 'WCC offers a higher minimum yield strength than WCB with the same weldability, making it the pick for heavy structural castings and shock-loaded equipment where a higher strength margin matters more than iron\\u2019s damping or stainless\\u2019s corrosion resistance.'\n    },\n    ss304: {\n      family: 'Stainless Steel', short: 'CF8', name: 'Stainless Steel', standard: 'ASTM A743 CF8 (wrought equiv. 304)',\n      tensile: '485 MPa min', yield: '205 MPa min', elongation: '35% min',\n      damping: 'Low', weightRange: '1 \u2013 300 kg',\n      applications: 'Food and beverage equipment, pharma components, general washdown environments',\n      rationale: 'CF8 is our standard corrosion-resistant grade \u2014 good resistance to rust and mild chemical attack at a lower cost than CF8M. If this part will be welded, ask about the CF3 variant to avoid weld-zone corrosion.'\n    },\n    ss316: {\n      family: 'Stainless Steel', short: 'CF8M', name: 'Stainless Steel', standard: 'ASTM A743 CF8M (wrought equiv. 316)',\n      tensile: '485 MPa min', yield: '205 MPa min', elongation: '30% min',\n      damping: 'Low', weightRange: '1 \u2013 300 kg',\n      applications: 'Marine hardware, chemical processing, offshore and high-chloride environments',\n      rationale: 'CF8M adds molybdenum for meaningfully better chloride and chemical resistance than CF8. It\\u2019s the standard choice for marine or process environments. If this part will be welded, ask about the CF3M variant.'\n    },\n    ss304l: {\n      family: 'Stainless Steel', short: 'CF3', name: 'Stainless Steel', standard: 'ASTM A743 CF3 (wrought equiv. 304L)',\n      tensile: '450 MPa min', yield: '170 MPa min', elongation: '35% min',\n      damping: 'Low', weightRange: '1 \u2013 300 kg',\n      applications: 'Welded food-grade and pharma assemblies needing maximum corrosion resistance after welding',\n      rationale: 'CF3 is the low-carbon version of CF8 \u2014 nearly identical corrosion resistance with a slight strength trade-off, but it resists carbide precipitation at weld joints. Specify it whenever the part will be welded.'\n    },\n    ss316l: {\n      family: 'Stainless Steel', short: 'CF3M', name: 'Stainless Steel', standard: 'ASTM A743 CF3M (wrought equiv. 316L)',\n      tensile: '450 MPa min', yield: '170 MPa min', elongation: '30% min',\n      damping: 'Low', weightRange: '1 \u2013 300 kg',\n      applications: 'Welded marine and chemical-processing assemblies needing maximum long-term corrosion resistance',\n      rationale: 'CF3M pairs CF8M\\u2019s chloride resistance with the low-carbon chemistry needed to keep weld joints from corroding over time. It\\u2019s the safest default for welded assemblies in aggressive environments.'\n    }\n  };\n  var ORDER = ['ht200','ht250','ht300','qt45010','qt5007','qt6003','zg230450','zg270500','ss304','ss316','ss304l','ss316l'];\n  var FAMILIES = [\n    { label: 'Grey Iron (ASTM A48)', ids: ['ht200','ht250','ht300'] },\n    { label: 'Ductile Iron (ASTM A536)', ids: ['qt45010','qt5007','qt6003'] },\n    { label: 'Carbon Steel (ASTM A216)', ids: ['zg230450','zg270500'] },\n    { label: 'Stainless Steel (ASTM A743)', ids: ['ss304','ss316','ss304l','ss316l'] }\n  ];\n\n  function pts(map){\n    var o = {};\n    ORDER.forEach(function(id){ o[id] = map[id] || 0; });\n    return o;\n  }\n\n  var QUESTIONS = [\n    {\n      prompt: 'Will this part be exposed to moisture, chemicals, or the outdoors?',\n      options: [\n        { title: 'No \u2014 used indoors', desc: 'Normal, dry industrial environment', points: pts({ht200:2,ht250:2,ht300:2,qt45010:2,qt5007:2,qt6003:2,zg230450:2,zg270500:2}) },\n        { title: 'Outdoors, but just weather', desc: 'Rain, sun, temperature swings \u2014 e.g. generator sets, farm or construction equipment. Usually painted iron or steel, not stainless.', points: pts({ht200:1,ht250:2,ht300:1,qt45010:1,qt5007:1,zg230450:2,zg270500:2}) },\n        { title: 'Indoor humidity or washdown', desc: 'Cleaning cycles or occasional moisture, but not outdoor weather', points: pts({zg230450:1,ss304:4,ss304l:4,ss316:1,ss316l:1}) },\n        { title: 'Constant chemicals, saltwater, or food-grade hygiene', desc: 'Marine, chemical plants, or food\/pharma equipment needing stainless', points: pts({ss304:1,ss304l:1,ss316:5,ss316l:5}) }\n      ]\n    },\n    {\n      prompt: 'Which best describes how this part is used?',\n      options: [\n        { title: 'It sits still and carries weight', desc: 'A base, frame, bracket, or enclosure that doesn\\u2019t move', points: pts({ht200:3,ht250:3,ht300:2,zg230450:1,ss304:1,ss304l:1}) },\n        { title: 'It moves or spins during normal operation', desc: 'A gear, shaft, flywheel, or part under repeated motion', points: pts({qt45010:2,qt5007:3,qt6003:1,zg230450:1,zg270500:1,ht300:1,ss316:1,ss316l:1}) },\n        { title: 'It could take a sudden hit or overload', desc: 'Heavy equipment, mining, construction, or rough handling', points: pts({qt45010:2,zg230450:2,zg270500:3,ss316:1,ss316l:1}) }\n      ]\n    },\n    {\n      prompt: 'Is keeping the unit cost down a top priority?',\n      options: [\n        { title: 'Yes \u2014 this is a high-volume, price-sensitive part', desc: 'Cost per piece matters more than extra performance', points: pts({ht200:3,ht250:2,qt45010:1,zg230450:1}) },\n        { title: 'No \u2014 performance matters more than cost', desc: 'Lower volume, or this part is critical to how the machine runs', points: pts({qt6003:1,zg270500:1,ss316:1,ss316l:1}) }\n      ]\n    },\n    {\n      prompt: 'About how much does one piece weigh?',\n      options: [\n        { title: 'Under 50 kg', desc: 'Small brackets, housings, or precision parts', points: pts({ht200:1,qt45010:1,zg230450:1,ss304:1,ss304l:1,ss316:1,ss316l:1}) },\n        { title: '50 \u2013 300 kg', desc: 'Mid-size housings or structural parts', points: pts({ht250:1,qt5007:1,qt6003:1,zg230450:1,zg270500:1,ss304:1,ss316:1}) },\n        { title: '300 \u2013 1000 kg', desc: 'Large frames or heavy structural castings', points: pts({ht250:1,ht300:1,qt5007:1,qt6003:1,zg270500:2,zg230450:1}) }\n      ]\n    }\n  ];\n\n  var scores = {}; ORDER.forEach(function(id){ scores[id] = 0; });\n  var answers = {};\n  var step = 0;\n  var maxReached = 0;\n\n  var qMount = root.querySelector('#kf-ga-question-mount');\n  var navMount = root.querySelector('#kf-ga-nav-row');\n  var barsMount = root.querySelector('#kf-ga-bars-mount');\n  var stepLabel = root.querySelector('#kf-ga-step-label');\n  var dotsMount = root.querySelector('#kf-ga-dots');\n  var resultPanel = root.querySelector('#kf-ga-result');\n  var resultName = root.querySelector('#kf-ga-result-name');\n  var resultRationale = root.querySelector('#kf-ga-result-rationale');\n  var specBody = root.querySelector('#kf-ga-spec-body');\n  var ctaBtn = root.querySelector('#kf-ga-cta');\n  var editBtn = root.querySelector('#kf-ga-edit');\n  var restartBtn = root.querySelector('#kf-ga-restart');\n  var compareToggle = root.querySelector('#kf-ga-compare-toggle');\n  var compareWrap = root.querySelector('#kf-ga-compare-wrap');\n  var compareBody = root.querySelector('#kf-ga-compare-body');\n  var headerSpecLink = root.querySelector('#kf-ga-header-spec-link');\n  var footerSpecLink = root.querySelector('#kf-ga-footer-spec-link');\n\n  \/\/ Opens the site's own quote modal if present on the page,\n  \/\/ otherwise falls back to a pre-filled mailto. Shared by the\n  \/\/ main CTA and both \"send us your spec\" links.\n  function openQuoteRequest(subject, body){\n    var overlay = document.getElementById('quoteModalOverlay');\n    if (overlay) {\n      overlay.classList.add('active');\n      document.body.classList.add('kf-modal-open');\n      var msgField = overlay.querySelector('textarea[name=\"wpforms[fields][3]\"]');\n      if (msgField && !msgField.value) { msgField.value = body; }\n      return;\n    }\n    window.location.href = 'mailto:info@kurtfoundry.com?subject=' + encodeURIComponent(subject) + '&body=' + encodeURIComponent(body);\n  }\n\n  function recomputeScores(){\n    ORDER.forEach(function(id){ scores[id] = 0; });\n    Object.keys(answers).forEach(function(qIdx){\n      var opt = QUESTIONS[qIdx].options[answers[qIdx]];\n      ORDER.forEach(function(id){ scores[id] += opt.points[id] || 0; });\n    });\n  }\n\n  function renderDots(){\n    var html = '';\n    QUESTIONS.forEach(function(q, i){\n      html += '<button class=\"kf-ga-dot\" type=\"button\" data-dot=\"' + i + '\">' + (i+1) + '<\/button>';\n    });\n    dotsMount.innerHTML = html;\n    Array.prototype.forEach.call(dotsMount.querySelectorAll('.kf-ga-dot'), function(dot){\n      dot.addEventListener('click', function(){\n        var i = parseInt(dot.getAttribute('data-dot'), 10);\n        if (i <= maxReached) goToStep(i);\n      });\n    });\n  }\n\n  function updateDots(){\n    var dots = dotsMount.querySelectorAll('.kf-ga-dot');\n    dots.forEach(function(d, i){\n      d.classList.toggle('is-done', i < step || answers[i] !== undefined);\n      d.classList.toggle('is-active', !(i !== step || resultPanel.classList.contains('is-visible')));\n      d.classList.toggle('is-clickable', i <= maxReached);\n    });\n  }\n\n  function goToStep(i){\n    step = i;\n    resultPanel.classList.remove('is-visible');\n    renderQuestion();\n    root.querySelector('.kf-ga-wizard').scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n  }\n\n  function renderQuestion(){\n    var q = QUESTIONS[step];\n    stepLabel.textContent = 'Step ' + (step+1) + ' of ' + QUESTIONS.length;\n    updateDots();\n\n    var html = '<p class=\"kf-ga-question\">' + q.prompt + '<\/p><div class=\"kf-ga-options\" role=\"radiogroup\">';\n    q.options.forEach(function(opt, i){\n      var selected = answers[step] === i;\n      html += '<button class=\"kf-ga-option' + (selected ? ' is-selected' : '') + '\" type=\"button\" data-idx=\"' + i + '\" role=\"radio\" aria-checked=\"' + (selected ? 'true' : 'false') + '\">' +\n        '<p class=\"kf-ga-option-title\">' + opt.title + '<\/p>' +\n        '<p class=\"kf-ga-option-desc\">' + opt.desc + '<\/p><\/button>';\n    });\n    html += '<\/div>';\n    qMount.innerHTML = html;\n\n    Array.prototype.forEach.call(qMount.querySelectorAll('.kf-ga-option'), function(btn){\n      btn.addEventListener('click', function(){\n        var idx = parseInt(btn.getAttribute('data-idx'), 10);\n        selectOption(idx, btn);\n      });\n    });\n\n    navMount.innerHTML = step > 0\n      ? '<button class=\"kf-ga-back-link\" id=\"kf-ga-back-btn\">\u2190 Back<\/button>'\n      : '';\n    var backBtn = navMount.querySelector('#kf-ga-back-btn');\n    if (backBtn) backBtn.addEventListener('click', function(){ goToStep(step - 1); });\n\n    renderBars();\n  }\n\n  function selectOption(idx, btn){\n    Array.prototype.forEach.call(qMount.querySelectorAll('.kf-ga-option'), function(b){\n      b.classList.remove('is-selected');\n      b.setAttribute('aria-checked', 'false');\n    });\n    btn.classList.add('is-selected');\n    btn.setAttribute('aria-checked', 'true');\n\n    answers[step] = idx;\n    recomputeScores();\n    renderBars();\n    if (step > maxReached) maxReached = step;\n    updateDots();\n\n    window.setTimeout(function(){\n      if (step < QUESTIONS.length - 1) {\n        step++;\n        if (step > maxReached) maxReached = step;\n        renderQuestion();\n      } else {\n        showResult();\n      }\n    }, 320);\n  }\n\n  function renderBars(){\n    var leader = Math.max.apply(null, ORDER.map(function(id){ return scores[id]; }));\n    var html = '';\n    FAMILIES.forEach(function(fam){\n      html += '<div class=\"kf-ga-bar-group\"><p class=\"kf-ga-bar-group-label\">' + fam.label + '<\/p>';\n      fam.ids.forEach(function(id){\n        var g = GRADES[id];\n        var pct = leader > 0 ? Math.round((scores[id] \/ leader) * 100) : 0;\n        var isLeader = leader > 0 && scores[id] === leader;\n        html += '<div class=\"kf-ga-bar-row' + (isLeader ? ' is-leader' : '') + '\">' +\n          '<span class=\"kf-ga-bar-name\">' + g.short + '<\/span>' +\n          '<span class=\"kf-ga-bar-track\"><span class=\"kf-ga-bar-fill\" style=\"width:' + pct + '%\"><\/span><\/span>' +\n          '<span class=\"kf-ga-bar-pct\">' + pct + '%<\/span><\/div>';\n      });\n      html += '<\/div>';\n    });\n    barsMount.innerHTML = html;\n  }\n\n  function pickWinner(){\n    var best = ORDER[0];\n    ORDER.forEach(function(id){ if (scores[id] > scores[best]) best = id; });\n    return best;\n  }\n\n  function showResult(){\n    stepLabel.textContent = 'Result';\n    updateDots();\n\n    var winnerId = pickWinner();\n    var g = GRADES[winnerId];\n\n    resultName.textContent = g.name + ' \u2014 ' + g.standard;\n    resultRationale.textContent = g.rationale;\n\n    specBody.innerHTML =\n      specRow('Tensile strength', g.tensile) +\n      specRow('Yield strength', g.yield) +\n      specRow('Elongation', g.elongation) +\n      specRow('Vibration damping', g.damping) +\n      specRow('Typical part weight', g.weightRange) +\n      specRow('Typical applications', g.applications);\n\n    resultPanel.classList.add('is-visible');\n    resultPanel.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n  }\n\n  function specRow(key, val){\n    return '<tr><td class=\"kf-ga-spec-key\">' + key + '<\/td><td class=\"kf-ga-spec-val\">' + val + '<\/td><\/tr>';\n  }\n\n  function buildCompareTable(){\n    var html = '';\n    FAMILIES.forEach(function(fam){\n      fam.ids.forEach(function(id, i){\n        var g = GRADES[id];\n        html += '<tr id=\"kf-ga-row-' + id + '\"' + (i === 0 ? ' class=\"kf-ga-family-start\"' : '') + '>' +\n          '<td class=\"kf-ga-family\">' + g.family + '<\/td>' +\n          '<td class=\"kf-ga-grade-name\">' + g.short + '<\/td>' +\n          '<td>' + g.standard + '<\/td>' +\n          '<td>' + g.tensile + '<\/td>' +\n          '<td>' + g.yield + '<\/td>' +\n          '<td>' + g.elongation + '<\/td>' +\n          '<td>' + g.damping + '<\/td>' +\n          '<td>' + g.applications + '<\/td><\/tr>';\n      });\n    });\n    compareBody.innerHTML = html;\n  }\n\n  compareToggle.addEventListener('click', function(){\n    var open = compareWrap.classList.toggle('is-open');\n    compareToggle.classList.toggle('is-open', open);\n    Array.prototype.forEach.call(compareBody.querySelectorAll('tr'), function(tr){ tr.classList.remove('is-winner'); });\n    if (resultPanel.classList.contains('is-visible')) {\n      var row = compareBody.querySelector('#kf-ga-row-' + pickWinner());\n      if (row) row.classList.add('is-winner');\n    }\n  });\n\n  editBtn.addEventListener('click', function(){\n    goToStep(QUESTIONS.length - 1);\n  });\n\n  restartBtn.addEventListener('click', function(){\n    ORDER.forEach(function(id){ scores[id] = 0; });\n    answers = {};\n    step = 0;\n    maxReached = 0;\n    resultPanel.classList.remove('is-visible');\n    barsMount.innerHTML = '';\n    renderQuestion();\n    root.scrollIntoView({ behavior: 'smooth', block: 'start' });\n  });\n\n  ctaBtn.addEventListener('click', function(e){\n    e.preventDefault();\n    var g = GRADES[pickWinner()];\n    var subject = 'RFQ \u2014 ' + g.name + ' (' + g.standard + ')';\n    var body = 'Grade of interest: ' + g.standard + '\\nRecommended via Material Grade Advisor.\\n\\nPlease attach your drawing or describe your part below:\\n';\n    openQuoteRequest(subject, body);\n  });\n\n  headerSpecLink.addEventListener('click', function(e){\n    e.preventDefault();\n    openQuoteRequest('RFQ \u2014 Custom Grade Inquiry', 'Our required grade isn\\u2019t listed in your Material Grade Advisor.\\n\\nGrade or standard: \\nApplication: \\nPart weight: \\n\\nPlease find our drawing or spec attached \/ described below:\\n');\n  });\n  footerSpecLink.addEventListener('click', function(e){\n    e.preventDefault();\n    openQuoteRequest('RFQ \u2014 Custom Grade Inquiry', 'Our required grade isn\\u2019t listed in your Material Grade Advisor.\\n\\nGrade or standard: \\nApplication: \\nPart weight: \\n\\nPlease find our drawing or spec attached \/ described below:\\n');\n  });\n\n  renderDots();\n  buildCompareTable();\n  renderQuestion();\n})();\n\n  (function () {\n    var quoteModalOverlay = document.getElementById('quoteModalOverlay');\n    if (!quoteModalOverlay) return;\n    var quoteModalClose = document.getElementById('kf-ga-modal-close');\n    function closeQuoteModal() {\n      quoteModalOverlay.classList.remove('active');\n      document.body.classList.remove('kf-modal-open');\n    }\n    if (quoteModalClose) {\n      quoteModalClose.addEventListener('click', closeQuoteModal);\n    }\n    quoteModalOverlay.addEventListener('click', function (e) {\n      if (e.target === quoteModalOverlay) closeQuoteModal();\n    });\n    document.addEventListener('keydown', function (e) {\n      if (e.key === 'Escape' && quoteModalOverlay.classList.contains('active')) closeQuoteModal();\n    });\n  })();\n<\/script>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Material Selection Find Your Casting Material &amp; Grade in Under a Minute Answer four quick questions in plain terms \u2014 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"disabled","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-1830","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/kurtfoundry.com\/fr\/wp-json\/wp\/v2\/pages\/1830","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kurtfoundry.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/kurtfoundry.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/kurtfoundry.com\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/kurtfoundry.com\/fr\/wp-json\/wp\/v2\/comments?post=1830"}],"version-history":[{"count":10,"href":"https:\/\/kurtfoundry.com\/fr\/wp-json\/wp\/v2\/pages\/1830\/revisions"}],"predecessor-version":[{"id":1872,"href":"https:\/\/kurtfoundry.com\/fr\/wp-json\/wp\/v2\/pages\/1830\/revisions\/1872"}],"wp:attachment":[{"href":"https:\/\/kurtfoundry.com\/fr\/wp-json\/wp\/v2\/media?parent=1830"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}