/* Stage B v2 fixes; loaded after approved reference and earlier adapter files. */
:root{--b-ink:#111;--b-blue:#142bff;--b-yellow:#fff000}
/* Selected brand: cobalt-blue N2 icon with original strong border/shadow proportions. */
.site-header .stage-brand .brand-mark.brand-n2{display:inline-flex;align-items:center;justify-content:center;flex:none;background:#142bff!important;color:#fff!important;width:46px;height:46px;min-width:46px;border:3px solid #111!important;border-radius:9px;box-shadow:4px 4px 0 #111!important;font-size:24px;font-weight:950;letter-spacing:-.08em;line-height:1}
.brand-n2 sub{font-size:.48em;position:relative;bottom:-.18em;vertical-align:baseline;letter-spacing:0;color:#fff}
.site-header .brand-text{line-height:1.12}
.site-header .header-row{gap:15px}
/* Consistent CTA palette on header and supporting sections */
.site-header .nav-rfq,.site-header .button--primary{background:#142bff!important;color:white!important;border:2px solid #111!important;box-shadow:4px 4px 0 #fff000!important;font-weight:900!important}
.site-header .nav-rfq:hover,.site-header .nav-rfq:focus-visible{background:#111!important;color:#fff!important}
.site-header .menu-toggle{background:#fff000!important;color:#111!important;border:2px solid #111!important}
.site-header .site-nav .nav-link-home:hover,.site-header .site-nav .nav-contact:hover{color:#142bff}
.stage-b-bottom-cta-v2 .button{background:#fff000!important;color:#111!important;box-shadow:5px 5px 0 #111;border:2px solid #111;font-weight:950}
.stage-b-bottom-cta-v2 .button:hover{background:#fff!important}
.stage-v2-cta-link{margin:16px 0 25px!important}
.stage-v2-cta-button{display:inline-flex;align-items:center;justify-content:center;max-width:100%;background:#142bff!important;color:#fff!important;border:2px solid #111!important;box-shadow:4px 4px 0 #fff000!important;text-decoration:none!important;padding:13px 18px!important;min-height:46px;font-weight:900!important}
.stage-v2-cta-button:hover{background:#111!important}
/* Tables use a dedicated scroller, while table columns fill all available width. */
.public-copy .stage-table-scroll{display:block;overflow-x:auto;max-width:100%;width:100%;margin:25px 0 32px;border:2px solid #111;background:#fff;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.public-copy .stage-table-scroll:focus-visible{outline:3px solid #142bff;outline-offset:3px}
.public-copy .stage-table-scroll table{display:table!important;margin:0!important;width:100%!important;max-width:none!important;min-width:min(640px,100%)!important;border:none!important;border-collapse:collapse!important;table-layout:fixed!important;overflow:visible!important;font-size:14px}
.public-copy .stage-table-scroll table th,.public-copy .stage-table-scroll table td{min-width:0!important;width:auto!important;overflow-wrap:anywhere;word-break:normal;vertical-align:top;white-space:normal}
.public-copy .stage-table-scroll table th:last-child,.public-copy .stage-table-scroll table td:last-child{border-right:0}
.public-copy .stage-table-scroll table th{background:#fff000!important}
.public-copy .stage-table-scroll table td p{margin:0}
.public-copy .stage-table-scroll table:has(tr>:nth-child(5)){min-width:760px!important}
.public-copy .stage-table-scroll table:has(tr>:nth-child(6)){min-width:900px!important}
@media(max-width:650px){.public-copy .stage-table-scroll table{min-width:620px!important;font-size:13px}.public-copy .stage-table-scroll table th,.public-copy .stage-table-scroll table td{padding:10px 12px}}
/* Diagram is an image. Controls are native buttons outside the SVG. */
.stage-lab .diagram-node{cursor:default!important}
.stage-lab .diagram-node.is-selected rect:nth-child(2){fill:#fff000;stroke:#111}
.stage-diagram-controls{border-top:2px solid #111;background:#fff;padding:15px}
.stage-diagram-controls-heading{margin:0 0 12px;font-size:12px;font-weight:900;letter-spacing:.03em}
.stage-diagram-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.stage-diagram-button{display:flex;align-items:center;gap:8px;min-width:0;min-height:44px;background:#fff;border:2px solid #111;padding:9px 10px;font:inherit;font-size:12px;font-weight:850;text-align:left;cursor:pointer;overflow-wrap:anywhere}
.stage-diagram-button span{color:#142bff;font-weight:950}
.stage-diagram-button.is-selected{background:#fff000;box-shadow:3px 3px 0 #142bff}
.stage-diagram-button:focus-visible{outline:3px solid #142bff;outline-offset:3px}
@media(max-width:760px){.stage-diagram-controls{display:none}.stage-lab .facility-drawing{display:none}}
@media(max-width:1080px){.stage-diagram-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}}
.stage-static-diagram .lab-layout{display:block;max-width:960px;margin:0 auto}.stage-static-diagram .lab-canvas{width:100%}.stage-static-diagram .facility-drawing{display:block!important}.stage-static-diagram .diagram-svg{min-width:0!important}.stage-static-diagram .stage-diagram-controls{display:none}
/* A single standardized form component is embedded identically on all 23 RFQ-enabled pages. */
.universal-rfq-section{background:#f5f5f5;border-top:5px solid #142bff;border-bottom:5px solid #111;padding:65px 0 75px;scroll-margin-top:94px}
.rfq-intro{max-width:930px;margin:0 0 29px}.rfq-intro h2{font-size:clamp(2rem,3.7vw,3.5rem);line-height:1.06;letter-spacing:-.045em;margin:10px 0 19px;font-weight:950}.rfq-intro p{max-width:85ch;line-height:1.65}.rfq-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start}.rfq-form-wrap{background:#fff;border:2px solid #111;box-shadow:8px 8px 0 #142bff;min-width:0;padding:23px}.rfq-progress{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0 0 23px;padding:0}.rfq-progress li{font-size:11px;font-weight:850;line-height:1.3;border:1px solid #111;padding:10px 8px;min-width:0;display:flex;gap:6px;align-items:center;background:#f2f2f2}.rfq-progress li[aria-current=step]{background:#fff000;border:2px solid #111}.rfq-progress span{background:#111;color:#fff;display:inline-grid;place-items:center;min-width:20px;height:20px;font-size:11px}
.universal-rfq-form .rfq-step{margin:0 0 15px;padding:0;border:0;min-width:0}
.universal-rfq-form .rfq-step legend{font-size:23px;font-weight:950;margin-bottom:19px;line-height:1.2}
.universal-rfq-form .rfq-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 17px}
.universal-rfq-form .stage-field{min-width:0}
.universal-rfq-form .stage-field:has(textarea),.universal-rfq-form .stage-field:has([name=project_summary]),.universal-rfq-form .stage-field:has([name=application_details]){grid-column:1/-1}
.universal-rfq-form input:not([type=checkbox]):not([type=hidden]):not([type=file]),.universal-rfq-form select,.universal-rfq-form textarea{width:100%;box-sizing:border-box;font:inherit;font-size:15px;min-height:47px;border:2px solid #111;padding:11px;background:#fff;border-radius:0;color:#111}
.universal-rfq-form input[type=file]{max-width:100%;font-size:13px}
.universal-rfq-form .stage-field label{font-weight:850;font-size:13px}
.universal-rfq-form button{cursor:pointer}
.universal-rfq-form [hidden],.rfq-controls [hidden]{display:none!important}
.rfq-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;border-top:1px solid #b9b9b9;margin-top:25px;padding-top:22px}
.rfq-controls .button,.contact-form-section .button{background:#142bff!important;color:white!important;border:2px solid #111!important;min-height:44px;font-weight:900;box-shadow:4px 4px 0 #fff000}
.rfq-controls .stage-secondary{background:#fff;color:#111;border:2px solid #111;padding:12px 15px;min-height:44px;font-weight:850}
.rfq-controls button:disabled,.contact-form-section button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none!important}
.rfq-side-note{border:2px solid #111;background:#fff000;box-shadow:6px 6px 0 #111;padding:21px;font-size:14px;line-height:1.6}.rfq-side-note strong{font-size:17px;letter-spacing:-.01em}.rfq-side-note a{font-weight:900;color:#142bff}.rfq-side-note p{margin:15px 0}.rfq-review-summary{border-top:1px solid #bbb;padding-top:11px}.rfq-review-summary dl{display:grid;grid-template-columns:minmax(110px,35%) minmax(0,1fr);gap:5px 12px;font-size:12px}.rfq-review-summary dt{font-weight:850}.rfq-review-summary dd{margin:0;overflow-wrap:anywhere}
.rfq-service-notice{background:#fff000!important;border:2px solid #111!important;line-height:1.65}
.rfq-status{color:#343434;margin:17px 0 0;font-size:14px;line-height:1.6;min-height:25px}.rfq-status.error{color:#b00020}.rfq-status.success{color:#176333}
.rfq-honeypot{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-form-section{padding:60px 0;background:#fff}.contact-form-section h2{font-size:clamp(1.9rem,3vw,3rem);letter-spacing:-.03em;font-weight:950}.contact-form-section> .container>p{max-width:85ch;line-height:1.6}.contact-form-section form{max-width:790px;padding:24px;border:2px solid #111;box-shadow:6px 6px 0 #fff000}.contact-form-section .rfq-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}.contact-form-section .stage-field:has(textarea){grid-column:span 2}.contact-form-section .stage-field input,.contact-form-section .stage-field select,.contact-form-section textarea{width:100%;max-width:100%;border:2px solid #111;padding:12px;font:inherit;min-height:44px}.contact-form-section textarea{min-height:115px}
@media(max-width:1020px){.rfq-grid{grid-template-columns:1fr}.rfq-side-note{max-width:none}}
@media(max-width:640px){.universal-rfq-section{padding:42px 0}.universal-rfq-form .rfq-fields,.contact-form-section .rfq-fields{grid-template-columns:1fr}.rfq-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.rfq-form-wrap{padding:15px}.rfq-controls>*{flex:1 1 140px}.contact-form-section .stage-field:has(textarea){grid-column:auto}.stage-v2-cta-button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.footer-brand .footer-n2{display:inline-grid;place-items:center;width:37px;height:37px;background:#142bff;color:#fff000;border:2px solid #fff000;border-radius:7px;font-size:18px;font-weight:950;margin-bottom:14px;box-shadow:3px 3px 0 #111}

/* Stage B v2.1 visual refinements */
.site-header .site-nav > a,
.site-header .site-nav > details > summary,
.site-header .nav-rfq,
.site-header .menu-toggle{
  text-transform:uppercase;
  letter-spacing:.045em;
  font-weight:900;
  font-size:12.5px;
}
.site-header .site-nav > details > summary{list-style:none}
.site-header .site-nav-panel a{
  text-transform:none;
  letter-spacing:0;
  font-size:14px;
}
.site-header .brand-mark.brand-n2, .footer-brand .footer-n2{
  position:relative;
}
.footer-brand .footer-n2{display:inline-grid;place-items:center;width:37px;height:37px;background:#142bff;color:#fff;border:2px solid #111;border-radius:7px;font-size:18px;font-weight:950;margin-bottom:14px;box-shadow:4px 4px 0 #111}
.footer-brand .footer-n2 sub{font-size:.48em;position:relative;bottom:-.14em;color:#fff}
