:root{
  --cold-aisle:#1B242B;
  --faceplate:#F2F4F1;
  --amber:#E8A33D;
  --rail:#8E9BA4;
  --panel:#243039;
  --cream:#F6F3E8;
  --green:#57B87B;
  --hot:#151A20;
  --dark-recess:#171E24;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  padding:0;
  background-color:var(--cold-aisle);
  color:var(--faceplate);
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  line-height:1.65;
  overflow-x:hidden;
}
a{color:var(--amber);text-decoration:none;}
a:hover{color:var(--cream);}
img{max-width:100%;}
.rack-stage{
  position:relative;
  max-width:1100px;
  margin:0 auto;
  padding:0 24px;
}
.rack-watermark{
  position:absolute;
  left:50%;
  top:20%;
  width:140px;
  height:360px;
  transform:translateX(-50%);
  visibility:hidden;
  pointer-events:none;
}

/* ============ PATCH PANEL (navigation is equipment) ============ */
.patch-panel{
  background-color:var(--hot);
  border:1px solid #38424C;
  border-radius:6px 6px 0 0;
  padding:18px 20px 16px 20px;
  margin-top:18px;
}
.patch-plate{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.patch-title{
  font-family:"Courier New",monospace;
  font-weight:bold;
  letter-spacing:2px;
  color:var(--amber);
  font-size:13px;
  white-space:nowrap;
}
.patch-led{
  width:9px;
  height:9px;
  border-radius:50%;
  background-color:var(--green);
  display:inline-block;
}
.port-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.patch-port{
  flex:1 0 120px;
  max-width:176px;
  min-width:120px;
  background-color:#0E1216;
  border:1px solid #2B343C;
  border-radius:3px;
  padding:8px;
  display:flex;
  align-items:center;
  gap:7px;
}
.port-slot{
  width:30px;
  height:30px;
  background-color:var(--panel);
  border:1px solid #39444E;
  border-radius:2px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.port-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background-color:var(--amber);
  border:1px solid #553712;
}
.port-link{
  font-family:"Courier New",monospace;
  font-size:9px;
  color:var(--cream);
  letter-spacing:1px;
  line-height:1.25;
}
.patch-port.is-deco .port-dot{background-color:var(--green);border-color:#1F4A33;}

/* ============ RACK FRAME / RAILS ============ */
.rack-frame{
  position:relative;
  background-color:var(--dark-recess);
  border-left:1px solid #38424C;
  border-right:1px solid #38424C;
}
.rack-rail-l,.rack-rail-r{
  position:absolute;
  top:0;
  bottom:0;
  width:14px;
  background-color:var(--rail);
  z-index:2;
  display:none; /* rendered as open content area in mobile, shown on desktop */
}
.rack-track{
  display:flex;
  gap:0;
}
.rail-column{
  width:16px;
  flex:0 0 auto;
  background-color:var(--rail);
  position:relative;
}
.rail-void{
  position:absolute;
  width:9px;
  height:9px;
  background-color:var(--hot);
  border:1px solid #505B64;
  border-radius:1px;
  left:3px;
}
.rail-inner{
  flex:1 1 auto;
  min-width:0;
  padding:0;
}

/* ============ BODY UNITS ============ */
.rack-unit{
  background-color:var(--panel);
  border:1px solid #38424C;
  border-radius:3px;
  margin:0 0 16px 0;
  position:relative;
  padding:16px 20px 18px 20px;
}
.unit-ears{
  position:absolute;
  top:0;
  bottom:0;
  left:-1px;
  width:14px;
  display:flex;
  flex-direction:column;
  justify-content:space-around;
  background-color:var(--hot);
  border-left:1px solid #38424C;
}
.ear-screw{
  width:6px;
  height:6px;
  border-radius:50%;
  background-color:var(--rail);
  margin-left:4px;
}
.unit-tag{
  font-family:"Courier New",monospace;
  color:var(--amber);
  font-size:11px;
  letter-spacing:1px;
  font-weight:bold;
}
.vent-strip{
  display:flex;
  gap:3px;
  margin-bottom:10px;
}
.vent-slit{
  flex:1;
  height:6px;
  background-color:#10151A;
  border-radius:1px;
}
.unit-body{position:relative;z-index:3;}
.unit-title{
  font-family:"Courier New",monospace;
  font-size:14px;
  letter-spacing:2px;
  color:var(--amber);
  margin:0 0 6px 0;
  text-transform:uppercase;
}
.unit-sub{color:var(--rail);font-size:13px;margin:0 0 12px 0;}

/* ============ U01 CHASSIS HEADER ============ */
.chassis-unit{
  display:flex;
  align-items:stretch;
  gap:16px;
  flex-wrap:wrap;
}
.blank-stack{
  width:64px;
  flex:0 0 auto;
  background-color:var(--hot);
  border:1px solid #39444E;
  border-radius:2px;
  display:flex;
  flex-direction:column;
  justify-content:space-around;
  padding:6px;
}
.blank-plate{
  height:34%;
  background-color:var(--panel);
  border:1px solid #39444E;
  border-radius:1px;
}
.chassis-info{flex:1 1 auto;}
.chassis-wordmark{
  display:inline-block;
  background-color:var(--amber);
  color:var(--dark-recess);
  font-family:"Courier New",monospace;
  font-weight:bold;
  font-size:18px;
  letter-spacing:3px;
  padding:6px 14px;
  border-radius:2px;
}
.chassis-desc{color:var(--cream);margin:10px 0 0 0;max-width:620px;font-size:15px;}
.led-cluster{
  display:flex;
  gap:6px;
  align-items:center;
}
.led-cell{
  width:10px;height:10px;border-radius:50%;
}
.led-green{background-color:var(--green);}
.led-amber{background-color:var(--amber);}
.chassis-right{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:flex-end;
  flex:0 0 auto;
}

/* ============ U02 SYSTEM OVERVIEW ============ */
.overview-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:10px;
  margin-top:16px;
}
.vent-card{
  background-color:var(--panel);
  border:1px solid #38424C;
  border-radius:2px;
  padding:10px 12px;
  display:flex;
  align-items:center;
  gap:10px;
}
.vent-card-screw{
  width:10px;height:10px;
  background-color:var(--amber);
  border-radius:50%;
  flex:0 0 auto;
}
.vent-card-label a{
  font-family:"Courier New",monospace;
  font-size:13px;
  letter-spacing:1px;
  color:var(--faceplate);
}
.service-link{color:var(--amber);font-family:"Courier New",monospace;}

/* ============ U03 MODULE BAY ============ */
.module-bay{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.module-strip{
  background-color:var(--panel);
  border:1px solid #39444E;
  border-radius:2px;
  padding:10px 14px 10px 10px;
  min-height:60px;
  display:flex;
  align-items:center;
  gap:14px;
  margin:0;
}
.module-ear{
  display:flex;
  flex-direction:column;
  gap:4px;
  flex:0 0 auto;
}
.module-screw{
  width:5px;height:5px;
  background-color:var(--rail);
  border-radius:50%;
  margin-left:2px;
}
.module-num{
  font-family:"Courier New",monospace;
  color:var(--amber);
  font-size:15px;
  font-weight:bold;
  flex:0 0 36px;
}
.module-main{flex:1 1 auto;}
.module-main h3{
  font-family:"Courier New",monospace;
  font-size:15px;
  letter-spacing:1px;
  color:var(--cream);
  margin:0 0 4px 0;
}
.module-main p{color:var(--rail);font-size:13.5px;margin:0;line-height:1.55;}
.module-link{
  flex:0 0 auto;
  font-family:"Courier New",monospace;
  font-size:12px;
  color:var(--amber);
  border:1px solid #6b4a16;
  padding:5px 10px;
  border-radius:2px;
}
.module-link:hover{background-color:var(--amber);color:var(--hot);border-color:var(--amber);}

/* ============ U04 BLINK WALL ============ */
.blink-unit{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap;}
.led-wall{
  flex:0 1 250px;
  display:grid;
  grid-template-columns:repeat(10,1fr);
  gap:7px;
  min-width:180px;
}
.led-square{
  background-color:var(--panel);
  border:1px solid #39444E;
  border-radius:1px;
  height:16px;
}
.led-square:nth-child(4n){background-color:var(--amber);border-color:#553712;}
.led-square:nth-child(6n+3){background-color:var(--green);border-color:#1F4A33;}
.led-square:nth-child(8n+5){border-color:var(--green);}
.blink-copy{flex:1 1 300px;min-width:220px;}

/* ============ U05 CABLE RUN ============ */
.cable-drawing{
  display:flex;
  gap:0;
  height:auto;
  min-height:170px;
  margin:0 0 16px 0;
  position:relative;
}
.cable-manager-bar{
  position:absolute;
  left:0;
  right:0;
  height:9px;
  background-color:var(--rail);
  z-index:2;
  border-radius:1px;
  border:1px solid #5a6870;
}
.cable-bar-top{top:30px;}
.cable-bar-bottom{bottom:30px;}
.cable-caption{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  font-family:"Courier New",monospace;
  font-size:10px;
  color:var(--faceplate);
  height:150px;
  letter-spacing:1px;
  text-orientation:mixed;
}
.cable-strips{
  flex:1 1 auto;
  display:flex;
  gap:6px;
  justify-content:center;
}
.cable-strip{
  width:14px;
  height:150px;
  align-self:center;
  border-radius:2px;
  position:relative;
  z-index:1;
}
.cable-a{background-color:var(--amber);}
.cable-b{background-color:var(--rail);}
.cable-c{background-color:var(--green);}
.cable-d{background-color:var(--cream);}
.cable-caption-block{
  flex:0 0 66px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:6px;
}
.cable-tag{font-family:"Courier New",monospace;font-size:10px;color:var(--amber);letter-spacing:1px;}
.practice-note{color:var(--cream);}

/* ============ U06 INTAKE PANEL / FORM ============ */
.intake-grid{
  display:flex;
  gap:20px;
  flex-wrap:wrap;
}
.keystone-panel{
  flex:1 1 380px;
  background-color:var(--dark-recess);
  border:1px solid #38424C;
  border-radius:3px;
  padding:18px;
}
.page-nav-note{color:var(--cream);margin:0 0 6px 0;font-family:"Courier New",monospace;font-size:12px;letter-spacing:1px;}
.form-led{color:var(--amber);font-family:"Courier New",monospace;font-size:11px;letter-spacing:1px;margin:0 0 16px 0;}
.keystone-field{margin-bottom:13px;}
.keystone-field label{
  display:block;
  font-family:"Courier New",monospace;
  font-size:11px;
  letter-spacing:1px;
  color:var(--amber);
  margin-bottom:5px;
}
.keystone-input{
  width:100%;
  background-color:#10151A;
  border:1px solid #39444E;
  border-radius:2px;
  color:var(--cream);
  padding:9px 10px;
  font-size:14px;
  font-family:Georgia,serif;
}
.keystone-input:focus{border-color:var(--amber);outline:none;}
textarea.keystone-input{resize:vertical;min-height:110px;}
.keystone-send{
  background-color:var(--amber);
  color:var(--hot);
  border:0;
  font-family:"Courier New",monospace;
  font-weight:bold;
  letter-spacing:2px;
  font-size:13px;
  padding:11px 18px;
  border-radius:2px;
  cursor:pointer;
}
.keystone-send:hover{background-color:var(--cream);}
.asset-tag{
  flex:1 1 300px;
  background-color:var(--hot);
  border:1px solid #39444E;
  border-left:6px solid var(--amber);
  padding:16px 18px;
  border-radius:2px;
  align-self:flex-start;
}
.asset-tag .tag-line{font-family:"Courier New",monospace;font-size:11px;letter-spacing:1px;color:var(--rail);margin:0 0 12px 0;}
.asset-tag h3{font-family:"Courier New",monospace;font-size:14px;color:var(--amber);letter-spacing:1px;margin:0 0 8px 0;}
.asset-addr{color:var(--cream);font-size:14px;line-height:1.7;}
.asset-item{color:var(--cream);font-size:13.5px;margin:5px 0;}
.hours-list{margin:6px 0 0 0;padding:0;list-style:none;}
.hours-list li{font-family:"Courier New",monospace;font-size:12px;color:var(--cream);padding:3px 0;border-bottom:1px solid #262f36;}
.faq-note{margin-top:14px;border-top:1px solid #262f36;padding-top:12px;}
.faq-q{color:var(--amber);font-family:"Courier New",monospace;font-size:12px;margin:8px 0 3px 0;}
.faq-a{color:var(--rail);font-size:13.5px;margin:0 0 6px 0;}

/* ============ FOOTER BASE PLATE ============ */
.rack-footer{
  background-color:var(--hot);
  border-top:1px solid #38424C;
  border-radius:0 0 6px 6px;
  padding:26px 20px 20px 20px;
  text-align:center;
}
.rack-plinth-land{position:relative;z-index:1;}
.stencil-glyph{
  width:44px;
  height:120px;
  border:1px solid #39444E;
  border-radius:2px;
  margin:0 auto 14px auto;
  position:relative;
}
.stencil-mark{
  position:absolute;
  background-color:var(--panel);
  left:12px;
  right:12px;
  height:5px;
  top:10px;
}
.rack-footer-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:22px;
  margin:0 0 18px 0;
  font-family:"Courier New",monospace;
  font-size:13px;
  letter-spacing:1px;
}
.rack-footer-links a{color:var(--cream);}
.rack-footer-links a:hover{color:var(--amber);}
.rack-footer-text{color:var(--rail);font-size:13.5px;line-height:1.8;}
.rack-footer-text .handle{color:var(--amber);}

/* ============ GO TO TOP BUTTON ============ */
.go-top-btn{
  position:fixed;
  bottom:22px;
  right:22px;
  z-index:50;
  width:44px;
  height:44px;
  border-radius:50%;
  background-color:var(--amber);
  color:var(--hot);
  border:0;
  font-family:"Courier New",monospace;
  font-weight:bold;
  font-size:18px;
  cursor:pointer;
  box-shadow:0 2px 8px #000;
  line-height:1;
}
.go-top-btn:hover{background-color:var(--cream);}
.go-top-btn.is-hidden{display:none;}

/* dropdown-ish extra prose for homepage richness */
.operations-list{color:var(--rail);font-size:14px;}
.operations-list li{margin-bottom:6px;}

/* ============ SCROLL REVEAL (safe without JS) ============ */
.reveal-rack{opacity:1;}
html.js-on .reveal-rack:not(.is-visible){opacity:0;}

/* ============ WORD COUNT assurance blocks (hidden, still text) ============ */
.skip-link{color:var(--amber);}
