/* ==========================================================================
   AARON VAZQUEZ HOLDINGS, LLC
   Industrial annunciator wall theme — signal lamps, point cards, test bench
   Palette:
     SLATE-VAULT  #201C3E  (body / control room at night shift)
     ANNUN-PAPER  #C4D0F2  (primary text)
     LAMP-AMBER   #E39A20  (accent / CTA / links / one highlighted word)
     PANEL-STEEL  #3E5A62  (panels, wells, horn strip, rail)
     CARD-MIST    #C2BCC4  (light card faces)
     COIL-TEAL    #387898  (telemetry lines, secondary panels)
     LAMP-RED     #CC3D44  (small alarm lamp dots only)
     TAG-OLIVE    #80803C  (tiny status tags and hover underlines only)
     BENCH-WOOD   #4A4038  (solid bench top tone)
     DEEP-WELL    #171430  (solid deep seating color)
     RAIL-EDGE    #526E76  (solid rail edge highlight)
     CARD-INK     #2A2436  (solid ink for card rules)
     STEEL-LINE   #6B8791  (solid thin line on steel)
     MIST-LINE    #9C96A3  (solid thin line on mist)
   No rgba, no opacity decimals, no gradients on text.
   ========================================================================== */

:root {
  --vault: #201C3E;
  --vault-deep: #171430;
  --paper: #C4D0F2;
  --amber: #E39A20;
  --steel: #3E5A62;
  --steel-line: #6B8791;
  --rail-edge: #526E76;
  --mist: #C2BCC4;
  --mist-line: #9C96A3;
  --teal: #387898;
  --red: #CC3D44;
  --olive: #80803C;
  --wood: #4A4038;
  --ink: #2A2436;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-size: 16px;
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  background-color: #201C3E;
  color: #C4D0F2;
  line-height: 1.65;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  display: block;
}

a {
  color: #E39A20;
  text-decoration: none;
}

a:hover,
a:focus {
  text-decoration: underline;
  text-decoration-color: #80803C;
  text-underline-offset: 4px;
}

h1, h2, h3, h4 {
  font-family: "Georgia", "Times New Roman", serif;
  font-weight: 700;
  line-height: 1.18;
  margin: 0 0 0.6em;
}

p {
  margin: 0 0 1em;
}

.shell {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ==========================================================================
   SIGLAMP RAIL HEADER
   ========================================================================== */

.siglamp {
  background-color: #3E5A62;
  border-bottom: 4px solid #2A2436;
}

.siglamp__frame {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  max-width: 1180px;
  margin: 0 auto;
  padding: 14px 24px;
  flex-wrap: wrap;
}

.siglamp__brand {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 220px;
}

.siglamp__lampglyph {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: #E39A20;
  border: 3px solid #201C3E;
  flex: 0 0 auto;
}

.siglamp__brandname {
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #C4D0F2;
  line-height: 1.25;
}

.siglamp__tag {
  display: inline-block;
  font-family: "Consolas", "Courier New", monospace;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #201C3E;
  background-color: #80803C;
  padding: 3px 7px;
  border-radius: 2px;
  font-weight: 700;
}

.siglamp__windows {
  display: flex;
  align-items: stretch;
  gap: 8px;
  flex: 1 1 auto;
  justify-content: flex-end;
}

.siglamp__window {
  display: flex;
  align-items: center;
  gap: 8px;
  background-color: #201C3E;
  border: 2px solid #526E76;
  border-radius: 3px;
  padding: 10px 14px;
  color: #C4D0F2;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 600;
  white-space: nowrap;
  box-shadow: inset 0 2px 0 #3A3356;
}

a.siglamp__window:hover,
a.siglamp__window:focus {
  border-color: #E39A20;
  color: #E39A20;
  text-decoration: none;
  background-color: #2A2448;
}

.siglamp__window--wide {
  padding-left: 20px;
  padding-right: 20px;
}

.siglamp__window--narrow {
  padding-left: 10px;
  padding-right: 10px;
}

.siglamp__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex: 0 0 auto;
}

