:root{
  --lab-charcoal:#17181C;
  --bench-ebony:#101114;
  --mist-opal:#E8E6DF;
  --nixie-amber:#E08A2E;
  --socket-blue:#3E5C78;
  --circuit-sage:#6E7F6A;
  --filament-rose:#C25B4A;
  --readout-red:#B3402E;
  --socket-blue-deep:#2C4358;
  --amber-dim:#9B611F;
  --mist-dim:#C6C3B9;
  --ebony-lift:#1B1D22;
}

*{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  font-size:16px;
  margin:0;
  background-color:var(--lab-charcoal);
  background-image:
    radial-gradient(circle at 18% 12%, #1B1C21 0, #1B1C21 1px, transparent 1px),
    radial-gradient(circle at 62% 48%, #141519 0, #141519 1px, transparent 1px),
    radial-gradient(circle at 84% 76%, #1B1C21 0, #1B1C21 1px, transparent 1px);
  background-size:37px 41px,53px 47px,61px 59px;
  color:var(--mist-opal);
  font-family:Georgia,'Times New Roman',serif;
  line-height:1.7;
  overflow-x:hidden;
}

.benchwrap{overflow-x:hidden;}

a{color:var(--nixie-amber);}

/* ---------- SOCKET RAIL HEADER ---------- */
.socketrail{
  background-color:var(--bench-ebony);
  border-bottom:none;
}
.railinner{
  max-width:1180px;
  margin:0 auto;
  padding:20px 24px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.brandplate{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  background-color:var(--ebony-lift);
  border:2px solid var(--socket-blue);
  border-radius:4px;
  padding:8px 16px;
  box-shadow:0 0 0 1px var(--bench-ebony), 0 0 0 3px #23252B;
}
.branddot{
  width:12px;height:12px;border-radius:50%;
  background-color:var(--nixie-amber);
  box-shadow:0 0 0 2px var(--amber-dim),0 0 0 4px #3A2C17;
}
.brandtext{
  color:var(--mist-opal);
  font-family:Georgia,serif;
  font-size:15px;
  letter-spacing:2px;
  font-weight:bold;
}
.navtoggle{
  display:none;
  background-color:var(--ebony-lift);
  color:var(--mist-opal);
  border:2px solid var(--socket-blue);
  border-radius:4px;
  font-family:Georgia,serif;
  font-size:14px;
  letter-spacing:1px;
  padding:8px 16px;
  cursor:pointer;
}
.socketset{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.socketwell{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:var(--mist-opal);
  font-family:Georgia,serif;
  font-size:14px;
  letter-spacing:1px;
  background-color:var(--socket-blue-deep);
  border:2px solid var(--socket-blue);
  border-radius:50%;
  position:relative;
}
.socketwell::after{
  content:"";
  position:absolute;
  width:6px;height:6px;
  border-radius:50%;
  background-color:var(--nixie-amber);
  top:8px;
  box-shadow:0 0 0 1px var(--amber-dim);
}
.socketwell.w1{width:82px;height:82px;padding-top:6px;}
.socketwell.w2{width:92px;height:92px;padding-top:8px;}
.socketwell.w3{width:76px;height:76px;padding-top:4px;}
.socketwell.w4{width:88px;height:88px;padding-top:6px;}
.socketwell.w5{width:72px;height:72px;padding-top:4px;}
.socketwell:hover{background-color:var(--socket-blue);border-color:var(--nixie-amber);}
.sagerule{height:3px;background-color:var(--circuit-sage);}

/* ---------- HERO GLOW TUBE BAY ---------- */
.glowbay{
  max-width:1180px;
  margin:0 auto;
  padding:56px 24px 30px;
}
.bayhead{max-width:820px;}
.eyebrow{
  color:var(--filament-rose);
  font-family:Georgia,serif;
  font-size:14px;
  letter-spacing:4px;
  text-transform:uppercase;
  margin:0 0 14px;
}
.baytitle{
  font-family:Georgia,serif;
  font-size:44px;
  line-height:1.2;
  color:var(--mist-opal);
  margin:0 0 20px;
  font-weight:normal;
}
.tline1{display:block;color:var(--circuit-sage);}
.tline2{display:block;color:var(--mist-opal);}
.displayword{display:block;margin-top:14px;}
.digitoutline{
  display:inline-block;
  font-size:96px;
  letter-spacing:10px;
  color:var(--readout-red);
  border:4px solid var(--amber-dim);
  border-radius:14px;
  padding:6px 34px 12px;
  box-shadow:0 0 0 4px #3A2C17,0 0 0 8px var(--bench-ebony),0 0 0 10px var(--readout-red);
  font-weight:bold;
}
.baycopy{
  color:var(--mist-opal);
  font-size:17px;
  max-width:760px;
  margin:24px 0 0;
}
.textlink{
  color:var(--nixie-amber);
  text-decoration:none;
  border-bottom:2px solid var(--amber-dim);
  font-weight:bold;
}
.textlink:hover{border-bottom-color:var(--nixie-amber);color:var(--readout-red);}
.linkarrow{font-family:Georgia,serif;}

/* tube bay */
.tubebay{
  display:grid;
  grid-template-columns:1.5fr 1fr 0.9fr;
  gap:26px;
  margin-top:44px;
  align-items:end;
}
.bayrail{
  background-color:var(--bench-ebony);
  border:2px solid var(--socket-blue);
  border-radius:10px;
  padding:26px 20px 0;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  position:relative;
  min-height:250px;
}
.tube{
  width:44px;
  background-color:var(--socket-blue-deep);
  border:3px solid var(--socket-blue);
  border-radius:22px 22px 6px 6px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:inset 0 0 0 2px #232F3D;
}
.tube .digit{
  color:var(--nixie-amber);
  font-family:Georgia,serif;
  font-size:26px;
  font-weight:bold;
  text-shadow:0 0 0 var(--amber-dim);
}
.tube.t1{height:130px;}
.tube.t2{height:170px;}
.tube.t3{height:104px;}
.tube.t4{height:212px;}
.tube.t5{height:148px;}
.tube.t6{height:118px;}
.railbar{
  position:absolute;
  left:0;right:0;bottom:0;
  height:14px;
  background-color:var(--filament-rose);
  border-radius:0 0 8px 8px;
}
.muxlane{
  background-color:var(--ebony-lift);
  border:2px solid var(--circuit-sage);
  border-radius:10px;
  padding:22px 18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
}
.muxstrip{
  width:100%;
  background-color:var(--bench-ebony);
  border:2px solid var(--socket-blue);
  border-radius:6px;
  padding:14px 12px;
  display:flex;
  justify-content:space-between;
  gap:6px;
}
.notch{
  width:10px;height:34px;
  background-color:var(--nixie-amber);
  border-radius:3px;
}
.decatronring{
  width:96px;height:96px;
  border:5px solid var(--socket-blue);
  border-radius:50%;
  box-shadow:0 0 0 3px #202833,0 0 0 7px var(--bench-ebony),0 0 0 9px var(--filament-rose);
  position:relative;
}
.decatronring::after{
  content:"";
  position:absolute;
  width:14px;height:14px;
  border-radius:50%;
  background-color:var(--nixie-amber);
  top:-2px;left:50%;
}
.muxlabel,.cradlelabel{
  color:var(--mist-dim);
  font-size:13px;
  letter-spacing:2px;
  text-transform:uppercase;
  margin:0;
  font-family:Georgia,serif;
}
.socketwell-cradle{
  background-color:var(--bench-ebony);
  border:2px solid var(--socket-blue);
  border-radius:10px;
  padding:22px 18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  min-height:200px;
}
.cradlebody{
  width:100%;
  height:80px;
  background-color:var(--socket-blue-deep);
  border:3px solid var(--socket-blue);
  border-radius:8px;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
}
.prodprod{
  width:8px;height:52px;
  background-color:var(--filament-rose);
  border-radius:4px;
  display:inline-block;
}
.prodprod.two{background-color:var(--nixie-amber);height:44px;}

.primarybar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  margin-top:30px;
  background-color:var(--nixie-amber);
  color:var(--bench-ebony);
  text-decoration:none;
  font-family:Georgia,serif;
  font-size:18px;
  letter-spacing:2px;
  font-weight:bold;
  padding:20px 26px;
  border-radius:8px;
  border:2px solid var(--amber-dim);
}
.primarybar:hover{background-color:var(--readout-red);color:var(--mist-opal);}
.bararrow{font-size:22px;}

/* ---------- intro bench ---------- */
.introbench{
  max-width:1180px;
  margin:0 auto;
  padding:56px 24px;
}
.secthead{
  font-family:Georgia,serif;
  font-size:32px;
  color:var(--nixie-amber);
  border-bottom:3px solid var(--socket-blue);
  padding-bottom:14px;
  margin:0 0 30px;
  font-weight:normal;
}
.introgrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:36px;
}
.intracol p{
  color:var(--mist-opal);
  font-size:16px;
  margin:0 0 18px;
}

/* ---------- tubeladder ---------- */
.tubeladder{
  background-color:var(--bench-ebony);
  padding:56px 24px 40px;
}
.ladderhead,.ladderintro,.tubecard{max-width:1040px;margin-left:auto;margin-right:auto;}
.ladderintro{
  color:var(--mist-opal);
  font-size:16px;
  margin:0 auto 40px;
}
.tubecard{
  background-color:var(--socket-blue-deep);
  border:2px solid var(--socket-blue);
  border-left:8px solid var(--nixie-amber);
  border-radius:8px;
  padding:22px 26px;
  margin-bottom:22px;
  position:relative;
}
.tc-b{margin-left:auto;margin-right:auto;width:82%;}
.tc-d{margin-left:0;margin-right:auto;width:88%;}
.tc-e{margin-left:auto;margin-right:0;width:84%;}
.tc-h{margin-left:auto;margin-right:auto;width:90%;}
.tc-n{margin-left:0;margin-right:auto;width:86%;}
.tc-t{margin-left:auto;margin-right:0;width:80%;}
.tubehead{
  display:flex;
  align-items:baseline;
  gap:16px;
  margin-bottom:10px;
}
.mark{
  font-family:Georgia,serif;
  font-size:34px;
  font-weight:bold;
  color:var(--readout-red);
  border:2px solid var(--amber-dim);
  border-radius:6px;
  padding:0 12px 4px;
  box-shadow:0 0 0 2px #3A2C17;
}
.tubehead h3{
  font-family:Georgia,serif;
  font-size:24px;
  color:var(--mist-opal);
  margin:0;
  font-weight:normal;
}
.tubecard p{
  color:var(--mist-opal);
  font-size:16px;
  margin:0 0 12px;
}
.sliver{
  display:block;
  height:6px;
  width:70px;
  background-color:var(--filament-rose);
  border-radius:3px;
  margin:0 0 12px;
}
.sliver-two{width:44px;}

/* ---------- workscope ---------- */
.workscope{
  max-width:1180px;
  margin:0 auto;
  padding:56px 24px;
}
.scopebook{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px;
}
.scopeblock{
  background-color:var(--ebony-lift);
  border:2px solid var(--socket-blue);
  border-top:6px solid var(--circuit-sage);
  border-radius:8px;
  padding:24px;
}
.scopetitle{
  font-family:Georgia,serif;
  font-size:20px;
  color:var(--nixie-amber);
  margin:0 0 12px;
}
.scopeblock p{
  color:var(--mist-opal);
  font-size:16px;
  margin:0;
}

/* ---------- filament band ---------- */
.filamentband{
  background-color:var(--bench-ebony);
  border-top:3px solid var(--amber-dim);
  border-bottom:3px solid var(--amber-dim);
  padding:30px 24px;
  display:flex;
  align-items:center;
  gap:30px;
  max-width:1180px;
  margin:0 auto;
  flex-wrap:wrap;
}
.filamentrun{
  display:flex;
  align-items:center;
  gap:10px;
}
.fil{
  display:block;
  height:10px;
  border-radius:5px;
  background-color:var(--nixie-amber);
}
.fil.one{width:60px;}
.fil.two{width:34px;}
.fil.three{width:72px;}
.fil.four{width:22px;}
.fil.five{width:48px;}
.filamentprose{
  color:var(--mist-opal);
  font-size:17px;
  margin:0;
  flex:1;
  min-width:280px;
}

/* ---------- proof ledger ---------- */
.proofledger{
  max-width:1180px;
  margin:0 auto;
  padding:56px 24px;
}
.ledgerrows{
  display:flex;
  flex-direction:column;
  gap:22px;
}
.ledgerrow{
  background-color:var(--ebony-lift);
  border-left:8px solid var(--filament-rose);
  border-top:2px solid var(--socket-blue);
  border-right:2px solid var(--socket-blue);
  border-bottom:2px solid var(--socket-blue);
  border-radius:6px;
  padding:22px 26px;
}
.ledgertitle{
  font-family:Georgia,serif;
  font-size:21px;
  color:var(--nixie-amber);
  margin:0 0 10px;
}
.ledgerrow p{
  color:var(--mist-opal);
  font-size:16px;
  margin:0;
}

/* ---------- cap band ---------- */
.capband{
  background-color:var(--bench-ebony);
  padding:56px 24px;
}
.capband .secthead{max-width:1040px;margin-left:auto;margin-right:auto;}
.capcols{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:26px;
  max-width:1040px;
  margin:0 auto;
}
.capcol{
  background-color:var(--socket-blue-deep);
  border:2px solid var(--socket-blue);
  border-radius:8px;
  padding:22px;
}
.captitle{
  font-family:Georgia,serif;
  font-size:19px;
  color:var(--nixie-amber);
  margin:0 0 10px;
}
.capcol p{
  color:var(--mist-opal);
  font-size:16px;
  margin:0;
}

/* ---------- end cta ---------- */
.endcta{
  max-width:920px;
  margin:0 auto;
  padding:60px 24px;
  text-align:center;
}
.endtitle{
  font-family:Georgia,serif;
  font-size:32px;
  color:var(--mist-opal);
  margin:0 0 18px;
  font-weight:normal;
}
.endcopy{
  color:var(--mist-opal);
  font-size:17px;
  margin:0 auto 28px;
  max-width:720px;
}
.endbar{
  display:inline-block;
  background-color:var(--nixie-amber);
  color:var(--bench-ebony);
  text-decoration:none;
  font-family:Georgia,serif;
  font-size:17px;
  letter-spacing:2px;
  font-weight:bold;
  padding:18px 40px;
  border-radius:8px;
  border:2px solid var(--amber-dim);
}
.endbar:hover{background-color:var(--readout-red);color:var(--mist-opal);}
.endbar .bararrow{margin-left:12px;}

/* ---------- PROD DRAWER FOOTER ---------- */
.proddrawer{
  background-color:var(--bench-ebony);
  border-top:4px solid var(--socket-blue);
}
.drawerroom{
  max-width:1180px;
  margin:0 auto;
  padding:48px 24px 34px;
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:40px;
}
.drawerplate{
  color:var(--nixie-amber);
  font-family:Georgia,serif;
  font-size:20px;
  letter-spacing:2px;
  margin:0 0 14px;
  font-weight:bold;
}
.drawerblurb{
  color:var(--mist-opal);
  font-size:15px;
  margin:0;
  max-width:520px;
}
.drawerlinks{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
}
.linkhead{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--mist-dim);
  font-family:Georgia,serif;
  font-size:14px;
  letter-spacing:3px;
  text-transform:uppercase;
  margin:0 0 14px;
}
.ringglyph{
  display:inline-block;
  width:16px;height:16px;
  border:3px solid var(--filament-rose);
  border-radius:50%;
}
.plainlist{
  list-style:none;
  margin:0;
  padding:0;
}
.plainlist li{margin:0 0 10px;}
.plainlist a{
  color:var(--mist-opal);
  text-decoration:none;
  font-size:16px;
  font-family:Georgia,serif;
  border-bottom:1px solid var(--bench-ebony);
}
.plainlist a:hover{color:var(--nixie-amber);border-bottom-color:var(--nixie-amber);}
.drawerstrip{
  background-color:var(--socket-blue-deep);
  border-top:2px solid var(--socket-blue);
  padding:18px 24px;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px 30px;
}
.stripitem{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--mist-opal);
  font-size:14px;
  margin:0;
  font-family:Georgia,serif;
}
.tubeglyph{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;height:30px;
  background-color:var(--bench-ebony);
  border:2px solid var(--nixie-amber);
  border-radius:11px 11px 4px 4px;
  color:var(--nixie-amber);
  font-size:13px;
  font-weight:bold;
}

/* ---------- shared page pieces for services/contact ---------- */
.pagehero{
  max-width:1180px;
  margin:0 auto;
  padding:52px 24px 26px;
}
.pagehero h1{
  font-family:Georgia,serif;
  font-size:40px;
  color:var(--mist-opal);
  margin:0 0 16px;
  font-weight:normal;
}
.pagehero .sub{
  color:var(--mist-opal);
  font-size:17px;
  max-width:780px;
  margin:0;
}
.secwrap{
  max-width:1180px;
  margin:0 auto;
  padding:44px 24px;
}
.servblock{
  background-color:var(--ebony-lift);
  border:2px solid var(--socket-blue);
  border-left:8px solid var(--nixie-amber);
  border-radius:8px;
  padding:26px 28px;
  margin-bottom:22px;
}
.servblock h2{
  font-family:Georgia,serif;
  font-size:24px;
  color:var(--nixie-amber);
  margin:0 0 12px;
  font-weight:normal;
}
.servblock p{
  color:var(--mist-opal);
  font-size:16px;
  margin:0 0 12px;
}
.procgrid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
}
.proccell{
  background-color:var(--socket-blue-deep);
  border:2px solid var(--socket-blue);
  border-radius:8px;
  padding:22px;
}
.proccell h3{
  font-family:Georgia,serif;
  font-size:19px;
  color:var(--mist-opal);
  margin:0 0 10px;
}
.proccell p{color:var(--mist-opal);font-size:16px;margin:0;}
.ctaband{
  background-color:var(--bench-ebony);
  border-top:3px solid var(--amber-dim);
  border-bottom:3px solid var(--amber-dim);
  padding:44px 24px;
  text-align:center;
}
.ctaband h2{
  font-family:Georgia,serif;
  font-size:30px;
  color:var(--nixie-amber);
  margin:0 0 14px;
  font-weight:normal;
}
.ctaband p{
  color:var(--mist-opal);
  font-size:17px;
  max-width:700px;
  margin:0 auto 24px;
}

