/* Factory V3 capability cards: photograph first, explanatory copy below. */
.factory-v3__eyebrow{letter-spacing:3px!important}
.factory-v3__capability-list article{
  grid-template-columns:1fr;
  grid-template-rows:132px minmax(0,1fr);
  gap:13px;
  align-items:stretch;
  padding:0;
  overflow:hidden;
  background:#fff;
}
.factory-v3__capability-list img{
  width:100%;
  height:132px;
  border-radius:0;
}
.factory-v3__capability-list article>div{padding:0 14px 15px}

/* The right 2×2 capability grid fills the same height as the SMT feature. */
.factory-v3__capability-grid{align-items:stretch}
.factory-v3__capability-list{height:100%;grid-template-rows:repeat(2,minmax(0,1fr))}
.factory-v3__capability-list article{min-height:0}

/* 4 : 2.5 image proportion for each capability card. */
.factory-v3__capability-list article{grid-template-rows:auto minmax(0,1fr)}
.factory-v3__capability-list img{height:auto;aspect-ratio:4 / 2.5;object-fit:cover}

/* Align the visible link baseline with the left description and preserve equal space above the cards. */
.factory-v3__capabilities .factory-v3__text-link{margin-bottom:15px}
.factory-v3__capabilities .factory-v3__section-head{margin-bottom:16px}
@media(max-width:620px){.factory-v3__capabilities .factory-v3__text-link{display:inline-block;margin:0 0 20px}}

/* Production journey: connect the numbered milestones, not the image cards. */
.factory-v3__journey-line li:not(:last-child)::after{display:none}
.factory-v3__journey-line li{isolation:isolate}.factory-v3__journey-line b{position:relative}
.factory-v3__journey-line li:not(:last-child) b::after{position:absolute;top:50%;left:100%;z-index:-1;width:clamp(120px,11.4vw,210px);border-top:2px solid #1764bf;content:""}
@media(max-width:980px){.factory-v3__journey-line li:not(:last-child) b::after{display:none}}

/* Product portfolio: compact, consistent cards with contained product renders. */
.factory-v3__portfolio-grid a{
  grid-template-rows:108px auto;
  gap:10px;
  min-height:154px;
  align-content:center;
  overflow:hidden;
}
.factory-v3__portfolio-grid img{
  display:block;
  width:100%;
  height:108px;
  object-fit:contain;
}
.factory-v3__portfolio-grid span{display:block;line-height:1.2}

/* Improve legibility of the production-journey labels. */
.factory-v3__journey-line h3{font-size:16px}
.factory-v3__journey-line p{font-size:12px}

/* Keep the portfolio introduction on one line whenever the desktop canvas permits. */
.factory-v3__portfolio .factory-v3__section-head>div{max-width:none;flex:1}
@media(min-width:981px){.factory-v3__portfolio .factory-v3__section-head p{white-space:nowrap}}
.factory-v3__portfolio .factory-v3__text-link{margin-bottom:15px}

/* Quality route icons sit above the stage number; arrows meet icon centers. */
.factory-v3__quality-icon{display:grid;width:58px;height:58px;place-items:center;border:1px solid #67aff7;border-radius:50%;background:rgba(6,35,72,.18)}
.factory-v3__quality-icon img{width:30px;height:30px;object-fit:contain;filter:brightness(0) invert(1)}
.factory-v3__quality li>span{display:block;width:auto;height:auto;margin:10px 0 6px;border:0;border-radius:0;color:#b6daff;font-size:12px;line-height:1;font-weight:700}
.factory-v3__quality li:not(:last-child)::after{top:29px;right:auto;left:calc(50% + 42px);display:grid;width:22px;height:22px;place-items:center;transform:translate(-50%,-50%)}

/* Related Factory pages are individual cards, not one segmented strip. */
.factory-v3__explore nav{gap:12px;border:0}
.factory-v3__explore nav a{min-height:108px;border:1px solid var(--f3-line);border-radius:6px;background:#fff}
.factory-v3__explore nav a{display:flex;flex-direction:column;justify-content:center}
.factory-v3__explore nav a:last-child{border-right:1px solid var(--f3-line)}
@media(max-width:620px){.factory-v3__explore nav a,.factory-v3__explore nav a:last-child{border:1px solid var(--f3-line);border-radius:6px}}