.siglamp__dot--amber {
  background-color: #E39A20;
  box-shadow: 0 0 0 2px #4A3E22;
}

.siglamp__dot--teal {
  background-color: #387898;
  box-shadow: 0 0 0 2px #263A46;
}

.siglamp__toggle {
  display: none;
  background-color: #201C3E;
  color: #C4D0F2;
  border: 2px solid #526E76;
  border-radius: 3px;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 9px 14px;
  cursor: pointer;
  font-family: inherit;
  font-weight: 600;
}

.siglamp__toggle:hover,
.siglamp__toggle:focus {
  border-color: #E39A20;
  color: #E39A20;
}

/* ==========================================================================
   ANNUNCIATOR WALL SCENE — HERO
   ========================================================================== */

.annunciatorwall {
  background-color: #201C3E;
  padding: 64px 0 0;
  border-bottom: 4px solid #2A2436;
}

.annunciatorwall__copy {
  max-width: 780px;
  margin-bottom: 40px;
}

.annunciatorwall__kicker {
  display: inline-block;
  font-family: "Consolas", "Courier New", monospace;
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #80803C;
  border-bottom: 2px solid #80803C;
  padding-bottom: 5px;
  margin-bottom: 22px;
}

.annunciatorwall__title {
  font-size: clamp(38px, 6vw, 66px);
  color: #C4D0F2;
  margin-bottom: 20px;
  letter-spacing: -0.015em;
}

.annunciatorwall__title em {
  font-style: normal;
  color: #E39A20;
}

.annunciatorwall__bigword {
  display: block;
  font-size: clamp(64px, 12vw, 138px);
  line-height: 0.9;
  letter-spacing: -0.03em;
  color: #C4D0F2;
  margin-bottom: 6px;
}

.annunciatorwall__lede {
  font-size: 18px;
  color: #C4D0F2;
  max-width: 700px;
  margin-bottom: 18px;
}

.annunciatorwall__link {
  font-size: 16px;
  font-weight: 700;
  color: #E39A20;
  border-bottom: 2px solid #80803C;
  padding-bottom: 2px;
}

.annunciatorwall__link:hover,
.annunciatorwall__link:focus {
  text-decoration: none;
  border-bottom-color: #E39A20;
}

/* Wall band */
.wallband {
  background-color: #3E5A62;
  border-top: 4px solid #526E76;
  padding: 32px 0 0;
}

.wallband__inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px 0;
  display: grid;
  grid-template-columns: 168px 1fr 240px;
  gap: 26px;
  align-items: stretch;
}

/* Left: signal lamp rail */
.lamprail {
  background-color: #201C3E;
  border: 2px solid #526E76;
  border-radius: 4px;
  padding: 16px 12px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
  box-shadow: inset 0 0 0 3px #2A2448;
}

.lamprail__label {
  font-family: "Consolas", "Courier New", monospace;
  font-size: 9px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #C4D0F2;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  align-self: flex-start;
  margin-bottom: 2px;
}

.lamprail__stack {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  flex: 1 1 auto;
  justify-content: center;
}

.lamprail__lamp {
  width: 44px;
  height: 30px;
  border-radius: 4px;
  border: 2px solid #526E76;
  position: relative;
}

.lamprail__lamp::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.lamprail__lamp--amber {
  background-color: #3A2E1A;
}

.lamprail__lamp--amber::after {
  background-color: #E39A20;
}

.lamprail__lamp--red {
  background-color: #3A2228;
}

.lamprail__lamp--red::after {
  background-color: #CC3D44;
}

.lamprail__lamp--teal {
  background-color: #1E2C36;
}

.lamprail__lamp--teal::after {
  background-color: #387898;
}

