/* ==========================================================================
   Component · Devices — "One app across your devices."
   ========================================================================== */

.devices {
  padding-block: calc(var(--section-pad) / 2);
  text-align: center;
}

.device-grid {
  margin-top: clamp(3rem, 2rem + 3.5vw, 5.5rem);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(3rem, 2rem + 3vw, 4.5rem) 1.5rem;
}

.device {
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 1.75rem;
}

.device__art {
  height: clamp(4.5rem, 3.5rem + 3vw, 6.25rem);
  display: grid;
  place-items: center;
  color: var(--color-text-primary);
}

.device__art svg {
  height: 100%;
  width: auto;
  transition: transform var(--duration-fast) var(--ease-spring);
}

/* Provided marks are tight-bounds (no built-in padding like the 120-box
   originals), so each gets a height tuned to the grid's optical scale. */
.device__art svg.device__icon--iphone { height: 42%; }
.device__art svg.device__icon--mac    { height: 53%; }
.device__art svg.device__icon--gtv    { height: 54%; }

.device:hover .device__art svg {
  transform: scale(1.06);
}

.device__label {
  color: var(--color-text-primary);
  font-size: var(--text-label);
  font-weight: 600;
  line-height: 1.2;
}

@media (max-width: 45.9375em) {
  .device-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
