/* LAMBDA PROCUREMENT LLC - Procurement Ledger Hall Theme */

:root{
  --ledger:#13161B;
  --spec:#EDEFE8;
  --lime:#8FB54B;
  --slate:#1C2128;
  --vault:#0A0C0F;
  --steel:#565E66;
  --paper:#F4F1E6;
  --holde:#C27348;
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:"Segoe UI",Arial,sans-serif;
  background:var(--ledger);
  color:var(--spec);
  font-size:16px;
  line-height:1.7;
  overflow-x:hidden;
}

a{
  color:var(--lime);
  text-decoration:none;
}

a:hover{
  text-decoration:underline;
}

img{
  max-width:100%;
}

.brk{
  float:none;
}

/* ---------- BID-BOARD NAVIGATION ---------- */

.bidboard{
  background:var(--slate);
  border-bottom:1px solid var(--steel);
  position:sticky;
  top:0;
  z-index:60;
}

.nav-strip{
  max-width:1180px;
  margin:0 auto;
  padding:0 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:84px;
}

.bidboard-brand{
  display:flex;
  align-items:center;
  gap:12px;
}

.bidboard-brand .plate{
  background:var(--paper);
  color:var(--vault);
  font-weight:800;
  font-size:22px;
  letter-spacing:2px;
  padding:8px 16px;
  border-radius:4px;
  border-left:4px solid var(--lime);
}

.bidboard-brand .lambda-glyph{
  font-size:30px;
  color:var(--lime);
  font-weight:900;
}

.bidline-tabs{
  display:flex;
  align-items:center;
  gap:6px;
}

.bidline-link{
  background:var(--paper);
  color:var(--vault);
  font-weight:700;
  padding:9px 18px;
  border-radius:3px;
  border-top:4px solid var(--slate);
  display:inline-flex;
  transition:border-top-color .18s ease, background .18s ease;
}

.bidline-link.is-active{
  border-top-color:var(--lime);
}

.bidline-link:hover{
  border-top-color:var(--lime);
  text-decoration:none;
  background:#EDE9D8;
}

.rfq-chip{
  background:var(--holde);
  color:var(--vault);
  font-weight:800;
  padding:9px 16px;
  border-radius:3px;
  border:1px solid #A95A35;
}

.rfq-chip:hover{
  background:#C87F56;
}

.mobile-nav-toggle{
  display:none;
  background:var(--lime);
  color:var(--vault);
  font-size:15px;
  font-weight:800;
  border:none;
  padding:8px 16px;
  border-radius:3px;
  cursor:pointer;
  border-top:4px solid var(--lime);
}

/* Mobile stacked drawer */
.bidline-drawer{
  display:none;
}

@media (max-width:860px){
  .bidline-tabs{
    display:none;
  }
  .mobile-nav-toggle{
    display:inline-flex;
  }
  .bidline-drawer.is-open{
    display:flex;
    flex-direction:column;
    gap:8px;
    padding:14px 24px 18px;
  }
  .bidline-drawer.is-open a{
    color:var(--paper);
    padding:6px 12px;
  }
}

/* bottom rivet dots on the rail */
.bidboard .rivets{
  display:flex;
  justify-content:center;
  gap:96px;
  padding:0 0 6px;
}

.bidboard .rivet{
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--steel);
}

/* ---------- COUNTER-DESK HERO ---------- */

.counterdesk{
  background:var(--vault);
  position:relative;
  overflow:hidden;
}

.counterdesk-inner{
  max-width:1180px;
  margin:0 auto;
  padding:86px 24px 0;
  position:relative;
}

.counterdesk-eyebrow{
  color:var(--lime);
  font-weight:800;
  letter-spacing:4px;
  text-transform:uppercase;
  font-size:14px;
  margin-bottom:18px;
  display:flex;
  align-items:center;
  gap:12px;
}

.counterdesk-eyebrow::before{
  content:"";
  width:52px;
  height:3px;
  background:var(--lime);
  display:inline-block;
}

.counterdesk h1{
  font-size:52px;
  line-height:1.12;
  font-weight:900;
  color:var(--spec);
  margin-bottom:20px;
  max-width:760px;
}

.counterdesk h1 .accent{
  color:var(--lime);
}

.counterdesk-lead{
  font-size:18px;
  color:var(--spec);
  max-width:620px;
  margin-bottom:34px;
}

.counter-cta-row{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:70px;
}

.btn-solid-lime{
  background:var(--lime);
  color:var(--vault);
  font-weight:800;
  padding:15px 32px;
  border-radius:2px;
  border:none;
  font-size:15px;
  cursor:pointer;
  display:inline-block;
}

.btn-solid-lime:hover{
  background:#9FC55C;
  text-decoration:none;
}

