*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--bp-blue:#0B3D91;--bp-cyan:#00D4FF;--bp-white:#fff;--bp-mono:'IBM Plex Mono',monospace;--bp-sans:'Space Grotesk',sans-serif}
html{scroll-behavior:smooth}
body.bp-body{font-family:var(--bp-sans);color:var(--bp-blue);background:var(--bp-white);min-height:100vh;display:grid;grid-template-columns:280px 1fr;position:relative}
.bp-grid-bg{position:fixed;inset:0;background-image:linear-gradient(rgba(11,61,145,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(11,61,145,.06) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;z-index:0}
.bp-specs-rail{position:sticky;top:0;height:100vh;background:var(--bp-blue);color:var(--bp-white);padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;z-index:10;border-right:3px solid var(--bp-cyan)}
.bp-drawing-no{font-family:var(--bp-mono);font-size:.7rem;color:var(--bp-cyan);letter-spacing:.1em}
.bp-logo{font-size:1.1rem;font-weight:700;line-height:1.3;margin-top:.5rem}
.bp-spec-list div{display:grid;grid-template-columns:1fr 1fr;gap:.25rem;padding:.5rem 0;border-bottom:1px solid rgba(0,212,255,.3);font-size:.8rem}
.bp-spec-list dt{font-family:var(--bp-mono);color:var(--bp-cyan);font-size:.65rem;text-transform:uppercase}
.bp-rail-nav{display:flex;flex-direction:column;gap:.5rem;margin-top:auto}
.bp-rail-nav a{color:var(--bp-white);text-decoration:none;font-family:var(--bp-mono);font-size:.85rem;padding:.4rem 0;border-left:2px solid transparent;padding-left:.75rem;transition:border-color .2s}
.bp-rail-nav a:hover{border-color:var(--bp-cyan)}
.bp-rail-contact{font-family:var(--bp-mono);font-size:.75rem}
.bp-rail-contact a{color:var(--bp-cyan);text-decoration:none}
.bp-main{position:relative;z-index:1;padding:2rem 3rem 4rem;max-width:900px}
.bp-hero{margin-bottom:3rem;padding-bottom:2rem;border-bottom:2px dashed rgba(11,61,145,.2)}
.bp-hero-tag{font-family:var(--bp-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--bp-cyan);background:var(--bp-blue);display:inline-block;padding:.25rem .75rem;margin-bottom:1rem}
.bp-hero h2{font-size:clamp(1.5rem,4vw,2.25rem);font-weight:700;margin-bottom:1rem;line-height:1.2}
.bp-hero-desc{line-height:1.7;max-width:55ch}
.bp-section{margin-bottom:4rem;padding:2rem 0}
.bp-diagonal{clip-path:polygon(0 2%,100% 0,100% 98%,0 100%);background:rgba(11,61,145,.03);padding:2.5rem 1.5rem;margin-left:-1.5rem;margin-right:-1.5rem}
.bp-diagonal-reverse{clip-path:polygon(0 0,100% 2%,100% 100%,0 98%);background:rgba(0,212,255,.05);padding:2.5rem 1.5rem;margin-left:-1.5rem;margin-right:-1.5rem}
.bp-section-title{font-family:var(--bp-mono);font-size:1rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem}
.bp-section-title span{background:var(--bp-blue);color:var(--bp-cyan);padding:.2rem .6rem;font-size:.8rem}
.bp-cap-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.bp-cap-item{border:1px solid rgba(11,61,145,.25);padding:1.25rem;background:var(--bp-white)}
.bp-cap-item h3{font-size:.95rem;margin-bottom:.5rem;font-family:var(--bp-mono)}
.bp-cap-item p{font-size:.875rem;line-height:1.6}
.bp-timeline{display:flex;gap:0;overflow-x:auto;padding-bottom:1rem;list-style:none}
.bp-timeline li{flex:1;min-width:160px;border-top:3px solid var(--bp-cyan);padding-top:1rem;padding-right:1rem;position:relative}
.bp-tl-num{font-family:var(--bp-mono);font-size:1.5rem;color:var(--bp-blue);display:block;margin-bottom:.5rem}
.bp-timeline strong{display:block;font-size:.9rem;margin-bottom:.25rem}
.bp-timeline p{font-size:.8rem;line-height:1.5}
.bp-engage-cols{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:1.5rem}
.bp-engage-cols ul{padding-left:1.25rem;font-size:.9rem;line-height:1.8}
.bp-address{font-style:normal;font-family:var(--bp-mono);font-size:.8rem;opacity:.8}
.bp-form{display:grid;gap:1rem;max-width:480px}
.bp-form label{display:flex;flex-direction:column;gap:.35rem;font-family:var(--bp-mono);font-size:.8rem}
.bp-form input,.bp-form textarea{font-family:var(--bp-sans);padding:.65rem;border:1px solid var(--bp-blue);background:var(--bp-white);font-size:1rem}
.bp-form input:focus,.bp-form textarea:focus{outline:2px solid var(--bp-cyan);outline-offset:1px}
.bp-checkbox{flex-direction:row!important;align-items:flex-start;gap:.5rem;font-size:.75rem!important}
.bp-checkbox input{width:auto;margin-top:.2rem}
.bp-submit{background:var(--bp-blue);color:var(--bp-white);border:none;padding:.85rem 1.5rem;font-family:var(--bp-mono);cursor:pointer;font-size:.9rem;transition:background .2s}
.bp-submit:hover{background:#0a3580}
.bp-form-success{color:#0a7;font-family:var(--bp-mono);font-size:.9rem}
.bp-form .bp-error{color:#c00;font-size:.75rem}
.bp-footer{grid-column:1/-1;background:var(--bp-blue);color:var(--bp-white);padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;position:relative;z-index:10}
.bp-footer nav{display:flex;gap:1.5rem}
.bp-footer a{color:var(--bp-cyan);text-decoration:none;font-family:var(--bp-mono);font-size:.8rem}
.bp-footer p{font-size:.75rem;opacity:.7}
.bp-modal{border:none;border-radius:0;max-width:560px;padding:0;box-shadow:0 8px 32px rgba(11,61,145,.3)}
.bp-modal::backdrop{background:rgba(11,61,145,.6)}
.bp-modal article{padding:2rem}
.bp-modal h2{font-family:var(--bp-mono);margin-bottom:1rem;color:var(--bp-blue)}
.bp-modal p{font-size:.9rem;line-height:1.7;margin-bottom:1rem}
.bp-modal-close{background:var(--bp-blue);color:var(--bp-white);border:none;padding:.5rem 1rem;font-family:var(--bp-mono);cursor:pointer;margin-top:.5rem}
@media(max-width:768px){
  body.bp-body{grid-template-columns:1fr}
  .bp-specs-rail{position:relative;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center}
  .bp-rail-nav{flex-direction:row;flex-wrap:wrap;margin-top:0;width:100%}
  .bp-main{padding:1.5rem}
  .bp-cap-grid,.bp-engage-cols{grid-template-columns:1fr}
  .bp-timeline{flex-direction:column}
  .bp-timeline li{min-width:auto;border-top:none;border-left:3px solid var(--bp-cyan);padding-left:1rem;padding-top:0}
}
