/* Extends the Client Facilities visual language across the full site. */

.source-section,
.process-section,
#why,
#reference,
#faq,
.rfqa-inline-section {
  position: relative;
  overflow: hidden;
  background-color: #061721;
  background-image:
    linear-gradient(rgba(27, 74, 93, .075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(27, 74, 93, .075) 1px, transparent 1px),
    radial-gradient(circle at 88% 16%, rgba(32, 207, 232, .05), transparent 28%),
    radial-gradient(circle at 6% 86%, rgba(200, 155, 74, .035), transparent 28%);
  background-size: 64px 64px, 64px 64px, auto, auto;
}

.process-section,
#reference,
.rfqa-inline-section { background-color: #04141D; }

.source-section > .container,
.process-section > .container,
#why > .container,
#reference > .container,
#faq > .container,
.rfqa-inline-section > .container {
  position: relative;
  z-index: 2;
}

.source-section::before,
.process-section::before,
#why::before,
#reference::before,
#faq::before,
.rfqa-inline-section::before {
  position: absolute;
  top: 34px;
  right: -18px;
  bottom: auto;
  left: auto;
  z-index: 0;
  color: rgba(243, 236, 221, .023);
  font-family: var(--font-display);
  font-size: clamp(5rem, 11.5vw, 11rem);
  font-weight: 700;
  line-height: .85;
  letter-spacing: -.075em;
  white-space: nowrap;
  pointer-events: none;
  mask-image: none;
  -webkit-mask-image: none;
  background: none;
}

.source-section::before { content: "PRODUCT SYSTEMS"; }
.process-section::before { content: "SOURCING FLOW"; }
#why::before { content: "TRANSPARENT BY DESIGN"; }
#reference::before { content: "ENGINEERING DATA"; }
#faq::before { content: "CLIENT CLARITY"; }
.rfqa-inline-section::before { content: "RFQ WORKSPACE"; }

.source-section .section-head,
.process-section .section-head,
#why .section-head,
#reference .section-head,
#faq .section-head {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, .68fr);
  column-gap: clamp(40px, 8vw, 112px);
  row-gap: 12px;
  align-items: end;
  max-width: none;
  margin-bottom: clamp(54px, 7vw, 92px);
}

.source-section .section-head .eyebrow,
.process-section .section-head .eyebrow,
#why .section-head .eyebrow,
#reference .section-head .eyebrow,
#faq .section-head .eyebrow {
  grid-column: 1;
  grid-row: 1;
}

.source-section .section-head h2,
.process-section .section-head h2,
#why .section-head h2,
#reference .section-head h2,
#faq .section-head h2 {
  grid-column: 1;
  grid-row: 2;
  max-width: 760px;
  margin-top: 10px;
  font-size: clamp(3rem, 6.2vw, 5.8rem);
  line-height: .96;
  letter-spacing: -.065em;
}

.source-section .section-head p,
.process-section .section-head p,
#reference .section-head p {
  grid-column: 2;
  grid-row: 2;
  align-self: end;
  margin: 0 0 5px;
  max-width: 470px;
  font-size: clamp(1rem, 1.3vw, 1.12rem);
  line-height: 1.82;
}

/* Product showcase: stronger image treatment and technical framing. */
.source-arc-wrap { padding-top: 12px; }
.source-arc-lines { opacity: .78; }
.showcase-card {
  border-radius: 4px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 24px 70px rgba(0,0,0,.18);
}
.showcase-card::before {
  content: "";
  position: absolute;
  inset: 10px;
  z-index: 2;
  border-top: 1px solid rgba(230,196,130,.22);
  border-left: 1px solid rgba(230,196,130,.12);
  pointer-events: none;
}
.showcase-media img { filter: saturate(.72) contrast(1.08); transition: transform .7s var(--ease), filter .7s var(--ease); }
.showcase-card:hover .showcase-media img { transform: scale(1.045); filter: saturate(.9) contrast(1.1); }
.showcase-body { padding: 20px; }
.showcase-name { font-size: clamp(1.15rem, 1.65vw, 1.5rem); }

/* Sourcing motion panel receives the same editorial scale. */
.process-wrap { padding-top: clamp(72px, 9vw, 120px); }
.process-links-track { stroke: rgba(168,186,194,.22); }
.process-node-dot { border-color: rgba(230,196,130,.46); background: #08232F; }
.process-node.is-active .process-node-dot { border-color: var(--brass-lit); box-shadow: 0 0 0 7px rgba(200,155,74,.08), 0 0 30px rgba(200,155,74,.18); }
.process-panel { border-radius: 4px; }

/* Trust cards turn into a connected technical matrix. */
#why .why-grid {
  gap: 0;
  border-top: 1px solid rgba(168,186,194,.16);
  border-left: 1px solid rgba(168,186,194,.16);
}
#why .why-col {
  min-height: 310px;
  border: 0;
  border-right: 1px solid rgba(168,186,194,.16);
  border-bottom: 1px solid rgba(168,186,194,.16);
  border-radius: 0;
  background: linear-gradient(145deg, rgba(12,45,61,.48), rgba(4,18,26,.46));
}
#why .why-col::before { margin-bottom: 78px; }
#why .why-col::after {
  position: absolute;
  top: 10px;
  right: 18px;
  color: rgba(243,236,221,.035);
  font-family: var(--font-display);
  font-size: 5.5rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.08em;
}
#why .why-col:nth-child(1)::after { content: "01"; }
#why .why-col:nth-child(2)::after { content: "02"; }
#why .why-col:nth-child(3)::after { content: "03"; }
#why .why-col:nth-child(4)::after { content: "04"; }
#why .why-col h3 { position: relative; z-index: 1; font-size: clamp(1.25rem, 1.7vw, 1.6rem); }
#why .why-col p { position: relative; z-index: 1; line-height: 1.78; }

