/* PCBA Partner enterprise colour system, 2026-09-19.
   Load first: this named layer gives colour-only important declarations
   precedence over the legacy theme layers without changing their geometry.
   Engineering canvases, brand artwork and third-party widgets are excluded. */
@layer pcba-enterprise-color;
@layer pcba-enterprise-color {
@media (forced-colors: none) {
html {
  --pcba-ink: #252927;
  --pcba-copy: #565c59;
  --pcba-muted: #656d68;
  --pcba-brand: #0b6f69;
  --pcba-action: #252927;
  --pcba-action-hover: #111513;
  --pcba-brand-hover: #085650;
  --pcba-brand-soft: #ffffff;
  --pcba-surface: #ffffff;
  --pcba-band: #ffffff;
  --pcba-border: #dedede;
  --pcba-field-border: #8b918e;
}
html.pcba-enterprise {
  --wa-canvas: #ffffff !important;
  --wa-band: var(--pcba-band) !important;
  --wa-band-soft: #ffffff !important;
  --wa-surface: #ffffff !important;
  --wa-ink: var(--pcba-ink) !important;
  --wa-copy: var(--pcba-copy) !important;
  --wa-muted: var(--pcba-muted) !important;
  --wa-accent: var(--pcba-brand) !important;
  --wa-black: var(--pcba-ink) !important;
  --wa-line: var(--pcba-border) !important;
  --wa-line-soft: #e8e8e8 !important;
  --wa-line-strong: var(--pcba-field-border) !important;
  --primary: var(--pcba-brand) !important;
  --primary-dark: var(--pcba-brand-hover) !important;
  --primary-light: var(--pcba-brand) !important;
  --accent: var(--pcba-brand) !important;
  --accent-soft: var(--pcba-brand-soft) !important;
  --experience-ink: var(--pcba-ink) !important;
  --experience-copy: var(--pcba-copy) !important;
  --experience-muted: var(--pcba-muted) !important;
  --experience-surface: var(--pcba-band) !important;
  --experience-link: var(--pcba-brand) !important;
  --site-focus-ring: var(--pcba-muted) !important;
}
/* Shared navigation also accompanies the engineering tools. */
html body :is(.navbar, .navbar.scrolled, .site-unified-header, .hs-header, .hs-topbar) {
  background-color: rgba(255,255,255,.88) !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: var(--pcba-ink) !important;
}
html body :is(.nav-links, .hs-nav) a:not(.nav-cta) { color: var(--pcba-ink) !important; }
html body :is(.nav-links, .hs-nav) a:not(.nav-cta):hover,
html body :is(.nav-links, .hs-nav) a[aria-expanded="true"] { color: var(--pcba-brand) !important; }
html body .nav-cta,
html.pcba-enterprise body :is(.btn-primary, .btn-primary-inline, .article-cta-button, .hs-btn-primary, .ai-quote-submit, .inline-rfq__submit, .case-library-editorial__primary-link) {
  background: var(--pcba-action) !important;
  border-color: var(--pcba-action) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: currentColor !important;
  box-shadow: none !important;
}
html body .nav-cta:hover,
html.pcba-enterprise body :is(.btn-primary, .btn-primary-inline, .article-cta-button, .hs-btn-primary, .ai-quote-submit, .inline-rfq__submit, .case-library-editorial__primary-link):hover {
  background: var(--pcba-action-hover) !important;
  border-color: var(--pcba-action-hover) !important;
}
html.pcba-enterprise body :is(.btn-secondary, .btn-outline, .btn-ghost, .hs-btn-ghost, .case-library-editorial__secondary-link) {
  background: #ffffff !important;
  color: var(--pcba-ink) !important;
  border-color: var(--pcba-border) !important;
  box-shadow: none !important;
}
html.pcba-enterprise body :is(.btn-secondary, .btn-outline, .btn-ghost, .hs-btn-ghost, .case-library-editorial__secondary-link):hover {
  background: #ffffff !important;
  color: var(--pcba-brand-hover) !important;
}
html.pcba-enterprise body :is(h1,h2,h3,h4,h5,h6,.section-title,.hero-title) {
  color: var(--pcba-ink) !important;
  -webkit-text-fill-color: currentColor !important;
}
html.pcba-enterprise body :is(.hero-desc,.page-hero-desc,.section-desc,.hero-commitments,.field-help,.rfq-submit-requirement,.article-meta,.evidence-note,.buyer-evidence-note) {
  color: var(--pcba-copy) !important;
}
html.pcba-enterprise body :is(.section-label,.hero-badge,.section-kicker,.hs-kicker,.case-section-kicker) {
  color: var(--pcba-brand) !important;
}
html.pcba-enterprise body :is(.buyer-links,.ia-page-index,.field-help,.article-content,.blog-content,.platform-cta-note) a:not([class*="btn"]) {
  color: var(--pcba-brand) !important;
  text-decoration-color: currentColor !important;
}
html.pcba-enterprise body :is(.buyer-links,.ia-page-index,.field-help,.article-content,.blog-content) a:not([class*="btn"]):hover {
  color: var(--pcba-brand-hover) !important;
}
html.pcba-enterprise body :is(.services-task-icon,.cap-icon,.vas-icon,.cert-icon,.ind-icon,.section-label .icons,.fc-icon,.wa-metric-icon) {
  color: var(--pcba-brand) !important;
  background-color: var(--pcba-brand-soft) !important;
  background-image: none !important;
}
html.pcba-enterprise body :is(.services-task-icon,.cap-icon,.vas-icon,.cert-icon,.ind-icon,.section-label,.fc-icon,.wa-metric-icon,.sr-list,.faq-toggle) :is(svg,use) {
  color: var(--pcba-brand) !important;
}
html.pcba-enterprise body .services-task-link {
  background-color: var(--pcba-band) !important;
  color: var(--pcba-ink) !important;
}
html.pcba-enterprise body .services-task-link:hover { background-color: #ffffff !important; }
/* White surfaces are an explicit brand preference. No tinted section/card fills. */
html.pcba-enterprise body main section,
html.pcba-enterprise body :is(.glass-panel,.glass-panel-light,.services-task-link,.platform-principles,.platform-principle,.geo-answer-block,.services-scope-answer,.proof-strip,.proof-strip__item,.home-trust-strip,.floating-card,.vas-card,.cap-card,.cert-card,.equip-card,.mat-card,.seo-link-card,.case-card,.service-card,.faq-item,.iso-proof,.inline-rfq,.inline-rfq__form,.inline-rfq__panel) {
  background-color: #ffffff !important;
  background-image: none !important;
}
html.pcba-enterprise body :is(.pp-summary,.rfq-commercial-callout,.step-content,.stat-card,.blog-card,.apple-nav-panel,.upload-zone,.svc-media-stack,.hero-media-frame,.quality-hero-media,.iso-proof__image-link,.case-library-editorial__hero-media) {
  background-color: #ffffff !important;
  background-image: none !important;
}
html.pcba-enterprise body .services-task-link,
html.pcba-enterprise body .services-task-link:hover {
  border: 1px solid #e3e3e3 !important;
  box-shadow: none !important;
}
html.pcba-enterprise body :is(.hp-cookie-banner,.hp-cookie-panel) a { color: var(--pcba-brand) !important; }
html.pcba-enterprise body .hp-cookie-btn--accept {
  background: var(--pcba-action) !important;
  color: #ffffff !important;
}
html.pcba-enterprise body :is(.rfq-details-toggle,.rfq-details-toggle__indicator) {
  background: #ffffff !important;
  color: var(--pcba-brand) !important;
  border-color: #e3e3e3 !important;
}
html.pcba-enterprise body .rfq-details-toggle span { color: var(--pcba-brand) !important; }
html.pcba-enterprise body :is(.section-light,.section--band,#contact,.footer,.site-footer) {
  background-color: var(--pcba-band) !important;
  background-image: none !important;
}
html.pcba-enterprise body :is(.quote-form,.contact-form,.inline-rfq-form,.rfq-form) {
  background-color: #ffffff !important;
  border-color: var(--pcba-border) !important;
}
html.pcba-enterprise body :is(#quoteForm,#inlineRfq,.inline-rfq-form,.rfq-form) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="submit"]),textarea,select) {
  background-color: #ffffff !important;
  color: var(--pcba-ink) !important;
  border-color: var(--pcba-field-border) !important;
}
html.pcba-enterprise body :is(#quoteForm,#inlineRfq,.inline-rfq-form,.rfq-form) :is(input,textarea)::placeholder {
  color: var(--pcba-muted) !important;
  opacity: 1 !important;
}
html.pcba-enterprise body :is(#quoteForm,#inlineRfq,.inline-rfq-form,.rfq-form) :is(input,textarea,select)[aria-invalid="true"] {
  border-color: #b42318 !important;
}
html.pcba-enterprise body :is(.field-error,.rfq-error,[role="alert"].error) { color: #b42318 !important; }
html.pcba-enterprise body :is(input[type="checkbox"],input[type="radio"]) { accent-color: var(--pcba-brand) !important; }
html.pcba-enterprise body :is(a,button,summary):focus-visible,
html body .navbar :is(a,button):focus-visible {
  outline: 1px solid var(--pcba-muted) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}
/* Inputs keep their existing shape without an added focus rectangle/glow. */
html.pcba-enterprise body :is(input,textarea,select):is(:focus,:focus-visible),
html body #siteSearchInput:is(:focus,:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
}
html.pcba-enterprise body :is(#quoteForm,#inlineRfq,.inline-rfq-form,.rfq-form) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="submit"]),textarea,select):focus:not([aria-invalid="true"]) {
  border-color: var(--pcba-ink) !important;
}
html.pcba-enterprise body :is(.btn-primary,.btn-secondary,.btn-primary-inline,.inline-rfq__submit):disabled {
  background: #eeeeee !important;
  border-color: #dedede !important;
  color: #656d68 !important;
}
html.pcba-enterprise body :is(.footer,.site-footer) :is(p,a,li,.footer-bottom) { color: var(--pcba-copy) !important; }
html.pcba-enterprise body :is(.footer,.site-footer) a:hover { color: var(--pcba-brand) !important; }
html.pcba-enterprise ::selection { background: #cce5dd; color: #252927; }
}
/* The legacy 1fr track uses a submit label's min-content width, which can
   exceed the padded form. Constrain the track instead of hiding overflow. */
html.pcba-enterprise body #quoteForm > *,
html.pcba-enterprise body #quoteForm :is(.form-group,.field-head,.form-submit,.rfq-optional-grid) {
  min-width: 0 !important;
  max-width: 100% !important;
}
html.pcba-enterprise body #quoteForm :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea) {
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
html.pcba-enterprise body #quoteForm :is(.inline-rfq__submit,.rfq-details-toggle) {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
@media (max-width: 767px) {
  html.pcba-enterprise body #inlineRfq #quoteForm {
    grid-template-columns: minmax(0,1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
  }
  html.pcba-enterprise body #quoteForm .rfq-optional-grid {
    grid-template-columns: minmax(0,1fr) !important;
  }
}

/* Restrained interaction polish. Included in the first enterprise layer. */
html.pcba-enterprise {
  --motion-control: 160ms !important;
  --motion-panel: 240ms !important;
  --motion-enter: 320ms !important;
  --pcba-ease: cubic-bezier(.22, 1, .36, 1);
  scroll-padding-top: 88px !important;
}
html.pcba-enterprise body :is(.services-task-link,.faq-item,.seo-link-card) {
  border-radius: 18px !important;
}
html.pcba-enterprise body .services-task-link {
  gap: 14px !important;
  padding: 20px !important;
  min-height: 68px !important;
  transform: none !important;
  transition: border-color 160ms ease, color 160ms ease !important;
}
html.pcba-enterprise body .services-task-link .services-task-arrow {
  flex-shrink: 0;
  transition: transform 180ms var(--pcba-ease), color 160ms ease !important;
}
html.pcba-enterprise body .services-task-link :is(.services-task-icon,.services-task-title) {
  transform: none !important;
}
html.pcba-enterprise body :is(.btn-primary,.btn-primary-inline,.btn-secondary,.btn-outline,.btn-ghost,.inline-rfq__submit,.rfq-details-toggle,.nav-cta) {
  min-height: 44px;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, opacity 120ms ease !important;
  transform: none !important;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
html.pcba-enterprise body :is(.btn-primary,.btn-primary-inline,.btn-secondary,.inline-rfq__submit,.nav-cta):active:not(:disabled) {
  opacity: .82 !important;
  transform: none !important;
}
html.pcba-enterprise body :is(.services-task-link,.seo-link-card,.faq-toggle) {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
html.pcba-enterprise body .services-task-link:active { border-color: #656d68 !important; }
html.pcba-enterprise body #quoteForm :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),textarea,select) {
  border-radius: 12px !important;
  transition: border-color 160ms ease !important;
}
html.pcba-enterprise body #quoteForm :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),select) {
  min-height: 48px !important;
}
html.pcba-enterprise body #quoteForm textarea {
  min-height: 144px !important;
  resize: vertical;
}
html.pcba-enterprise body #quoteForm .field-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
html.pcba-enterprise body #quoteForm .field-head > :last-child { flex-shrink: 0; }
html.pcba-enterprise body #quoteForm :is(.field-help,.rfq-submit-requirement) {
  font-size: 13px !important;
  line-height: 1.6 !important;
}
html.pcba-enterprise body .rfq-details-toggle {
  color: var(--pcba-ink) !important;
  border-radius: 12px !important;
}
html.pcba-enterprise body .rfq-details-toggle span { color: var(--pcba-ink) !important; }
html.pcba-enterprise body .upload-zone {
  border-radius: 14px !important;
  transition: border-color 160ms ease !important;
}
html.pcba-enterprise body .faq-item {
  border: 1px solid #e3e3e3 !important;
  box-shadow: none !important;
}
html.pcba-enterprise body .faq-toggle {
  min-height: 56px;
  transition: color 160ms ease !important;
}
html.pcba-enterprise body .fade-up {
  transition: opacity 320ms var(--pcba-ease), transform 320ms var(--pcba-ease) !important;
  transition-delay: var(--motion-delay, 0ms) !important;
}
html.pcba-enterprise body main :is(section[id],h2[id],h3[id]) { scroll-margin-top: 88px !important; }
@media (hover: hover) and (pointer: fine) {
  html.pcba-enterprise body .services-task-link:hover {
    transform: none !important;
    border-color: #a3aaa6 !important;
    box-shadow: none !important;
  }
  html.pcba-enterprise body .services-task-link:hover .services-task-arrow {
    transform: translateX(3px) !important;
    color: var(--pcba-brand) !important;
  }
  html.pcba-enterprise body .upload-zone:hover { border-color: #656d68 !important; }
}
@media (max-width: 767px) {
  html.pcba-enterprise body .page-hero { padding-top: 32px !important; }
  html.pcba-enterprise body .services-task-link {
    padding: 18px !important;
    min-height: 64px !important;
    border-radius: 16px !important;
  }
  html.pcba-enterprise body .services-task-arrow { transform: none !important; }
  html.pcba-enterprise body #quoteForm :is(input,textarea,select) { font-size: 16px !important; }
  html.pcba-enterprise body .fade-up {
    transform: none !important;
    transition: opacity 220ms ease !important;
    transition-delay: 0ms !important;
  }
  html.pcba-enterprise body :is(#navSearch,#mobileToggle) {
    min-width: 44px !important;
    min-height: 44px !important;
    touch-action: manipulation;
  }
}
@layer pcba-accessible-motion {
@media (prefers-reduced-motion: reduce) {
  html.pcba-enterprise { scroll-behavior: auto !important; }
  html.pcba-enterprise body *,
  html.pcba-enterprise body *::before,
  html.pcba-enterprise body *::after {
    animation-duration: 0s !important;
    animation-delay: 0s !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0s !important;
    transition-delay: 0s !important;
    scroll-behavior: auto !important;
  }
  html.pcba-enterprise body :is(.fade-up,[data-ds-reveal]) { opacity: 1 !important; transform: none !important; }
  html.pcba-enterprise body .services-task-link .services-task-arrow { transform: none !important; }
}
}
/* One outline, shared grid dividers: no duplicated left edge on wrapped rows. */
html.pcba-enterprise body .services-hero-facts {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1px !important;
  padding: 0 !important;
  border: 1px solid #dedede !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #dedede !important;
  box-shadow: none !important;
}
html.pcba-enterprise body .services-hero-facts > div {
  min-width: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}
@media (max-width: 767px) {
  html.pcba-enterprise body .services-hero-facts { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* The keyboard skip link must never add a row above the page. */
html.pcba-enterprise body > .skip-link {
  position: fixed !important;
  top: 8px !important;
  left: 12px !important;
  z-index: 100000 !important;
  transform: translateY(-160%) !important;
}
html.pcba-enterprise body > .skip-link:focus-visible {
  transform: translateY(0) !important;
}
/* The first screen is immediately readable; only lower sections reveal. */
html.pcba-enterprise body :is(.hero-content,.page-hero,.hs-hero,.blog-page-hero,.case-detail-hero) > *,
html.pcba-enterprise body .hero-visual {
  animation: none !important;
}
html.pcba-enterprise body [data-ds-reveal] {
  transition: opacity 320ms var(--pcba-ease), transform 320ms var(--pcba-ease) !important;
  transition-delay: clamp(0ms, calc(var(--ds-i, 0) * 24ms), 72ms) !important;
}
html.pcba-enterprise body [data-ds-reveal]:not(.ds-in) { transform: translateY(6px) !important; }
@media (max-width: 767px) {
  html.pcba-enterprise body [data-ds-reveal],
  html.pcba-enterprise body [data-ds-reveal]:not(.ds-in) {
    transform: none !important;
    transition: opacity 220ms ease !important;
    transition-delay: 0ms !important;
  }
}
/* Quiet elevation for actionable surfaces; no shadow on the shared header. */
html.pcba-enterprise body main :is(.services-task-link,a.vas-card,a.seo-link-card,a.service-card,.blog-card:has(a)) {
  box-shadow: 0 0 0 rgba(0,0,0,0) !important;
  transition: border-color 180ms ease, color 160ms ease, box-shadow 200ms var(--pcba-ease), opacity 220ms ease !important;
}
html.pcba-enterprise body main :is(.btn-primary,.btn-primary-inline,.inline-rfq__submit,.article-cta-button) {
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, opacity 120ms ease, box-shadow 180ms var(--pcba-ease) !important;
}
@media (hover: hover) and (pointer: fine) {
  html.pcba-enterprise body main :is(.services-task-link,a.vas-card,a.seo-link-card,a.service-card,.blog-card:has(a)):hover {
    box-shadow: 0 6px 20px rgba(0,0,0,.065), 0 1px 3px rgba(0,0,0,.025) !important;
  }
  html.pcba-enterprise body main :is(.btn-primary,.btn-primary-inline,.inline-rfq__submit,.article-cta-button):hover:not(:disabled) {
    box-shadow: 0 4px 12px rgba(0,0,0,.12) !important;
  }
}
html.pcba-enterprise body main :is(.services-task-link,a.vas-card,a.seo-link-card,a.service-card,.blog-card:has(a)):active {
  box-shadow: 0 2px 6px rgba(0,0,0,.05) !important;
}
html.pcba-enterprise body main :is(.btn-primary,.btn-primary-inline,.inline-rfq__submit,.article-cta-button):active:not(:disabled) {
  box-shadow: 0 1px 4px rgba(0,0,0,.08) !important;
}
/* WhatsApp is a quiet brand contact entry, with no continuous animation. */
html.pcba-enterprise body a.whatsapp-float {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #0b6f69 !important;
  color: #ffffff !important;
  right: max(20px, env(safe-area-inset-right)) !important;
  bottom: max(20px, env(safe-area-inset-bottom)) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.12) !important;
  animation: none !important;
  transform: none !important;
  transition: background-color 160ms ease, box-shadow 180ms var(--pcba-ease), opacity 160ms ease !important;
  overflow: visible !important;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
html.pcba-enterprise body a.whatsapp-float svg {
  width: 22px !important;
  height: 22px !important;
  color: #ffffff !important;
  fill: currentColor !important;
  animation: none !important;
  transform: none !important;
}
html.pcba-enterprise body a.whatsapp-float::before,
html.pcba-enterprise body a.whatsapp-float::after {
  content: none !important;
  animation: none !important;
}
@media (hover: hover) and (pointer: fine) {
  html.pcba-enterprise body a.whatsapp-float:hover {
    background: #085650 !important;
    box-shadow: 0 6px 18px rgba(0,0,0,.16) !important;
  }
  html.pcba-enterprise body a.whatsapp-float::after {
    content: attr(aria-label) !important;
    position: absolute !important;
    inset: auto calc(100% + 12px) 50% auto !important;
    transform: translateY(50%) !important;
    width: max-content !important;
    height: auto !important;
    padding: 8px 12px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #252927 !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.08) !important;
    transition: opacity 160ms ease, visibility 160ms ease !important;
  }
  html.pcba-enterprise body a.whatsapp-float:is(:hover,:focus-visible)::after {
    opacity: 1 !important;
    visibility: visible !important;
  }
}
html.pcba-enterprise body a.whatsapp-float:active {
  background: #085650 !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.10) !important;
}
@media (max-width: 767px) {
  html.pcba-enterprise.wa-submit-visible body a.whatsapp-float,
  html.pcba-enterprise body:has(#quoteForm :is(input,textarea,select):focus) a.whatsapp-float {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}
/* NDA requests remain optional and outside the clickable file drop zone. */
html.pcba-enterprise body .nda-request-link {
  color: #0b6f69 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}
html.pcba-enterprise body .nda-help {
  margin: 10px 0 0 !important;
  color: var(--pcba-copy) !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  max-width: 100%;
}
html.pcba-enterprise body .nda-help--submit { margin: 0 0 12px !important; }
html.pcba-enterprise body #ndaChecklistLink {
  white-space: normal !important;
  text-align: center;
}
html.pcba-enterprise body .hero-commitments > .nda-request-link { font-size: inherit !important; }

html.pcba-enterprise body #ndaUploadHelp { margin: 8px 0 14px !important; }
/* Optional NDA actions share a restrained secondary-button treatment. */
html.pcba-enterprise body a.nda-request-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  min-height: 44px !important;
  max-width: 100% !important;
  padding: 10px 16px !important;
  border: 1px solid #d7dcd9 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #252927 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  text-align: center !important;
  white-space: normal !important;
  box-shadow: none !important;
  transition: border-color 160ms ease, box-shadow 180ms var(--pcba-ease) !important;
  touch-action: manipulation;
}
html.pcba-enterprise body #ndaUploadHelp a.nda-request-link { margin-bottom: 8px; }
@media (hover: hover) and (pointer: fine) {
  html.pcba-enterprise body a.nda-request-link:hover {
    border-color: #8b918e !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.06) !important;
  }
}
html.pcba-enterprise body a.nda-request-link:active {
  box-shadow: 0 1px 4px rgba(0,0,0,.04) !important;
}
html.pcba-enterprise body .hero-commitments > a.nda-request-link { font-size: 14px !important; }
/* NDA is an explicit action: brand-green fill remains a small accent. */
html.pcba-enterprise body a.nda-request-link,
html.pcba-enterprise body .hero-commitments > a.nda-request-link {
  min-height: 48px !important;
  padding: 12px 20px !important;
  background: #0b6f69 !important;
  border-color: #0b6f69 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  box-shadow: 0 3px 10px rgba(0,0,0,.12) !important;
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 180ms var(--pcba-ease) !important;
}
@media (hover: hover) and (pointer: fine) {
  html.pcba-enterprise body a.nda-request-link:hover,
  html.pcba-enterprise body .hero-commitments > a.nda-request-link:hover {
    background: #085650 !important;
    border-color: #085650 !important;
    box-shadow: 0 5px 14px rgba(0,0,0,.16) !important;
  }
}
html.pcba-enterprise body a.nda-request-link:active,
html.pcba-enterprise body .hero-commitments > a.nda-request-link:active {
  box-shadow: 0 1px 4px rgba(0,0,0,.10) !important;
}
/* Keep the upload title and helper together, rather than separate flex items. */
html.pcba-enterprise body #quoteForm #uploadZone .upload-zone-inner {
  display: grid !important;
  grid-template-columns: 32px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
}
html.pcba-enterprise body #quoteForm #uploadZone .upload-text {
  display: block !important;
  min-width: 0 !important;
  width: 100% !important;
}
html.pcba-enterprise body #quoteForm #uploadZone .upload-text strong {
  display: block !important;
  margin: 0 0 6px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}
html.pcba-enterprise body #quoteForm #uploadZone .upload-text #uploadZoneHelp {
  display: block !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}
