/* Supplied collages retain their complete composition and original aspect ratio. */
.cb-fleet-showcase { background: #f2f6f8; }
.fleet-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.fleet-gallery-card { margin: 0; min-width: 0; border: 1px solid #d5e1e7; border-radius: 6px; background: #fff; overflow: hidden; }
.fleet-gallery-image { display: block; position: relative; background: #dce8ed; }
.fleet-gallery-image img, .home-fleet-preview img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; }
.fleet-image-expand { display: grid; place-items: center; position: absolute; right: 16px; bottom: 16px; width: 38px; height: 38px; background: #fff; color: #16344b; border-radius: 50%; box-shadow: 0 2px 12px #10273d20; font-size: 1.25rem; }
.fleet-gallery-image:focus-visible { outline: 3px solid var(--teal); outline-offset: -4px; }
.fleet-gallery-card figcaption { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 22px 24px; }
.fleet-gallery-card h3 { font-size: 1.15rem; font-weight: 500; }
.fleet-gallery-card figcaption > span { color: var(--muted); font-size: .7rem; }
.fleet-gallery-note { margin-top: 20px; color: var(--muted); font-size: .75rem; }
.home-fleet-preview { display: block; margin-top: 32px; background: #fff; border: 1px solid #d5e1e7; border-radius: 5px; overflow: hidden; color: var(--navy); }
.home-fleet-caption { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 18px; font-size: .72rem; line-height: 1.5; }
.home-fleet-caption > span:last-child { color: var(--teal); font-weight: 500; }
.home-fleet-preview:hover .home-fleet-caption > span:last-child { text-decoration: underline; text-underline-offset: 4px; }
@media (prefers-reduced-motion: no-preference) {
  .fleet-image-expand { transition: background-color 180ms ease, color 180ms ease, transform 180ms ease; }
  .fleet-gallery-image:hover .fleet-image-expand { background: #123148; color: #fff; transform: translate(2px, -2px); }
}
@media (max-width: 850px) {
  .fleet-gallery { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .fleet-gallery { gap: 20px; }
  .fleet-gallery-card figcaption { padding: 18px; gap: 10px; }
  .fleet-gallery-card h3 { font-size: 1rem; }
  .fleet-gallery-card figcaption > span { font-size: .62rem; }
  .fleet-image-expand { width: 32px; height: 32px; right: 12px; bottom: 12px; }
  .home-fleet-caption { padding: 14px; gap: 10px; font-size: .65rem; }
}
