/* Shared industry navigation and straight-cut project pages. */
.pn-icon { display:inline-block; width:20px; height:20px; flex:0 0 auto; vertical-align:middle; }
[data-sector="steel"] { --sector-color:#315a7b; --sector-tint:#edf2f7; }
[data-sector="solar"] { --sector-color:#986017; --sector-tint:#fbf4e4; }
[data-sector="container"] { --sector-color:#2d7481; --sector-tint:#eaf5f6; }
[data-sector="racking"] { --sector-color:#9e5140; --sector-tint:#fcf0eb; }
[data-sector="pipe"] { --sector-color:#ab4450; --sector-tint:#fceff0; }
[data-sector="greenhouse"] { --sector-color:#327348; --sector-tint:#edf6ee; }
[data-sector="rebar"] { --sector-color:#59616d; --sector-tint:#f0f2f4; }
.pn-sector-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:6px; color:var(--sector-color, #315a7b); background:var(--sector-tint, #edf2f7); }
.pn-disclosure-icon { width:16px; height:16px; transition:transform .18s ease; }
details[open] > summary > .pn-disclosure-icon { transform:rotate(180deg); }
.pn-industry-menu { position:static; }
.product-nav .pn-industry-menu > summary { gap:9px; padding:10px 12px; border:1px solid transparent; border-radius:5px; color:#374352; font-weight:600; cursor:pointer; list-style:none; }
.pn-industry-menu > summary::-webkit-details-marker { display:none; }
.pn-industry-menu > summary::marker { content:""; }
.product-nav .pn-industry-menu > summary:hover,
.product-nav .pn-industry-menu[open] > summary { color:#175bc3; border-color:#dce6f2; background:#f0f5fc; }
.pn-industry-menu .industry-menu-panel { left:50%; transform:translateX(-50%); top:calc(100% - 2px); width:min(840px, calc(100% - 24px)); max-height:calc(100dvh - 150px); overflow-y:auto; overscroll-behavior:contain; padding:22px; gap:24px; border:1px solid #dce3e9; border-top:3px solid #2464ca; border-radius:6px; background:#fff; box-shadow:0 16px 40px #20314a21; z-index:50; }
.pn-industry-menu .industry-menu-column { min-width:0; }
.pn-industry-menu .industry-menu-column > strong { display:block; margin:0 0 10px 10px; font-size:11px; line-height:1.5; color:#697583; text-transform:uppercase; letter-spacing:0; }
.pn-industry-menu .industry-menu-column a { display:grid; grid-template-columns:38px minmax(0, 1fr) 16px; gap:12px; align-items:center; min-height:79px; padding:10px; white-space:normal; border-radius:5px; text-decoration:none; }
.pn-industry-menu .industry-menu-column a:hover,
.pn-industry-menu .industry-menu-column a[aria-current="page"] { background:#f5f7fa; }
.pn-industry-menu .pn-industry-menu-copy { display:grid; gap:4px; min-width:0; }
.pn-industry-menu .pn-industry-menu-copy b { font-size:13px; line-height:1.4; font-weight:650; color:#24313e; }
.pn-industry-menu .pn-industry-menu-copy small { font-size:12px; line-height:1.45; color:#66727f; }
.pn-industry-menu .pn-menu-arrow { width:16px; height:16px; color:#99a6b4; }
.pn-industry-menu .industry-menu-column a:hover .pn-menu-arrow { color:#175bc3; }
.pn-industry-menu :focus-visible,
.sector-page :focus-visible,
#sector-samples :focus-visible { outline:3px solid #8eb9f8; outline-offset:3px; }
#sector-samples > summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:3px 0; list-style:none; }
#sector-samples > summary::-webkit-details-marker { display:none; }
#sector-samples > summary::marker { content:""; }
#sector-samples > summary > span { display:flex; align-items:center; gap:10px; min-width:0; }
#sector-samples > summary > .pn-disclosure-icon { box-sizing:content-box; padding:6px; border:1px solid #ccdced; border-radius:5px; background:#fff; }
#sector-samples .sector-quick-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:40px; }
#sector-samples .sector-quick-button > .pn-icon { width:17px; height:17px; color:var(--sector-color); }
#sector-samples .sector-quick-button[aria-pressed="true"] > .pn-icon { color:inherit; }

.sector-page { background:#fff; color:#26323e; font-family:"Segoe UI", Arial, sans-serif; letter-spacing:0; line-height:1.5; --sector-line:#e2e7eb; }
.sector-container { width:min(1180px, calc(100% - 64px)); margin-inline:auto; }
.sector-header { position:relative; z-index:30; border-bottom:1px solid var(--sector-line); background:#fff; }
.sector-header-inner { position:relative; min-height:80px; display:flex; align-items:center; gap:28px; }
.sector-brand { display:grid; gap:1px; text-decoration:none; color:#26323e; flex:1 0 auto; }
.sector-brand b { font-size:20px; font-weight:800; }
.sector-brand > span { color:#697581; font-size:11px; }
.sector-header .product-nav { display:flex; align-items:center; flex-wrap:nowrap; gap:8px; }
.sector-header .product-nav > a { font-size:13px; font-weight:600; color:#374352; padding:10px 12px; text-decoration:none; white-space:nowrap; }
.sector-header .product-nav > a:hover { color:#175bc3; background:#f0f5fc; }
.sector-header .language-switch { margin:0; flex:0 0 auto; border-color:#e1e7ee; }
.sector-header .language-switch a { min-width:32px; min-height:30px; font-size:12px; }
.sector-skip { position:absolute; top:-80px; left:16px; z-index:60; padding:12px; background:#fff; color:#175bc3; }
.sector-skip:focus { top:8px; }
.sector-hero { position:relative; min-height:350px; display:flex; align-items:center; isolation:isolate; overflow:hidden; background:#edf1f3; border-bottom:1px solid #d9e0e5; }
.sector-hero-image { position:absolute; z-index:-1; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 55%; }
.sector-hero > .sector-container { padding-top:20px; padding-bottom:32px; }
.sector-breadcrumb { display:flex; align-items:center; gap:12px; margin-bottom:22px; color:#566573; font-size:11px; }
.sector-breadcrumb a { color:inherit; text-decoration:none; }
.sector-breadcrumb a:hover { text-decoration:underline; }
.sector-hero-copy { max-width:490px; }
.sector-kicker { display:inline-flex; align-items:center; gap:8px; color:#305b69; font-size:11px; font-weight:750; }
.sector-kicker > .pn-icon { width:19px; height:19px; color:var(--sector-color); }
.sector-hero h1 { margin:12px 0 12px; font-size:38px; line-height:1.15; font-weight:750; text-wrap:balance; overflow-wrap:break-word; letter-spacing:0; color:#1f2e38; }
.sector-hero-copy > p { margin:0 0 22px; max-width:430px; color:#485b66; font-size:15px; line-height:1.6; }
.sector-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:12px 17px; border:1px solid #1f6feb; border-radius:5px; background:#1f6feb; color:#fff; font-size:13px; font-weight:650; line-height:1.4; text-decoration:none; text-align:center; transition:background .15s ease; }
.sector-button:hover { background:#1754b8; border-color:#1754b8; color:#fff; }
.sector-button .pn-icon { width:18px; height:18px; }
.sector-project { padding-block:38px 32px; }
.sector-section-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-bottom:24px; }
.sector-title-group { display:flex; align-items:center; gap:15px; min-width:0; }
.sector-section-index { display:grid; place-items:center; min-width:38px; height:38px; font-size:12px; font-weight:700; color:#7c8994; border-left:3px solid #88a5b5; background:#f2f5f7; font-variant-numeric:tabular-nums; }
.sector-eyebrow { display:block; font-size:10px; font-weight:700; color:#697783; margin-bottom:4px; }
.sector-page h2 { font-size:21px; line-height:1.3; font-weight:650; letter-spacing:0; margin:0; overflow-wrap:break-word; }
.sector-project-totals { display:flex; align-items:center; gap:22px; }
.sector-project-totals > span { display:grid; gap:3px; color:#73808b; font-size:11px; padding-left:22px; border-left:1px solid var(--sector-line); }
.sector-project-totals b { font-size:18px; font-weight:650; color:#344955; font-variant-numeric:tabular-nums; white-space:nowrap; }
.sector-project-grid { display:grid; grid-template-columns:minmax(0, 1fr) 290px; gap:32px; align-items:start; }
.sector-parts { min-width:0; }
.sector-parts-table { width:100%; table-layout:fixed; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.sector-parts-table .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.sector-parts-table thead { background:#f1f4f6; }
.sector-parts-table th,
.sector-parts-table td { border-bottom:1px solid var(--sector-line); padding:14px 18px; text-align:left; vertical-align:middle; }
.sector-parts-table thead th { padding-block:12px; font-size:11px; color:#667581; font-weight:600; }
.sector-parts-table thead th span { white-space:nowrap; font-weight:400; }
.sector-parts-table th:first-child { width:64px; }
.sector-parts-table th:nth-child(3) { width:15%; text-align:right; }
.sector-parts-table th:last-child { width:21%; text-align:right; }
.sector-parts-table tbody tr { height:70px; }
.sector-parts-table tbody tr:hover { background:#fafcfd; }
.sector-part-id { color:#7f8c97; font-size:12px; font-weight:600; }
.sector-length-label { margin-bottom:8px; display:flex; align-items:baseline; }
.sector-length-label b { font-size:14px; font-weight:600; color:#314755; }
.sector-length-track { height:9px; width:100%; border-right:1px solid #cfd9df; background:#edf1f4; }
.sector-length-track > span { display:block; height:100%; background:#527b96; border-right:2px solid #294f68; }
.sector-parts-table tbody tr:nth-child(2) .sector-length-track > span { background:#579187; border-color:#327466; }
.sector-parts-table tbody tr:nth-child(3) .sector-length-track > span { background:#7d94a6; border-color:#566b7b; }
.sector-parts-table tbody tr:nth-child(4) .sector-length-track > span { background:#b29359; border-color:#947338; }
.sector-parts-table .sector-numeric { text-align:right; font-size:14px; color:#405260; }
.sector-scale-note { display:flex; align-items:center; gap:7px; margin-top:12px; font-size:11px; color:#74828d; }
.sector-scale-note .pn-icon { width:15px; height:15px; }
.sector-settings { border-left:1px solid var(--sector-line); padding-left:28px; min-width:0; }
.sector-settings h3 { display:flex; align-items:center; gap:9px; font-size:13px; font-weight:650; margin:10px 0 13px; color:#425664; }
.sector-settings h3 .pn-icon { width:17px; height:17px; color:#708593; }
.sector-settings dl { margin:0 0 22px; }
.sector-settings dl > div { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:52px; border-bottom:1px solid #edf0f3; }
.sector-settings dt { font-size:12px; color:#657783; }
.sector-settings dd { margin:0; font-size:20px; font-weight:650; font-variant-numeric:tabular-nums; white-space:nowrap; color:#344e5e; }
.sector-settings dd small { font-size:11px; font-weight:400; color:#73848d; }
.sector-settings dd.sector-setting-text { font-size:13px; }
.sector-calculate { width:100%; }
.sector-sample-label { display:block; margin-top:10px; text-align:center; font-size:10px; color:#70818b; }
.sector-scope { display:flex; align-items:flex-start; gap:10px; border-top:1px solid var(--sector-line); padding-top:20px; margin-top:26px; color:#6c7a85; }
.sector-scope > .pn-icon { width:18px; height:18px; color:#7e929e; margin-top:1px; }
.sector-scope p { margin:0; font-size:12px; line-height:1.6; }
.sector-scope b { font-weight:650; color:#4c6472; margin-right:12px; }
.sector-own { border-block:1px solid #dce8e7; background:#f0f6f5; padding-block:28px; }
.sector-own-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.sector-own-icon { display:grid; place-items:center; width:44px; height:48px; flex:0 0 auto; border-left:3px solid #78a499; color:#367b6c; }
.sector-own-icon > .pn-icon { width:28px; height:28px; }
.sector-own-actions { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.sector-own-actions .sector-button { background:#fff; color:#275f54; border-color:#b7cec7; }
.sector-own-actions .sector-button:hover { background:#e6f0ed; border-color:#8bb3a7; }
.sector-text-link { font-size:12px; color:#477465; text-underline-offset:4px; }
.sector-related { padding-block:38px; }
.sector-related nav { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); column-gap:26px; margin-top:20px; }
.sector-related nav a { display:flex; align-items:center; gap:12px; min-height:82px; border-bottom:1px solid var(--sector-line); color:#44545f; font-size:13px; font-weight:600; text-decoration:none; }
.sector-related nav a:hover { color:#175bc3; background:#fafcfd; }
.sector-related nav a > .pn-sector-icon { flex:0 0 auto; }
.sector-related nav a > .pn-icon { margin-left:auto; color:#8a9ba6; width:16px; height:16px; }
.sector-footer { border-top:1px solid var(--sector-line); padding-block:22px; background:#fafbfc; }
.sector-footer .sector-container { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.sector-footer-brand { font-size:14px; font-weight:750; color:#586973; text-decoration:none; }
.sector-footer nav { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.sector-footer nav a { font-size:12px; color:#6d7f8b; text-decoration:none; }
.sector-footer nav a:hover { text-decoration:underline; }

@media (min-width:1600px) {
  .sector-hero { min-height:370px; }
  .sector-hero-image { object-position:center 54%; }
}
@media (max-width:1000px) {
  .sector-header-inner { gap:16px; flex-wrap:wrap; padding-block:14px; }
  .sector-header .product-nav { order:3; width:100%; justify-content:center; margin:0; }
  .sector-hero-copy { max-width:440px; }
  .sector-hero h1 { font-size:34px; }
  .sector-project-grid { grid-template-columns:minmax(0, 1fr) 240px; gap:24px; }
  .sector-settings { padding-left:22px; }
  .sector-project-totals { gap:14px; }
  .sector-project-totals > span { padding-left:14px; }
  .sector-own-inner { align-items:flex-start; }
  .sector-own-actions { flex-direction:column; gap:12px; flex:0 0 auto; }
  .sector-related nav { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:720px) {
  .pn-industry-menu .industry-menu-panel { left:12px; width:calc(100% - 24px); transform:none; grid-template-columns:1fr; gap:18px; padding:16px; max-height:65dvh; }
  .pn-industry-menu .industry-menu-column a { min-height:70px; }
  .sector-container { width:calc(100% - 36px); }
  .sector-header-inner { gap:12px; padding-block:12px 6px; }
  .sector-brand b { font-size:18px; }
  .sector-header .product-nav { gap:2px; justify-content:space-between; }
  .sector-header .product-nav > a,
  .sector-header .pn-industry-menu > summary { font-size:12px; padding:10px 8px; }
  .sector-header .pn-industry-menu .industry-menu-panel { left:0; width:100%; }
  .sector-hero { min-height:380px; align-items:flex-start; }
  .sector-hero-image { height:220px; top:auto; object-position:70% 72%; }
  .sector-hero > .sector-container { padding-block:18px 134px; }
  .sector-breadcrumb { margin-bottom:22px; font-size:10px; }
  .sector-hero-copy { max-width:440px; }
  .sector-hero h1 { font-size:30px; max-width:380px; }
  .sector-hero-copy > p { max-width:370px; font-size:14px; margin-bottom:18px; }
  .sector-hero .sector-button { position:relative; z-index:1; }
  .sector-section-heading { flex-direction:column; align-items:stretch; gap:20px; }
  .sector-project { padding-block:28px; }
  .sector-page h2 { font-size:19px; }
  .sector-project-totals { justify-content:space-between; gap:12px; }
  .sector-project-totals > span { flex:1; padding-left:12px; font-size:10px; }
  .sector-project-totals > span:first-child { padding-left:0; border:0; }
  .sector-project-totals b { font-size:17px; }
  .sector-project-grid { grid-template-columns:minmax(0, 1fr); gap:24px; }
  .sector-parts-table th,
  .sector-parts-table td { padding-inline:9px; }
  .sector-parts-table th:first-child { width:42px; }
  .sector-parts-table th:nth-child(3) { width:14%; }
  .sector-parts-table th:last-child { width:24%; }
  .sector-parts-table tbody tr { height:65px; }
  .sector-parts-table thead th { font-size:10px; }
  .sector-parts-table .sector-numeric,
  .sector-length-label b { font-size:13px; }
  .sector-settings { border-left:0; border-top:1px solid var(--sector-line); padding:16px 0 0; }
  .sector-settings dl { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:12px; margin-bottom:18px; }
  .sector-settings dl > div { display:block; padding-bottom:10px; }
  .sector-settings dd { margin-top:6px; font-size:19px; }
  .sector-settings dt { font-size:11px; }
  .sector-settings dd.sector-setting-text { font-size:12px; line-height:28px; }
  .sector-scope { margin-top:22px; }
  .sector-scope b { display:block; margin-right:0; }
  .sector-own-inner { flex-direction:column; gap:20px; }
  .sector-own-actions { flex-direction:row; justify-content:space-between; width:100%; gap:12px; }
  .sector-own-actions .sector-button { font-size:12px; }
  .sector-related { padding-block:28px; }
  .sector-related nav { grid-template-columns:1fr; margin-top:14px; }
  .sector-related nav a { min-height:70px; }
}
@media (prefers-reduced-motion:reduce) {
  .pn-disclosure-icon, .sector-button { transition:none; }
}