.btn-outline-steel{
  padding:15px 32px;
  background:transparent;
  color:var(--spec);
  border:2px solid var(--steel);
  font-weight:700;
  font-size:15px;
  cursor:pointer;
  display:inline-block;
  border-radius:2px;
}

.btn-outline-steel:hover{
  border-color:var(--lime);
  color:var(--lime);
  text-decoration:none;
}

/* tiered counter desks */
.counter-tier{
  position:absolute;
  left:0;
  right:0;
  bottom:60px;
  height:26px;
  background:var(--slate);
  z-index:1;
}

.vault-door-silhouette{
  position:absolute;
  right:6%;
  top:40px;
  z-index:0;
  width:210px;
  text-align:center;
}

.vault-door-silhouette .door-body{
  width:170px;
  height:240px;
  background:var(--slate);
  border-radius:90px 90px 6px 6px;
  margin:0 auto;
  position:relative;
  border:4px solid var(--steel);
}

.vault-door-silhouette .door-dial{
  position:absolute;
  top:90px;
  left:50%;
  transform:translateX(-50%);
  width:84px;
  height:84px;
  border-radius:50%;
  background:var(--steel);
  border:6px solid var(--vault);
  box-sizing:content-box;
}

.vault-door-silhouette .door-dial::after{
  content:"";
  position:absolute;
  top:6px;
  left:50%;
  width:4px;
  height:30px;
  background:var(--paper);
  transform:translateX(-50%);
}

.kickstrip{
  background:var(--vault);
  border-top:1px solid var(--steel);
  position:relative;
  z-index:4;
  margin-top:120px;
}

.kickstrip-inner{
  max-width:1180px;
  margin:0 auto;
  padding:34px 24px;
  display:flex;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
}

.hall-stat{
  color:var(--paper);
}

.hall-stat .num{
  font-size:40px;
  font-weight:900;
  color:var(--lime);
  line-height:1.1;
}

.hall-stat .lbl{
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:1.8px;
  color:var(--paper);
}

/* responsive hero */
@media (max-width:860px){
  .counterdesk h1{
    font-size:34px;
  }
  .vault-door-silhouette{
    display:none;
  }
  .kickstrip{
    margin-top:80px;
  }
  .hall-stat .num{
    font-size:26px;
  }
}

/* ---------- QUOTE-LINE ROWS (movement one) ---------- */

.quoteline-section{
  background:var(--ledger);
  padding:90px 0 10px;
  position:relative;
}

.quoteline-section h2.band-head{
  color:var(--lime);
  font-weight:900;
  letter-spacing:3px;
  text-transform:uppercase;
  text-align:center;
  margin-bottom:14px;
  font-size:16px;
}

.quoteline-section .band-subhead{
  color:var(--paper);
  font-weight:800;
  font-size:32px;
  text-align:center;
  margin-bottom:64px;
}

.quoteline{
  max-width:1100px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:0;
}

.quoteline-line{
  display:flex;
  gap:26px;
  background:var(--slate);
  padding:28px 30px;
  border-left:6px solid var(--lime);
  margin:0 0 26px 0;
  position:relative;
}

.quoteline-line.is-subentry{
  margin-left:40px;
  border-left:6px solid var(--steel);
}

.quoteline-line.edge-right{
  border-left:0;
  border-right:6px solid var(--lime);
  margin-left:40px;
  margin-right:0;
}

.quoteline-line.is-subentry.edge-right{
  border-right:6px solid var(--steel);
}

.quoteline-mark{
  font-weight:900;
  font-size:30px;
  color:var(--lime);
  min-width:70px;
  line-height:1.2;
}

.quoteline-body{
  flex:1;
}

.quoteline-body h3{
  color:var(--spec);
  font-size:21px;
  margin-bottom:10px;
}

.quoteline-body h3 a{
  color:var(--spec);
}

.quoteline-body h3 a:hover{
  color:var(--lime);
}

.quoteline-body p{
  color:var(--spec);
  margin-bottom:12px;
}

.details-link{
  color:var(--lime);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1px;
  font-size:13px;
}

.hold-flag{
  position:absolute;
  top:18px;
  right:30px;
  background:var(--holde);
  color:var(--vault);
  font-weight:800;
  font-size:11px;
  padding:4px 10px;
  border-radius:2px;
  letter-spacing:1px;
}

.hold-flag.flag-left{
  right:auto;
  left:26px;
}

@media (max-width:760px){
  .quoteline-line,
  .quoteline-line.is-subentry,
  .quoteline-line.edge-right,
  .quoteline-line.is-subentry.edge-right{
    margin-left:0;
    flex-direction:column;
  }
  .quoteline-mark{
    font-size:22px;
  }
}

/* statement band on steel */
.statement-band{
  background:var(--steel);
  padding:50px 24px;
  margin:46px 0 0;
}

.statement-inner{
  max-width:1100px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:34px;
  flex-wrap:wrap;
}

