/* ============================================================
   SITE-WIDE FIXES
   Every page renders at a fixed 1440px viewport, so phones and
   tablets show the desktop layout scaled down — no mobile-only
   reflow. Only layout-neutral corrections live here.
   ============================================================ */

/* Logo: never distort when a flex row is tight */
.logo img, .logo-mark, .logo-stack img {
  object-fit: contain;
  flex: none;
  max-width: none;
  width: auto;
}
.logo-stack { flex: none; display: inline-block; }
.logo { flex: none; }

/* Card media fills its frame instead of overflowing at natural size */
.work-card-visual img,
.work-card-visual video,
.project-visual img,
.project-visual video,
.project img,
.project video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Grid/flex children may shrink below their content in section-based pages */
.wrap, .wrap *, .sec, .sec * { min-width: 0; }
.row > *, .grid > * { min-width: 0; }

/* Declutter: serial numbers and decorative arrows */
.nav-panel-list .np-num,
.np-arrow,
.section-label,
.service-card .num,
.page-eyebrow { display: none !important; }
.nav-panel-list a { grid-template-columns: 1fr !important; gap: 0 !important; }
