
/* Shared image, navigation and narrow-screen fixes. */
figure { margin: 0; }
html { scroll-padding-top: 160px; }
.brand-mark { flex-shrink: 0; }
.nav { flex-wrap: wrap; padding-block: 14px; }
.wrap > *, .grid > *, .split > *, .contact-layout > * { min-width: 0; }
.photo img { height: auto; min-height: 0; object-fit: contain; }
a:focus-visible, button:focus-visible { outline: 3px solid #b84f3d; outline-offset: 4px; }
.skip-link { position: absolute; left: 12px; top: -70px; z-index: 100; padding: 12px; background: white; color: #174736; }
.skip-link:focus { top: 12px; }
.gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto; grid-auto-rows: auto; }
.gallery-item { display: flex; flex-direction: column; border: 1px solid #d9dfd9; background: white; }
.gallery-item:first-child { grid-row: auto; grid-column: 1 / -1; }
.gallery-item a { display: block; }
.gallery-item img { width: 100%; height: 240px; object-fit: contain; background: white; }
.gallery-item:first-child img { height: 360px; object-fit: cover; }
.gallery-item:not(:first-child) img { padding: 8px; }
figcaption { color: #58635d; padding: 12px 16px; font-size: 14px; }
.rfq-checklist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.email-options { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
@media (max-width: 900px) { .nav { gap: 18px; } nav { justify-content: flex-start; gap: 14px; } }
@media (max-width: 640px) {
  .nav { align-items: flex-start; gap: 14px; }
  nav { justify-content: flex-start; gap: 12px; }
  h1 { font-size: clamp(30px, 8vw, 39px); overflow-wrap: break-word; }
  .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery-item:first-child img { height: 230px; }
  .gallery-item img { height: 160px; }
  .contact-panel { padding: 22px; }
  .rfq-checklist { grid-template-columns: 1fr; }
  html { scroll-padding-top: 210px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

.equipment-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 34px; }
.equipment-photo { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 6px; background: var(--white); }
.equipment-photo img { width: 100%; height: 300px; object-fit: cover; background: #ffffff; }
.equipment-photo:nth-child(2) img { object-fit: contain; }
.equipment-photo figcaption { flex: 1; color: var(--muted); padding: 12px 16px; font-size: 14px; }
@media (max-width: 640px) {
  .equipment-gallery { grid-template-columns: 1fr; }
  .equipment-photo img { height: 260px; }
}
