/* Identity cues only: no reader verdict or customer upload uses these classes. */
.logo-motion-paused .mark__orbit,
.logo-motion-paused .mark__window { animation-play-state: paused !important; }
/* Coarse touch keeps plain navigation. The seal and wordmark never shift. */
@media (hover: hover) and (pointer: fine) {
  .mark:hover .mark__glyph:not(.logo-motion-enter) .mark__window,
  .brand:hover .mark__glyph:not(.logo-motion-enter) .mark__window,
  .icon-tile:hover .openstamps-product-mark:not(.logo-motion-enter) .mark__window { animation: logo-glint .65s ease-out 1; }
}
.mark:focus-visible .mark__glyph:not(.logo-motion-enter) .mark__window,
.brand:focus-visible .mark__glyph:not(.logo-motion-enter) .mark__window,
.icon-tile:focus-visible .openstamps-product-mark:not(.logo-motion-enter) .mark__window { animation: logo-glint .65s ease-out 1; }
.logo-motion-enter[data-logo-entrance="story"] .mark__window { animation: logo-trace .9s ease-out 1; }
.logo-motion-enter[data-logo-entrance="app"] .mark__window {
  transform-box: view-box; transform-origin: center;
  animation: logo-settle .9s cubic-bezier(.2,.7,.2,1) 1;
}
@keyframes logo-glint { 0%, 100% { stroke-opacity: 1; stroke-width: 1.5; } 45% { stroke-opacity: .72; stroke-width: 2.5; } }
@keyframes logo-trace { from { stroke-dasharray: 120; stroke-dashoffset: 120; } to { stroke-dasharray: 120; stroke-dashoffset: 0; } }
@keyframes logo-settle { from { transform: scale(.72); opacity: .55; } to { transform: scale(1); opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .mark__orbit, .mark__window { animation: none !important; transition: none !important; }
}
@media print { .mark__orbit, .mark__window { animation: none !important; } }