.statement-figure{
  font-size:96px;
  font-weight:900;
  color:var(--paper);
  line-height:1;
}

.statement-pledge{
  flex:1;
  min-width:240px;
}

.statement-pledge p{
  color:var(--paper);
  font-size:19px;
  font-weight:700;
  line-height:1.5;
}

/* ---------- AWARD LADDER (movement two) ---------- */

.award-ladder{
  background:var(--vault);
  padding:90px 0;
  position:relative;
}

.award-ladder-inner{
  max-width:1100px;
  margin:0 auto;
  padding:0 24px;
}

.award-ladder h2{
  color:var(--paper);
  font-size:32px;
  font-weight:800;
  text-align:center;
  margin-bottom:50px;
}

.award-ladder-rail{
  position:relative;
}

.ladder-dash{
  position:absolute;
  top:27px;
  left:52px;
  right:52px;
  border-top:3px dashed var(--lime);
  z-index:1;
}

.ladder-stations{
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  position:relative;
  z-index:2;
}

.ladder-station{
  text-align:center;
  width:170px;
}

.stamp-plate{
  background:var(--steel);
  color:var(--paper);
  font-weight:800;
  padding:20px 10px;
  width:170px;
  letter-spacing:2px;
  text-transform:uppercase;
  font-size:15px;
  border-radius:4px;
  margin:0 auto 14px;
  border-top:4px solid var(--lime);
}

.stamp-plate.is-final{
  background:var(--lime);
  color:var(--vault);
  border-top:4px solid var(--paper);
}

.ladder-station p{
  color:var(--spec);
  font-size:13px;
  line-height:1.6;
  padding:0 4px;
}

@media (max-width:980px){
  .ladder-stations{
    justify-content:center;
    gap:30px;
  }
  .ladder-dash{
    display:none;
  }
}

/* ---------- REVIEW DESK ACCENT BAND ---------- */

.review-desk{
  background:var(--lime);
  color:var(--vault);
  padding:46px 0;
}

.review-inner{
  max-width:1100px;
  margin:0 auto;
  padding:0 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  flex-wrap:wrap;
}

.review-badge{
  background:var(--vault);
  color:var(--lime);
  font-weight:900;
  letter-spacing:3px;
  text-transform:uppercase;
  padding:10px 20px;
  border-radius:3px;
  border-left:5px solid var(--paper);
  display:flex;
  align-items:center;
  gap:12px;
}

.review-copy{
  flex:1;
  min-width:250px;
}

.review-copy p{
  color:var(--vault);
  font-weight:800;
  font-size:19px;
  line-height:1.5;
}

.review-copy p em{
  font-style:normal;
  border-bottom:3px solid var(--vault);
}

.review-desk .btn-ink{
  background:var(--vault);
  color:var(--lime);
  font-weight:800;
  padding:15px 30px;
  border:none;
}

.review-desk .btn-ink:hover{
  background:#161A1F;
  text-decoration:none;
}

/* ---------- VAULT-DOOR FOOTER ---------- */

.vaultdoor{
  background:var(--vault);
  color:var(--spec);
  position:relative;
}

.vault-top-emblem{
  border-top:1px solid var(--steel);
  background:var(--slate);
}

.vault-top-inner{
  max-width:1180px;
  margin:0 auto;
  padding:60px 24px 44px;
  display:flex;
  align-items:center;
  gap:44px;
  flex-wrap:wrap;
  position:relative;
}

.vault-top-inner > *{
  position:relative;
  z-index:1;
}

.medallion{
  width:118px;
  height:118px;
  border-radius:50%;
  background:var(--steel);
  border:5px solid var(--vault);
  position:relative;
  flex:0 0 auto;
}

.medallion::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:72px;
  height:72px;
  border-radius:50%;
  border:2px solid var(--lime);
}

.medallion::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:10px;
  height:10px;
  background:var(--paper);
  border-radius:50%;
}

.motto-block{
  flex:1;
  min-width:240px;
}

.motto{
  color:var(--paper);
  font-weight:900;
  letter-spacing:6px;
  font-size:26px;
  text-transform:uppercase;
}

.vaultdoor-link{
  color:var(--lime);
  font-weight:800;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:1.5px;
}

.vaultdoor-link-sub{
  color:var(--spec);
}

.vaultdoor-col-head{
  color:var(--paper);
  font-weight:800;
  letter-spacing:2px;
  text-transform:uppercase;
  font-size:13px;
  margin-bottom:14px;
  border-bottom:1px solid var(--steel);
  padding-bottom:6px;
}

.vault-col-wrap{
  max-width:1180px;
  margin:0 auto;
  padding:0 24px 40px;
  display:flex;
  gap:30px;
  flex-wrap:wrap;
  position:relative;
  z-index:1;
}

