/* GW audio design — PCB Development editorial page
   Follows the About / Approach visual system, retaining the global site header,
   footer, components and existing progressbar.css KPI visualisation. */
.page-pcb { --gw-pcb-ink:#2b3944; --gw-pcb-mid:#637582; --gw-pcb-blue:#718898; --gw-pcb-pale:#f3f6f8; --gw-pcb-line:#dbe3e8; }
.page-pcb .gw-pcb-intro,
.page-pcb .gw-pcb-section,
.page-pcb .gw-pcb-visual-section { color:var(--gw-pcb-ink); }
.page-pcb .gw-pcb-intro { padding-top:4.2rem; padding-bottom:0; }
.page-pcb .gw-pcb-eyebrow { margin:0 0 15px; font-size:11px; font-weight:700; letter-spacing:.125em; line-height:1.65; color:var(--gw-pcb-blue); text-transform:uppercase; }
.page-pcb .gw-pcb-display { margin:0 0 27px; color:var(--gw-pcb-ink); font-family:Montserrat,sans-serif; font-size:clamp(34px,3.65vw,50px); font-weight:700; line-height:1.18; letter-spacing:-.038em; }
.page-pcb .gw-pcb-display span { color:#8295a1; }
.page-pcb .gw-pcb-lead { margin:0 0 20px; font-size:clamp(18px,1.5vw,20px); color:#354854; font-weight:500; line-height:1.62; }
.page-pcb .gw-pcb-intro p:not(.gw-pcb-eyebrow):not(.gw-pcb-lead),
.page-pcb .gw-pcb-copy { font-size:15px; line-height:1.86; color:#566570; }
.page-pcb .gw-pcb-intro p:not(.gw-pcb-eyebrow) { margin-bottom:18px; }
.page-pcb .gw-pcb-intro p.mb-0 { margin-bottom:0 !important; }
.page-pcb .gw-pcb-intro-panel { padding:20px 25px; border:1px solid var(--gw-pcb-line); background:#f2f5f7; }
.page-pcb .gw-pcb-intro-panel > div { display:grid; grid-template-columns:35px minmax(0,1fr); column-gap:13px; align-items:baseline; padding:16px 0; }
.page-pcb .gw-pcb-intro-panel > div + div { border-top:1px solid #d9e1e6; }
.page-pcb .gw-pcb-panel-index { grid-row:1 / span 2; font-size:12px; font-weight:700; letter-spacing:.05em; color:#78909f; }
.page-pcb .gw-pcb-intro-panel strong { display:block; color:#2c3b46; font-size:15px; font-weight:700; line-height:1.45; }
.page-pcb .gw-pcb-intro-panel small { display:block; margin-top:4px; color:#71808a; font-size:12px; font-weight:400; line-height:1.6; }
.page-pcb .gw-pcb-onpage { display:flex; flex-wrap:wrap; gap:8px 27px; border-top:1px solid var(--gw-pcb-line); border-bottom:1px solid var(--gw-pcb-line); margin-top:52px; padding:17px 0; }
.page-pcb .gw-pcb-onpage a { color:#586e7d; font-size:12px; font-weight:600; line-height:1.6; text-decoration:none; transition:color .18s ease; }
.page-pcb .gw-pcb-onpage a:hover, .page-pcb .gw-pcb-onpage a:focus-visible { color:#253641; text-decoration:underline; text-underline-offset:4px; }
.page-pcb .gw-pcb-section { padding:79px 0 84px; background:#fff; scroll-margin-top:110px; }
.page-pcb .gw-pcb-tint { background:var(--gw-pcb-pale); }
.page-pcb .gw-pcb-title { max-width:480px; margin:0 0 20px; color:var(--gw-pcb-ink); font-family:Montserrat,sans-serif; font-size:clamp(25px,2.55vw,34px); font-weight:700; letter-spacing:-.028em; line-height:1.3; }
.page-pcb .gw-pcb-section-lead { margin:0 0 18px; font-size:clamp(17px,1.58vw,20px); font-weight:600; color:#344854; line-height:1.55; }
.page-pcb .gw-pcb-copy > p:not(.gw-pcb-section-lead), .page-pcb p.gw-pcb-copy { margin:0 0 15px; font-size:15px; line-height:1.87; color:#576772; }
.page-pcb .gw-pcb-aside-line { margin-top:24px; padding-left:15px; border-left:2px solid #aabcc8; }
.page-pcb .gw-pcb-aside-line span { display:block; max-width:285px; font-size:12px; line-height:1.8; color:#6b7b87; }
.page-pcb .gw-pcb-detail { margin-top:28px; border-top:1px solid #d6e0e5; border-bottom:1px solid #d6e0e5; }
.page-pcb .gw-pcb-detail summary { display:flex; gap:15px; justify-content:space-between; align-items:center; cursor:pointer; padding:15px 2px; list-style:none; color:#526d7f; font-size:13px; font-weight:700; letter-spacing:.005em; user-select:none; }
.page-pcb .gw-pcb-detail summary::-webkit-details-marker { display:none; }
.page-pcb .gw-pcb-detail summary::after { display:inline-block; flex:none; content:""; width:0; height:0; border-top:5px solid transparent; border-bottom:5px solid transparent; border-left:7px solid #8496a2; transition:transform .2s ease; }
.page-pcb .gw-pcb-detail[open] summary::after { transform:rotate(90deg); }
.page-pcb .gw-pcb-detail summary:hover, .page-pcb .gw-pcb-detail summary:focus-visible { color:#283e4c; }
.page-pcb .gw-pcb-detail summary:focus-visible { outline:2px solid #8fa7b8; outline-offset:2px; }
.page-pcb .gw-pcb-fulltext { padding:8px 3px 26px; font-size:14px; line-height:1.9; color:#53636e; }
.page-pcb .gw-pcb-fulltext p { margin:0 0 17px; line-height:1.9; color:inherit; }
.page-pcb .gw-pcb-fulltext p:last-child { margin-bottom:0; }
.page-pcb .gw-pcb-fulltext strong { color:#374955; font-weight:700; }
.page-pcb .gw-pcb-subheading { margin:24px 0 9px; color:#3f5564; font-size:14px; line-height:1.5; font-weight:700; }
.page-pcb .gw-pcb-points, .page-pcb .gw-pcb-nested { list-style:none; padding:0; margin:11px 0 20px; }
.page-pcb .gw-pcb-points li, .page-pcb .gw-pcb-nested li { position:relative; padding-left:18px; margin-bottom:7px; }
.page-pcb .gw-pcb-points li:before { position:absolute; top:11px; left:0; content:""; width:6px; height:6px; background:#8fa8b8; }
.page-pcb .gw-pcb-nested { margin:6px 0 17px 10px; }
.page-pcb .gw-pcb-nested li { margin-bottom:5px; }
.page-pcb .gw-pcb-nested li:before { position:absolute; top:11px; left:2px; content:""; width:5px; height:5px; border-radius:50%; background:#9fabb4; }
.page-pcb .gw-pcb-visual-section { padding:77px 0 86px; border-top:1px solid #e3e9ed; border-bottom:1px solid #e3e9ed; background:#f9fafb; }
.page-pcb .gw-pcb-visual-head { margin-bottom:22px; }
.page-pcb .gw-pcb-visual { display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; min-height:285px; margin:0; padding:25px 28px 18px; border:1px solid #e3e9ed; background:#eff3f5; }
.page-pcb .gw-pcb-visual img { display:block; width:100%; max-width:460px; height:270px; max-height:36vw; object-fit:contain; }
.page-pcb .gw-pcb-visual figcaption { align-self:stretch; padding-top:18px; font-size:11px; color:#738591; text-transform:uppercase; text-align:left; letter-spacing:.075em; }
.page-pcb .gw-pcb-kpi-panel { border:0; background:transparent; padding:0; }
.page-pcb .gw-pcb-kpi-panel .gw-kpi-strip { display:flex; justify-content:center; align-items:flex-start; flex-wrap:wrap; gap:15px; background:transparent !important; }
.page-pcb .gw-pcb-kpi-panel .gw-kpi,
.page-pcb .gw-pcb-kpi-panel .gw-kpi--divider { min-width:130px; flex:1 1 130px; max-width:185px; margin:auto; text-align:center; background:transparent !important; box-shadow:none !important; }
.page-pcb .gw-pcb-kpi-panel .gw-kpi__label { margin-top:13px; font-size:11px; font-weight:700; color:#576b77; line-height:1.5; letter-spacing:.015em; }
.page-pcb .gw-pcb-kpi-panel .gw-donut { background-color:transparent !important; }
.page-pcb .gw-pcb-contact-section { background:#fff; }
.page-pcb .gw-pcb-contact-panel { padding:0; border:0; background:transparent; }
.page-pcb .gw-pcb-contact-panel .gw-pcb-title { max-width:none; font-size:clamp(23px,2.4vw,31px); }
.page-pcb .gw-pcb-contact-panel .gw-pcb-copy { margin-bottom:0; }
.page-pcb .gw-pcb-contact-actions { display:flex; flex-direction:column; align-items:center; gap:20px; }
.page-pcb .gw-pcb-phone { color:#425967; font-size:15px; font-weight:700; text-decoration:none; }
.page-pcb .gw-pcb-phone:hover { color:#243743; }
@media(max-width:991.98px) {
 .page-pcb .gw-pcb-intro { padding-top:3rem; }
 .page-pcb .gw-pcb-section { padding:61px 0 66px; }
 .page-pcb .gw-pcb-visual-section { padding:60px 0 65px; }
 .page-pcb .gw-pcb-aside-line { margin-top:14px; }
 .page-pcb .gw-pcb-intro-panel { max-width:none; }
}
@media(max-width:575.98px) {
 .page-pcb .gw-pcb-intro { padding-top:3rem; }
 .page-pcb .gw-pcb-display { font-size:31px; }
 .page-pcb .gw-pcb-onpage { gap:9px 17px; margin-top:35px; padding:14px 0; }
 .page-pcb .gw-pcb-section { padding:48px 0 53px; }
 .page-pcb .gw-pcb-visual { min-height:250px; padding:18px; }
 .page-pcb .gw-pcb-visual img { height:218px; max-height:none; }
 .page-pcb .gw-pcb-contact-panel { padding:0; }
 .page-pcb .gw-pcb-kpi-panel { padding:0; }
 .page-pcb .gw-pcb-kpi-panel .gw-kpi { min-width:115px; max-width:150px; }
}
@media(prefers-reduced-motion:reduce){ .page-pcb .gw-pcb-detail summary::after, .page-pcb .gw-pcb-onpage a { transition:none; } }

/* -------------------------------------------------------------------------
   PCB / APPROVED APPROACH INTRO TYPOGRAPHY — 20 October 2026
   Reference: Approach (current source). Only the top editorial intro is scoped.
   Existing product panel, section navigation and following content are untouched.
   The shared gw-intro-shared.css is loaded AFTER this file; these targeted
   selectors therefore deliberately outrank its generic introduction rules.
   ------------------------------------------------------------------------- */
.page-pcb .gw-pcb-intro {
  padding-top: 4.2rem; /* 67.2px at a 16px root: matches Approach on desktop */
}

/* The small editorial eyebrow, heading and accent match Approach exactly. */
.page-pcb .gw-pcb-intro .gw-pcb-eyebrow {
  margin: 0 0 1rem;
  color: #6a87a3;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.5;
  text-transform: uppercase;
}
.page-pcb .gw-pcb-intro .gw-pcb-display {
  margin: 0 0 1.45rem;
  color: #242e38;
  font-family: Montserrat, Arial, sans-serif;
  font-size: clamp(2rem, 3.9vw, 3.4rem);
  font-weight: 650;
  letter-spacing: -.045em;
  line-height: 1.17;
  text-transform: none;
}
.page-pcb .gw-pcb-intro .gw-pcb-display span { color: #577b9f; }

/* Approach lead paragraph, then Approach 16px editorial body text. */
.page-pcb .gw-pcb-intro .col-lg-8 > p.gw-pcb-lead {
  margin: 0 0 1.35rem;
  color: #273746;
  font-size: 1.16rem;
  font-weight: 500;
  line-height: 1.65;
}
.page-pcb .gw-pcb-intro .col-lg-8 > p:not(.gw-pcb-eyebrow):not(.gw-pcb-lead) {
  margin-top: 0;
  margin-bottom: 1.3rem;
  color: #52606e;
  font-size: 1rem;
  line-height: 1.86;
}
/* Preserve the original final paragraph's zero bottom margin. */
.page-pcb .gw-pcb-intro .col-lg-8 > p.mb-0 { margin-bottom: 0 !important; }

/* At 768–991px Approach keeps 4.2rem (its page-specific !important rule).
   At <= 767px Approach uses 3rem. */
@media (min-width: 768px) and (max-width: 991.98px) {
  .page-pcb .gw-pcb-intro { padding-top: 4.2rem; }
}
@media (max-width: 767.98px) {
  .page-pcb .gw-pcb-intro { padding-top: 3rem; }
}
@media (max-width: 575.98px) {
  .page-pcb .gw-pcb-intro .gw-pcb-display {
    font-size: clamp(2rem, 8vw, 2.6rem);
  }
}