html.pcba-enterprise body #quoteForm #uploadZone .upload-icon {
  width: 32px !important;
  height: 32px !important;
  color: #0b6f69 !important;
  background: transparent !important;
  box-shadow: none !important;
}
/* Compact pre-upload NDA row: question, action, then a quiet explanation. */
html.pcba-enterprise body #quoteForm #ndaUploadHelp {
  margin: 12px 0 18px !important;
  padding: 0 !important;
}
html.pcba-enterprise body #quoteForm #ndaUploadHelp .nda-request-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 10px 16px !important;
}
html.pcba-enterprise body #quoteForm #ndaUploadHelp .nda-request-heading {
  color: #252927 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}
html.pcba-enterprise body #quoteForm #ndaUploadHelp a.nda-request-link {
  width: auto !important;
  flex: 0 0 auto !important;
  min-height: 44px !important;
  padding: 10px 16px !important;
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  border-radius: 10px !important;
}
html.pcba-enterprise body #quoteForm #ndaUploadHelp .nda-request-note {
  margin: 12px 0 0 !important;
  color: #656d68 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}
/* Neutral grey card surfaces, without outlines, on a white page. */
html.pcba-enterprise body main :is(a.service-card,.service-card,.case-card,.blog-card,.gallery-card,.vas-card,.cap-card,.cert-card,.equip-card,.ind-card,.mat-card,.seo-link-card,.value-card,.lead-card,.oi-card,.hs-card,.platform-principle,.services-task-link,.faq-item) {
  box-sizing: border-box !important;
  background-color: #f5f5f5 !important;
  border: 0 !important;
  box-shadow: none !important;
}
html.pcba-enterprise body main :is(.service-card-body,.case-content,.blog-content,.gallery-body) {
  background-color: #f5f5f5 !important;
}
@media (hover: hover) and (pointer: fine) {
  html.pcba-enterprise body main :is(a.service-card,a.vas-card,a.seo-link-card,.blog-card:has(a),.gallery-card:has(a),.case-card:has(a),.services-task-link):hover {
    border: 0 !important;
    background-color: #f5f5f5 !important;
    box-shadow: 0 6px 20px rgba(0,0,0,.075) !important;
  }
}
html.pcba-enterprise body main .mobile-card-rail { padding-bottom: 16px !important; }
/* Softer white for the service image-card group against the pure-white page. */
html.pcba-enterprise body main a.service-card,
html.pcba-enterprise body main a.service-card:hover,
html.pcba-enterprise body main .service-card .service-card-body {
  background-color: #fafafa !important;
}

