/* Load after brand.css. Content stays visible before JavaScript and observers. */
.ubx-site [data-reveal],
.ubx-motion .ubx-site [data-reveal] {
  opacity:1;
  transform:none;
  transition:none;
}

/* A visible section may settle into place; opacity never gates its content. */
@keyframes ubx-reveal-arrive {
  from {transform:translateY(12px)}
  to {transform:none}
}
@media (min-width:901px) and (prefers-reduced-motion:no-preference) {
  .ubx-site [data-reveal].ubx-reveal-arrived {
    animation:ubx-reveal-arrive .5s ease-out;
  }
}
.ubx-site .ubx-home-families[data-reveal] {
  opacity:1;
  visibility:visible;
  transform:none;
  animation:none;
}

/* Keep product navigation in a normal, flat grid. Combining a perspective
   ancestor, preserved 3D, clipping and image blending is unnecessary here. */
.ubx-site .ubx-family-grid--photographic {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  min-width:0;
  perspective:none;
  transform-style:flat;
}
.ubx-site .ubx-family-grid--photographic .ubx-family-card,
.ubx-site .ubx-family-grid--photographic .ubx-family-card:hover,
.ubx-site .ubx-family-grid--photographic .ubx-family-card:focus-visible {
  display:block;
  min-width:0;
  overflow:visible;
  transform:none;
  transform-style:flat;
  transition:none;
  box-shadow:none;
}
.ubx-site .ubx-family-grid--photographic .ubx-family-card:focus-visible {
  outline:3px solid var(--family-tone);
  outline-offset:4px;
}
.ubx-site .ubx-family-grid--photographic .ubx-family-photo {
  min-width:0;
  height:185px;
  overflow:hidden;
  transform:none;
  transform-style:flat;
}
.ubx-site .ubx-family-grid--photographic .ubx-family-photo img {
  display:block;
  width:100%;
  max-width:100%;
  height:100%;
  object-fit:contain;
  mix-blend-mode:normal;
  transform:none;
  transition:none;
}
@media (max-width:1150px) {
  .ubx-site .ubx-family-grid--photographic {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width:700px) {
  .ubx-site .ubx-family-grid--photographic {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .ubx-site .ubx-family-grid--photographic .ubx-family-photo {height:145px}
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .ubx-site .ubx-family-grid--photographic .ubx-family-card {
    transition:transform .25s ease,box-shadow .25s ease;
  }
  .ubx-site .ubx-family-grid--photographic .ubx-family-card:hover {
    transform:translateY(-4px);
    box-shadow:0 18px 30px #111e3417;
  }
}
@media (prefers-reduced-motion:reduce) {
  .ubx-site [data-reveal] {animation:none!important;transform:none!important}
}