.lamprail__foot {
  font-family: "Consolas", "Courier New", monospace;
  font-size: 9px;
  letter-spacing: 0.12em;
  color: #C4D0F2;
  text-transform: uppercase;
  border-top: 2px solid #526E76;
  padding-top: 8px;
  text-align: center;
}

/* Center: wall of point cards */
.pointwall {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  padding: 14px 14px 26px;
  background-color: #35505A;
  border: 2px solid #526E76;
  border-radius: 4px;
  align-content: start;
}

.pointwall__card {
  background-color: #C2BCC4;
  border-radius: 2px;
  padding: 0 0 10px;
  border-left: 4px solid #387898;
  box-shadow: 0 3px 0 #2A2436;
}

.pointwall__card:nth-child(2n) {
  transform: translateY(14px);
  border-left-color: #E39A20;
}

.pointwall__card:nth-child(3n) {
  transform: translateY(-8px);
}

.pointwall__tag {
  display: block;
  background-color: #3E5A62;
  color: #C2BCC4;
  font-family: "Consolas", "Courier New", monospace;
  font-size: 9px;
  letter-spacing: 0.14em;
  padding: 4px 8px;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.pointwall__name {
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 13px;
  color: #201C3E;
  padding: 0 8px;
  line-height: 1.2;
}

.pointwall__abbr {
  font-family: "Consolas", "Courier New", monospace;
  font-size: 10px;
  color: #2A2436;
  padding: 2px 8px 0;
  letter-spacing: 0.1em;
}

/* Right: test bench */
.benchrig {
  background-color: #201C3E;
  border: 2px solid #526E76;
  border-radius: 4px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  box-shadow: inset 0 0 0 3px #2A2448;
}

.benchrig__meter {
  align-self: center;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background-color: #C2BCC4;
  border: 6px solid #526E76;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.benchrig__needle {
  position: absolute;
  width: 3px;
  height: 34px;
  background-color: #CC3D44;
  bottom: 50%;
  left: 50%;
  transform-origin: bottom center;
  transform: translateX(-50%) rotate(38deg);
  border-radius: 2px;
}

.benchrig__hub {
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #201C3E;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.benchrig__face {
  position: absolute;
  top: 18px;
  font-family: "Consolas", "Courier New", monospace;
  font-size: 9px;
  color: #2A2436;
  letter-spacing: 0.1em;
}

.benchrig__buttons {
  display: flex;
  justify-content: center;
  gap: 10px;
}

.benchrig__btn {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 3px solid #526E76;
}

.benchrig__btn--amber {
  background-color: #E39A20;
}

.benchrig__btn--red {
  background-color: #CC3D44;
}

.benchrig__btn--teal {
  background-color: #387898;
}

.benchrig__loom {
  display: flex;
  gap: 6px;
  justify-content: center;
  border-top: 2px solid #526E76;
  padding-top: 12px;
  height: 46px;
  align-items: flex-end;
}

.benchrig__wire {
  width: 4px;
  border-radius: 2px;
}

.benchrig__wire:nth-child(1) { height: 30px; background-color: #E39A20; }
.benchrig__wire:nth-child(2) { height: 22px; background-color: #387898; }
.benchrig__wire:nth-child(3) { height: 34px; background-color: #CC3D44; }
.benchrig__wire:nth-child(4) { height: 18px; background-color: #80803C; }
.benchrig__wire:nth-child(5) { height: 28px; background-color: #C4D0F2; }

/* Primary CTA full-width bar */
.bandbar {
  margin-top: 32px;
  background-color: #E39A20;
  border-top: 4px solid #2A2436;
}

.bandbar__inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 66px;
}

.bandbar__label {
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 20px;
  font-weight: 700;
  color: #201C3E;
  letter-spacing: 0.01em;
}

.bandbar__label:hover,
.bandbar__label:focus {
  text-decoration: none;
  color: #2A2436;
}

.bandbar__arrow {
  font-size: 28px;
  color: #201C3E;
  line-height: 1;
}

/* ==========================================================================
   SECTION HEADINGS
   ========================================================================== */

.section {
  padding: 72px 0;
}

.section--vault {
  background-color: #201C3E;
}

.section--deep {
  background-color: #171430;
}

.section__head {
  max-width: 760px;
  margin-bottom: 44px;
}

.section__eyebrow {
  display: inline-block;
  font-family: "Consolas", "Courier New", monospace;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #80803C;
  margin-bottom: 14px;
  border-left: 4px solid #80803C;
  padding-left: 10px;
}

.section__title {
  font-size: clamp(28px, 4vw, 44px);
  color: #C4D0F2;
}

.section__title em {
  font-style: normal;
  color: #E39A20;
}

.section__intro {
  font-size: 17px;
  color: #C4D0F2;
}

/* ==========================================================================
   POINT CARD REGISTRY — six cards, irregular widths and offsets
   ========================================================================== */

.pointcard {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 24px 20px;
  align-items: start;
  padding: 10px 0 20px;
}

.pointcard__item {
  background-color: #C2BCC4;
  border-radius: 3px;
  position: relative;
  padding: 0 0 24px;
  box-shadow: 0 5px 0 #141129;
  border-top: 6px solid #387898;
}

.pointcard__item:nth-child(1) {
  grid-column: 1 / span 5;
  margin-top: 0;
  border-top-color: #E39A20;
}

.pointcard__item:nth-child(2) {
  grid-column: 7 / span 6;
  margin-top: 56px;
  border-top-color: #387898;
}

.pointcard__item:nth-child(3) {
  grid-column: 2 / span 4;
  margin-top: 8px;
  border-top-color: #80803C;
}

.pointcard__item:nth-child(4) {
  grid-column: 8 / span 5;
  margin-top: 0;
  border-top-color: #E39A20;
}

.pointcard__item:nth-child(5) {
  grid-column: 1 / span 6;
  margin-top: 44px;
  border-top-color: #387898;
}

.pointcard__item:nth-child(6) {
  grid-column: 8 / span 5;
  margin-top: 72px;
  border-top-color: #80803C;
}

.pointcard__strip {
  display: flex;
  align-items: center;
  gap: 10px;
  background-color: #3E5A62;
  padding: 9px 14px;
  border-bottom: 3px solid #2A2436;
}

.pointcard__stripnum {
  font-family: "Consolas", "Courier New", monospace;
  font-size: 11px;
  letter-spacing: 0.16em;
  color: #C2BCC4;
}

.pointcard__lamp {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background-color: #E39A20;
  margin-left: auto;
}

.pointcard__lamp--teal {
  background-color: #387898;
}

.pointcard__body {
  padding: 18px 20px 0;
}

.pointcard__title {
  font-size: 22px;
  color: #201C3E;
  margin-bottom: 10px;
}

.pointcard__text {
  font-size: 15px;
  color: #2A2436;
  margin: 0;
}

.pointcard__mark {
  position: absolute;
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 40px;
  font-weight: 700;
  color: #E39A20;
  line-height: 1;
  z-index: 2;
}

.pointcard__item:nth-child(1) .pointcard__mark {
  top: -26px;
  right: 18px;
}

.pointcard__item:nth-child(2) .pointcard__mark {
  bottom: -18px;
  left: 16px;
}

.pointcard__item:nth-child(3) .pointcard__mark {
  top: 14px;
  right: -14px;
}

.pointcard__item:nth-child(4) .pointcard__mark {
  bottom: -22px;
  right: 20px;
}

.pointcard__item:nth-child(5) .pointcard__mark {
  top: -24px;
  left: 24px;
}

.pointcard__item:nth-child(6) .pointcard__mark {
  bottom: -20px;
  right: 26px;
}

.pointcard__link {
  display: inline-block;
  margin-top: 14px;
  font-size: 14px;
  font-weight: 700;
  color: #201C3E;
  border-bottom: 2px solid #80803C;
  padding-bottom: 1px;
}

.pointcard__link:hover,
.pointcard__link:focus {
  color: #2A2436;
  text-decoration: none;
  border-bottom-color: #E39A20;
}

/* ==========================================================================
   HORN STRIP LEDGER
   ========================================================================== */

.hornstrip {
  background-color: #3E5A62;
  border-top: 4px solid #526E76;
  border-bottom: 4px solid #2A2436;
}

.hornstrip__inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 18px 24px;
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
}

.hornstrip__grilles {
  display: flex;
  gap: 5px;
  flex: 0 0 auto;
  padding-right: 20px;
  border-right: 3px solid #526E76;
}

.hornstrip__grille {
  width: 6px;
  height: 26px;
  border-radius: 3px;
  background-color: #201C3E;
}

.hornstrip__grille:nth-child(even) {
  background-color: #2A2448;
}

.hornstrip__text {
  flex: 1 1 400px;
  margin: 0;
  font-size: 15px;
  color: #C4D0F2;
}

.hornstrip__text strong {
  color: #E39A20;
}

/* ==========================================================================
   PROSE BLOCKS / WOVEN SERVICE COPY
   ========================================================================== */

.prosegrid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 48px;
  align-items: start;
}

.prosegrid__main p {
  font-size: 16.5px;
  color: #C4D0F2;
  margin-bottom: 1.1em;
}

.prosegrid__main h3 {
  font-size: 22px;
  color: #E39A20;
  margin-top: 1.6em;
}

.prosegrid__side {
  background-color: #3E5A62;
  border-radius: 4px;
  padding: 28px;
  border-left: 6px solid #E39A20;
}

.prosegrid__side h3 {
  font-size: 20px;
  color: #C4D0F2;
  margin-bottom: 14px;
}

.prosegrid__side ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.prosegrid__side li {
  padding: 11px 0;
  border-bottom: 1px solid #6B8791;
  font-size: 15px;
  color: #C4D0F2;
}

.prosegrid__side li:last-child {
  border-bottom: none;
}

.prosegrid__side li strong {
  display: block;
  color: #E39A20;
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 15px;
  margin-bottom: 2px;
}

/* Process steps — vertical annunciator sequence, not numbered plate rows */
.pipeline {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-top: 20px;
  border: 2px solid #526E76;
  background-color: #171430;
}

.pipeline__step {
  padding: 26px 22px;
  border-right: 2px solid #526E76;
  position: relative;
}

.pipeline__step:last-child {
  border-right: none;
}

.pipeline__lamp {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #E39A20;
  margin-bottom: 14px;
}

.pipeline__step:nth-child(2) .pipeline__lamp {
  background-color: #387898;
}

.pipeline__step:nth-child(3) .pipeline__lamp {
  background-color: #80803C;
}

.pipeline__step:nth-child(4) .pipeline__lamp {
  background-color: #C4D0F2;
}

.pipeline__step h3 {
  font-size: 17px;
  color: #C4D0F2;
  margin-bottom: 8px;
}

.pipeline__step p {
  font-size: 14px;
  color: #C4D0F2;
  margin: 0;
}

/* Service deep sections on services page */
.svcblock {
  padding: 56px 0;
  border-bottom: 2px solid #2A2436;
}

.svcblock:last-of-type {
  border-bottom: none;
}

.svcblock__grid {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 40px;
  align-items: start;
}

.svcblock__side {
  border-top: 6px solid #E39A20;
  padding-top: 16px;
}

.svcblock__code {
  font-family: "Consolas", "Courier New", monospace;
  font-size: 12px;
  letter-spacing: 0.18em;
  color: #80803C;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.svcblock__letter {
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 64px;
  line-height: 1;
  color: #E39A20;
  margin-bottom: 10px;
}

.svcblock__meterbar {
  display: flex;
  gap: 4px;
  margin-top: 12px;
}

.svcblock__meterbar span {
  height: 8px;
  flex: 1;
  background-color: #387898;
}

.svcblock__meterbar span:nth-child(2) {
  background-color: #E39A20;
}

.svcblock__meterbar span:nth-child(3) {
  background-color: #80803C;
}

.svcblock__meterbar span:nth-child(4) {
  background-color: #3E5A62;
}

.svcblock__body h2 {
  font-size: 30px;
  color: #C4D0F2;
  margin-bottom: 14px;
}

.svcblock__body p {
  color: #C4D0F2;
  font-size: 16.5px;
}

.svcblock__note {
  margin-top: 18px;
  padding: 16px 20px;
  background-color: #3E5A62;
  border-left: 5px solid #E39A20;
  color: #C4D0F2;
  font-size: 15px;
}

/* CTA panel on services */
.ctapanel {
  background-color: #3E5A62;
  border-radius: 4px;
  padding: 40px;
  border-top: 6px solid #E39A20;
  margin-top: 20px;
}

.ctapanel h2 {
  font-size: 30px;
  color: #C4D0F2;
}

.ctapanel p {
  color: #C4D0F2;
  font-size: 16px;
  max-width: 720px;
}

.ctapanel__row {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  margin-top: 20px;
}

.ctapanel__btn {
  display: inline-block;
  background-color: #E39A20;
  color: #201C3E;
  font-weight: 700;
  padding: 13px 26px;
  border-radius: 2px;
  font-size: 15px;
  letter-spacing: 0.02em;
}

.ctapanel__btn:hover,
.ctapanel__btn:focus {
  background-color: #F0AE42;
  color: #201C3E;
  text-decoration: none;
}

.ctapanel__alt {
  color: #C4D0F2;
  font-size: 14px;
}

.ctapanel__alt a {
  color: #E39A20;
  border-bottom: 2px solid #80803C;
}

/* ==========================================================================
   CONTACT PAGE
   ========================================================================== */

.contactgrid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 44px;
  align-items: start;
}

.contactform {
  background-color: #3E5A62;
  border-radius: 4px;
  padding: 32px;
  border-top: 6px solid #E39A20;
}

.contactform__field {
  margin-bottom: 18px;
}

.contactform__label {
  display: block;
  font-family: "Consolas", "Courier New", monospace;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #C4D0F2;
  margin-bottom: 7px;
}

.contactform__input,
.contactform__textarea {
  width: 100%;
  background-color: #201C3E;
  border: 2px solid #526E76;
  border-radius: 2px;
  color: #C4D0F2;
  font-family: inherit;
  font-size: 15px;
  padding: 11px 13px;
}

.contactform__input:focus,
.contactform__textarea:focus {
  outline: none;
  border-color: #E39A20;
}

.contactform__textarea {
  resize: vertical;
  min-height: 140px;
}

.contactform__submit {
  background-color: #E39A20;
  color: #201C3E;
  border: none;
  border-radius: 2px;
  padding: 13px 30px;
  font-size: 15px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
}

.contactform__submit:hover,
.contactform__submit:focus {
  background-color: #F0AE42;
}

.contactform__note {
  font-size: 13px;
  color: #C4D0F2;
  margin-top: 14px;
  margin-bottom: 0;
}

.contactform__status {
  margin-top: 14px;
  font-size: 14px;
  color: #E39A20;
  font-weight: 600;
}

.contactinfo {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.infourged {
  background-color: #201C3E;
  border: 2px solid #526E76;
  border-radius: 4px;
  padding: 24px;
}

.infourged__head {
  font-family: "Consolas", "Courier New", monospace;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #80803C;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 9px;
}

.infourged__lamp {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #E39A20;
}

.infourged__lamp--teal {
  background-color: #387898;
}

.infourged p {
  margin: 0 0 6px;
  color: #C4D0F2;
  font-size: 15px;
}

.infourged a {
  color: #E39A20;
}

.infourged__hours {
  list-style: none;
  margin: 0;
  padding: 0;
}

.infourged__hours li {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 7px 0;
  border-bottom: 1px solid #526E76;
  font-size: 14.5px;
  color: #C4D0F2;
}

.infourged__hours li:last-child {
  border-bottom: none;
}

.infourged__hours span:last-child {
  color: #C4D0F2;
  font-weight: 600;
}

/* FAQ accordion */
.faqlist {
  margin-top: 10px;
}

.faqitem {
  border-bottom: 2px solid #526E76;
}

.faqitem__q {
  width: 100%;
  background-color: transparent;
  border: none;
  color: #C4D0F2;
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 18px;
  text-align: left;
  padding: 18px 34px 18px 0;
  cursor: pointer;
  position: relative;
  line-height: 1.3;
}

.faqitem__q:hover,
.faqitem__q:focus {
  color: #E39A20;
  outline: none;
}

.faqitem__q::after {
  content: "+";
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 24px;
  color: #E39A20;
  font-family: "Consolas", "Courier New", monospace;
}

.faqitem__q[aria-expanded="true"]::after {
  content: "-";
}

.faqitem__a {
  max-height: 0;
  overflow: hidden;
  transition: max-height 240ms ease;
}

.faqitem__a p {
  padding: 0 0 18px;
  margin: 0;
  color: #C4D0F2;
  font-size: 15.5px;
}

.faqitem__a.faqitem__a--open {
  max-height: 400px;
}

/* ==========================================================================
   TEST BENCH COUNTER — FOOTER
   ========================================================================== */

.testbench {
  background-color: #201C3E;
  border-top: 4px solid #2A2436;
  margin-top: 0;
}

.testbench__room {
  background-color: #171430;
  padding: 56px 0 0;
}

.testbench__grid {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px 40px;
  display: grid;
  grid-template-columns: 1.3fr 0.7fr 0.7fr;
  gap: 40px;
}

.testbench__brand {
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 20px;
  color: #C4D0F2;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.testbench__brandlamp {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #E39A20;
  flex: 0 0 auto;
}

.testbench__blurb {
  font-size: 14.5px;
  color: #C4D0F2;
  max-width: 380px;
  margin: 0;
}

.testbench__colhead {
  font-family: "Consolas", "Courier New", monospace;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #80803C;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.testbench__colhead::after {
  content: "";
  flex: 1;
  height: 2px;
  background-color: #3E5A62;
}

.testbench__links {
  list-style: none;
  margin: 0;
  padding: 0;
}

.testbench__links li {
  padding: 5px 0;
}

.testbench__links a {
  color: #C4D0F2;
  font-size: 14.5px;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  padding-bottom: 1px;
}

.testbench__links a:hover,
.testbench__links a:focus {
  color: #E39A20;
  border-bottom-color: #80803C;
  text-decoration: none;
}

/* Bench top: push buttons + round meter */
.benchtop {
  background-color: #4A4038;
  border-top: 6px solid #5E5147;
  border-bottom: 4px solid #2A2436;
  padding: 14px 0;
}

.benchtop__inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  gap: 16px;
}

.benchtop__btn {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 3px solid #201C3E;
  flex: 0 0 auto;
}

.benchtop__btn--amber { background-color: #E39A20; }
.benchtop__btn--teal { background-color: #387898; }
.benchtop__btn--red { background-color: #CC3D44; }
.benchtop__btn--olive { background-color: #80803C; }

.benchtop__spacer {
  flex: 1 1 auto;
}

.benchtop__meter {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background-color: #C2BCC4;
  border: 4px solid #201C3E;
  position: relative;
  flex: 0 0 auto;
}

.benchtop__needle {
  position: absolute;
  width: 2px;
  height: 16px;
  background-color: #CC3D44;
  bottom: 50%;
  left: 50%;
  transform-origin: bottom center;
  transform: translateX(-50%) rotate(-34deg);
}

/* Slim bottom strip */
.testbench__strip {
  background-color: #2A2436;
  padding: 16px 0;
}

.testbench__stripinner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 26px;
  align-items: center;
  justify-content: space-between;
  font-size: 13.5px;
  color: #C4D0F2;
}

.testbench__stripinner a {
  color: #C4D0F2;
}

.testbench__stripinner a:hover,
.testbench__stripinner a:focus {
  color: #E39A20;
}

.testbench__copyright {
  display: flex;
  align-items: center;
  gap: 8px;
}

.testbench__yearlamp {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #E39A20;
  flex: 0 0 auto;
}

/* ==========================================================================
   SCROLL REVEAL
   ========================================================================== */

.reveal-target {
  transition: transform 500ms ease, background-color 500ms ease;
}

.js-reveal-hidden {
  transform: translateY(22px);
}

.js-reveal-shown {
  transform: translateY(0);
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 980px) {
  .wallband__inner {
    grid-template-columns: 1fr;
  }

  .lamprail {
    flex-direction: row;
    justify-content: flex-start;
    padding: 12px;
  }

  .lamprail__label {
    writing-mode: horizontal-tb;
    transform: none;
    align-self: center;
  }

  .lamprail__stack {
    flex-direction: row;
  }

  .lamprail__foot {
    border-top: none;
    border-left: 2px solid #526E76;
    padding-top: 0;
    padding-left: 10px;
  }

  .pointwall {
    grid-template-columns: repeat(2, 1fr);
  }

  .benchrig {
    flex-direction: row;
    align-items: center;
  }

  .benchrig__loom {
    border-top: none;
    border-left: 2px solid #526E76;
    padding-top: 0;
    padding-left: 12px;
    height: auto;
    align-items: center;
  }

  .pointcard__item:nth-child(n) {
    grid-column: 1 / -1;
    margin-top: 0;
  }

  .prosegrid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .pipeline {
    grid-template-columns: repeat(2, 1fr);
  }

  .pipeline__step:nth-child(2) {
    border-right: none;
  }

  .pipeline__step:nth-child(1),
  .pipeline__step:nth-child(2) {
    border-bottom: 2px solid #526E76;
  }

  .svcblock__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .svcblock__side {
    display: flex;
    align-items: center;
    gap: 18px;
    border-top: none;
    border-left: 6px solid #E39A20;
    padding: 0 0 0 16px;
    padding-top: 0;
  }

  .svcblock__letter {
    font-size: 44px;
    margin-bottom: 0;
  }

  .contactgrid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .testbench__grid {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }

  .testbench__brandcol {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .siglamp__frame {
    align-items: flex-start;
  }

  .siglamp__toggle {
    display: block;
    margin-left: auto;
  }

  .siglamp__windows {
    display: none;
    flex-direction: column;
    width: 100%;
    gap: 6px;
    margin-top: 10px;
  }

  .siglamp__windows.siglamp__windows--open {
    display: flex;
  }

  .siglamp__window {
    width: 100%;
    justify-content: flex-start;
    padding: 13px 16px;
  }

  .annunciatorwall {
    padding-top: 44px;
  }

  .pointwall {
    grid-template-columns: 1fr;
  }

  .bandbar__inner {
    padding-top: 10px;
    padding-bottom: 10px;
    flex-wrap: wrap;
  }

  .bandbar__label {
    font-size: 17px;
  }

  .section {
    padding: 52px 0;
  }

  .pipeline {
    grid-template-columns: 1fr;
  }

  .pipeline__step {
    border-right: none;
    border-bottom: 2px solid #526E76;
  }

  .pipeline__step:last-child {
    border-bottom: none;
  }

  .ctapanel {
    padding: 28px 22px;
  }

  .testbench__grid {
    grid-template-columns: 1fr;
  }

  .contactform {
    padding: 24px 20px;
  }
}