/* Separate FAQ rows and make their expanded state easy to scan. */
html.pcba-enterprise body main .faq-grid {
  display: grid !important;
  gap: 12px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}
html.pcba-enterprise body main .faq-grid .faq-item {
  background: #f0f0f2 !important;
  border: 0 !important;
  border-radius: 16px !important;
  margin: 0 !important;
  overflow: hidden !important;
  transition: background-color 180ms ease, box-shadow 220ms ease !important;
}
html.pcba-enterprise body main .faq-grid .faq-item.open,
html.pcba-enterprise body main .faq-grid .faq-item:has([aria-expanded="true"]) {
  background: #e9e9ec !important;
  box-shadow: 0 4px 14px rgba(25,30,28,.07) !important;
}
html.pcba-enterprise body main .faq-question {
  padding: 22px 24px !important;
  gap: 20px !important;
  color: #252927 !important;
  background: transparent !important;
}
html.pcba-enterprise body main .faq-answer {
  background: transparent !important;
  color: #505552 !important;
}
html.pcba-enterprise body main .faq-toggle { flex-shrink: 0 !important; }
/* Soft resting depth; hover adds elevation without moving the content. */
html.pcba-enterprise body main :is(.industry-card,.cap-list--cards .cap-item) {
  border: 0 !important;
  background-color: #fafafa !important;
  box-shadow: 0 3px 12px rgba(25,30,28,.045) !important;
  transition: box-shadow 220ms ease, background-color 180ms ease !important;
}
html.pcba-enterprise body main .cap-list--cards .cap-item-icon {
  background: #ededf0 !important;
  box-shadow: none !important;
}
html.pcba-enterprise body main :is(.service-card,.case-card,.blog-card,.gallery-card,.vas-card,.cap-card,.cert-card,.equip-card,.ind-card,.mat-card,.seo-link-card,.value-card,.lead-card,.oi-card,.hs-card,.platform-principle,.services-task-link) {
  transition: box-shadow 220ms ease, background-color 180ms ease !important;
}
@media (hover:hover) and (pointer:fine) {
  html.pcba-enterprise body main :is(.industry-card,.cap-list--cards .cap-item,.service-card,.case-card,.blog-card,.gallery-card,.vas-card,.cap-card,.cert-card,.equip-card,.ind-card,.mat-card,.seo-link-card,.value-card,.lead-card,.oi-card,.hs-card,.platform-principle,.services-task-link):hover {
    box-shadow: 0 10px 28px rgba(25,30,28,.10), 0 2px 6px rgba(25,30,28,.035) !important;
  }
  html.pcba-enterprise body main .faq-grid .faq-item:hover {
    background-color: #e9e9ec !important;
    box-shadow: 0 5px 16px rgba(25,30,28,.075) !important;
  }
}
html.pcba-enterprise body main :is(.industry-card,.cap-list--cards .cap-item,.service-card,.case-card,.blog-card,.faq-item):focus-within {
  box-shadow: 0 8px 24px rgba(25,30,28,.10) !important;
}
@media (max-width:600px) {
  html.pcba-enterprise body main .faq-question { padding: 18px 20px !important; gap: 16px !important; }
}
@media (prefers-reduced-motion:reduce) {
  html.pcba-enterprise body main :is(.industry-card,.cap-item,.service-card,.case-card,.blog-card,.gallery-card,.vas-card,.cap-card,.cert-card,.equip-card,.ind-card,.mat-card,.seo-link-card,.value-card,.lead-card,.oi-card,.hs-card,.platform-principle,.services-task-link,.faq-item) { transition:none !important; }
}
/* Keep copy away from the edges of process cards on every breakpoint. */
html.pcba-enterprise body main .platform-principles__grid {
  gap: 16px !important;
}
html.pcba-enterprise body main .platform-principles__grid .platform-principle {
  min-width: 0 !important;
  padding: 26px !important;
  border-radius: 18px !important;
  background-color: #f5f5f5 !important;
}
html.pcba-enterprise body main .platform-principle__label {
  display: block !important;
  margin-bottom: 12px !important;
  color: #626762 !important;
}
html.pcba-enterprise body main .platform-principle h3 { margin: 0 0 14px !important; }
html.pcba-enterprise body main .platform-principle p { margin: 0 !important; }
@media (max-width:600px) {
  html.pcba-enterprise body main .platform-principles__grid .platform-principle { padding: 22px !important; }
}
/* Icon glyphs sit on their card surface instead of isolated white squares. */
html:root.pcba-enterprise body main :is(.cert-icon,.cap-icon,.vas-icon,.ind-icon,.services-task-icon,.fc-icon,.wa-metric-icon),
html:root.pcba-enterprise body main :is(.cert-icon,.cap-icon,.vas-icon,.ind-icon,.services-task-icon,.fc-icon,.wa-metric-icon) :is(svg,use) {
  background: transparent !important;
  box-shadow: none !important;
}
html.pcba-enterprise body main .cert-card {
  padding: 28px 24px !important;
  border-radius: 18px !important;
  min-width: 0 !important;
}
html.pcba-enterprise body main .cert-card p {
  max-width: 100% !important;
  overflow-wrap: break-word !important;
}
/* Evidence captions are full descriptions, not fixed-height teaser excerpts. */
html.pcba-enterprise body main .evidence-slots {
  align-items: stretch !important;
  gap: 24px !important;
}
html.pcba-enterprise body main figure.evidence-slot {
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  max-height: none !important;
  min-width: 0 !important;
  border: 0 !important;
  border-radius: 20px !important;
  background: #fafafa !important;
  box-shadow: 0 3px 12px rgba(25,30,28,.045) !important;
  transition: box-shadow 220ms ease !important;
}
html.pcba-enterprise body main .evidence-slot > figcaption {
  display: block !important;
  flex: 1 0 auto !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  padding: 22px 24px 26px !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  white-space: normal !important;
  text-overflow: clip !important;
  line-height: 1.65 !important;
  color: #555b57 !important;
  background: transparent !important;
}
html.pcba-enterprise body main .evidence-slot > figcaption strong {
  display: block !important;
  margin-bottom: 8px !important;
  color: #252927 !important;
}
@media (hover:hover) and (pointer:fine) {
  html.pcba-enterprise body main figure.evidence-slot:hover { box-shadow: 0 10px 28px rgba(25,30,28,.10) !important; }
}
@media (prefers-reduced-motion:reduce) {
  html.pcba-enterprise body main figure.evidence-slot { transition:none !important; }
}
/* Shared resting elevation and a small, deliberate pointer-hover lift. */
html:root.pcba-enterprise body main :is(.industry-card,.cap-item,.service-card,.case-card,.blog-card,.gallery-card,.vas-card,.cap-card,.cert-card,.equip-card,.ind-card,.mat-card,.seo-link-card,.value-card,.lead-card,.oi-card,.hs-card,.platform-principle,.services-task-link,.faq-item,.evidence-slot,.process-step) {
  box-shadow: 0 5px 20px rgba(25,30,28,.065), 0 1px 4px rgba(25,30,28,.025) !important;
  transition: box-shadow 220ms ease, translate 220ms ease, background-color 180ms ease !important;
  translate: 0 0;
}
@media (hover:hover) and (pointer:fine) {
  html:root.pcba-enterprise body main :is(.industry-card,.cap-item,.service-card,.case-card,.blog-card,.gallery-card,.vas-card,.cap-card,.cert-card,.equip-card,.ind-card,.mat-card,.seo-link-card,.value-card,.lead-card,.oi-card,.hs-card,.platform-principle,.services-task-link,.faq-item,.evidence-slot,.process-step):hover {
    box-shadow: 0 12px 30px rgba(25,30,28,.12), 0 3px 8px rgba(25,30,28,.04) !important;
    translate: 0 -3px;
  }
}
@media (prefers-reduced-motion:reduce) {
  html:root.pcba-enterprise body main :is(.industry-card,.cap-item,.service-card,.case-card,.blog-card,.gallery-card,.vas-card,.cap-card,.cert-card,.equip-card,.ind-card,.mat-card,.seo-link-card,.value-card,.lead-card,.oi-card,.hs-card,.platform-principle,.services-task-link,.faq-item,.evidence-slot,.process-step) {
    transition: none !important;
    translate: none !important;
  }
}