/* contact */
.contactgrid{
  max-width:1180px;
  margin:0 auto;
  padding:20px 24px 44px;
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:34px;
}
.formcard{
  background-color:var(--ebony-lift);
  border:2px solid var(--socket-blue);
  border-radius:8px;
  padding:28px;
}
.formcard h2{
  font-family:Georgia,serif;
  font-size:22px;
  color:var(--nixie-amber);
  margin:0 0 20px;
  font-weight:normal;
}
.field{margin-bottom:18px;}
.field label{
  display:block;
  color:var(--mist-opal);
  font-family:Georgia,serif;
  font-size:14px;
  letter-spacing:1px;
  margin-bottom:6px;
}
.field input,.field textarea{
  width:100%;
  background-color:var(--bench-ebony);
  color:var(--mist-opal);
  border:2px solid var(--socket-blue);
  border-radius:6px;
  padding:12px;
  font-family:Georgia,serif;
  font-size:16px;
}
.field textarea{min-height:130px;resize:vertical;}
.field input:focus,.field textarea:focus{
  outline:none;
  border-color:var(--nixie-amber);
}
.formbtn{
  background-color:var(--nixie-amber);
  color:var(--bench-ebony);
  border:2px solid var(--amber-dim);
  border-radius:8px;
  padding:14px 34px;
  font-family:Georgia,serif;
  font-size:16px;
  letter-spacing:2px;
  font-weight:bold;
  cursor:pointer;
}
.formbtn:hover{background-color:var(--readout-red);color:var(--mist-opal);}
.formnote{
  color:var(--mist-dim);
  font-size:14px;
  margin:14px 0 0;
}
.detailcard{
  background-color:var(--socket-blue-deep);
  border:2px solid var(--socket-blue);
  border-radius:8px;
  padding:26px;
  margin-bottom:22px;
}
.detailcard h3{
  font-family:Georgia,serif;
  font-size:19px;
  color:var(--nixie-amber);
  margin:0 0 12px;
}
.detailcard p{
  color:var(--mist-opal);
  font-size:16px;
  margin:0 0 8px;
}
.detailcard a{color:var(--mist-opal);text-decoration:none;border-bottom:1px solid var(--filament-rose);}
.detailcard a:hover{color:var(--nixie-amber);}
.faqwrap{
  max-width:1180px;
  margin:0 auto;
  padding:20px 24px 56px;
}
.faqwrap h2{
  font-family:Georgia,serif;
  font-size:28px;
  color:var(--nixie-amber);
  border-bottom:3px solid var(--socket-blue);
  padding-bottom:12px;
  margin:0 0 22px;
  font-weight:normal;
}
.acc{
  border:2px solid var(--socket-blue);
  border-radius:8px;
  margin-bottom:14px;
  overflow:hidden;
  background-color:var(--ebony-lift);
}
.accbtn{
  width:100%;
  text-align:left;
  background-color:var(--bench-ebony);
  color:var(--mist-opal);
  border:none;
  border-left:6px solid var(--filament-rose);
  padding:16px 20px;
  font-family:Georgia,serif;
  font-size:17px;
  cursor:pointer;
}
.accbtn:hover{color:var(--nixie-amber);}
.accbody{
  padding:16px 20px;
  color:var(--mist-opal);
  font-size:16px;
}
.accbody p{margin:0;}

