.assembly-capabilities-page { background: #fff; }
.assembly-equipment { padding: 56px 0 48px; }
.assembly-equipment h1 { margin: 0 0 24px; font-size: clamp(30px, 3.2vw, 42px); text-align: center; }
.assembly-equipment__jump-links { display: grid; grid-template-columns: 1fr 1.7fr; gap: 8px; max-width: 420px; margin: 0 auto 40px; }
.assembly-equipment__jump-links a { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 12px; border: 1px solid var(--line); color: var(--blue); font-size: 14px; font-weight: 600; line-height: 1.4; text-align: center; text-decoration: none; }
.assembly-equipment__jump-links a:hover { border-color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.assembly-equipment__jump-links a:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.assembly-equipment__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 80px 1.5%; }
.assembly-equipment__item { min-width: 0; margin: 0; text-align: center; }
.assembly-equipment__image-link { display: block; overflow: hidden; background: #fff; }
.assembly-equipment__image-link img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; transition: transform .5s ease; }
.assembly-equipment__image-link:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
.assembly-equipment__item figcaption { margin-top: 40px; color: var(--ink); font-size: 18px; line-height: 1.45; }
.assembly-equipment__source { margin: 32px 0 0; color: var(--muted); font-size: 13px; text-align: right; }
.assembly-equipment__source a { color: inherit; text-underline-offset: 3px; }
.assembly-specifications { padding: 48px 0 64px; border-top: 1px solid var(--line); }
.assembly-specifications h2 { margin: 0 0 36px; font-size: clamp(26px, 2.6vw, 36px); line-height: 1.25; text-align: center; }
.assembly-specifications__hint { display: none; margin: 0 0 12px; color: var(--muted); font-size: 14px; }
.assembly-specifications__scroll { overflow-x: auto; overscroll-behavior-x: contain; }
.assembly-specifications__scroll:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.assembly-specifications__table { width: 100%; min-width: 1000px; border-collapse: collapse; table-layout: fixed; color: var(--ink); font-size: 14px; line-height: 1.6; }
.assembly-specifications__table col:nth-child(1) { width: 14%; }
.assembly-specifications__table col:nth-child(2) { width: 22%; }
.assembly-specifications__table col:nth-child(3) { width: 20%; }
.assembly-specifications__table col:nth-child(4) { width: 20%; }
.assembly-specifications__table col:nth-child(5) { width: 24%; }
.assembly-specifications__table th, .assembly-specifications__table td { padding: 14px 16px; border: 1px solid var(--line); background: #fff; vertical-align: middle; text-align: left; overflow-wrap: break-word; }
.assembly-specifications__table thead th { font-weight: 700; text-align: center; }
.assembly-specifications__table tbody th { font-weight: 400; }
@media (hover: hover) and (pointer: fine) {
  .assembly-equipment__image-link:hover img { transform: scale(1.1); }
  .assembly-equipment__item:hover figcaption { color: #28a6e0; }
}
@media (max-width: 1040px) {
  .assembly-specifications__hint { display: block; }
}
@media (max-width: 990px) {
  .assembly-equipment__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 2%; }
  .assembly-equipment__item figcaption { margin-top: 20px; font-size: 14px; }
}
@media (max-width: 640px) {
  .assembly-equipment { padding: 36px 0; }
  .assembly-equipment h1 { margin-bottom: 20px; }
  .assembly-equipment__jump-links { margin-bottom: 28px; }
  .assembly-equipment__source { font-size: 12px; text-align: left; }
  .assembly-specifications { padding: 36px 0 48px; }
  .assembly-specifications h2 { margin-bottom: 24px; text-align: left; }
  .assembly-specifications__table th, .assembly-specifications__table td { padding: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .assembly-equipment__image-link img { transition: none; }
}
