.pumps { display: grid; gap: 1.1rem; grid-template-columns: repeat(auto-fill, minmax(min(15.5rem, 100%), 1fr)); margin-top: 1.6rem; }
.pump { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--hair); border-radius: var(--r); overflow: hidden; text-decoration: none; color: inherit; transition: box-shadow 0.18s ease, transform 0.18s ease; }
.pump:hover, .pump:focus-visible { box-shadow: 0 10px 26px rgba(20, 28, 24, 0.14); transform: translateY(-2px); }
.pump figure { margin: 0; background: #fff; height: 10.5rem; padding: 0.9rem; border-bottom: 1px solid var(--hair); overflow: hidden; }
.pump img { display: block; width: 100%; height: 100%; object-fit: contain; }
.pump-body { padding: 0.85rem 1rem 1rem; display: flex; flex-direction: column; gap: 0.2rem; flex: 1; }
.pump-body h3 { margin: 0; font-size: 1.08rem; }
.pump-body .cls { color: var(--steel); font-size: 0.9rem; }
.pump-body .go { margin-top: auto; padding-top: 0.55rem; font-weight: 600; font-size: 0.92rem; }
.pump-noimg figure { display: grid; place-items: center; color: var(--steel); font-size: 2rem; font-weight: 700; letter-spacing: 0.04em; }
.fleet-sec { scroll-margin-top: 5.5rem; }
.spiders { display: grid; gap: 1.2rem; grid-template-columns: repeat(auto-fit, minmax(min(19rem, 100%), 1fr)); margin-top: 1.6rem; }
.spider { background: #fff; border: 1px solid var(--hair); border-radius: var(--r); overflow: hidden; display: flex; flex-direction: column; }
.spider figure { margin: 0; padding: 1rem; border-bottom: 1px solid var(--hair); background: #fff; }
.spider figure img { display: block; width: 100%; height: auto; }
.spider-body { padding: 1rem 1.1rem 1.2rem; display: flex; flex-direction: column; gap: 0.3rem; flex: 1; }
.spider-body h3 { margin: 0; font-size: 1.2rem; }
.spider-body .cls { color: var(--steel); font-size: 0.92rem; }
.spider-spec { margin: 0.7rem 0 0; font-size: 0.92rem; }
.spider-pending { margin: 0.5rem 0 0; font-size: 0.8rem; color: var(--steel); font-style: italic; }
.spider-spec div { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--hair); padding: 0.3rem 0; }
.spider-spec dt { color: var(--steel); }
.spider-spec dd { margin: 0; text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.spider-sheet { margin-top: auto; padding-top: 0.9rem; }
.spider-sheet summary { cursor: pointer; font-weight: 600; font-size: 0.92rem; color: var(--green-deep); }
.spider-sheet img { display: block; width: 100%; height: auto; margin-top: 0.8rem; border: 1px solid var(--hair); }
.spider-sheet p { margin: 0.5rem 0 0; font-size: 0.88rem; }