/* Reference table adopts a high-visibility engineering-console look. */
#reference .table-scroll { border-radius: 0; border-color: rgba(168,186,194,.2); }
.pressure-table { min-width: 820px; }
.pressure-table caption {
  padding: 18px 22px;
  border-bottom: 1px solid rgba(168,186,194,.16);
  background: rgba(4,18,26,.52);
  color: var(--brass-lit);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.pressure-table th,
.pressure-table td { padding-block: 18px; }
.pressure-table thead th { color: var(--brass-lit); font-family: var(--font-mono); font-size: 11px; letter-spacing: .06em; }
.pressure-table tbody th { color: var(--cyan); font-family: var(--font-mono); }
.table-note { max-width: 780px; margin-top: 22px; color: var(--ivory-faint); }

/* FAQ becomes a numbered client-clarity interface. */
#faq .faq-list {
  max-width: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  counter-reset: faq-item;
}
#faq .accordion-item {
  position: relative;
  margin: 0;
  border-radius: 0;
  counter-increment: faq-item;
}
#faq .accordion-item::before {
  content: "0" counter(faq-item);
  position: absolute;
  top: 23px;
  left: 22px;
  color: var(--brass);
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .08em;
}
#faq .accordion-trigger { min-height: 82px; padding: 18px 22px 18px 64px; font-size: 1rem; }
#faq .accordion-panel p { padding-left: 64px; color: var(--ivory-dim); }

/* RFQ workspace: same background, type scale and square technical surfaces. */
#rfqa-inline-mount .rfqa-header {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  padding-block: 18px 32px;
}
#rfqa-inline-mount .rfqa-title-group h2 {
  font-size: clamp(2.3rem, 5.2vw, 5rem);
  line-height: .98;
  letter-spacing: -.06em;
}
#rfqa-inline-mount .rfqa-title-group p { max-width: 650px; margin-top: 16px; font-size: 1rem; }
#rfqa-inline-mount .rfqa-sector-section,
#rfqa-inline-mount .rfqa-upload-section,
#rfqa-inline-mount .rfqa-manual-section,
#rfqa-inline-mount .rfqa-table-preview,
#rfqa-inline-mount .rfqa-contact-row,
#rfqa-inline-mount .rfqa-send-row { border-radius: 4px; }
#rfqa-inline-mount .rfqa-sector-section { display: grid; grid-template-columns: 180px minmax(0,1fr); align-items: center; gap: 24px; }
#rfqa-inline-mount .rfqa-sector-tabs { margin-top: 0; }
#rfqa-inline-mount .rfqa-sector-tab { border-radius: 3px; min-height: 52px; }
#rfqa-inline-mount .rfqa-field input,
#rfqa-inline-mount .rfqa-field select,
#rfqa-inline-mount .rfqa-field textarea { border-radius: 3px; min-height: 44px; }
#rfqa-inline-mount .rfqa-btn { border-radius: 3px; min-height: 44px; }

.site-footer {
  position: relative;
  background-color: #030D12;
  background-image: linear-gradient(rgba(27,74,93,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(27,74,93,.07) 1px, transparent 1px);
  background-size: 64px 64px;
}

@keyframes facility-signal-pulse {
  0%, 100% { box-shadow: 0 0 0 5px rgba(32,207,232,.08), 0 0 18px rgba(32,207,232,.42); }
  50% { box-shadow: 0 0 0 9px rgba(32,207,232,.02), 0 0 28px rgba(32,207,232,.62); }
}
.facility-signal { animation: facility-signal-pulse 2.8s ease-in-out infinite; }
.facility-card:nth-child(2) .facility-signal,
.facility-card:nth-child(5) .facility-signal { animation-delay: -.9s; }
.facility-card:nth-child(3) .facility-signal,
.facility-card:nth-child(6) .facility-signal { animation-delay: -1.8s; }

@media (max-width: 900px) {
  .source-section .section-head,
  .process-section .section-head,
  #why .section-head,
  #reference .section-head,
  #faq .section-head { grid-template-columns: 1fr; gap: 18px; }

  .source-section .section-head h2,
  .process-section .section-head h2,
  #why .section-head h2,
  #reference .section-head h2,
  #faq .section-head h2,
  .source-section .section-head p,
  .process-section .section-head p,
  #reference .section-head p { grid-column: 1; grid-row: auto; }

  #why .why-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0; }
  #faq .faq-list { grid-template-columns: 1fr; }
  #rfqa-inline-mount .rfqa-sector-section { grid-template-columns: 1fr; }
  #rfqa-inline-mount .rfqa-sector-tabs { margin-top: 4px; }
}

@media (max-width: 640px) {
  .source-section::before,
  .process-section::before,
  #why::before,
  #reference::before,
  #faq::before,
  .rfqa-inline-section::before { top: 28px; font-size: 4.2rem; }

  .source-section .section-head h2,
  .process-section .section-head h2,
  #why .section-head h2,
  #reference .section-head h2,
  #faq .section-head h2 { font-size: clamp(2.65rem, 14vw, 4rem); }

  #why .why-grid { grid-template-columns: 1fr; }
  #why .why-col { min-height: 245px; }
  #why .why-col::before { margin-bottom: 54px; }
  #faq .accordion-trigger { padding-left: 54px; }
  #faq .accordion-panel p { padding-left: 54px; }
  #rfqa-inline-mount .rfqa-header { grid-template-columns: 1fr; }
  #rfqa-inline-mount .rfqa-title-group h2 { font-size: clamp(2.15rem, 11vw, 3.2rem); }
}

@media (prefers-reduced-motion: reduce) {
  .facility-signal { animation: none; }
}