/* reveal */
.reveal-init{opacity:0;transform:translateY(22px);}
.reveal-on{opacity:1;transform:none;transition:opacity 700ms ease,transform 700ms ease;}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .tubebay{grid-template-columns:1fr;}
  .introgrid{grid-template-columns:1fr;}
  .scopebook{grid-template-columns:1fr;}
  .capcols{grid-template-columns:1fr;}
  .drawerroom{grid-template-columns:1fr;}
  .contactgrid{grid-template-columns:1fr;}
  .procgrid{grid-template-columns:1fr;}
  .tc-b,.tc-d,.tc-e,.tc-h,.tc-n,.tc-t{width:100%;}
}

@media (max-width:720px){
  .navtoggle{display:inline-block;}
  .socketset{display:none;width:100%;flex-direction:column;gap:14px;margin-top:16px;}
  .socketset.open{display:flex;}
  .socketwell{
    width:100% !important;
    height:auto !important;
    border-radius:8px !important;
    padding:14px 18px !important;
    justify-content:flex-start;
  }
  .socketwell::after{position:static;margin-right:10px;}
  .railinner{flex-wrap:wrap;}
  .baytitle{font-size:32px;}
  .digitoutline{font-size:64px;letter-spacing:6px;padding:4px 20px 8px;}
  .drawerlinks{grid-template-columns:1fr;}
  .filamentband{flex-direction:column;align-items:flex-start;}
}

@media (prefers-reduced-motion:reduce){
  .reveal-init{opacity:1;transform:none;}
  .reveal-on{transition:none;}
}
