/* Industrial detail and progressive scroll enhancement. Content stays visible without JS. */
:root{--technical-font:"SFMono-Regular",Consolas,"Liberation Mono",monospace}
.reading-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--blue);transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none;z-index:2}
.site-header{transition:box-shadow .25s,background-color .25s}.site-header.has-scrolled{box-shadow:0 7px 25px #071f5208}
.site-header nav>a[aria-current="location"]:not(.button){color:var(--blue)}
.hero-art{border-color:#cbd8e9;border-radius:2px;background-color:#f2f6fb;background-image:linear-gradient(#163e7b06 1px,transparent 1px),linear-gradient(90deg,#163e7b06 1px,transparent 1px);background-size:24px 24px}
.hero-art::before,.hero-art::after{content:"";position:absolute;width:23px;height:23px;z-index:3;pointer-events:none;border-color:#6484ac;border-style:solid}
.hero-art::before{left:-1px;top:-1px;border-width:1px 0 0 1px}.hero-art::after{right:-1px;bottom:-1px;border-width:0 1px 1px 0}
.art-caption,.art-bottom,.criterion-number,.drawing-label,.dimension,.process-number,.check-top,.contact-note-top{font-family:var(--technical-font)}











@keyframes example-change{from{opacity:.35;translate:0 9px}to{opacity:1;translate:0 0}}@keyframes diagram-change{from{opacity:.35;scale:.96}to{opacity:1;scale:1}}
.criteria>div{transition:background-color .25s}.criteria>div:hover{background:#e8eff8}
.process-list{position:relative;padding-left:28px;border-top:0;--process-progress:0}.process-list::before,.process-list::after{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--line)}.process-list::after{background:var(--blue);transform:scaleY(var(--process-progress));transform-origin:top;will-change:transform}.process-list li{position:relative;border-top:1px solid var(--line);border-bottom:0;padding-left:10px}.process-list li:last-child{border-bottom:1px solid var(--line)}.process-list li::before{content:"";position:absolute;left:-32px;top:38px;width:9px;height:9px;border:1px solid #a9bad2;background:white;z-index:1;transition:background-color .3s,border-color .3s,box-shadow .3s}.process-list li.is-active::before{background:var(--blue);border-color:var(--blue);box-shadow:0 0 0 5px #1671ff10}.process-list li h3{transition:color .3s}.process-list li.is-active h3{color:var(--blue)}

.button{border-radius:2px}.button span{transition:transform .2s}.button:hover span{transform:translate(2px,-2px)}

/* Only enable conceal/reveal after an observer has been created successfully. */
.motion-enabled [data-reveal]{transition:opacity .7s ease,translate .7s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}
.motion-enabled [data-reveal]:not(.is-visible):not(:focus-within){opacity:0;translate:0 22px}
.motion-enabled [data-reveal].is-visible{opacity:1;translate:0 0}
@media(max-width:900px){.process-list{padding-left:22px}.process-list li::before{left:-26px}}
@media(max-width:650px){.process-list{padding-left:17px}.process-list li{padding-left:7px}.process-list li::before{left:-21px;top:29px;width:7px;height:7px}.motion-enabled [data-reveal]:not(.is-visible):not(:focus-within){translate:0 14px}.check-intro h2 br:nth-child(2),.faq-grid h2 br{display:initial}}
@media(prefers-reduced-motion:reduce){.motion-enabled [data-reveal]{opacity:1!important;translate:none!important}.reading-progress{display:none}.process-list::after{transform:none}.process-list li::before{background:var(--blue);border-color:var(--blue)}}