.vault-col{
  flex:1;
  min-width:200px;
  background:var(--slate);
  border-radius:4px;
  padding:22px 24px;
}

.vault-col ul{
  list-style:none;
  color:var(--spec);
}

.vault-col li{
  margin-bottom:9px;
}

.vault-col li a{
  color:var(--spec);
}

.vault-col li a:hover{
  color:var(--lime);
}

.spec-plate{
  background:var(--steel);
  border:1px solid var(--vault);
  color:var(--paper);
}

.spec-inner{
  max-width:1180px;
  margin:0 auto;
  padding:30px 24px;
  position:relative;
  z-index:1;
}

.spec-inner .org{
  font-weight:900;
  font-size:18px;
  letter-spacing:1px;
  color:var(--paper);
}

.spec-inner .addr{
  color:var(--paper);
  font-size:14px;
  margin-top:4px;
}

.spec-inner .contact-line{
  color:var(--paper);
  font-size:14px;
}

.spec-inner .contact-line a{
  color:var(--vault);
  font-weight:800;
}

.spec-copy-line{
  color:var(--paper);
  font-size:14px;
  margin-top:14px;
}

/* Watermark (hidden) */
.vaultdoor .wm{
  position:absolute;
  right:24px;
  top:30px;
  font-size:110px;
  font-weight:900;
  color:var(--slate);
  z-index:0;
  visibility:hidden;
}

/* ---------- REVEAL ANIMATION (JS-safe) ---------- */

.brk-reveal{
  opacity:1;
  transform:none;
  transition:opacity .6s ease, transform .6s ease;
}

.js .brk-reveal{
  opacity:0;
  transform:translateY(24px);
}

.js .brk-reveal.is-visible{
  opacity:1;
  transform:none;
}

/* ---------- SERVICES PAGE SPECIFICS ---------- */

.services-page .quoteline-section h2.band-head{
  text-align:left;
}

.services-page .quoteline-section .band-subhead{
  text-align:left;
}

.process-timeline{
  max-width:1100px;
  margin:60px auto 0;
  padding:0 24px;
}

.process-timeline h2{
  color:var(--paper);
  font-size:30px;
  font-weight:800;
  text-align:center;
  margin-bottom:44px;
}

.process-steps{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:20px;
}

.process-step{
  background:var(--slate);
  border-left:5px solid var(--lime);
  padding:24px 22px;
  position:relative;
}

.process-step:nth-child(odd){
  border-left:0;
  border-right:5px solid var(--steel);
}

.process-step h3{
  color:var(--lime);
  margin-bottom:8px;
  letter-spacing:1px;
}

.process-step p{
  color:var(--spec);
  font-size:14px;
}

/* ---------- CONTACT PAGE SPECIFICS ---------- */

.contact-gate{
  background:var(--vault);
  padding:80px 0 40px;
}

.contact-inner{
  max-width:1100px;
  margin:0 auto;
  padding:0 24px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:44px;
}

@media (max-width:820px){
  .contact-inner{
    grid-template-columns:1fr;
  }
}

.contact-intro h1{
  color:var(--spec);
  font-size:40px;
  margin-bottom:18px;
}

.contact-fields label{
  color:var(--paper);
  font-weight:700;
  display:block;
  margin-bottom:7px;
}

.contact-fields input,
.contact-fields textarea,
.contact-fields select{
  width:100%;
  padding:13px 15px;
  margin-bottom:18px;
  border:1px solid var(--steel);
  background:var(--slate);
  color:var(--spec);
  font-size:16px;
  border-radius:3px;
  font-family:inherit;
}

.contact-fields input:focus,
.contact-fields textarea:focus{
  outline:none;
  border-color:var(--lime);
}

.contact-form-send{
  background:var(--lime);
  color:var(--vault);
  border:none;
  font-weight:800;
  padding:14px 34px;
  cursor:pointer;
  font-size:16px;
}

.contact-form-status{
  color:var(--lime);
  font-weight:700;
  margin-top:10px;
}

.desk-info-panel{
  background:var(--slate);
  border-left:6px solid var(--lime);
  padding:28px 30px;
  margin-bottom:26px;
}

.desk-info-panel h3{
  color:var(--lime);
  margin-bottom:12px;
  letter-spacing:1px;
  font-size:15px;
  text-transform:uppercase;
}

.desk-info-panel p{
  color:var(--spec);
  margin-bottom:8px;
}

.desk-info-panel a{
  color:var(--paper);
}

.desk-info-panel a:hover{
  color:var(--lime);
}

.faq-answer{
  background:var(--slate);
  padding:16px 20px;
  color:var(--spec);
  border-left:4px solid var(--holde);
  margin-bottom:20px;
}

.faq-q{
  color:var(--paper);
  font-weight:800;
  margin-bottom:6px;
}

/* TOC inside band for generic numbered headings */
.id-band{
  margin:0;
}
