/* Stage B layout extension. Approved original reference CSS is loaded unchanged before this sheet. */
:root{--b-ink:#111;--b-blue:#142bff;--b-yellow:#fff000}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:108px}
body{overflow-wrap:break-word;overflow-x:clip}
.skip-link{position:fixed;z-index:999;top:-100px;left:20px;background:var(--b-yellow);color:#111;padding:12px 20px;border:3px solid #111}
.skip-link:focus{top:12px}
.stage-b-preview-banner{background:#fff000;border-bottom:2px solid #111;color:#111;font-weight:850;font-size:11px;letter-spacing:.018em;padding:8px 0;line-height:1.5}
.site-header .header-row{gap:12px;min-height:75px}
.site-header .stage-brand{flex-shrink:0}
.site-header .brand-text{font-size:14px;line-height:1.08}
.site-nav{gap:13px}
.site-nav .nav-link-home,.site-nav .nav-contact{font-size:13px;font-weight:850;text-decoration:none;color:#111}
.site-nav-group{position:relative;color:#111}
.site-nav-group summary{display:flex;align-items:center;gap:6px;list-style:none;cursor:pointer;font-weight:850;font-size:13px;padding:12px 3px}
.site-nav-group summary::-webkit-details-marker{display:none}
.site-nav-group summary span{color:var(--b-blue);font-weight:950}
.site-nav-panel{position:absolute;top:100%;left:0;z-index:90;width:270px;max-height:min(68vh,700px);overflow:auto;background:#fff;border:2px solid #111;box-shadow:5px 5px 0 #142bff;padding:10px}
.site-nav .site-nav-panel a{display:block;padding:9px 11px;white-space:normal;border-bottom:1px solid #ddd;color:#111;text-decoration:none;font-weight:750;font-size:12px;line-height:1.35}
.site-nav .site-nav-panel a:last-child{border-bottom:0}
.site-nav .site-nav-panel a:hover,.site-nav .site-nav-panel a:focus-visible{background:var(--b-yellow);color:#111}
.nav-rfq{white-space:nowrap}
.stage-b-hero{padding:65px 0 62px}
.stage-b-hero-layout{display:grid;grid-template-columns:minmax(0,1fr) 305px;gap:55px;align-items:start}
.stage-b-hero .stage-b-hero-text{min-width:0}
.stage-b-hero .public-copy h1{font-size:clamp(2.35rem,4.2vw,4.75rem);line-height:1.04;letter-spacing:-.056em;font-weight:950;margin:14px 0 22px;max-width:950px}
.stage-b-hero .public-copy>p{font-size:clamp(16px,1.27vw,18px);color:#222;line-height:1.7;margin:14px 0 18px}
.stage-b-hero .public-copy>p:first-of-type{font-weight:580}
.stage-b-hero .public-copy a{color:var(--b-blue);text-decoration:underline;font-weight:750}
.stage-b-hero-aside{border:2px solid #111;background:#fff;box-shadow:7px 7px 0 var(--b-yellow);padding:21px;max-width:100%}
.stage-b-aside-kicker{display:block;font-size:10px;font-weight:950;letter-spacing:.07em;text-transform:uppercase;border-bottom:2px solid #111;padding-bottom:13px}
.stage-b-hero-aside ol{list-style:decimal;margin:12px 0 20px;padding:0 0 0 19px}
.stage-b-hero-aside li{font-size:13px;line-height:1.6;margin:10px 0;padding-left:3px}
.stage-b-hero-aside a{color:#111;text-decoration:none}
.stage-b-hero-aside a:hover,.stage-b-hero-aside a:focus-visible{color:var(--b-blue);text-decoration:underline}
.stage-b-hero-aside .stage-b-aside-link{display:block;font-size:13px;font-weight:900;border-top:2px solid #111;padding-top:15px}
.stage-b-copy-section{padding:76px 0}
.stage-b-content{max-width:1040px;margin:0 auto}
.public-copy{font-size:16px;color:#111;line-height:1.76}
.public-copy h2{font-size:clamp(1.9rem,3.0vw,3.25rem)!important;font-weight:950;line-height:1.15;letter-spacing:-.045em;margin:0 0 25px}
.public-copy h3{font-size:clamp(1.3rem,2vw,1.85rem);font-weight:900;line-height:1.25;letter-spacing:-.025em;margin:44px 0 17px}
.public-copy h4{font-size:1.12rem;line-height:1.4;margin:32px 0 12px}
.public-copy p{margin:15px 0 19px;max-width:95ch}
.public-copy a{font-weight:750;text-decoration:underline;text-underline-offset:2px;color:var(--b-blue)}
.public-copy blockquote{border-left:5px solid var(--b-blue);padding:13px 24px;margin:28px 0;background:#fff}
.public-copy ul,.public-copy ol{padding-left:26px;margin:18px 0 23px}
.public-copy li{padding-left:4px;margin:9px 0}
.public-copy strong{font-weight:850}
.public-copy table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:25px 0 32px;background:#fff;border:2px solid #111;font-size:14px;line-height:1.5}
.public-copy th,.public-copy td{padding:13px 15px;border:1px solid #b5b5b5;text-align:left;min-width:115px;vertical-align:top}
.public-copy th{background:var(--b-yellow);color:#111;font-weight:900}
.public-copy tbody tr:nth-child(even){background:#f6f7f9}
.public-copy code{font-size:.9em;overflow-wrap:anywhere;background:#e6ebff;padding:2px 4px}
.public-copy pre{white-space:pre-wrap;overflow:auto;padding:16px;border:2px solid #111}
.public-copy img{height:auto;max-width:100%}
.stage-b-related h2{font-size:clamp(1.8rem,3vw,3rem);font-weight:950;margin:0 0 28px}
.stage-b-related .related-card{min-height:155px}
.stage-b-related .related-card span{color:#142bff;font-size:12px;font-weight:850;margin-top:auto}
.stage-b-bottom-cta{background:#142bff;color:#fff;padding:34px 0;border-top:4px solid #111;border-bottom:4px solid #111}
.stage-b-bottom-cta>.container{display:flex;align-items:center;justify-content:space-between;gap:24px}
.stage-b-bottom-cta strong{font-size:clamp(1.35rem,2.5vw,2.15rem);letter-spacing:-.025em}
.stage-b-bottom-cta p{max-width:620px;margin:10px 0 0}
.stage-b-bottom-cta .button{flex-shrink:0}
.stage-b-footer-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:30px}
.stage-b-footer-grid .footer-brand{grid-column:span 1;min-width:0}
.stage-b-footer-grid .site-footer-links{min-width:0}
.stage-b-footer-grid .site-footer-links h3{line-height:1.5;margin-bottom:10px}
.stage-b-footer-grid .site-footer-links a{display:block;line-height:1.45;padding:6px 0;font-size:12px}
.stage-b-footer-grid .footer-brand .brand-text{font-weight:900;font-size:16px}
.stage-b-footer-grid .footer-brand .footer-text{font-size:12px;line-height:1.7;margin:12px 0}
.stage-b-footer-grid .footer-brand .footer-text a{line-height:1.3}
.site-footer .footer-bottom a{display:inline;font-size:12px}
.stage-lab .facility-drawing{overflow-x:hidden;min-height:auto}
.stage-lab .diagram-svg{min-width:0;max-width:100%;max-height:none;height:auto}
.stage-b-hero .stage-actions{margin-top:24px}
.stage-tool .stage-input-panel,.stage-tool .stage-output-panel{overflow:hidden}
.stage-field input,.stage-field select,.stage-field textarea{max-width:100%}
.stage-rfq-live-flag{display:block;font-size:12px;font-weight:850;margin-bottom:16px;border-left:5px solid #142bff;padding:12px;background:#f4f5ff}
.rfq-service-notice{padding:15px;border:2px solid #111;background:#fff000;font-size:13px;line-height:1.65}
.rfq-service-notice strong{font-weight:900}
.rfq-control{display:flex;gap:8px;align-items:flex-start;line-height:1.5;margin:14px 0;font-size:13px}
.rfq-control input{width:19px;height:19px;flex-shrink:0;margin-top:3px}
.rfq-live-form fieldset{border:2px solid #111;padding:15px;margin:17px 0;min-width:0}
.rfq-live-form legend{padding:0 6px;font-weight:900}
.rfq-live-form .stage-field [aria-invalid=true]{border-color:#bd1a1a;outline:2px solid #bd1a1a}
.rfq-status{margin:16px 0;line-height:1.5;font-size:14px;font-weight:800}
.rfq-status--error{color:#a31616}
.rfq-status--ok{color:#0a6c38}
@media(max-width:1180px){.site-nav{gap:8px}.site-nav-group summary{font-size:12px}.site-header .brand-text{font-size:12px}.stage-b-footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stage-b-footer-grid .footer-brand{grid-column:span 3}}
@media(max-width:980px){.site-nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:60;background:#fff;box-shadow:0 20px 25px #0002;padding:18px 20px 25px;max-height:75vh;overflow-y:auto;flex-direction:column;align-items:stretch;gap:8px}.site-nav.is-open{display:flex}.site-nav-group{border:1px solid #ddd}.site-nav-group summary{font-size:14px;padding:13px}.site-nav-panel{position:static;box-shadow:none;border:0;border-top:1px solid #ddd;width:100%;max-height:none;padding:8px}.menu-toggle{display:block}.stage-b-hero-layout{grid-template-columns:minmax(0,1fr) 250px;gap:24px}}
@media(max-width:760px){.stage-b-hero{padding:40px 0}.stage-b-hero-layout{grid-template-columns:1fr}.stage-b-hero-aside{box-shadow:5px 5px 0 #fff000}.stage-b-hero .public-copy h1{font-size:clamp(2.25rem,10vw,3.6rem)}.stage-b-copy-section{padding:48px 0}.public-copy h2{font-size:clamp(1.75rem,7vw,2.55rem)!important}.public-copy h3{margin-top:30px}.public-copy table{font-size:13px}.public-copy th,.public-copy td{padding:10px 12px;min-width:125px}.stage-b-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stage-b-footer-grid .footer-brand{grid-column:1/-1}.stage-b-bottom-cta>.container{flex-direction:column;align-items:flex-start}.stage-b-bottom-cta .button{max-width:100%}.stage-b-preview-banner{font-size:10px}.stage-b-related .stage-card-grid{grid-template-columns:1fr}}
@media(max-width:460px){.stage-b-footer-grid{gap:20px}.stage-b-hero .stage-actions{display:grid;grid-template-columns:1fr}.stage-b-hero .stage-actions a{text-align:center}.site-header .brand-text{font-size:11px}.stage-b-copy-section{padding:43px 0}.public-copy{font-size:15px}.stage-b-related{padding:49px 0}.stage-b-hero-aside{padding:16px}.stage-lab .facility-drawing{display:none}}
@media print{.stage-b-preview-banner,.site-nav,.stage-b-bottom-cta,.stage-tool,.stage-b-related,.stage-hero .stage-actions{display:none!important}.stage-b-hero-layout{display:block}.stage-b-hero-aside{display:none}.stage-b-copy-section{padding:15px 0}}
