/* Shared photographic stage, industrial scene and a progressive capability reader. */
.site-header { background: var(--white); }
.home-hero .object-stage { grid-template-columns: 1.4fr 1fr 1fr; align-items: end; padding: 22px 10px 16px; min-height: 340px; background: var(--surface); }
.home-hero .object-item { border: 0; padding: 24px 24px 12px; overflow: visible; }
.home-hero .object-number { position: static; display: block; margin-bottom: 8px; }
.home-hero .object-item img { height: 240px; }
.home-hero .object-item--springs img { height: 290px; }
.home-hero .object-item--wire { align-self: start; }
.home-hero .object-item--wire img { height: 210px; }
.home-hero .object-item--welded { padding-bottom: 30px; }
.home-hero .object-label { border-top: 1px solid #c8d1dc; margin-top: 12px; }
.stage-caption { align-items: start; gap: 35px; padding-block: 22px; }
.stage-caption > span { flex: 0 0 245px; line-height: 1.6; }
.industrial-scene { margin-top: 0; padding-block: 52px; }
.industrial-scene-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.15fr); gap: clamp(40px,5vw,70px); align-items: center; }
.industrial-scene-heading { margin-bottom: 24px; }
.industrial-scene-heading .eyebrow { max-width: 310px; margin: 0 0 17px; font-size: 11px; }
.industrial-scene-heading h2 { font-size: clamp(35px,3vw,42px); line-height: 1.13; margin: 0; letter-spacing: -.035em; }
.industrial-scene figure { min-width: 0; }
.industrial-scene figure img { width: 100%; height: auto; }
.industrial-scene figcaption { display: flex; justify-content: space-between; align-items: baseline; gap: 12px 22px; padding-top: 13px; color: #b8c9e5; font-size: 11px; letter-spacing: .02em; }
.industrial-scene figcaption > span:first-child { font-family: 'Courier New',monospace; font-size: 10px; flex-shrink: 0; }
.industrial-scene-copy { min-width: 0; }
.industrial-scene-copy nav { margin-bottom: 18px; }
.industrial-scene-copy nav a { display: grid; grid-template-columns: 29px minmax(0,1fr) 22px; align-items: center; gap: 12px; border-top: 1px solid #40547b; min-height: 49px; padding-block: 12px; font-size: 23px; line-height: 1.2; letter-spacing: -.025em; }
.industrial-scene-copy nav a:last-child { border-bottom: 1px solid #40547b; }
.industrial-scene-copy nav span { font: 11px 'Courier New',monospace; color: #b8c9e5; }
.industrial-scene-copy nav span:last-child { font: 24px Inter,sans-serif; color: white; }
.industrial-scene a:hover { color: #b9d7ff; }
.industrial-scene .text-link { font-size: 14px; line-height: 1.5; padding-block: 8px; min-height: 44px; gap: 20px; }
.industrial-scene a:focus-visible { outline-color: #a8c3ee; }
.home-section-index[data-section-nav] { border-top: 0; padding-block: 13px; gap: 0 32px; }
.showcase-panel { display: none; }
.showcase-row { position: relative; display: grid; grid-template-columns: 30px minmax(150px,.65fr) minmax(0,1fr); gap: 30px; padding-block: 32px; border-top: 1px solid var(--line); align-items: center; }
.showcase-row:last-child { border-bottom: 1px solid var(--line); }
.showcase-number { font: 12px 'Courier New',monospace; color: var(--accent); align-self: start; padding-top: 8px; }
.showcase-row > img { width: 100%; height: 180px; object-fit: contain; }
.showcase-row h3 { font-size: 30px; line-height: 1.15; margin-bottom: 14px; }
.showcase-row p { font-size: 16px; color: var(--muted); margin-bottom: 18px; }
.showcase-action { display: inline-flex; align-items: center; gap: 32px; min-height: 44px; font-size: 13px; border-bottom: 1px solid var(--line); }
.showcase-action > span { font-size: 22px; transition: transform 220ms ease; }
.showcase-row:hover h3, .showcase-row:focus-visible h3 { color: var(--accent); }
.showcase-row:hover .showcase-action > span, .showcase-row:focus-visible .showcase-action > span { transform: translate(3px,-3px); }
@media (min-width:1100px) and (min-height:700px) {
  .capability-showcase.is-enhanced { display: grid; grid-template-columns: 1.05fr 1fr; gap: 70px; align-items: start; }
  .is-enhanced .showcase-panel { display: grid; position: sticky; top: calc(var(--site-header-height,86px) + 28px); background: var(--surface); }
  .showcase-panel figure { grid-area: 1 / 1; min-width: 0; opacity: 0; visibility: hidden; transition: opacity 240ms ease; padding: 24px 28px; }
  .showcase-panel figure[data-active] { opacity: 1; visibility: visible; }
  .showcase-image-meta { display: flex; justify-content: space-between; gap: 15px; font: 10px 'Courier New',monospace; color: var(--muted); letter-spacing: .06em; }
  .showcase-panel img { width: 100%; height: clamp(280px,42vh,430px); object-fit: contain; mix-blend-mode: multiply; padding-block: 20px; }
  .showcase-panel figcaption { border-top: 1px solid var(--line); color: var(--deep); font-size: 18px; }
  .showcase-panel figcaption span { display: block; font-size: 11px; color: var(--muted); margin-top: 5px; }
  .is-enhanced .showcase-row { grid-template-columns: 25px minmax(0,1fr); gap: 25px; min-height: 220px; padding: 30px 14px 30px 0; align-items: start; }
  .is-enhanced .showcase-row > img { display: none; }
  .is-enhanced .showcase-row::before { content: ''; position: absolute; top: -1px; width: 50px; height: 2px; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform 220ms ease; }
  .is-enhanced .showcase-row.is-current::before { transform: scaleX(1); }
  .is-enhanced .showcase-row.is-current h3 { color: var(--blue); }
}
@media (max-width:1099px) {
  .industrial-scene-grid { gap: 35px; grid-template-columns: minmax(0,1fr) minmax(0,1.05fr); }
  .industrial-scene-heading h2 { font-size: 35px; }
  .home-hero .object-item { padding-inline: 16px; }
  .home-hero .object-item img { height: 190px; }
  .home-hero .object-item--springs img { height: 240px; }
  .stage-caption > span { flex-basis: 200px; }
}
@media (max-width:767px) {
  .home-hero .object-stage { grid-template-columns: 1.2fr 1fr; min-height: 0; gap: 0; padding: 14px 4px; margin-inline: -8px; }
  .home-hero .object-item { padding: 10px 8px 6px; }
  .home-hero .object-item--welded { display: none; }
  .home-hero .object-item img { height: 145px; }
  .home-hero .object-item--springs img { height: 175px; }
  .home-hero .object-item--wire { padding-top: 28px; }
  .home-hero .object-number { font-size: 10px; }
  .home-hero .object-label { font-size: 12px; align-items: start; gap: 8px; }
  .stage-caption { display: block; padding-block: 16px 22px; }
  .stage-caption > span { display: block; font-size: 11px; }
  .stage-caption > span br { display: none; }
  .industrial-scene { padding-block: 38px; }
  .industrial-scene-heading { margin-bottom: 24px; }
  .industrial-scene-heading .eyebrow { max-width: 310px; margin-bottom: 15px; font-size: 10px; }
  .industrial-scene-heading h2 { font-size: clamp(32px,8.4vw,39px); }
  .industrial-scene-grid { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .industrial-scene-copy nav { margin-bottom: 16px; }
  .industrial-scene-copy nav a { font-size: 23px; padding-block: 13px; }
  .industrial-scene .text-link { font-size: 13px; gap: 16px; }
  .industrial-scene figcaption { flex-wrap: wrap; gap: 4px 16px; padding-top: 12px; font-size: 10px; }
  .home-section-index[data-section-nav] { padding-block: 12px; gap: 0 22px; }
  .showcase-row { grid-template-columns: 100px minmax(0,1fr); gap: 18px; padding-block: 28px; }
  .showcase-row > img { height: 140px; }
  .showcase-number { position: absolute; top: 14px; left: 0; padding: 0; font-size: 10px; }
  .showcase-row h3 { font-size: clamp(21px,5.8vw,28px); }
  .showcase-row p { font-size: 14px; margin-bottom: 8px; }
  .showcase-action { font-size: 12px; gap: 16px; }
  .editorial-matrix { grid-template-columns: minmax(0,1fr); background: transparent; gap: 0; }
  .editorial-matrix li { min-height: 0; display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 17px; padding: 20px 0; border-top: 1px solid var(--line); background: transparent; }
  .editorial-matrix .matrix-mark { font-size: 20px; }
}
@media (prefers-reduced-motion:reduce) {
  .showcase-panel figure, .is-enhanced .showcase-row::before, .showcase-action > span { transition: none; }
  .showcase-row:hover .showcase-action > span, .showcase-row:focus-visible .showcase-action > span { transform: none; }
}
@media print { .is-enhanced .showcase-panel { display: none; } .capability-showcase.is-enhanced { display: block; } .is-enhanced .showcase-row > img { display: block; } }

/* A next step should explain its destination before the buyer leaves the page. */
.related-copy { min-width: 0; }
.related-copy > span { display: block; }
.related-copy small { display: block; margin-top: 12px; font-size: 14px; line-height: 1.5; color: var(--muted); }
.related-links a > [aria-hidden] { flex-shrink: 0; }
@media (max-width: 359px) {
  .showcase-row { grid-template-columns: 80px minmax(0,1fr); gap: 14px; }
}
@media (max-width: 767px) {
  .contact-heading { padding-block: 12px 30px; }
  .contact-heading .eyebrow { margin-bottom: 16px; }
  .contact-heading h1 { margin-bottom: 20px; }
  .contact-heading .lead { margin-bottom: 0; }
}
