/* Minimal mobile responsiveness (surgical patch) */
/* Cards grid adapts without changing HTML structure */
.vessel-cards, .elemental-cards{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap:16px;
}
/* Keep full images with letterbox; slightly shorter on phones for fit */
.vessel-card img, .elemental-card img{
  width:100%;
  height:260px !important;
  object-fit:contain !important;
  display:block;
  background:#0b1424;
}
@media (min-width: 640px){
  .vessel-card img, .elemental-card img{ height:300px !important; }
}
/* Scale hero text gently on small screens */
.hero h1{ font-size: clamp(1.6rem, 5vw, 2.6rem); line-height:1.15; }
.hero h2, .hero p{ font-size: clamp(1rem, 3.5vw, 1.25rem); }
/* Keep nav centered and wrapping; no layout changes */
nav, .nav, .topnav{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }