{"id":742,"date":"2026-07-30T09:21:41","date_gmt":"2026-07-30T01:21:41","guid":{"rendered":"https:\/\/luminvolt.com\/"},"modified":"2026-08-19T11:39:18","modified_gmt":"2026-08-19T03:39:18","slug":"solar-mounting-structural-load-calculator","status":"publish","type":"page","link":"https:\/\/luminvolt.com\/zh\/solar-mounting-structural-load-calculator\/","title":{"rendered":"Solar Mounting Structural Load Calculator"},"content":{"rendered":"\n<style>\n  body.page-id-742 #right-sidebar {\n    display: none !important;\n  }\n\n  body.page-id-742 #primary {\n    float: none !important;\n    width: 100% !important;\n  }\n\n  body.page-id-742 #page.site {\n    max-width: none !important;\n  }\n\n  body.page-id-742 .site-content {\n    display: block !important;\n    padding: 0 !important;\n  }\n\n  body.page-id-742 .site-main {\n    margin: 0 !important;\n  }\n\n  body.page-id-742 .inside-article {\n    padding: 0 !important;\n    background: transparent !important;\n  }\n\n  body.page-id-742 .entry-content {\n    margin: 0 !important;\n  }\n\n  .slc {\n    --slc-ink: #10251f;\n    --slc-ink-soft: #1b3b31;\n    --slc-green: #16815d;\n    --slc-green-dark: #0d6749;\n    --slc-green-bright: #39b98a;\n    --slc-mint: #e8f5ef;\n    --slc-mint-strong: #d6eee4;\n    --slc-sand: #f3f5f0;\n    --slc-white: #fff;\n    --slc-text: #51635d;\n    --slc-line: #d9e4df;\n    --slc-danger: #a44334;\n    --slc-warning: #9b6725;\n    color: var(--slc-ink);\n    font-family: inherit;\n    line-height: 1.6;\n  }\n\n  .slc,\n  .slc * {\n    box-sizing: border-box;\n  }\n\n  .slc [hidden] {\n    display: none !important;\n  }\n\n  .slc .slc-wrap {\n    width: min(100% - 40px, 1240px);\n    margin: 0 auto;\n  }\n\n  .slc h1,\n  .slc h2,\n  .slc h3,\n  .slc h4,\n  .slc p {\n    margin-top: 0;\n  }\n\n  .slc h1,\n  .slc h2,\n  .slc h3,\n  .slc h4 {\n    color: var(--slc-ink);\n    font-weight: 760;\n    letter-spacing: -0.025em;\n    line-height: 1.12;\n  }\n\n  .slc h1 {\n    max-width: 780px;\n    margin-bottom: 22px;\n    color: #fff;\n    font-size: clamp(40px, 6vw, 68px);\n  }\n\n  .slc h2 {\n    margin-bottom: 16px;\n    font-size: clamp(30px, 4vw, 46px);\n  }\n\n  .slc h3 {\n    margin-bottom: 12px;\n    font-size: 22px;\n  }\n\n  .slc h4 {\n    margin-bottom: 0;\n    font-size: 16px;\n  }\n\n  .slc p {\n    color: var(--slc-text);\n  }\n\n  .slc .slc-eyebrow {\n    display: inline-flex;\n    align-items: center;\n    gap: 10px;\n    margin-bottom: 18px;\n    color: #78dfb9;\n    font-size: 12px;\n    font-weight: 850;\n    letter-spacing: 0.15em;\n    text-transform: uppercase;\n  }\n\n  .slc .slc-eyebrow::before {\n    width: 28px;\n    height: 2px;\n    background: currentColor;\n    content: \"\";\n  }\n\n  .slc .slc-hero {\n    position: relative;\n    isolation: isolate;\n    overflow: hidden;\n    padding: clamp(70px, 9vw, 112px) 0;\n    background:\n      radial-gradient(circle at 82% 18%, rgba(57, 185, 138, 0.2), transparent 27%),\n      linear-gradient(135deg, #0d251e 0%, #12392e 58%, #0c2b21 100%);\n  }\n\n  .slc .slc-hero::after {\n    position: absolute;\n    z-index: -1;\n    inset: 0;\n    background-image:\n      linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),\n      linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);\n    background-size: 60px 60px;\n    content: \"\";\n    mask-image: linear-gradient(to right, #000, transparent 92%);\n  }\n\n  .slc .slc-hero-grid {\n    display: grid;\n    grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.55fr);\n    gap: clamp(42px, 7vw, 96px);\n    align-items: center;\n  }\n\n  .slc .slc-hero-lead {\n    max-width: 720px;\n    margin-bottom: 26px;\n    color: rgba(255, 255, 255, 0.72);\n    font-size: clamp(17px, 2vw, 21px);\n  }\n\n  .slc .slc-hero-actions,\n  .slc .slc-guide-actions {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 12px;\n  }\n\n  .slc .slc-button {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 10px;\n    min-height: 54px;\n    padding: 14px 24px;\n    border: 1px solid rgba(255, 255, 255, 0.35);\n    border-radius: 8px;\n    background: #39b98a;\n    color: #ffffff;\n    font-size: 15px;\n    font-weight: 800;\n    text-decoration: none;\n    transition: transform 180ms ease, background-color 180ms ease;\n  }\n\n  .slc .slc-button::after {\n    content: \"\\2197\";\n    font-size: 18px;\n    line-height: 1;\n  }\n\n  .slc .slc-button:hover {\n    background: #10251f;\n    color: #ffffff;\n    transform: translateY(-2px);\n  }\n\n  .slc .slc-button--ghost {\n    border-color: rgba(255, 255, 255, 0.28);\n    background: rgba(255, 255, 255, 0.06);\n    color: #fff;\n  }\n\n  .slc .slc-button--ghost::after {\n    content: \"\\2193\";\n  }\n\n  .slc .slc-button--ghost:hover {\n    border-color: rgba(255, 255, 255, 0.28);\n    background: rgba(255, 255, 255, 0.12);\n    color: #fff;\n  }\n\n  .slc .slc-hero-panel {\n    display: grid;\n    gap: 1px;\n    overflow: hidden;\n    border: 1px solid rgba(255, 255, 255, 0.14);\n    border-radius: 8px;\n    background: rgba(255, 255, 255, 0.14);\n  }\n\n  .slc .slc-hero-panel div {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 20px;\n    min-height: 62px;\n    padding: 14px 18px;\n    background: rgba(7, 32, 24, 0.76);\n  }\n\n  .slc .slc-hero-panel span {\n    color: rgba(255, 255, 255, 0.58);\n    font-size: 11px;\n    font-weight: 800;\n    letter-spacing: 0.1em;\n    text-transform: uppercase;\n  }\n\n  .slc .slc-hero-panel strong {\n    color: #fff;\n    font-size: 14px;\n    text-align: right;\n  }\n\n  .slc .slc-hero-visual {\n    position: relative;\n    min-height: 330px;\n    overflow: hidden;\n    padding: 22px;\n    border: 1px solid rgba(255, 255, 255, 0.16);\n    border-radius: 8px;\n    background:\n      linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02)),\n      rgba(7, 32, 24, 0.72);\n    box-shadow: none;\n  }\n\n  .slc .slc-visual-head,\n  .slc .slc-visual-metrics {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 16px;\n  }\n\n  .slc .slc-visual-head {\n    position: relative;\n    z-index: 2;\n  }\n\n  .slc .slc-visual-head span {\n    color: rgba(255, 255, 255, 0.55);\n    font-size: 10px;\n    font-weight: 850;\n    letter-spacing: 0.12em;\n    text-transform: uppercase;\n  }\n\n  .slc .slc-visual-head strong {\n    display: inline-flex;\n    align-items: center;\n    gap: 7px;\n    color: #fff;\n    font-size: 12px;\n  }\n\n  .slc .slc-visual-head strong::before {\n    width: 7px;\n    height: 7px;\n    border-radius: 50%;\n    background: #58d5a6;\n    box-shadow: 0 0 0 4px rgba(88, 213, 166, 0.12);\n    content: \"\";\n  }\n\n  .slc .slc-panel-diagram {\n    position: relative;\n    height: 195px;\n    margin: 9px 0 4px;\n  }\n\n  .slc .slc-panel-array {\n    position: absolute;\n    top: 54px;\n    left: 50%;\n    display: grid;\n    grid-template-columns: repeat(3, 52px);\n    grid-template-rows: repeat(2, 39px);\n    gap: 4px;\n    padding: 7px;\n    border: 1px solid rgba(120, 223, 185, 0.5);\n    background: #173e34;\n    box-shadow: none;\n    transform: translateX(-50%) skewY(-8deg);\n  }\n\n  .slc .slc-panel-array span {\n    border: 1px solid rgba(120, 223, 185, 0.28);\n    background:\n      linear-gradient(rgba(120, 223, 185, 0.08) 1px, transparent 1px),\n      linear-gradient(90deg, rgba(120, 223, 185, 0.08) 1px, transparent 1px),\n      linear-gradient(145deg, #164d40, #0e3028);\n    background-size: 12px 12px;\n  }\n\n  .slc .slc-panel-diagram::before,\n  .slc .slc-panel-diagram::after {\n    position: absolute;\n    left: 50%;\n    background: rgba(120, 223, 185, 0.55);\n    content: \"\";\n  }\n\n  .slc .slc-panel-diagram::before {\n    top: 137px;\n    width: 2px;\n    height: 34px;\n  }\n\n  .slc .slc-panel-diagram::after {\n    top: 169px;\n    width: 128px;\n    height: 2px;\n    transform: translateX(-50%);\n  }\n\n  .slc .slc-load-arrow {\n    position: absolute;\n    z-index: 2;\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    color: rgba(255, 255, 255, 0.62);\n    font-size: 9px;\n    font-weight: 820;\n    letter-spacing: 0.09em;\n    text-transform: uppercase;\n  }\n\n  .slc .slc-load-arrow::after {\n    width: 30px;\n    height: 1px;\n    background: #78dfb9;\n    clip-path: polygon(0 0, 78% 0, 78% -3px, 100% 50%, 78% calc(100% + 3px), 78% 100%, 0 100%);\n    content: \"\";\n  }\n\n  .slc .slc-load-arrow--wind {\n    top: 101px;\n    left: 2px;\n  }\n\n  .slc .slc-load-arrow--snow {\n    top: 20px;\n    right: 21px;\n    flex-direction: row-reverse;\n    transform: rotate(90deg);\n    transform-origin: right center;\n  }\n\n  .slc .slc-visual-metrics {\n    position: relative;\n    z-index: 2;\n    padding-top: 15px;\n    border-top: 1px solid rgba(255, 255, 255, 0.11);\n  }\n\n  .slc .slc-visual-metrics div {\n    min-width: 0;\n  }\n\n  .slc .slc-visual-metrics span,\n  .slc .slc-visual-metrics strong {\n    display: block;\n  }\n\n  .slc .slc-visual-metrics span {\n    margin-bottom: 3px;\n    color: rgba(255, 255, 255, 0.44);\n    font-size: 9px;\n    font-weight: 800;\n    letter-spacing: 0.08em;\n    text-transform: uppercase;\n  }\n\n  .slc .slc-visual-metrics strong {\n    color: #fff;\n    font-size: 13px;\n  }\n\n  .slc .slc-tool {\n    padding: clamp(62px, 8vw, 96px) 0;\n    background: #f7faf8;\n  }\n\n  .slc .slc-intro {\n    display: grid;\n    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.62fr);\n    gap: 36px;\n    align-items: end;\n    margin-bottom: 32px;\n  }\n\n  .slc .slc-intro p {\n    max-width: 520px;\n    margin-bottom: 0;\n    justify-self: end;\n  }\n\n  .slc .slc-mode-tabs {\n    display: inline-grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 4px;\n    width: min(100%, 620px);\n    margin-bottom: 18px;\n    padding: 4px;\n    border: 1px solid var(--slc-line);\n    border-radius: 8px;\n    background: #e9f0ed;\n  }\n\n  .slc .slc-mode-tab {\n    min-height: 48px;\n    padding: 10px 18px;\n    border: 0;\n    border-radius: 6px;\n    background: transparent;\n    color: var(--slc-text);\n    cursor: pointer;\n    font: inherit;\n    font-size: 14px;\n    font-weight: 760;\n  }\n\n  .slc .slc-mode-tab[aria-selected=\"true\"] {\n    background: #fff;\n    color: var(--slc-green-dark);\n    box-shadow: 0 4px 16px rgba(16, 37, 31, 0.1);\n  }\n\n  .slc .slc-calculator {\n    display: grid;\n    grid-template-columns: minmax(360px, 0.86fr) minmax(0, 1.14fr);\n    overflow: hidden;\n    border: 1px solid var(--slc-line);\n    border-radius: 8px;\n    background: var(--slc-line);\n    box-shadow: none;\n  }\n\n  .slc .slc-inputs,\n  .slc .slc-results {\n    min-width: 0;\n    padding: clamp(24px, 3.4vw, 42px);\n  }\n\n  .slc .slc-inputs {\n    border-right: 1px solid var(--slc-line);\n    background: #fbfcfb;\n  }\n\n  .slc .slc-results {\n    background:\n      radial-gradient(circle at 100% 0, rgba(57, 185, 138, 0.11), transparent 28%),\n      linear-gradient(180deg, rgba(232, 245, 239, 0.8), rgba(255, 255, 255, 0) 360px),\n      #fff;\n  }\n\n  .slc .slc-panel-head {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 18px;\n    margin-bottom: 24px;\n    padding-bottom: 17px;\n    border-bottom: 1px solid var(--slc-line);\n  }\n\n  .slc .slc-panel-head h3,\n  .slc .slc-panel-head p {\n    margin-bottom: 0;\n  }\n\n  .slc .slc-panel-head p {\n    font-size: 13px;\n  }\n\n  .slc .slc-live-badge {\n    display: inline-flex;\n    flex: none;\n    align-items: center;\n    gap: 7px;\n    padding: 7px 10px;\n    border: 1px solid #bfe2d4;\n    border-radius: 6px;\n    background: rgba(255, 255, 255, 0.78);\n    color: var(--slc-green-dark);\n    font-size: 10px;\n    font-weight: 850;\n    letter-spacing: 0.08em;\n    text-transform: uppercase;\n  }\n\n  .slc .slc-live-badge::before {\n    width: 6px;\n    height: 6px;\n    border-radius: 50%;\n    background: var(--slc-green);\n    box-shadow: 0 0 0 3px rgba(22, 129, 93, 0.1);\n    content: \"\";\n  }\n\n  .slc .slc-reset {\n    flex: none;\n    padding: 8px 11px;\n    border: 1px solid var(--slc-line);\n    border-radius: 6px;\n    background: #fff;\n    color: var(--slc-green-dark);\n    cursor: pointer;\n    font: inherit;\n    font-size: 12px;\n    font-weight: 760;\n  }\n\n  .slc .slc-group {\n    counter-increment: slc-group;\n    margin-bottom: 12px;\n    border: 1px solid var(--slc-line);\n    border-radius: 8px;\n    background: #fff;\n    box-shadow: none;\n  }\n\n  .slc .slc-group:last-child {\n    margin-bottom: 0;\n  }\n\n  .slc .slc-group summary {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 16px;\n    min-height: 52px;\n    padding: 13px 16px;\n    color: var(--slc-ink);\n    cursor: pointer;\n    font-size: 14px;\n    font-weight: 780;\n    list-style: none;\n  }\n\n  .slc .slc-inputs {\n    counter-reset: slc-group;\n  }\n\n  .slc .slc-group summary > span:first-child {\n    display: inline-flex;\n    align-items: center;\n    gap: 10px;\n  }\n\n  .slc .slc-group summary > span:first-child::before {\n    display: inline-flex;\n    flex: 0 0 25px;\n    align-items: center;\n    justify-content: center;\n    width: 25px;\n    height: 25px;\n    border-radius: 6px;\n    background: var(--slc-mint);\n    color: var(--slc-green-dark);\n    content: counter(slc-group, decimal-leading-zero);\n    font-size: 9px;\n    font-weight: 900;\n    letter-spacing: 0.04em;\n  }\n\n  .slc .slc-group summary::-webkit-details-marker {\n    display: none;\n  }\n\n  .slc .slc-group-icon {\n    position: relative;\n    display: inline-flex;\n    flex: 0 0 24px;\n    align-items: center;\n    justify-content: center;\n    width: 24px;\n    height: 24px;\n    border-radius: 50%;\n    background: var(--slc-mint);\n  }\n\n  .slc .slc-group-icon::before,\n  .slc .slc-group-icon::after {\n    position: absolute;\n    width: 10px;\n    height: 2px;\n    background: var(--slc-green);\n    content: \"\";\n  }\n\n  .slc .slc-group-icon::after {\n    transform: rotate(90deg);\n    transition: transform 0.18s ease;\n  }\n\n  .slc .slc-group[open] .slc-group-icon::after {\n    transform: rotate(0deg);\n  }\n\n  .slc .slc-group-body {\n    padding: 3px 16px 18px;\n    border-top: 1px solid var(--slc-line);\n  }\n\n  .slc .slc-fields {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 14px;\n    padding-top: 16px;\n  }\n\n  .slc .slc-fields--three {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n  }\n\n  .slc .slc-subhead {\n    grid-column: 1 \/ -1;\n    margin: 6px 0 -2px;\n    color: var(--slc-green-dark);\n    font-size: 11px;\n    font-weight: 850;\n    letter-spacing: 0.1em;\n    text-transform: uppercase;\n  }\n\n  .slc .slc-field {\n    min-width: 0;\n  }\n\n  .slc .slc-field label {\n    display: block;\n    margin-bottom: 6px;\n    color: var(--slc-text);\n    font-size: 12px;\n    font-weight: 720;\n    line-height: 1.35;\n  }\n\n  .slc .slc-input {\n    display: grid;\n    grid-template-columns: minmax(0, 1fr) auto;\n    align-items: center;\n    overflow: hidden;\n    border: 1px solid #cddbd5;\n    border-radius: 6px;\n    background: #fff;\n    transition: border-color 0.18s ease, box-shadow 0.18s ease;\n  }\n\n  .slc .slc-input:focus-within {\n    border-color: var(--slc-green);\n    box-shadow: 0 0 0 3px rgba(22, 129, 93, 0.11);\n  }\n\n  .slc .slc-input input {\n    width: 100%;\n    min-width: 0;\n    height: 42px;\n    padding: 0 10px;\n    border: 0;\n    outline: 0;\n    background: transparent;\n    color: var(--slc-ink);\n    font: inherit;\n    font-size: 14px;\n    font-weight: 680;\n  }\n\n  .slc .slc-unit {\n    padding: 0 10px;\n    color: #71827c;\n    font-size: 11px;\n    white-space: nowrap;\n  }\n\n  .slc .slc-note {\n    margin: 12px 0 0;\n    color: #71827c;\n    font-size: 12px;\n  }\n\n  .slc .slc-primary-results {\n    display: grid;\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    gap: 10px;\n    margin-bottom: 18px;\n  }\n\n  .slc .slc-result-card {\n    position: relative;\n    min-width: 0;\n    overflow: hidden;\n    padding: 16px;\n    border: 1px solid var(--slc-line);\n    border-radius: 8px;\n    background: #fff;\n  }\n\n  .slc .slc-result-card::before {\n    position: absolute;\n    top: 0;\n    right: 0;\n    left: 0;\n    height: 3px;\n    background: var(--slc-mint-strong);\n    content: \"\";\n  }\n\n  .slc .slc-result-card--accent {\n    border-color: transparent;\n    background:\n      radial-gradient(circle at 100% 0, rgba(57, 185, 138, 0.2), transparent 38%),\n      var(--slc-ink);\n  }\n\n  .slc .slc-result-card--accent::before {\n    background: var(--slc-green-bright);\n  }\n\n  .slc .slc-result-label {\n    display: block;\n    min-height: 34px;\n    margin-bottom: 8px;\n    color: #6d7e78;\n    font-size: 11px;\n    font-weight: 780;\n    letter-spacing: 0.06em;\n    line-height: 1.35;\n    text-transform: uppercase;\n  }\n\n  .slc .slc-result-card--accent .slc-result-label {\n    color: rgba(255, 255, 255, 0.6);\n  }\n\n  .slc .slc-result-value {\n    display: block;\n    overflow-wrap: anywhere;\n    color: var(--slc-green-dark);\n    font-size: clamp(22px, 3vw, 32px);\n    font-variant-numeric: tabular-nums;\n    font-weight: 800;\n    letter-spacing: -0.035em;\n    line-height: 1;\n  }\n\n  .slc .slc-result-card--accent .slc-result-value {\n    color: #fff;\n  }\n\n  .slc .slc-result-unit {\n    display: block;\n    margin-top: 6px;\n    color: #7c8b86;\n    font-size: 11px;\n  }\n\n  .slc .slc-result-card--accent .slc-result-unit {\n    color: rgba(255, 255, 255, 0.52);\n  }\n\n  .slc .slc-result-section {\n    margin-top: 18px;\n  }\n\n  .slc .slc-result-section h4 {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    margin-bottom: 10px;\n  }\n\n  .slc .slc-result-section h4::after {\n    flex: 1;\n    height: 1px;\n    background: var(--slc-line);\n    content: \"\";\n  }\n\n  .slc .slc-metric-list {\n    overflow: hidden;\n    border: 1px solid var(--slc-line);\n    border-radius: 8px;\n    background: #fff;\n  }\n\n  .slc .slc-metric-row {\n    display: grid;\n    grid-template-columns: minmax(0, 1fr) auto;\n    gap: 18px;\n    align-items: center;\n    min-height: 48px;\n    padding: 11px 14px;\n    border-bottom: 1px solid var(--slc-line);\n  }\n\n  .slc .slc-metric-row:last-child {\n    border-bottom: 0;\n  }\n\n  .slc .slc-metric-row span {\n    color: var(--slc-text);\n    font-size: 13px;\n  }\n\n  .slc .slc-metric-row strong {\n    color: var(--slc-ink);\n    font-size: 14px;\n    font-variant-numeric: tabular-nums;\n    text-align: right;\n  }\n\n  .slc .slc-table-wrap {\n    overflow-x: auto;\n    border: 1px solid var(--slc-line);\n    border-radius: 8px;\n    background: #fff;\n  }\n\n  .slc .slc-table {\n    width: 100%;\n    min-width: 520px;\n    margin: 0;\n    border-collapse: collapse;\n    font-size: 13px;\n  }\n\n  .slc .slc-table th,\n  .slc .slc-table td {\n    padding: 11px 12px;\n    border: 0;\n    border-bottom: 1px solid var(--slc-line);\n    text-align: left;\n    vertical-align: middle;\n  }\n\n  .slc .slc-table tr:last-child td {\n    border-bottom: 0;\n  }\n\n  .slc .slc-table th {\n    background: #f5f8f6;\n    color: #6c7d77;\n    font-size: 10px;\n    font-weight: 850;\n    letter-spacing: 0.07em;\n    text-transform: uppercase;\n  }\n\n  .slc .slc-table td:not(:first-child),\n  .slc .slc-table th:not(:first-child) {\n    text-align: right;\n  }\n\n  .slc .slc-status {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-width: 58px;\n    padding: 4px 8px;\n    border-radius: 5px;\n    font-size: 10px;\n    font-weight: 850;\n    letter-spacing: 0.05em;\n    text-transform: uppercase;\n  }\n\n  .slc .slc-status--pass {\n    background: var(--slc-mint);\n    color: var(--slc-green-dark);\n  }\n\n  .slc .slc-status--fail {\n    background: #f9e8e4;\n    color: var(--slc-danger);\n  }\n\n  .slc .slc-status--within {\n    background: var(--slc-mint);\n    color: var(--slc-green-dark);\n  }\n\n  .slc .slc-status--near {\n    background: #fff3dc;\n    color: var(--slc-warning);\n  }\n\n  .slc .slc-result-note {\n    margin: 18px 0 0;\n    padding: 15px 16px;\n    border: 1px solid #e4d3b5;\n    border-left: 4px solid #c58a35;\n    border-radius: 8px;\n    background: #fffaf0;\n  }\n\n  .slc .slc-result-note strong,\n  .slc .slc-result-note span {\n    display: block;\n  }\n\n  .slc .slc-result-note strong {\n    margin-bottom: 4px;\n    color: #5e451f;\n    font-size: 13px;\n  }\n\n  .slc .slc-result-note span {\n    color: #765f3b;\n    font-size: 12px;\n    line-height: 1.55;\n  }\n\n  .slc .slc-result-caption {\n    margin: -2px 0 10px;\n    color: #71827c;\n    font-size: 11px;\n    line-height: 1.5;\n  }\n\n  .slc .slc-result-cta {\n    display: grid;\n    grid-template-columns: minmax(0, 1fr);\n    gap: 22px;\n    align-items: start;\n    margin-top: 22px;\n    padding: 20px;\n    border: 1px solid #bfe2d4;\n    border-radius: 8px;\n    background: #eef8f3;\n  }\n\n  .slc .slc-result-cta > div {\n    min-width: 0;\n  }\n\n  .slc .slc-result-cta strong,\n  .slc .slc-result-cta p {\n    display: block;\n  }\n\n  .slc .slc-result-cta strong {\n    margin-bottom: 4px;\n    color: var(--slc-ink);\n    font-size: 16px;\n  }\n\n  .slc .slc-result-cta p {\n    max-width: 580px;\n    margin: 0;\n    font-size: 12px;\n  }\n\n  .slc .slc-result-actions {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 10px;\n    width: 100%;\n  }\n\n  .slc .slc-result-actions .slc-button {\n    width: 100%;\n    min-width: 0;\n    text-align: center;\n    overflow-wrap: anywhere;\n  }\n\n  .slc .slc-button--outline {\n    border-color: #39b98a;\n    background: transparent;\n    color: #39b98a;\n  }\n\n  .slc .slc-button--outline::after {\n    content: none;\n  }\n\n  .slc .slc-button--outline:hover {\n    border-color: #39b98a;\n    background: #39b98a;\n    color: #ffffff;\n  }\n\n  .slc .slc-field-help {\n    margin: 6px 0 0;\n    font-size: 10px;\n    line-height: 1.4;\n  }\n\n  .slc .slc-field-help a {\n    color: var(--slc-green-dark);\n    font-weight: 760;\n    text-decoration: none;\n  }\n\n  .slc .slc-field-help a:hover,\n  .slc .slc-field-help a:focus-visible {\n    text-decoration: underline;\n    text-underline-offset: 3px;\n  }\n\n  .slc .slc-reference {\n    margin-top: clamp(52px, 7vw, 78px);\n    scroll-margin-top: 24px;\n  }\n\n  .slc .slc-reference-head {\n    display: grid;\n    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.6fr);\n    gap: 36px;\n    align-items: end;\n    margin-bottom: 24px;\n  }\n\n  .slc .slc-reference-head h2,\n  .slc .slc-reference-head p {\n    margin-bottom: 0;\n  }\n\n  .slc .slc-reference-head p {\n    max-width: 520px;\n    justify-self: end;\n  }\n\n  .slc .slc-reference-grid {\n    display: grid;\n    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);\n    gap: 18px;\n    align-items: start;\n  }\n\n  .slc .slc-reference-card {\n    min-width: 0;\n    overflow: hidden;\n    border: 1px solid var(--slc-line);\n    border-radius: 8px;\n    background: #fff;\n    box-shadow: none;\n  }\n\n  .slc .slc-reference-card--wide {\n    grid-column: 1 \/ -1;\n  }\n\n  .slc .slc-reference-card-head {\n    display: flex;\n    align-items: flex-start;\n    justify-content: space-between;\n    gap: 18px;\n    padding: 20px;\n    border-bottom: 1px solid var(--slc-line);\n    background:\n      linear-gradient(135deg, rgba(232, 245, 239, 0.86), rgba(255, 255, 255, 0.92));\n  }\n\n  .slc .slc-reference-card-head h3,\n  .slc .slc-reference-card-head p {\n    margin-bottom: 0;\n  }\n\n  .slc .slc-reference-card-head p {\n    margin-top: 5px;\n    font-size: 12px;\n  }\n\n  .slc .slc-reference-tag {\n    flex: none;\n    padding: 5px 8px;\n    border: 1px solid #bfe2d4;\n    border-radius: 5px;\n    background: #fff;\n    color: var(--slc-green-dark);\n    font-size: 9px;\n    font-weight: 850;\n    letter-spacing: 0.07em;\n    text-transform: uppercase;\n  }\n\n  .slc .slc-reference-table-wrap {\n    overflow-x: auto;\n  }\n\n  .slc .slc-reference-table {\n    width: 100%;\n    margin: 0;\n    border-collapse: collapse;\n    table-layout: fixed;\n    font-size: 12px;\n  }\n\n  .slc .slc-reference-table th,\n  .slc .slc-reference-table td {\n    padding: 10px 11px;\n    border: 0;\n    border-bottom: 1px solid var(--slc-line);\n    text-align: left;\n    vertical-align: middle;\n  }\n\n  .slc .slc-reference-table tr:last-child td {\n    border-bottom: 0;\n  }\n\n  .slc .slc-reference-table th {\n    background: #f5f8f6;\n    color: #6c7d77;\n    font-size: 9px;\n    font-weight: 850;\n    letter-spacing: 0.06em;\n    text-transform: uppercase;\n  }\n\n  .slc .slc-reference-table tbody tr:nth-child(even) {\n    background: #fbfcfb;\n  }\n\n  .slc .slc-reference-table td:not(:first-child),\n  .slc .slc-reference-table th:not(:first-child) {\n    text-align: center;\n  }\n\n  .slc .slc-check-label {\n    display: inline-flex;\n    padding: 4px 7px;\n    border-radius: 5px;\n    background: var(--slc-mint);\n    color: var(--slc-green-dark);\n    font-size: 9px;\n    font-weight: 850;\n    letter-spacing: 0.04em;\n    text-transform: uppercase;\n  }\n\n  .slc .slc-terrain-notes {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 1px;\n    padding: 1px 0 0;\n    background: var(--slc-line);\n  }\n\n  .slc .slc-terrain-note {\n    padding: 13px 15px;\n    background: #fff;\n  }\n\n  .slc .slc-terrain-note strong {\n    display: block;\n    margin-bottom: 3px;\n    color: var(--slc-green-dark);\n    font-size: 11px;\n  }\n\n  .slc .slc-terrain-note span {\n    display: block;\n    color: #6c7d77;\n    font-size: 10px;\n    line-height: 1.45;\n  }\n\n  .slc .slc-snow-reference-body {\n    display: grid;\n    grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1.28fr);\n    align-items: stretch;\n  }\n\n  .slc .slc-roof-figure {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 280px;\n    padding: 24px;\n    border-right: 1px solid var(--slc-line);\n    background:\n      radial-gradient(circle at 50% 45%, rgba(57, 185, 138, 0.1), transparent 44%),\n      #f8fbf9;\n  }\n\n  .slc .slc-roof-figure svg {\n    display: block;\n    width: min(100%, 430px);\n    height: auto;\n    overflow: visible;\n  }\n\n  .slc .slc-mur-panel {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    min-width: 0;\n    padding: clamp(22px, 3vw, 34px);\n  }\n\n  .slc .slc-mur-panel h4 {\n    margin-bottom: 7px;\n  }\n\n  .slc .slc-mur-panel > p {\n    margin-bottom: 18px;\n    font-size: 12px;\n  }\n\n  .slc .slc-mur-values {\n    display: grid;\n    grid-template-columns: repeat(8, minmax(0, 1fr));\n    overflow: hidden;\n    border: 1px solid var(--slc-line);\n    border-radius: 8px;\n    background: var(--slc-line);\n    gap: 1px;\n  }\n\n  .slc .slc-mur-cell {\n    min-width: 0;\n    padding: 12px 5px;\n    background: #fff;\n    text-align: center;\n  }\n\n  .slc .slc-mur-cell span,\n  .slc .slc-mur-cell strong {\n    display: block;\n  }\n\n  .slc .slc-mur-cell span {\n    margin-bottom: 6px;\n    color: #71827c;\n    font-size: 10px;\n    font-weight: 720;\n    white-space: nowrap;\n  }\n\n  .slc .slc-mur-cell strong {\n    color: var(--slc-green-dark);\n    font-size: 18px;\n    font-variant-numeric: tabular-nums;\n    font-weight: 820;\n    letter-spacing: -0.02em;\n  }\n\n  .slc .slc-mur-legend {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 16px;\n    margin-top: 12px;\n    color: #71827c;\n    font-size: 10px;\n  }\n\n  .slc .slc-mur-legend strong {\n    color: var(--slc-ink);\n  }\n\n  .slc .slc-guide {\n    padding: 70px 0;\n    background: #f3f7f4;\n  }\n\n  .slc .slc-guide-card {\n    display: grid;\n    grid-template-columns: minmax(0, 1fr) auto;\n    gap: 36px;\n    align-items: center;\n    padding: clamp(30px, 5vw, 52px);\n    border-radius: 8px;\n    background:\n      radial-gradient(circle at 88% 12%, rgba(57, 185, 138, 0.2), transparent 31%),\n      #102f26;\n    box-shadow: none;\n  }\n\n  .slc .slc-guide-card h2 {\n    max-width: 760px;\n    margin-bottom: 12px;\n    color: #fff;\n  }\n\n  .slc .slc-guide-card p {\n    max-width: 750px;\n    margin-bottom: 0;\n    color: rgba(255, 255, 255, 0.7);\n  }\n\n  .slc .slc-guide-card .slc-button {\n    min-width: 230px;\n  }\n\n  .slc .slc-method {\n    padding: clamp(62px, 8vw, 92px) 0;\n    background: #fff;\n  }\n\n  .slc .slc-method-grid {\n    display: grid;\n    grid-template-columns: 0.72fr 1.28fr;\n    gap: clamp(36px, 7vw, 90px);\n    align-items: start;\n  }\n\n  .slc .slc-method-copy {\n    position: sticky;\n    top: 30px;\n  }\n\n  .slc .slc-method-copy p {\n    margin-bottom: 0;\n  }\n\n  .slc .slc-formulas {\n    display: grid;\n    gap: 12px;\n  }\n\n  .slc .slc-formula {\n    padding: 20px;\n    border: 1px solid var(--slc-line);\n    border-radius: 8px;\n    background: var(--slc-sand);\n  }\n\n  .slc .slc-formula strong {\n    display: block;\n    margin-bottom: 7px;\n    color: var(--slc-ink);\n    font-size: 14px;\n  }\n\n  .slc .slc-formula code {\n    display: block;\n    overflow-wrap: anywhere;\n    color: var(--slc-green-dark);\n    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;\n    font-size: 13px;\n    line-height: 1.6;\n    white-space: normal;\n  }\n\n  .slc .slc-disclaimer {\n    padding: 22px 0;\n    border-top: 1px solid var(--slc-line);\n    background: #fff;\n  }\n\n  .slc .slc-disclaimer p {\n    margin: 0;\n    color: #71827c;\n    font-size: 12px;\n  }\n\n  @media (max-width: 980px) {\n    .slc .slc-hero-grid,\n    .slc .slc-intro,\n    .slc .slc-reference-head,\n    .slc .slc-guide-card,\n    .slc .slc-method-grid {\n      grid-template-columns: 1fr;\n    }\n\n    .slc .slc-hero-panel {\n      max-width: 620px;\n    }\n\n    .slc .slc-intro p {\n      justify-self: start;\n    }\n\n    .slc .slc-reference-head p {\n      justify-self: start;\n    }\n\n    .slc .slc-reference-grid {\n      grid-template-columns: 1fr;\n    }\n\n    .slc .slc-reference-card--wide {\n      grid-column: auto;\n    }\n\n    .slc .slc-snow-reference-body {\n      grid-template-columns: 1fr;\n    }\n\n    .slc .slc-roof-figure {\n      min-height: 240px;\n      border-right: 0;\n      border-bottom: 1px solid var(--slc-line);\n    }\n\n    .slc .slc-calculator {\n      grid-template-columns: 1fr;\n    }\n\n    .slc .slc-inputs {\n      border-right: 0;\n      border-bottom: 1px solid var(--slc-line);\n    }\n\n    .slc .slc-method-copy {\n      position: static;\n    }\n\n  }\n\n  @media (max-width: 680px) {\n    .slc .slc-wrap {\n      width: min(100% - 28px, 1240px);\n    }\n\n    .slc .slc-hero {\n      padding: 62px 0;\n    }\n\n    .slc .slc-hero-actions,\n    .slc .slc-guide-actions {\n      align-items: stretch;\n      flex-direction: column;\n    }\n\n    .slc .slc-button,\n    .slc .slc-guide-card .slc-button {\n      width: 100%;\n      min-width: 0;\n    }\n\n    .slc .slc-result-actions {\n      grid-template-columns: minmax(0, 1fr);\n    }\n\n    .slc .slc-mode-tabs {\n      width: 100%;\n    }\n\n    .slc .slc-mode-tab {\n      padding-inline: 10px;\n      font-size: 12px;\n    }\n\n    .slc .slc-inputs,\n    .slc .slc-results {\n      padding: 20px 16px;\n    }\n\n    .slc .slc-fields,\n    .slc .slc-fields--three {\n      grid-template-columns: 1fr;\n    }\n\n    .slc .slc-primary-results {\n      grid-template-columns: 1fr 1fr;\n    }\n\n    .slc .slc-result-card--accent {\n      grid-column: 1 \/ -1;\n    }\n\n    .slc .slc-result-label {\n      min-height: 0;\n    }\n\n    .slc .slc-table {\n      min-width: 0;\n      table-layout: fixed;\n      font-size: 11px;\n    }\n\n    .slc .slc-table th,\n    .slc .slc-table td {\n      padding: 9px 5px;\n      overflow-wrap: anywhere;\n    }\n\n    .slc .slc-table th {\n      font-size: 8px;\n      letter-spacing: 0.04em;\n    }\n\n    .slc .slc-table th:first-child,\n    .slc .slc-table td:first-child {\n      width: 23%;\n    }\n\n    .slc .slc-table th:last-child,\n    .slc .slc-table td:last-child {\n      width: 21%;\n    }\n\n    .slc .slc-status {\n      min-width: 0;\n      width: 100%;\n      padding-inline: 4px;\n      font-size: 8px;\n    }\n\n    .slc .slc-reference-card-head {\n      padding: 17px 15px;\n    }\n\n    .slc .slc-reference-table {\n      min-width: 0;\n      font-size: 9px;\n    }\n\n    .slc .slc-reference-table th,\n    .slc .slc-reference-table td {\n      padding: 8px 4px;\n      overflow-wrap: anywhere;\n    }\n\n    .slc .slc-reference-table th {\n      font-size: 7px;\n      letter-spacing: 0.02em;\n    }\n\n    .slc .slc-check-label {\n      padding: 3px 4px;\n      font-size: 7px;\n    }\n\n    .slc .slc-terrain-notes {\n      grid-template-columns: 1fr;\n    }\n\n    .slc .slc-mur-panel {\n      padding: 18px 15px;\n    }\n\n    .slc .slc-mur-values {\n      grid-template-columns: repeat(4, minmax(0, 1fr));\n    }\n\n    .slc .slc-mur-cell {\n      padding-block: 11px;\n    }\n\n    .slc .slc-mur-cell strong {\n      font-size: 16px;\n    }\n\n    .slc .slc-mur-legend {\n      align-items: flex-start;\n      flex-direction: column;\n      gap: 4px;\n    }\n\n    .slc .slc-panel-head {\n      align-items: flex-start;\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    .slc *,\n    .slc *::before,\n    .slc *::after {\n      scroll-behavior: auto !important;\n      transition-duration: 0.01ms !important;\n    }\n  }\n<\/style>\n\n<main class=\"slc\" id=\"solar-structural-load-calculator\">\n  <section class=\"slc-hero\">\n    <div class=\"slc-wrap slc-hero-grid\">\n      <div>\n        <span class=\"slc-eyebrow\">Engineering calculator<\/span>\n        <h1>Solar Mounting Structural Load Calculator<\/h1>\n        <p class=\"slc-hero-lead\">\n          Calculate wind and snow loads, compare engineer-supplied member actions\n          and deflections, and estimate single-axis tracker torque.\n        <\/p>\n        <div class=\"slc-hero-actions\">\n          <a class=\"slc-button\" href=\"#slc-fixed\">Open calculator<\/a>\n          <a class=\"slc-button slc-button--ghost\" href=\"https:\/\/luminvolt.com\/how-to-use-solar-mounting-structural-load-calculator\/\">Read the beginner\u2019s guide<\/a>\n        <\/div>\n      <\/div>\n      <div class=\"slc-hero-visual\" aria-label=\"Structural load calculation model\">\n        <div class=\"slc-visual-head\">\n          <span>Structural load model<\/span>\n          <strong>Live calculation<\/strong>\n        <\/div>\n        <div class=\"slc-panel-diagram\" aria-hidden=\"true\">\n          <span class=\"slc-load-arrow slc-load-arrow--wind\">Wind<\/span>\n          <span class=\"slc-load-arrow slc-load-arrow--snow\">Snow<\/span>\n          <div class=\"slc-panel-array\">\n            <span><\/span><span><\/span><span><\/span>\n            <span><\/span><span><\/span><span><\/span>\n          <\/div>\n        <\/div>\n        <div class=\"slc-visual-metrics\">\n          <div><span>Systems<\/span><strong>2 modes<\/strong><\/div>\n          <div><span>Load types<\/span><strong>3 forces<\/strong><\/div>\n          <div><span>Response<\/span><strong>Instant<\/strong><\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"slc-tool\">\n    <div class=\"slc-wrap\">\n      <div class=\"slc-intro\">\n        <div>\n          <span class=\"slc-eyebrow\" style=\"color: var(--slc-green)\">Workbook converted<\/span>\n          <h2>Choose the mounting system<\/h2>\n        <\/div>\n        <p>\n          Defaults reproduce the supplied workbook. Environmental loads update\n          from site inputs; advanced member checks use actions and displacements\n          supplied by your structural analysis.\n        <\/p>\n      <\/div>\n\n      <div class=\"slc-mode-tabs\" role=\"tablist\" aria-label=\"Mounting system\">\n        <button class=\"slc-mode-tab\" type=\"button\" role=\"tab\" aria-selected=\"true\" aria-controls=\"slc-fixed\" id=\"slc-tab-fixed\" data-mode=\"fixed\">\n          Fixed-tilt structure\n        <\/button>\n        <button class=\"slc-mode-tab\" type=\"button\" role=\"tab\" aria-selected=\"false\" aria-controls=\"slc-tracker\" id=\"slc-tab-tracker\" data-mode=\"tracker\">\n          Single-axis tracker\n        <\/button>\n      <\/div>\n\n      <section class=\"slc-calculator\" id=\"slc-fixed\" role=\"tabpanel\" aria-labelledby=\"slc-tab-fixed\">\n        <div class=\"slc-inputs\">\n          <div class=\"slc-panel-head\">\n            <div>\n              <h3>Fixed-tilt inputs<\/h3>\n              <p>Environmental loads + advanced member checks<\/p>\n            <\/div>\n            <button class=\"slc-reset\" type=\"button\" data-reset=\"fixed\">Reset<\/button>\n          <\/div>\n\n          <details class=\"slc-group\" open>\n            <summary><span>Module and layout<\/span><span class=\"slc-group-icon\" aria-hidden=\"true\"><\/span><\/summary>\n            <div class=\"slc-group-body\">\n              <div class=\"slc-fields\">\n                <div class=\"slc-field\">\n                  <label for=\"f-module-length\">Module length<\/label>\n                  <div class=\"slc-input\"><input id=\"f-module-length\" data-calc=\"fixed\" type=\"number\" min=\"1\" step=\"1\" value=\"1650\"><span class=\"slc-unit\">mm<\/span><\/div>\n                <\/div>\n                <div class=\"slc-field\">\n                  <label for=\"f-module-width\">Module width<\/label>\n                  <div class=\"slc-input\"><input id=\"f-module-width\" data-calc=\"fixed\" type=\"number\" min=\"1\" step=\"1\" value=\"991\"><span class=\"slc-unit\">mm<\/span><\/div>\n                <\/div>\n                <div class=\"slc-field\">\n                  <label for=\"f-module-mass\">Module mass<\/label>\n                  <div class=\"slc-input\"><input id=\"f-module-mass\" data-calc=\"fixed\" type=\"number\" min=\"0\" step=\"0.1\" value=\"16.5\"><span class=\"slc-unit\">kg<\/span><\/div>\n                <\/div>\n                <div class=\"slc-field\">\n                  <label for=\"f-layout-rows\">Layout rows<\/label>\n                  <div class=\"slc-input\"><input id=\"f-layout-rows\" data-calc=\"fixed\" type=\"number\" min=\"1\" step=\"1\" value=\"2\"><span class=\"slc-unit\">rows<\/span><\/div>\n                <\/div>\n                <div class=\"slc-field\">\n                  <label for=\"f-layout-cols\">Modules per row<\/label>\n                  <div class=\"slc-input\"><input id=\"f-layout-cols\" data-calc=\"fixed\" type=\"number\" min=\"1\" step=\"1\" value=\"11\"><span class=\"slc-unit\">pcs<\/span><\/div>\n                <\/div>\n                <div class=\"slc-field\">\n                  <label for=\"f-purlin-length\">Total purlin length<\/label>\n                  <div class=\"slc-input\"><input id=\"f-purlin-length\" data-calc=\"fixed\" type=\"number\" min=\"1\" step=\"1\" value=\"11200\"><span class=\"slc-unit\">mm<\/span><\/div>\n                <\/div>\n                <div class=\"slc-field\">\n                  <label for=\"f-rafter-length\">Rafter length<\/label>\n                  <div class=\"slc-input\"><input id=\"f-rafter-length\" data-calc=\"fixed\" type=\"number\" min=\"1\" step=\"1\" value=\"2800\"><span class=\"slc-unit\">mm<\/span><\/div>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/details>\n\n          <details class=\"slc-group\" open>\n            <summary><span>Environmental loads<\/span><span class=\"slc-group-icon\" aria-hidden=\"true\"><\/span><\/summary>\n            <div class=\"slc-group-body\">\n              <div class=\"slc-fields\">\n                <span class=\"slc-subhead\">Wind<\/span>\n                <div class=\"slc-field\">\n                  <label for=\"f-wind-beta\">Gust response \u03b2z<\/label>\n                  <div class=\"slc-input\"><input id=\"f-wind-beta\" data-calc=\"fixed\" type=\"number\" min=\"0\" step=\"0.01\" value=\"1\"><span class=\"slc-unit\">factor<\/span><\/div>\n                <\/div>\n                <div class=\"slc-field\">\n                  <label for=\"f-wind-shape\">Shape coefficient \u03bcs<\/label>\n                  <div class=\"slc-input\"><input id=\"f-wind-shape\" data-calc=\"fixed\" type=\"number\" step=\"0.01\" value=\"1.3\"><span class=\"slc-unit\">factor<\/span><\/div>\n                <\/div>\n                <div class=\"slc-field\">\n                  <label for=\"f-wind-height\">Height factor \u03bcz<\/label>\n                  <div class=\"slc-input\"><input id=\"f-wind-height\" data-calc=\"fixed\" type=\"number\" min=\"0\" step=\"0.01\" value=\"1\"><span class=\"slc-unit\">factor<\/span><\/div>\n                  <p class=\"slc-field-help\"><a href=\"#slc-muz-table\">View the \u03bcz reference table \u2193<\/a><\/p>\n                <\/div>\n                <div class=\"slc-field\">\n                  <label for=\"f-air-density\">Air density \u03c1<\/label>\n                  <div class=\"slc-input\"><input id=\"f-air-density\" data-calc=\"fixed\" type=\"number\" min=\"0\" step=\"0.01\" value=\"1.25\"><span class=\"slc-unit\">kg\/m\u00b3<\/span><\/div>\n                <\/div>\n                <div class=\"slc-field\">\n                  <label for=\"f-wind-speed\">Design wind speed<\/label>\n                  <div class=\"slc-input\"><input id=\"f-wind-speed\" data-calc=\"fixed\" type=\"number\" min=\"0\" step=\"0.01\" value=\"26.84\"><span class=\"slc-unit\">m\/s<\/span><\/div>\n                <\/div>\n                <span class=\"slc-subhead\">Snow<\/span>\n                <div class=\"slc-field\">\n                  <label for=\"f-snow-shape\">Snow shape coefficient \u03bcr<\/label>\n                  <div class=\"slc-input\"><input id=\"f-snow-shape\" data-calc=\"fixed\" type=\"number\" min=\"0\" step=\"0.01\" value=\"0.85\"><span class=\"slc-unit\">factor<\/span><\/div>\n                  <p class=\"slc-field-help\"><a href=\"#slc-mur-table\">View the \u03bcr reference table \u2193<\/a><\/p>\n                <\/div>\n                <div class=\"slc-field\">\n                  <label for=\"f-snow-density\">Snow density \u03c1<\/label>\n                  <div class=\"slc-input\"><input id=\"f-snow-density\" data-calc=\"fixed\" type=\"number\" min=\"0\" step=\"1\" value=\"130\"><span class=\"slc-unit\">kg\/m\u00b3<\/span><\/div>\n                <\/div>\n                <div class=\"slc-field\">\n                  <label for=\"f-snow-depth\">Snow depth h<\/label>\n                  <div class=\"slc-input\"><input id=\"f-snow-depth\" data-calc=\"fixed\" type=\"number\" min=\"0\" step=\"0.01\" value=\"0.11\"><span class=\"slc-unit\">m<\/span><\/div>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/details>\n\n          <details class=\"slc-group\" data-advanced-section=\"section-properties\">\n            <summary><span>Advanced \u00b7 Section properties<\/span><span class=\"slc-group-icon\" aria-hidden=\"true\"><\/span><\/summary>\n            <div class=\"slc-group-body\">\n              <div class=\"slc-fields slc-fields--three\">\n                <span class=\"slc-subhead\">Purlin<\/span>\n                <div class=\"slc-field\"><label for=\"f-p-wnx\">Wnx<\/label><div class=\"slc-input\"><input id=\"f-p-wnx\" data-calc=\"fixed\" type=\"number\" min=\"0.001\" step=\"0.01\" value=\"11.25\"><span class=\"slc-unit\">cm\u00b3<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"f-p-wny\">Wny<\/label><div class=\"slc-input\"><input id=\"f-p-wny\" data-calc=\"fixed\" type=\"number\" min=\"0.001\" step=\"0.01\" value=\"4.06\"><span class=\"slc-unit\">cm\u00b3<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"f-p-area\">Area An<\/label><div class=\"slc-input\"><input id=\"f-p-area\" data-calc=\"fixed\" type=\"number\" min=\"0.001\" step=\"0.01\" value=\"4.5\"><span class=\"slc-unit\">cm\u00b2<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"f-p-gx\">\u03b3x<\/label><div class=\"slc-input\"><input id=\"f-p-gx\" data-calc=\"fixed\" type=\"number\" min=\"0.001\" step=\"0.01\" value=\"1.05\"><span class=\"slc-unit\">factor<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"f-p-gy\">\u03b3y<\/label><div class=\"slc-input\"><input id=\"f-p-gy\" data-calc=\"fixed\" type=\"number\" min=\"0.001\" step=\"0.01\" value=\"1.05\"><span class=\"slc-unit\">factor<\/span><\/div><\/div>\n\n                <span class=\"slc-subhead\">Rafter<\/span>\n                <div class=\"slc-field\"><label for=\"f-r-wnx\">Wnx<\/label><div class=\"slc-input\"><input id=\"f-r-wnx\" data-calc=\"fixed\" type=\"number\" min=\"0.001\" step=\"0.01\" value=\"11.25\"><span class=\"slc-unit\">cm\u00b3<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"f-r-wny\">Wny<\/label><div class=\"slc-input\"><input id=\"f-r-wny\" data-calc=\"fixed\" type=\"number\" min=\"0.001\" step=\"0.01\" value=\"4.06\"><span class=\"slc-unit\">cm\u00b3<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"f-r-area\">Area An<\/label><div class=\"slc-input\"><input id=\"f-r-area\" data-calc=\"fixed\" type=\"number\" min=\"0.001\" step=\"0.01\" value=\"4.5\"><span class=\"slc-unit\">cm\u00b2<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"f-r-gx\">\u03b3x<\/label><div class=\"slc-input\"><input id=\"f-r-gx\" data-calc=\"fixed\" type=\"number\" min=\"0.001\" step=\"0.01\" value=\"1.05\"><span class=\"slc-unit\">factor<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"f-r-gy\">\u03b3y<\/label><div class=\"slc-input\"><input id=\"f-r-gy\" data-calc=\"fixed\" type=\"number\" min=\"0.001\" step=\"0.01\" value=\"1.05\"><span class=\"slc-unit\">factor<\/span><\/div><\/div>\n\n                <span class=\"slc-subhead\">Post<\/span>\n                <div class=\"slc-field\"><label for=\"f-c-wnx\">Wnx<\/label><div class=\"slc-input\"><input id=\"f-c-wnx\" data-calc=\"fixed\" type=\"number\" min=\"0.001\" step=\"0.01\" value=\"11.25\"><span class=\"slc-unit\">cm\u00b3<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"f-c-wny\">Wny<\/label><div class=\"slc-input\"><input id=\"f-c-wny\" data-calc=\"fixed\" type=\"number\" min=\"0.001\" step=\"0.01\" value=\"4.06\"><span class=\"slc-unit\">cm\u00b3<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"f-c-area\">Area An<\/label><div class=\"slc-input\"><input id=\"f-c-area\" data-calc=\"fixed\" type=\"number\" min=\"0.001\" step=\"0.01\" value=\"4.5\"><span class=\"slc-unit\">cm\u00b2<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"f-c-gx\">\u03b3x<\/label><div class=\"slc-input\"><input id=\"f-c-gx\" data-calc=\"fixed\" type=\"number\" min=\"0.001\" step=\"0.01\" value=\"1.05\"><span class=\"slc-unit\">factor<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"f-c-gy\">\u03b3y<\/label><div class=\"slc-input\"><input id=\"f-c-gy\" data-calc=\"fixed\" type=\"number\" min=\"0.001\" step=\"0.01\" value=\"1.05\"><span class=\"slc-unit\">factor<\/span><\/div><\/div>\n                <span class=\"slc-subhead\">Brace and material<\/span>\n                <div class=\"slc-field\"><label for=\"f-b-area\">Brace design area<\/label><div class=\"slc-input\"><input id=\"f-b-area\" data-calc=\"fixed\" type=\"number\" min=\"0.001\" step=\"0.01\" value=\"2.36\"><span class=\"slc-unit\">cm\u00b2<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"f-yield\">Design strength<\/label><div class=\"slc-input\"><input id=\"f-yield\" data-calc=\"fixed\" type=\"number\" min=\"1\" step=\"1\" value=\"215\"><span class=\"slc-unit\">MPa<\/span><\/div><\/div>\n              <\/div>\n              <p class=\"slc-note\">The workbook\u2019s brace check uses 2.36 cm\u00b2 directly; it is exposed here as an editable design area.<\/p>\n            <\/div>\n          <\/details>\n\n          <details class=\"slc-group\" data-advanced-section=\"design-actions\">\n            <summary><span>Advanced \u00b7 Design actions<\/span><span class=\"slc-group-icon\" aria-hidden=\"true\"><\/span><\/summary>\n            <div class=\"slc-group-body\">\n              <div class=\"slc-fields slc-fields--three\">\n                <span class=\"slc-subhead\">Purlin<\/span>\n                <div class=\"slc-field\"><label for=\"f-p-mx\">Mx<\/label><div class=\"slc-input\"><input id=\"f-p-mx\" data-calc=\"fixed\" type=\"number\" step=\"0.01\" value=\"1178.27\"><span class=\"slc-unit\">N\u00b7m<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"f-p-my\">My<\/label><div class=\"slc-input\"><input id=\"f-p-my\" data-calc=\"fixed\" type=\"number\" step=\"0.01\" value=\"137.42\"><span class=\"slc-unit\">N\u00b7m<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"f-p-n\">Axial force N<\/label><div class=\"slc-input\"><input id=\"f-p-n\" data-calc=\"fixed\" type=\"number\" step=\"0.01\" value=\"125.05\"><span class=\"slc-unit\">N<\/span><\/div><\/div>\n\n                <span class=\"slc-subhead\">Rafter<\/span>\n                <div class=\"slc-field\"><label for=\"f-r-mx\">Mx<\/label><div class=\"slc-input\"><input id=\"f-r-mx\" data-calc=\"fixed\" type=\"number\" step=\"0.01\" value=\"1501.67\"><span class=\"slc-unit\">N\u00b7m<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"f-r-my\">My<\/label><div class=\"slc-input\"><input id=\"f-r-my\" data-calc=\"fixed\" type=\"number\" step=\"0.01\" value=\"59.62\"><span class=\"slc-unit\">N\u00b7m<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"f-r-n\">Axial force N<\/label><div class=\"slc-input\"><input id=\"f-r-n\" data-calc=\"fixed\" type=\"number\" step=\"0.01\" value=\"14310.44\"><span class=\"slc-unit\">N<\/span><\/div><\/div>\n\n                <span class=\"slc-subhead\">Post<\/span>\n                <div class=\"slc-field\"><label for=\"f-c-mx\">Mx<\/label><div class=\"slc-input\"><input id=\"f-c-mx\" data-calc=\"fixed\" type=\"number\" step=\"0.01\" value=\"1747.07\"><span class=\"slc-unit\">N\u00b7m<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"f-c-my\">My<\/label><div class=\"slc-input\"><input id=\"f-c-my\" data-calc=\"fixed\" type=\"number\" step=\"0.01\" value=\"6.6\"><span class=\"slc-unit\">N\u00b7m<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"f-c-n\">Axial force N<\/label><div class=\"slc-input\"><input id=\"f-c-n\" data-calc=\"fixed\" type=\"number\" step=\"0.01\" value=\"2820.03\"><span class=\"slc-unit\">N<\/span><\/div><\/div>\n\n                <span class=\"slc-subhead\">Brace<\/span>\n                <div class=\"slc-field\"><label for=\"f-b-n\">Axial force N<\/label><div class=\"slc-input\"><input id=\"f-b-n\" data-calc=\"fixed\" type=\"number\" step=\"0.01\" value=\"16654.61\"><span class=\"slc-unit\">N<\/span><\/div><\/div>\n              <\/div>\n              <p class=\"slc-note\">Enter design Mx, My and N values from a separate structural analysis. Wind and snow inputs above do not generate these member actions.<\/p>\n            <\/div>\n          <\/details>\n\n          <details class=\"slc-group\" data-advanced-section=\"analysis-deflections\">\n            <summary><span>Advanced \u00b7 Analysis deflections<\/span><span class=\"slc-group-icon\" aria-hidden=\"true\"><\/span><\/summary>\n            <div class=\"slc-group-body\">\n              <div class=\"slc-fields\">\n                <span class=\"slc-subhead\">Purlin \u00b7 L\/200<\/span>\n                <div class=\"slc-field\"><label for=\"f-p-def-length\">Span L<\/label><div class=\"slc-input\"><input id=\"f-p-def-length\" data-calc=\"fixed\" type=\"number\" min=\"1\" step=\"1\" value=\"3500\"><span class=\"slc-unit\">mm<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"f-p-def-actual\">Maximum displacement<\/label><div class=\"slc-input\"><input id=\"f-p-def-actual\" data-calc=\"fixed\" type=\"number\" min=\"0\" step=\"0.1\" value=\"15\"><span class=\"slc-unit\">mm<\/span><\/div><\/div>\n                <span class=\"slc-subhead\">Rafter \u00b7 L\/250<\/span>\n                <div class=\"slc-field\"><label for=\"f-r-def-length\">Span L<\/label><div class=\"slc-input\"><input id=\"f-r-def-length\" data-calc=\"fixed\" type=\"number\" min=\"1\" step=\"1\" value=\"2800\"><span class=\"slc-unit\">mm<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"f-r-def-actual\">Maximum displacement<\/label><div class=\"slc-input\"><input id=\"f-r-def-actual\" data-calc=\"fixed\" type=\"number\" min=\"0\" step=\"0.1\" value=\"2.6\"><span class=\"slc-unit\">mm<\/span><\/div><\/div>\n                <span class=\"slc-subhead\">Post \u00b7 L\/60<\/span>\n                <div class=\"slc-field\"><label for=\"f-c-def-length\">Height L<\/label><div class=\"slc-input\"><input id=\"f-c-def-length\" data-calc=\"fixed\" type=\"number\" min=\"1\" step=\"1\" value=\"1300\"><span class=\"slc-unit\">mm<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"f-c-def-actual\">Maximum displacement<\/label><div class=\"slc-input\"><input id=\"f-c-def-actual\" data-calc=\"fixed\" type=\"number\" min=\"0\" step=\"0.1\" value=\"2.8\"><span class=\"slc-unit\">mm<\/span><\/div><\/div>\n              <\/div>\n              <p class=\"slc-note\">Enter maximum displacements obtained from structural analysis. This tool compares them with the workbook limits; it does not calculate member deflection from the environmental loads.<\/p>\n            <\/div>\n          <\/details>\n        <\/div>\n\n        <div class=\"slc-results\" aria-live=\"polite\">\n          <div class=\"slc-panel-head\">\n            <div>\n              <h3>Fixed-tilt results<\/h3>\n              <p>Live environmental loads + input-based member comparisons<\/p>\n            <\/div>\n            <span class=\"slc-live-badge\">Live<\/span>\n          <\/div>\n\n          <div class=\"slc-primary-results\">\n            <div class=\"slc-result-card slc-result-card--accent\">\n              <span class=\"slc-result-label\">Design wind load<\/span>\n              <strong class=\"slc-result-value\" id=\"fo-wind-load\">585.31<\/strong>\n              <span class=\"slc-result-unit\">N\/m\u00b2<\/span>\n            <\/div>\n            <div class=\"slc-result-card\">\n              <span class=\"slc-result-label\">Basic wind pressure<\/span>\n              <strong class=\"slc-result-value\" id=\"fo-wind-pressure\">450.24<\/strong>\n              <span class=\"slc-result-unit\">Pa<\/span>\n            <\/div>\n            <div class=\"slc-result-card\">\n              <span class=\"slc-result-label\">Design snow load<\/span>\n              <strong class=\"slc-result-value\" id=\"fo-snow-load\">121.55<\/strong>\n              <span class=\"slc-result-unit\">N\/m\u00b2<\/span>\n            <\/div>\n          <\/div>\n\n          <div class=\"slc-result-note\" role=\"note\">\n            <strong>Environmental loads and member checks are separate stages.<\/strong>\n            <span>Wind, snow and distributed loads update from the site inputs. Member capacity and deflection comparisons use the values entered in the Advanced sections; this calculator does not derive Mx, My, N or displacement from the environmental loads.<\/span>\n          <\/div>\n\n          <section class=\"slc-result-section\">\n            <h4>Distributed loads<\/h4>\n            <div class=\"slc-metric-list\">\n              <div class=\"slc-metric-row\"><span>Purlin wind line load<\/span><strong id=\"fo-purlin-wind\">0.470 N\/mm<\/strong><\/div>\n              <div class=\"slc-metric-row\"><span>Wind load per table<\/span><strong id=\"fo-table-wind\">21,055.65 N<\/strong><\/div>\n              <div class=\"slc-metric-row\"><span>Rafter wind line load<\/span><strong id=\"fo-rafter-wind\">3.760 N\/mm<\/strong><\/div>\n              <div class=\"slc-metric-row\"><span>Purlin snow line load<\/span><strong id=\"fo-purlin-snow\">0.195 N\/mm<\/strong><\/div>\n              <div class=\"slc-metric-row\"><span>Snow load per table<\/span><strong id=\"fo-table-snow\">4,372.55 N<\/strong><\/div>\n              <div class=\"slc-metric-row\"><span>Rafter snow line load<\/span><strong id=\"fo-rafter-snow\">0.781 N\/mm<\/strong><\/div>\n              <div class=\"slc-metric-row\"><span>Purlin gravity line load<\/span><strong id=\"fo-gravity\">0.081 N\/mm<\/strong><\/div>\n            <\/div>\n          <\/section>\n\n          <section class=\"slc-result-section\">\n            <h4>Member capacity comparison<\/h4>\n            <p class=\"slc-result-caption\">Uses the section properties, design actions and design strength entered under Advanced inputs.<\/p>\n            <div class=\"slc-table-wrap\">\n              <table class=\"slc-table\">\n                <thead><tr><th>Member<\/th><th>Stress<\/th><th>Utilization<\/th><th>Result<\/th><\/tr><\/thead>\n                <tbody id=\"fo-strength-body\"><\/tbody>\n              <\/table>\n            <\/div>\n          <\/section>\n\n          <section class=\"slc-result-section\">\n            <h4>Deflection limit comparison<\/h4>\n            <p class=\"slc-result-caption\">Compares user-supplied analysis displacement with the workbook serviceability limit.<\/p>\n            <div class=\"slc-table-wrap\">\n              <table class=\"slc-table\">\n                <thead><tr><th>Member<\/th><th>Limit<\/th><th>Entered<\/th><th>Result<\/th><\/tr><\/thead>\n                <tbody id=\"fo-deflection-body\"><\/tbody>\n              <\/table>\n            <\/div>\n          <\/section>\n\n          <div class=\"slc-result-cta\">\n            <div>\n              <strong>Compare a tracker option for ground-mounted solar.<\/strong>\n              <p>Use these preliminary loads as project context, then compare LuminVolt 1P and 2P single-axis tracker systems or request engineering support for a fixed-tilt design.<\/p>\n            <\/div>\n            <div class=\"slc-result-actions\">\n              <a class=\"slc-button\" data-analytics-event=\"calculator_product_click\" data-calculator-mode=\"fixed-tilt\" href=\"https:\/\/luminvolt.com\/solar-tracker\/\">Compare single-axis trackers<\/a>\n              <a class=\"slc-button slc-button--outline\" data-analytics-event=\"request_engineering_review\" data-calculator-mode=\"fixed-tilt\" href=\"https:\/\/luminvolt.com\/contact\/?source=structural-load-calculator&amp;system=fixed-tilt\">Request engineering review<\/a>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/section>\n\n      <section class=\"slc-calculator\" id=\"slc-tracker\" role=\"tabpanel\" aria-labelledby=\"slc-tab-tracker\" hidden>\n        <div class=\"slc-inputs\">\n          <div class=\"slc-panel-head\">\n            <div>\n              <h3>Tracker inputs<\/h3>\n              <p>Single-axis torque model<\/p>\n            <\/div>\n            <button class=\"slc-reset\" type=\"button\" data-reset=\"tracker\">Reset<\/button>\n          <\/div>\n\n          <details class=\"slc-group\" open>\n            <summary><span>Module and torque tube<\/span><span class=\"slc-group-icon\" aria-hidden=\"true\"><\/span><\/summary>\n            <div class=\"slc-group-body\">\n              <div class=\"slc-fields\">\n                <div class=\"slc-field\"><label for=\"t-module-length\">Module length<\/label><div class=\"slc-input\"><input id=\"t-module-length\" data-calc=\"tracker\" type=\"number\" min=\"0\" step=\"0.01\" value=\"2.15\"><span class=\"slc-unit\">m<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"t-module-width\">Module width<\/label><div class=\"slc-input\"><input id=\"t-module-width\" data-calc=\"tracker\" type=\"number\" min=\"0\" step=\"0.01\" value=\"1.06\"><span class=\"slc-unit\">m<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"t-module-mass\">Module mass<\/label><div class=\"slc-input\"><input id=\"t-module-mass\" data-calc=\"tracker\" type=\"number\" min=\"0\" step=\"0.1\" value=\"30\"><span class=\"slc-unit\">kg<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"t-module-count\">Modules per row<\/label><div class=\"slc-input\"><input id=\"t-module-count\" data-calc=\"tracker\" type=\"number\" min=\"1\" step=\"1\" value=\"56\"><span class=\"slc-unit\">pcs<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"t-axis-length\">Torque tube length<\/label><div class=\"slc-input\"><input id=\"t-axis-length\" data-calc=\"tracker\" type=\"number\" min=\"0.01\" step=\"0.1\" value=\"60.7\"><span class=\"slc-unit\">m<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"t-wind-length\">Module windward length<\/label><div class=\"slc-input\"><input id=\"t-wind-length\" data-calc=\"tracker\" type=\"number\" min=\"0\" step=\"0.01\" value=\"2.15\"><span class=\"slc-unit\">m<\/span><\/div><\/div>\n              <\/div>\n            <\/div>\n          <\/details>\n\n          <details class=\"slc-group\" open>\n            <summary><span>Wind cases<\/span><span class=\"slc-group-icon\" aria-hidden=\"true\"><\/span><\/summary>\n            <div class=\"slc-group-body\">\n              <div class=\"slc-fields slc-fields--three\">\n                <span class=\"slc-subhead\">Case 1 \u00b7 0\u00b0<\/span>\n                <div class=\"slc-field\"><label for=\"t-c1-beta\">\u03b2z<\/label><div class=\"slc-input\"><input id=\"t-c1-beta\" data-calc=\"tracker\" type=\"number\" min=\"0\" step=\"0.01\" value=\"1\"><span class=\"slc-unit\">factor<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"t-c1-muz\">\u03bcz<\/label><div class=\"slc-input\"><input id=\"t-c1-muz\" data-calc=\"tracker\" type=\"number\" min=\"0\" step=\"0.01\" value=\"1\"><span class=\"slc-unit\">factor<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"t-c1-rho\">Air density<\/label><div class=\"slc-input\"><input id=\"t-c1-rho\" data-calc=\"tracker\" type=\"number\" min=\"0\" step=\"0.01\" value=\"1.25\"><span class=\"slc-unit\">kg\/m\u00b3<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"t-c1-speed\">Wind speed<\/label><div class=\"slc-input\"><input id=\"t-c1-speed\" data-calc=\"tracker\" type=\"number\" min=\"0\" step=\"0.1\" value=\"25\"><span class=\"slc-unit\">m\/s<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"t-c1-cp-plus\">Positive Cp<\/label><div class=\"slc-input\"><input id=\"t-c1-cp-plus\" data-calc=\"tracker\" type=\"number\" step=\"0.1\" value=\"1.3\"><span class=\"slc-unit\">factor<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"t-c1-cp-minus\">Negative Cp<\/label><div class=\"slc-input\"><input id=\"t-c1-cp-minus\" data-calc=\"tracker\" type=\"number\" step=\"0.1\" value=\"0.5\"><span class=\"slc-unit\">factor<\/span><\/div><\/div>\n\n                <span class=\"slc-subhead\">Case 2 \u00b7 45\u00b0<\/span>\n                <div class=\"slc-field\"><label for=\"t-c2-beta\">\u03b2z<\/label><div class=\"slc-input\"><input id=\"t-c2-beta\" data-calc=\"tracker\" type=\"number\" min=\"0\" step=\"0.01\" value=\"1\"><span class=\"slc-unit\">factor<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"t-c2-muz\">\u03bcz<\/label><div class=\"slc-input\"><input id=\"t-c2-muz\" data-calc=\"tracker\" type=\"number\" min=\"0\" step=\"0.01\" value=\"1\"><span class=\"slc-unit\">factor<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"t-c2-rho\">Air density<\/label><div class=\"slc-input\"><input id=\"t-c2-rho\" data-calc=\"tracker\" type=\"number\" min=\"0\" step=\"0.01\" value=\"1.25\"><span class=\"slc-unit\">kg\/m\u00b3<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"t-c2-speed\">Wind speed<\/label><div class=\"slc-input\"><input id=\"t-c2-speed\" data-calc=\"tracker\" type=\"number\" min=\"0\" step=\"0.1\" value=\"15\"><span class=\"slc-unit\">m\/s<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"t-c2-cp-plus\">Positive Cp<\/label><div class=\"slc-input\"><input id=\"t-c2-cp-plus\" data-calc=\"tracker\" type=\"number\" step=\"0.1\" value=\"1.4\"><span class=\"slc-unit\">factor<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"t-c2-cp-minus\">Negative Cp<\/label><div class=\"slc-input\"><input id=\"t-c2-cp-minus\" data-calc=\"tracker\" type=\"number\" step=\"0.1\" value=\"0.6\"><span class=\"slc-unit\">factor<\/span><\/div><\/div>\n              <\/div>\n            <\/div>\n          <\/details>\n\n          <details class=\"slc-group\">\n            <summary><span>Gravity and snow<\/span><span class=\"slc-group-icon\" aria-hidden=\"true\"><\/span><\/summary>\n            <div class=\"slc-group-body\">\n              <div class=\"slc-fields\">\n                <div class=\"slc-field\"><label for=\"t-gravity-arm\">Gravity eccentricity<\/label><div class=\"slc-input\"><input id=\"t-gravity-arm\" data-calc=\"tracker\" type=\"number\" min=\"0\" step=\"0.01\" value=\"0.13\"><span class=\"slc-unit\">m<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"t-gravity-angle\">Tracker angle<\/label><div class=\"slc-input\"><input id=\"t-gravity-angle\" data-calc=\"tracker\" type=\"number\" min=\"0\" max=\"90\" step=\"1\" value=\"45\"><span class=\"slc-unit\">deg<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"t-snow-mur\">Snow coefficient \u03bcr<\/label><div class=\"slc-input\"><input id=\"t-snow-mur\" data-calc=\"tracker\" type=\"number\" min=\"0\" step=\"0.01\" value=\"0.7\"><span class=\"slc-unit\">factor<\/span><\/div><p class=\"slc-field-help\"><a href=\"#slc-mur-table\">View the \u03bcr reference table \u2193<\/a><\/p><\/div>\n                <div class=\"slc-field\"><label for=\"t-snow-density\">Snow density<\/label><div class=\"slc-input\"><input id=\"t-snow-density\" data-calc=\"tracker\" type=\"number\" min=\"0\" step=\"1\" value=\"250\"><span class=\"slc-unit\">kg\/m\u00b3<\/span><\/div><\/div>\n                <div class=\"slc-field\"><label for=\"t-snow-depth\">Snow depth<\/label><div class=\"slc-input\"><input id=\"t-snow-depth\" data-calc=\"tracker\" type=\"number\" min=\"0\" step=\"0.01\" value=\"0.1\"><span class=\"slc-unit\">m<\/span><\/div><\/div>\n              <\/div>\n            <\/div>\n          <\/details>\n        <\/div>\n\n        <div class=\"slc-results\" aria-live=\"polite\">\n          <div class=\"slc-panel-head\">\n            <div>\n              <h3>Tracker results<\/h3>\n              <p>Torque and environmental loads<\/p>\n            <\/div>\n            <span class=\"slc-live-badge\">Live<\/span>\n          <\/div>\n\n          <div class=\"slc-primary-results\">\n            <div class=\"slc-result-card slc-result-card--accent\">\n              <span class=\"slc-result-label\">Governing unit torque<\/span>\n              <strong class=\"slc-result-value\" id=\"to-governing\">176.58<\/strong>\n              <span class=\"slc-result-unit\">N\u00b7m per metre<\/span>\n            <\/div>\n            <div class=\"slc-result-card\">\n              <span class=\"slc-result-label\">Case 1 \u00b7 0\u00b0<\/span>\n              <strong class=\"slc-result-value\" id=\"to-total-c1\">176.58<\/strong>\n              <span class=\"slc-result-unit\">N\u00b7m per metre<\/span>\n            <\/div>\n            <div class=\"slc-result-card\">\n              <span class=\"slc-result-label\">Case 2 \u00b7 45\u00b0<\/span>\n              <strong class=\"slc-result-value\" id=\"to-total-c2\">88.50<\/strong>\n              <span class=\"slc-result-unit\">N\u00b7m per metre<\/span>\n            <\/div>\n          <\/div>\n\n          <section class=\"slc-result-section\">\n            <h4>Torque breakdown<\/h4>\n            <div class=\"slc-metric-list\">\n              <div class=\"slc-metric-row\"><span>Wind eccentric torque \u00b7 0\u00b0<\/span><strong id=\"to-wind-torque-c1\">10,718.42 N\u00b7m<\/strong><\/div>\n              <div class=\"slc-metric-row\"><span>Wind eccentric torque \u00b7 45\u00b0<\/span><strong id=\"to-wind-torque-c2\">3,858.63 N\u00b7m<\/strong><\/div>\n              <div class=\"slc-metric-row\"><span>Gravity eccentric torque<\/span><strong id=\"to-gravity-torque\">1,513.43 N\u00b7m<\/strong><\/div>\n              <div class=\"slc-metric-row\"><span>Wind unit torque \u00b7 0\u00b0<\/span><strong id=\"to-unit-c1\">176.58 N\u00b7m\/m<\/strong><\/div>\n              <div class=\"slc-metric-row\"><span>Wind unit torque \u00b7 45\u00b0<\/span><strong id=\"to-unit-c2\">63.57 N\u00b7m\/m<\/strong><\/div>\n              <div class=\"slc-metric-row\"><span>Gravity unit torque<\/span><strong id=\"to-unit-gravity\">24.93 N\u00b7m\/m<\/strong><\/div>\n            <\/div>\n          <\/section>\n\n          <section class=\"slc-result-section\">\n            <h4>Environmental values<\/h4>\n            <div class=\"slc-metric-list\">\n              <div class=\"slc-metric-row\"><span>Module area<\/span><strong id=\"to-module-area\">2.279 m\u00b2<\/strong><\/div>\n              <div class=\"slc-metric-row\"><span>Basic wind pressure \u00b7 0\u00b0<\/span><strong id=\"to-pressure-c1\">390.63 Pa<\/strong><\/div>\n              <div class=\"slc-metric-row\"><span>Design wind load \u00b7 0\u00b0<\/span><strong id=\"to-load-c1\">351.56 N\/m\u00b2<\/strong><\/div>\n              <div class=\"slc-metric-row\"><span>Basic wind pressure \u00b7 45\u00b0<\/span><strong id=\"to-pressure-c2\">140.63 Pa<\/strong><\/div>\n              <div class=\"slc-metric-row\"><span>Design wind load \u00b7 45\u00b0<\/span><strong id=\"to-load-c2\">140.63 N\/m\u00b2<\/strong><\/div>\n              <div class=\"slc-metric-row\"><span>Design snow load<\/span><strong id=\"to-snow-load\">0.175 kN\/m\u00b2<\/strong><\/div>\n            <\/div>\n          <\/section>\n\n          <div class=\"slc-result-cta\">\n            <div>\n              <strong>Move from preliminary torque to a tracker proposal.<\/strong>\n              <p>Compare LuminVolt 1P and 2P tracker systems, pricing factors and project delivery scope, then send the result for a site-specific engineering review.<\/p>\n            <\/div>\n            <div class=\"slc-result-actions\">\n              <a class=\"slc-button\" data-analytics-event=\"calculator_product_click\" data-calculator-mode=\"single-axis-tracker\" href=\"https:\/\/luminvolt.com\/solar-tracker\/\">View tracker systems &amp; pricing<\/a>\n              <a class=\"slc-button slc-button--outline\" data-analytics-event=\"request_engineering_review\" data-calculator-mode=\"single-axis-tracker\" href=\"https:\/\/luminvolt.com\/contact\/?source=structural-load-calculator&amp;system=single-axis-tracker\">Request tracker review<\/a>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/section>\n\n      <section class=\"slc-reference\" aria-labelledby=\"slc-reference-title\">\n        <div class=\"slc-reference-head\">\n          <div>\n            <span class=\"slc-eyebrow\" style=\"color: var(--slc-green)\">Fixed-tilt reference data<\/span>\n            <h2 id=\"slc-reference-title\">Engineering reference tables<\/h2>\n          <\/div>\n          <p>\n            Reference factors and wind-pressure height coefficients reproduced\n            from the supplied workbook. Load combinations are not automatically\n            applied to the user-entered member actions or displacements.\n          <\/p>\n        <\/div>\n\n        <div class=\"slc-reference-grid\">\n          <article class=\"slc-reference-card\">\n            <header class=\"slc-reference-card-head\">\n              <div>\n                <h3>Load combinations<\/h3>\n                <p>Strength and deflection combinations<\/p>\n              <\/div>\n              <span class=\"slc-reference-tag\">12 factors<\/span>\n            <\/header>\n            <div class=\"slc-reference-table-wrap\">\n              <table class=\"slc-reference-table\" aria-label=\"Load combinations\">\n                <thead>\n                  <tr>\n                    <th>Check<\/th>\n                    <th>Combination<\/th>\n                    <th>Load component<\/th>\n                    <th>Factor<\/th>\n                  <\/tr>\n                <\/thead>\n                <tbody>\n                  <tr><td><span class=\"slc-check-label\">Strength<\/span><\/td><td>1.2G + 1.4W+<\/td><td>Gravity<\/td><td>1.20<\/td><\/tr>\n                  <tr><td><span class=\"slc-check-label\">Strength<\/span><\/td><td>1.2G + 1.4W+<\/td><td>Positive wind<\/td><td>1.40<\/td><\/tr>\n                  <tr><td><span class=\"slc-check-label\">Strength<\/span><\/td><td>G + 1.4W\u2212<\/td><td>Gravity<\/td><td>1.00<\/td><\/tr>\n                  <tr><td><span class=\"slc-check-label\">Strength<\/span><\/td><td>G + 1.4W\u2212<\/td><td>Leeward wind<\/td><td>1.40<\/td><\/tr>\n                  <tr><td><span class=\"slc-check-label\">Strength<\/span><\/td><td>1.2G + 1.4S<\/td><td>Gravity<\/td><td>1.20<\/td><\/tr>\n                  <tr><td><span class=\"slc-check-label\">Strength<\/span><\/td><td>1.2G + 1.4S<\/td><td>Snow<\/td><td>1.40<\/td><\/tr>\n                  <tr><td><span class=\"slc-check-label\">Deflection<\/span><\/td><td>G + W+<\/td><td>Gravity<\/td><td>1.00<\/td><\/tr>\n                  <tr><td><span class=\"slc-check-label\">Deflection<\/span><\/td><td>G + W+<\/td><td>Positive wind<\/td><td>1.00<\/td><\/tr>\n                  <tr><td><span class=\"slc-check-label\">Deflection<\/span><\/td><td>G + W\u2212<\/td><td>Gravity<\/td><td>1.00<\/td><\/tr>\n                  <tr><td><span class=\"slc-check-label\">Deflection<\/span><\/td><td>G + W\u2212<\/td><td>Leeward wind<\/td><td>1.00<\/td><\/tr>\n                  <tr><td><span class=\"slc-check-label\">Deflection<\/span><\/td><td>G + S<\/td><td>Gravity<\/td><td>1.00<\/td><\/tr>\n                  <tr><td><span class=\"slc-check-label\">Deflection<\/span><\/td><td>G + S<\/td><td>Snow<\/td><td>1.00<\/td><\/tr>\n                <\/tbody>\n              <\/table>\n            <\/div>\n          <\/article>\n\n          <article class=\"slc-reference-card\" id=\"slc-muz-table\">\n            <header class=\"slc-reference-card-head\">\n              <div>\n                <h3>Wind pressure height coefficient \u03bcz<\/h3>\n                <p>Coefficient by height and terrain category<\/p>\n              <\/div>\n              <span class=\"slc-reference-tag\">A\u2013D terrain<\/span>\n            <\/header>\n            <div class=\"slc-reference-table-wrap\">\n              <table class=\"slc-reference-table\" aria-label=\"Wind pressure height coefficient by terrain category\">\n                <thead>\n                  <tr>\n                    <th>Height (m)<\/th>\n                    <th>Terrain A<\/th>\n                    <th>Terrain B<\/th>\n                    <th>Terrain C<\/th>\n                    <th>Terrain D<\/th>\n                  <\/tr>\n                <\/thead>\n                <tbody>\n                  <tr><td>5<\/td><td>1.09<\/td><td>1.00<\/td><td>0.65<\/td><td>0.51<\/td><\/tr>\n                  <tr><td>10<\/td><td>1.28<\/td><td>1.00<\/td><td>0.65<\/td><td>0.51<\/td><\/tr>\n                  <tr><td>15<\/td><td>1.42<\/td><td>1.13<\/td><td>0.65<\/td><td>0.51<\/td><\/tr>\n                  <tr><td>20<\/td><td>1.52<\/td><td>1.23<\/td><td>0.74<\/td><td>0.51<\/td><\/tr>\n                  <tr><td>30<\/td><td>1.67<\/td><td>1.39<\/td><td>0.88<\/td><td>0.51<\/td><\/tr>\n                  <tr><td>40<\/td><td>1.79<\/td><td>1.52<\/td><td>1.00<\/td><td>0.60<\/td><\/tr>\n                  <tr><td>50<\/td><td>1.89<\/td><td>1.62<\/td><td>1.10<\/td><td>0.69<\/td><\/tr>\n                  <tr><td>60<\/td><td>1.97<\/td><td>1.71<\/td><td>1.20<\/td><td>0.77<\/td><\/tr>\n                  <tr><td>70<\/td><td>2.05<\/td><td>1.79<\/td><td>1.28<\/td><td>0.84<\/td><\/tr>\n                  <tr><td>80<\/td><td>2.12<\/td><td>1.87<\/td><td>1.36<\/td><td>0.91<\/td><\/tr>\n                  <tr><td>90<\/td><td>2.18<\/td><td>1.93<\/td><td>1.43<\/td><td>0.98<\/td><\/tr>\n                  <tr><td>100<\/td><td>2.23<\/td><td>2.00<\/td><td>1.50<\/td><td>1.04<\/td><\/tr>\n                  <tr><td>150<\/td><td>2.46<\/td><td>2.25<\/td><td>1.79<\/td><td>1.33<\/td><\/tr>\n                  <tr><td>200<\/td><td>2.64<\/td><td>2.46<\/td><td>2.03<\/td><td>1.58<\/td><\/tr>\n                  <tr><td>250<\/td><td>2.78<\/td><td>2.63<\/td><td>2.24<\/td><td>1.81<\/td><\/tr>\n                  <tr><td>300<\/td><td>2.91<\/td><td>2.77<\/td><td>2.43<\/td><td>2.02<\/td><\/tr>\n                  <tr><td>350<\/td><td>2.91<\/td><td>2.91<\/td><td>2.60<\/td><td>2.22<\/td><\/tr>\n                  <tr><td>400<\/td><td>2.91<\/td><td>2.91<\/td><td>2.76<\/td><td>2.40<\/td><\/tr>\n                  <tr><td>450<\/td><td>2.91<\/td><td>2.91<\/td><td>2.91<\/td><td>2.58<\/td><\/tr>\n                  <tr><td>500<\/td><td>2.91<\/td><td>2.91<\/td><td>2.91<\/td><td>2.74<\/td><\/tr>\n                  <tr><td>\u2265550<\/td><td>2.91<\/td><td>2.91<\/td><td>2.91<\/td><td>2.91<\/td><\/tr>\n                <\/tbody>\n              <\/table>\n            <\/div>\n            <div class=\"slc-terrain-notes\">\n              <div class=\"slc-terrain-note\"><strong>Terrain A<\/strong><span>Offshore areas, islands, coasts, lake shores and deserts.<\/span><\/div>\n              <div class=\"slc-terrain-note\"><strong>Terrain B<\/strong><span>Fields, rural areas, forests, hills and sparsely built suburbs.<\/span><\/div>\n              <div class=\"slc-terrain-note\"><strong>Terrain C<\/strong><span>Urban districts with dense groups of buildings.<\/span><\/div>\n              <div class=\"slc-terrain-note\"><strong>Terrain D<\/strong><span>Dense urban districts dominated by taller buildings.<\/span><\/div>\n            <\/div>\n          <\/article>\n\n          <article class=\"slc-reference-card slc-reference-card--wide\" id=\"slc-mur-table\">\n            <header class=\"slc-reference-card-head\">\n              <div>\n                <h3>Mono-pitch roof snow coefficient \u03bcr<\/h3>\n                <p>Single-span roof snow distribution by roof slope \u03b1<\/p>\n              <\/div>\n              <span class=\"slc-reference-tag\">8 slope points<\/span>\n            <\/header>\n            <div class=\"slc-snow-reference-body\">\n              <div class=\"slc-roof-figure\">\n                <svg viewBox=\"0 0 440 230\" role=\"img\" aria-labelledby=\"slc-roof-diagram-title slc-roof-diagram-desc\">\n                  <title id=\"slc-roof-diagram-title\">Single-span mono-pitch roof<\/title>\n                  <desc id=\"slc-roof-diagram-desc\">A sloped roof with uniformly distributed snow load and roof angle alpha.<\/desc>\n                  <defs>\n                    <linearGradient id=\"slcSnowFill\" x1=\"0\" x2=\"1\">\n                      <stop offset=\"0\" stop-color=\"#dff3ea\"><\/stop>\n                      <stop offset=\"1\" stop-color=\"#f4faf7\"><\/stop>\n                    <\/linearGradient>\n                  <\/defs>\n                  <text x=\"220\" y=\"30\" fill=\"#51635d\" font-size=\"12\" font-weight=\"700\" text-anchor=\"middle\">Uniform snow distribution<\/text>\n                  <rect x=\"126\" y=\"45\" width=\"188\" height=\"25\" rx=\"0\" fill=\"url(#slcSnowFill)\" stroke=\"#16815d\" stroke-width=\"2.5\"><\/rect>\n                  <text x=\"327\" y=\"64\" fill=\"#16815d\" font-size=\"17\" font-weight=\"800\">\u03bcr<\/text>\n                  <path d=\"M104 151 L316 103 L316 181 L104 181 Z\" fill=\"#eaf5f0\" stroke=\"none\"><\/path>\n                  <path d=\"M104 151 L316 103\" fill=\"none\" stroke=\"#10251f\" stroke-width=\"4\" stroke-linecap=\"round\"><\/path>\n                  <path d=\"M104 151 L104 181 M316 103 L316 181 M82 181 H340\" fill=\"none\" stroke=\"#10251f\" stroke-width=\"4\" stroke-linecap=\"round\"><\/path>\n                  <path d=\"M104 151 H202\" fill=\"none\" stroke=\"#51635d\" stroke-width=\"2\" stroke-linecap=\"round\"><\/path>\n                  <path d=\"M164 151 A60 60 0 0 0 162.5 137.4\" fill=\"none\" stroke=\"#16815d\" stroke-width=\"2.5\" stroke-linecap=\"round\"><\/path>\n                  <text x=\"174\" y=\"148\" fill=\"#16815d\" font-size=\"13\" font-weight=\"800\">\u03b1<\/text>\n                <\/svg>\n              <\/div>\n              <div class=\"slc-mur-panel\">\n                <h4>Roof slope \u03b1 and snow coefficient \u03bcr<\/h4>\n                <p>Select the coefficient corresponding to the mono-pitch roof angle.<\/p>\n                <div class=\"slc-mur-values\" role=\"table\" aria-label=\"Mono-pitch roof snow coefficient by slope\">\n                  <div class=\"slc-mur-cell\" role=\"row\"><span role=\"rowheader\">\u03b1 \u226425\u00b0<\/span><strong role=\"cell\">1.00<\/strong><\/div>\n                  <div class=\"slc-mur-cell\" role=\"row\"><span role=\"rowheader\">\u03b1 30\u00b0<\/span><strong role=\"cell\">0.85<\/strong><\/div>\n                  <div class=\"slc-mur-cell\" role=\"row\"><span role=\"rowheader\">\u03b1 35\u00b0<\/span><strong role=\"cell\">0.70<\/strong><\/div>\n                  <div class=\"slc-mur-cell\" role=\"row\"><span role=\"rowheader\">\u03b1 40\u00b0<\/span><strong role=\"cell\">0.55<\/strong><\/div>\n                  <div class=\"slc-mur-cell\" role=\"row\"><span role=\"rowheader\">\u03b1 45\u00b0<\/span><strong role=\"cell\">0.40<\/strong><\/div>\n                  <div class=\"slc-mur-cell\" role=\"row\"><span role=\"rowheader\">\u03b1 50\u00b0<\/span><strong role=\"cell\">0.25<\/strong><\/div>\n                  <div class=\"slc-mur-cell\" role=\"row\"><span role=\"rowheader\">\u03b1 55\u00b0<\/span><strong role=\"cell\">0.10<\/strong><\/div>\n                  <div class=\"slc-mur-cell\" role=\"row\"><span role=\"rowheader\">\u03b1 \u226560\u00b0<\/span><strong role=\"cell\">0.00<\/strong><\/div>\n                <\/div>\n                <div class=\"slc-mur-legend\">\n                  <span><strong>\u03b1<\/strong> Roof slope angle<\/span>\n                  <span><strong>\u03bcr<\/strong> Snow distribution coefficient<\/span>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/article>\n        <\/div>\n      <\/section>\n    <\/div>\n  <\/section>\n\n  <section class=\"slc-guide\" aria-labelledby=\"slc-guide-title\">\n    <div class=\"slc-wrap\">\n      <div class=\"slc-guide-card\">\n        <div>\n          <span class=\"slc-eyebrow\">New to structural load calculations?<\/span>\n          <h2 id=\"slc-guide-title\">Follow the calculator step by step<\/h2>\n          <p>\n            Learn where each input comes from, which units to use, how to read\n            comparison results, and how the default fixed-tilt and tracker\n            examples work.\n          <\/p>\n        <\/div>\n        <div class=\"slc-guide-actions\">\n          <a class=\"slc-button\" href=\"https:\/\/luminvolt.com\/how-to-use-solar-mounting-structural-load-calculator\/\">Open the full tutorial<\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"slc-method\">\n    <div class=\"slc-wrap slc-method-grid\">\n      <div class=\"slc-method-copy\">\n        <span class=\"slc-eyebrow\" style=\"color: var(--slc-green)\">Calculation basis<\/span>\n        <h2>Transparent formulas, live results<\/h2>\n        <p>\n          The environmental-load and tracker-torque chains mirror the supplied\n          workbook. Fixed-tilt member capacity uses design actions entered by the\n          user and should be treated as a separate engineering comparison.\n        <\/p>\n      <\/div>\n      <div class=\"slc-formulas\">\n        <div class=\"slc-formula\">\n          <strong>Basic wind pressure<\/strong>\n          <code>w = 0.5 \u00d7 \u03c1 \u00d7 V\u00b2<\/code>\n        <\/div>\n        <div class=\"slc-formula\">\n          <strong>Design wind and snow loads<\/strong>\n          <code>\u03c9k = \u03b2z \u00d7 \u03bcs \u00d7 \u03bcz \u00d7 w0 &nbsp; | &nbsp; sk = \u03bcr \u00d7 s0<\/code>\n        <\/div>\n        <div class=\"slc-formula\">\n          <strong>Combined member stress<\/strong>\n          <code>\u03c3 = N \/ An + Mx \/ (\u03b3x \u00d7 Wnx) + My \/ (\u03b3y \u00d7 Wny)<\/code>\n        <\/div>\n        <div class=\"slc-formula\">\n          <strong>Tracker unit torque<\/strong>\n          <code>t = T \/ L1<\/code>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"slc-disclaimer\">\n    <div class=\"slc-wrap\">\n      <p>\n        Preliminary engineering tool only. A &#8220;Within input limit&#8221; result is not\n        structural certification and does not prove that environmental loads have\n        been converted into member actions. Confirm site wind, snow, exposure,\n        load combinations, member actions, capacities and applicable codes with a\n        qualified structural engineer before design or construction.\n      <\/p>\n    <\/div>\n  <\/section>\n<\/main>\n\n<script>\n  (() => {\n    const root = document.getElementById(\"solar-structural-load-calculator\");\n    if (!root) return;\n\n    const number = (id) => {\n      const field = document.getElementById(id);\n      const value = field ? Number.parseFloat(field.value) : 0;\n      return Number.isFinite(value) ? value : 0;\n    };\n\n    const safeDivide = (a, b) => (Math.abs(b) > 1e-12 ? a \/ b : 0);\n    const format = (value, digits = 2) =>\n      Number.isFinite(value)\n        ? value.toLocaleString(\"en-US\", {\n            minimumFractionDigits: digits,\n            maximumFractionDigits: digits,\n          })\n        : \"\u2014\";\n    const put = (id, text) => {\n      const node = document.getElementById(id);\n      if (node) node.textContent = text;\n    };\n    const comparisonStatus = (ratio) => {\n      if (!Number.isFinite(ratio) || ratio > 1) {\n        return '<span class=\"slc-status slc-status--fail\">Review<\/span>';\n      }\n      if (ratio >= 0.8) {\n        return '<span class=\"slc-status slc-status--near\">Near limit<\/span>';\n      }\n      return '<span class=\"slc-status slc-status--within\">Within<\/span>';\n    };\n    const trackedStarts = new Set();\n    const track = (eventName, parameters = {}) => {\n      const payload = {\n        calculator_name: \"solar_mounting_structural_load_calculator\",\n        ...parameters,\n      };\n      if (typeof window.gtag === \"function\") {\n        window.gtag(\"event\", eventName, payload);\n      } else {\n        window.dataLayer = window.dataLayer || [];\n        window.dataLayer.push({ event: eventName, ...payload });\n      }\n    };\n    const trackStart = (mode) => {\n      if (trackedStarts.has(mode)) return;\n      trackedStarts.add(mode);\n      track(\"calculator_start\", { calculator_mode: mode });\n    };\n\n    const memberStress = (prefix, forcePrefix) => {\n      const axial = number(`${forcePrefix}-n`);\n      const mx = number(`${forcePrefix}-mx`);\n      const my = number(`${forcePrefix}-my`);\n      const area = number(`${prefix}-area`);\n      const wnx = number(`${prefix}-wnx`);\n      const wny = number(`${prefix}-wny`);\n      const gx = number(`${prefix}-gx`);\n      const gy = number(`${prefix}-gy`);\n      const raw =\n        safeDivide(axial * 10000, area) +\n        safeDivide(mx * 1000000, gx * wnx) +\n        safeDivide(my * 1000000, gy * wny);\n      return raw \/ 1000000;\n    };\n\n    function calculateFixed() {\n      const moduleLength = number(\"f-module-length\");\n      const moduleWidth = number(\"f-module-width\");\n      const moduleMass = number(\"f-module-mass\");\n      const rows = number(\"f-layout-rows\");\n      const columns = number(\"f-layout-cols\");\n      const purlinLength = number(\"f-purlin-length\");\n      const rafterLength = number(\"f-rafter-length\");\n      const moduleArea = (moduleLength * moduleWidth) \/ 1000000;\n\n      const basicWindPressure =\n        0.5 * number(\"f-air-density\") * number(\"f-wind-speed\") ** 2;\n      const designWind =\n        number(\"f-wind-beta\") *\n        number(\"f-wind-shape\") *\n        number(\"f-wind-height\") *\n        basicWindPressure;\n      const basicSnowPressure =\n        number(\"f-snow-density\") * 10 * number(\"f-snow-depth\");\n      const designSnow = number(\"f-snow-shape\") * basicSnowPressure;\n\n      const purlinWind = safeDivide(\n        designWind * moduleArea * columns,\n        2 * purlinLength,\n      );\n      const tableWind = designWind * moduleArea * columns * rows;\n      const rafterWind = safeDivide(tableWind, 2 * rafterLength);\n      const purlinSnow = safeDivide(\n        designSnow * moduleArea * columns,\n        purlinLength,\n      );\n      const tableSnow = designSnow * moduleArea * columns * rows;\n      const rafterSnow = safeDivide(tableSnow, 2 * rafterLength);\n      const gravity = safeDivide(columns * moduleMass * 10, purlinLength * 2);\n\n      put(\"fo-wind-pressure\", format(basicWindPressure, 2));\n      put(\"fo-wind-load\", format(designWind, 2));\n      put(\"fo-snow-load\", format(designSnow, 2));\n      put(\"fo-purlin-wind\", `${format(purlinWind, 3)} N\/mm`);\n      put(\"fo-table-wind\", `${format(tableWind, 2)} N`);\n      put(\"fo-rafter-wind\", `${format(rafterWind, 3)} N\/mm`);\n      put(\"fo-purlin-snow\", `${format(purlinSnow, 3)} N\/mm`);\n      put(\"fo-table-snow\", `${format(tableSnow, 2)} N`);\n      put(\"fo-rafter-snow\", `${format(rafterSnow, 3)} N\/mm`);\n      put(\"fo-gravity\", `${format(gravity, 3)} N\/mm`);\n\n      const strength = [\n        [\"Purlin\", memberStress(\"f-p\", \"f-p\")],\n        [\"Rafter\", memberStress(\"f-r\", \"f-r\")],\n        [\"Post\", memberStress(\"f-c\", \"f-c\")],\n        [\n          \"Brace\",\n          safeDivide(number(\"f-b-n\") * 10000, number(\"f-b-area\")) \/ 1000000,\n        ],\n      ];\n      const designStrength = number(\"f-yield\");\n      document.getElementById(\"fo-strength-body\").innerHTML = strength\n        .map(([name, stress]) => {\n          const utilization = safeDivide(stress, designStrength);\n          return `<tr><td>${name}<\/td><td>${format(stress, 2)} MPa<\/td><td>${format(utilization * 100, 1)}%<\/td><td>${comparisonStatus(utilization)}<\/td><\/tr>`;\n        })\n        .join(\"\");\n\n      const deflections = [\n        [\"Purlin\", safeDivide(number(\"f-p-def-length\"), 200), number(\"f-p-def-actual\")],\n        [\"Rafter\", safeDivide(number(\"f-r-def-length\"), 250), number(\"f-r-def-actual\")],\n        [\"Post\", safeDivide(number(\"f-c-def-length\"), 60), number(\"f-c-def-actual\")],\n      ];\n      document.getElementById(\"fo-deflection-body\").innerHTML = deflections\n        .map(([name, limit, actual]) => {\n          const ratio = safeDivide(actual, limit);\n          return `<tr><td>${name}<\/td><td>${format(limit, 2)} mm<\/td><td>${format(actual, 2)} mm<\/td><td>${comparisonStatus(ratio)}<\/td><\/tr>`;\n        })\n        .join(\"\");\n    }\n\n    function trackerCase(prefix) {\n      const beta = number(`${prefix}-beta`);\n      const muz = number(`${prefix}-muz`);\n      const rho = number(`${prefix}-rho`);\n      const speed = number(`${prefix}-speed`);\n      const cpPlus = number(`${prefix}-cp-plus`);\n      const cpMinus = number(`${prefix}-cp-minus`);\n      const pressure = 0.5 * rho * speed ** 2;\n      const shapeAverage = (cpPlus + cpMinus) \/ 2;\n      return {\n        beta,\n        muz,\n        cpPlus,\n        cpMinus,\n        pressure,\n        designLoad: beta * shapeAverage * muz * pressure,\n      };\n    }\n\n    function calculateTracker() {\n      const moduleArea =\n        number(\"t-module-length\") * number(\"t-module-width\");\n      const count = number(\"t-module-count\");\n      const windLength = number(\"t-wind-length\");\n      const axisLength = number(\"t-axis-length\");\n      const case1 = trackerCase(\"t-c1\");\n      const case2 = trackerCase(\"t-c2\");\n\n      const windTorque = (item) =>\n        count *\n        0.5 *\n        item.pressure *\n        item.beta *\n        item.muz *\n        (item.cpPlus - item.cpMinus) *\n        0.25 *\n        windLength *\n        moduleArea;\n      const torque1 = windTorque(case1);\n      const torque2 = windTorque(case2);\n      const gravityTorque =\n        number(\"t-module-mass\") *\n        count *\n        9.8 *\n        number(\"t-gravity-arm\") *\n        Math.sin((number(\"t-gravity-angle\") * Math.PI) \/ 180);\n      const unit1 = safeDivide(torque1, axisLength);\n      const unit2 = safeDivide(torque2, axisLength);\n      const gravityUnit = safeDivide(gravityTorque, axisLength);\n      const total1 = unit1;\n      const total2 = unit2 + gravityUnit;\n      const snowPressure =\n        number(\"t-snow-density\") * 10 * number(\"t-snow-depth\");\n      const snowLoad = (number(\"t-snow-mur\") * snowPressure) \/ 1000;\n\n      put(\"to-governing\", format(Math.max(Math.abs(total1), Math.abs(total2)), 2));\n      put(\"to-total-c1\", format(total1, 2));\n      put(\"to-total-c2\", format(total2, 2));\n      put(\"to-wind-torque-c1\", `${format(torque1, 2)} N\u00b7m`);\n      put(\"to-wind-torque-c2\", `${format(torque2, 2)} N\u00b7m`);\n      put(\"to-gravity-torque\", `${format(gravityTorque, 2)} N\u00b7m`);\n      put(\"to-unit-c1\", `${format(unit1, 2)} N\u00b7m\/m`);\n      put(\"to-unit-c2\", `${format(unit2, 2)} N\u00b7m\/m`);\n      put(\"to-unit-gravity\", `${format(gravityUnit, 2)} N\u00b7m\/m`);\n      put(\"to-module-area\", `${format(moduleArea, 3)} m\u00b2`);\n      put(\"to-pressure-c1\", `${format(case1.pressure, 2)} Pa`);\n      put(\"to-load-c1\", `${format(case1.designLoad, 2)} N\/m\u00b2`);\n      put(\"to-pressure-c2\", `${format(case2.pressure, 2)} Pa`);\n      put(\"to-load-c2\", `${format(case2.designLoad, 2)} N\/m\u00b2`);\n      put(\"to-snow-load\", `${format(snowLoad, 3)} kN\/m\u00b2`);\n    }\n\n    root.querySelectorAll(\"[data-calc]\").forEach((input) => {\n      input.dataset.defaultValue = input.value;\n      input.addEventListener(\"input\", () => {\n        if (input.dataset.calc === \"fixed\") {\n          calculateFixed();\n          trackStart(\"fixed-tilt\");\n        } else {\n          calculateTracker();\n          trackStart(\"single-axis-tracker\");\n        }\n      });\n    });\n\n    root.querySelectorAll(\"[data-reset]\").forEach((button) => {\n      button.addEventListener(\"click\", () => {\n        const mode = button.dataset.reset;\n        root.querySelectorAll(`[data-calc=\"${mode}\"]`).forEach((input) => {\n          input.value = input.dataset.defaultValue;\n        });\n        if (mode === \"fixed\") calculateFixed();\n        else calculateTracker();\n      });\n    });\n\n    root.querySelectorAll(\".slc-mode-tab\").forEach((tab) => {\n      tab.addEventListener(\"click\", () => {\n        const mode = tab.dataset.mode;\n        root.querySelectorAll(\".slc-mode-tab\").forEach((item) => {\n          const active = item === tab;\n          item.setAttribute(\"aria-selected\", String(active));\n          item.tabIndex = active ? 0 : -1;\n        });\n        document.getElementById(\"slc-fixed\").hidden = mode !== \"fixed\";\n        document.getElementById(\"slc-tracker\").hidden = mode !== \"tracker\";\n        track(\"calculator_mode_change\", {\n          calculator_mode: mode === \"fixed\" ? \"fixed-tilt\" : \"single-axis-tracker\",\n        });\n      });\n    });\n\n    root.querySelectorAll(\"[data-advanced-section]\").forEach((section) => {\n      section.addEventListener(\"toggle\", () => {\n        if (!section.open) return;\n        track(\"calculator_advanced_open\", {\n          calculator_mode: \"fixed-tilt\",\n          advanced_section: section.dataset.advancedSection,\n        });\n      });\n    });\n\n    root.querySelectorAll(\"[data-analytics-event]\").forEach((link) => {\n      link.addEventListener(\"click\", () => {\n        track(link.dataset.analyticsEvent, {\n          calculator_mode: link.dataset.calculatorMode,\n          link_url: link.href,\n        });\n      });\n    });\n\n    calculateFixed();\n    calculateTracker();\n  })();\n<\/script>\n\n\n","protected":false},"excerpt":{"rendered":"<p>Engineering calculator Solar Mounting Structural Load Calculator Calculate wind and snow loads, compare engineer-supplied member actions and deflections, and estimate single-axis tracker torque. Open calculator Read the beginner\u2019s guide Structural load model Live calculation Wind Snow Systems2 modes Load types3 forces ResponseInstant Workbook converted Choose the mounting system Defaults reproduce the supplied workbook. Environmental loads &#8230; <a title=\"Solar Mounting Structural Load Calculator\" class=\"read-more\" href=\"https:\/\/luminvolt.com\/zh\/solar-mounting-structural-load-calculator\/\" aria-label=\"Read more about Solar Mounting Structural Load Calculator\">Read more<\/a><\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_yoast_wpseo_focuskw":"solar mounting structural load calculator","_yoast_wpseo_title":"Solar Mounting Structural Load Calculator | LuminVolt","_yoast_wpseo_metadesc":"Calculate wind pressure, snow load, member utilization, deflection and single-axis tracker torque with LuminVolt\u2019s interactive engineering calculator.","footnotes":""},"class_list":["post-742","page","type-page","status-publish"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.3 (Yoast SEO v28.7) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Solar Mounting Structural Load Calculator | LuminVolt<\/title>\n<meta name=\"description\" content=\"Calculate wind pressure, snow load, member utilization, deflection and single-axis tracker torque with LuminVolt\u2019s interactive engineering calculator.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/luminvolt.com\/zh\/solar-mounting-structural-load-calculator\/\" \/>\n<meta property=\"og:locale\" content=\"zh_TW\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Solar Mounting Structural Load Calculator\" \/>\n<meta property=\"og:description\" content=\"Calculate wind pressure, snow load, member utilization, deflection and single-axis tracker torque with LuminVolt\u2019s interactive engineering calculator.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/luminvolt.com\/zh\/solar-mounting-structural-load-calculator\/\" \/>\n<meta property=\"og:site_name\" content=\"LuminVolt\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-19T03:39:18+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u9810\u4f30\u95b1\u8b80\u6642\u9593\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 \u5206\u9418\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/luminvolt.com\\\/solar-mounting-structural-load-calculator\\\/\",\"url\":\"https:\\\/\\\/luminvolt.com\\\/solar-mounting-structural-load-calculator\\\/\",\"name\":\"Solar Mounting Structural Load Calculator | LuminVolt\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/luminvolt.com\\\/#website\"},\"datePublished\":\"2026-07-30T01:21:41+00:00\",\"dateModified\":\"2026-08-19T03:39:18+00:00\",\"description\":\"Calculate wind pressure, snow load, member utilization, deflection and single-axis tracker torque with LuminVolt\u2019s interactive engineering calculator.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/luminvolt.com\\\/solar-mounting-structural-load-calculator\\\/#breadcrumb\"},\"inLanguage\":\"zh-TW\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/luminvolt.com\\\/solar-mounting-structural-load-calculator\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/luminvolt.com\\\/solar-mounting-structural-load-calculator\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\\\/\\\/luminvolt.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Solar Mounting Structural Load Calculator\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/luminvolt.com\\\/#website\",\"url\":\"https:\\\/\\\/luminvolt.com\\\/\",\"name\":\"LuminVolt\",\"description\":\"Your Partner in Advanced Solar Mounting Systems &amp; Energy Storage\",\"publisher\":{\"@id\":\"https:\\\/\\\/luminvolt.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/luminvolt.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-TW\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/luminvolt.com\\\/#organization\",\"name\":\"LuminVolt\",\"url\":\"https:\\\/\\\/luminvolt.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-TW\",\"@id\":\"https:\\\/\\\/luminvolt.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/luminvolt.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/LuminVolt-02.webp\",\"contentUrl\":\"https:\\\/\\\/luminvolt.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/LuminVolt-02.webp\",\"width\":512,\"height\":512,\"caption\":\"LuminVolt\"},\"image\":{\"@id\":\"https:\\\/\\\/luminvolt.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Solar Mounting Structural Load Calculator | LuminVolt","description":"Calculate wind pressure, snow load, member utilization, deflection and single-axis tracker torque with LuminVolt\u2019s interactive engineering calculator.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/luminvolt.com\/zh\/solar-mounting-structural-load-calculator\/","og_locale":"zh_TW","og_type":"article","og_title":"Solar Mounting Structural Load Calculator","og_description":"Calculate wind pressure, snow load, member utilization, deflection and single-axis tracker torque with LuminVolt\u2019s interactive engineering calculator.","og_url":"https:\/\/luminvolt.com\/zh\/solar-mounting-structural-load-calculator\/","og_site_name":"LuminVolt","article_modified_time":"2026-08-19T03:39:18+00:00","twitter_card":"summary_large_image","twitter_misc":{"\u9810\u4f30\u95b1\u8b80\u6642\u9593":"5 \u5206\u9418"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/luminvolt.com\/solar-mounting-structural-load-calculator\/","url":"https:\/\/luminvolt.com\/solar-mounting-structural-load-calculator\/","name":"Solar Mounting Structural Load Calculator | LuminVolt","isPartOf":{"@id":"https:\/\/luminvolt.com\/#website"},"datePublished":"2026-07-30T01:21:41+00:00","dateModified":"2026-08-19T03:39:18+00:00","description":"Calculate wind pressure, snow load, member utilization, deflection and single-axis tracker torque with LuminVolt\u2019s interactive engineering calculator.","breadcrumb":{"@id":"https:\/\/luminvolt.com\/solar-mounting-structural-load-calculator\/#breadcrumb"},"inLanguage":"zh-TW","potentialAction":[{"@type":"ReadAction","target":["https:\/\/luminvolt.com\/solar-mounting-structural-load-calculator\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/luminvolt.com\/solar-mounting-structural-load-calculator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/luminvolt.com\/"},{"@type":"ListItem","position":2,"name":"Solar Mounting Structural Load Calculator"}]},{"@type":"WebSite","@id":"https:\/\/luminvolt.com\/#website","url":"https:\/\/luminvolt.com\/","name":"LuminVolt","description":"Your Partner in Advanced Solar Mounting Systems &amp; Energy Storage","publisher":{"@id":"https:\/\/luminvolt.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/luminvolt.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-TW"},{"@type":"Organization","@id":"https:\/\/luminvolt.com\/#organization","name":"LuminVolt","url":"https:\/\/luminvolt.com\/","logo":{"@type":"ImageObject","inLanguage":"zh-TW","@id":"https:\/\/luminvolt.com\/#\/schema\/logo\/image\/","url":"https:\/\/luminvolt.com\/wp-content\/uploads\/2024\/12\/LuminVolt-02.webp","contentUrl":"https:\/\/luminvolt.com\/wp-content\/uploads\/2024\/12\/LuminVolt-02.webp","width":512,"height":512,"caption":"LuminVolt"},"image":{"@id":"https:\/\/luminvolt.com\/#\/schema\/logo\/image\/"}}]}},"yoast_social":{"twitter_title":"","twitter_description":"","twitter_image":""},"_links":{"self":[{"href":"https:\/\/luminvolt.com\/zh\/wp-json\/wp\/v2\/pages\/742","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/luminvolt.com\/zh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/luminvolt.com\/zh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/luminvolt.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/luminvolt.com\/zh\/wp-json\/wp\/v2\/comments?post=742"}],"version-history":[{"count":12,"href":"https:\/\/luminvolt.com\/zh\/wp-json\/wp\/v2\/pages\/742\/revisions"}],"predecessor-version":[{"id":787,"href":"https:\/\/luminvolt.com\/zh\/wp-json\/wp\/v2\/pages\/742\/revisions\/787"}],"wp:attachment":[{"href":"https:\/\/luminvolt.com\/zh\/wp-json\/wp\/v2\/media?parent=742"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}