/* ==========================================================================
   Utility (u-)
   Single-purpose helper classes. Kept minimal by design.
   ========================================================================== */

.u-mt-md { margin-block-start: var(--space-md); }
.u-mt-lg { margin-block-start: var(--space-lg); }

/* object-position overrides for real photography — applied to <img> inside
   a .c-image-frame where the default center crop would cut into a face or
   the subject sits away from frame center. Center (the browser default)
   is correct for most photos, so these stay few and deliberate. */
.u-object-top { object-position: 50% 20%; }
.u-object-top-left { object-position: 35% 25%; }
.u-object-bottom { object-position: 50% 70%; }

/* !important is deliberate here: this is a global safety net that must
   win over every component-level transition/animation declaration
   (including any added later) once the user has asked for reduced motion. */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