/* Brand-consistent text links and matched commitment markers. */
html:root.pcba-enterprise body main :is(a.learn-more,a.nda-request-text) { color:#0b6f69!important;-webkit-text-fill-color:#0b6f69!important; }
html:root.pcba-enterprise body main .hero-commitments > :is(span,a) { display:inline-flex!important;align-items:center;gap:8px; }
html:root.pcba-enterprise body main .hero-commitments > :is(span,a)::before { content:'✓'!important;color:#0b6f69!important;flex-shrink:0; }
html:root.pcba-enterprise body main .hero-commitments > a { font-size:inherit!important;font-weight:inherit!important; }
/* Restore the spacing lost when neutral surfaces were applied to text links. */
html:root.pcba-enterprise body main :is(a.seo-link-card,a.article-related-link) { display:block!important;padding:24px!important;box-sizing:border-box!important;border-radius:18px!important;text-decoration:none!important;font-weight:400!important; }
html:root.pcba-enterprise body main :is(a.seo-link-card,a.article-related-link) :is(strong,h3) { display:block!important;margin:0 0 10px!important;font-weight:600!important;line-height:1.45!important; }
html:root.pcba-enterprise body main :is(a.seo-link-card,a.article-related-link) :is(span,p) { font-weight:400!important;line-height:1.65!important; }
html:root.pcba-enterprise body :is(a.btn-primary,a.btn-primary-inline,a.article-cta-button,a.hs-btn-primary,button.inline-rfq__submit) {color:#fff!important;-webkit-text-fill-color:#fff!important;}
html:root.pcba-enterprise body :is(a.btn-primary,a.btn-secondary,a.btn-ghost) {gap:10px!important;}
html:root.pcba-enterprise body :is(a.btn-primary,a.btn-secondary,a.btn-ghost) :is(i,svg) {font-size:16px!important;width:18px!important;height:18px!important;flex:0 0 18px!important;line-height:1!important;}
/* One calm icon treatment, without a framed tile around each glyph. */
html:root.pcba-enterprise body main :is(.about-hl-icon,.wf-num) {border:0!important;background:#f0f0f2!important;box-shadow:none!important;border-radius:14px!important;color:#0b6f69!important;}
html:root.pcba-enterprise body main .about-hl-icon {width:42px!important;height:42px!important;flex:0 0 42px!important;}
html:root.pcba-enterprise body main .about-hl-icon :is(svg,use) {color:#0b6f69!important;fill:currentColor!important;}
/* Workflow and capability cards retain clear alignment on narrow screens. */
html:root.pcba-enterprise body main :is(.wf-step,.spec-group) {padding:24px!important;border:0!important;border-radius:18px!important;background:#fafafa!important;min-width:0!important;box-shadow:0 5px 20px rgba(25,30,28,.065)!important;transition:translate 220ms ease,box-shadow 220ms ease!important;}
html:root.pcba-enterprise body main .wf-step {text-align:left!important;}
html:root.pcba-enterprise body main .wf-step :is(h3,p) {margin-left:0!important;margin-right:0!important;text-align:left!important;max-width:none!important;}
html:root.pcba-enterprise body main .wf-step h3 {margin-top:16px!important;margin-bottom:10px!important;}
html:root.pcba-enterprise body main .wf-step p {margin-bottom:0!important;}
html:root.pcba-enterprise body main .spec-row {display:grid!important;grid-template-columns:minmax(100px,.8fr) minmax(0,1.4fr)!important;gap:20px!important;align-items:start!important;padding:16px 0!important;}
html:root.pcba-enterprise body main .spec-row > * {min-width:0!important;max-width:100%!important;overflow-wrap:break-word!important;}
html:root.pcba-enterprise body main .spec-value {text-align:left!important;font-weight:500!important;}
html:root.pcba-enterprise body main .industry-nav {display:flex!important;flex-wrap:wrap!important;gap:10px 18px!important;overflow:visible!important;mask-image:none!important;-webkit-mask-image:none!important;}
html:root.pcba-enterprise body main .industry-nav a {flex:0 0 auto!important;padding:8px 0!important;color:#555b57!important;}
html:root.pcba-enterprise body main .industry-nav-bar {height:auto!important;overflow:visible!important;mask-image:none!important;-webkit-mask-image:none!important;}
@media(max-width:767px){
 html:root.pcba-enterprise body main .page-hero {padding-top:88px!important;}
 html:root.pcba-enterprise body main .workflow-grid {gap:18px!important;}
 html:root.pcba-enterprise body main .wf-step {padding:22px!important;}
 html:root.pcba-enterprise body main .wf-step::after {display:none!important;}
 html:root.pcba-enterprise body main .spec-row {grid-template-columns:1fr!important;gap:6px!important;}
 html:root.pcba-enterprise body main .spec-label {font-size:13px!important;color:#676d69!important;}
 html:root.pcba-enterprise body main .spec-value {font-size:15px!important;color:#303632!important;}
 html:root.pcba-enterprise body main .specs-grid {gap:20px!important;}
}
@media(hover:hover) and (pointer:fine){
 html:root.pcba-enterprise body main :is(.wf-step,.spec-group):hover {translate:0 -3px;box-shadow:0 12px 30px rgba(25,30,28,.12)!important;}
}
/* A contained, scrollable product dialog with balanced facts. */
html:root.pcba-enterprise body .lightbox-overlay {padding:24px!important;box-sizing:border-box!important;background:rgba(20,25,23,.58)!important;backdrop-filter:blur(5px);}
html:root.pcba-enterprise body .lightbox-content {width:min(900px,100%)!important;max-height:calc(100dvh - 48px)!important;overflow-y:auto!important;overscroll-behavior:contain;border-radius:22px!important;box-shadow:0 24px 70px rgba(0,0,0,.22)!important;}
html:root.pcba-enterprise body .lightbox-img {background:#f1f1f3!important;min-height:0!important;}
html:root.pcba-enterprise body .lightbox-img img {display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;}
html:root.pcba-enterprise body .lightbox-info {padding:28px!important;}
html:root.pcba-enterprise body .lightbox-facts {gap:16px!important;}
html:root.pcba-enterprise body .lightbox-facts > div {min-width:0!important;padding-top:12px!important;}
html:root.pcba-enterprise body .lightbox-facts :is(dt,dd) {margin-left:0!important;overflow-wrap:break-word!important;line-height:1.5!important;}
html:root.pcba-enterprise body .lightbox-close {width:40px!important;height:40px!important;top:12px!important;right:12px!important;box-shadow:0 3px 12px rgba(0,0,0,.12)!important;}
@media(max-width:600px){
 html:root.pcba-enterprise body .lightbox-overlay {padding:12px!important;}
 html:root.pcba-enterprise body .lightbox-content {max-height:calc(100dvh - 24px)!important;}
 html:root.pcba-enterprise body .lightbox-info {padding:22px!important;}
 html:root.pcba-enterprise body .lightbox-info h3 {font-size:24px!important;line-height:1.3!important;}
 html:root.pcba-enterprise body .lightbox-img {height:210px!important;}
 html:root.pcba-enterprise body .lightbox-facts {grid-template-columns:1fr!important;}
 html:root.pcba-enterprise body .lightbox-facts > div {grid-column:auto!important;}
}
@media(prefers-reduced-motion:reduce){html:root.pcba-enterprise body main :is(.wf-step,.spec-group){transition:none!important;translate:none!important;}}
html:root.pcba-enterprise body main .img-placeholder {min-width:0!important;overflow:hidden!important;}
html:root.pcba-enterprise body main .img-placeholder > img {display:block!important;max-width:100%!important;width:100%!important;height:100%!important;object-fit:cover!important;}

}
