/* Each character has its own crop, independent of link padding and line wraps. */
.category-motion>.category-original{display:inline;pointer-events:none}
.category-motion .motion-word{display:inline-block;white-space:nowrap;vertical-align:baseline}
.category-motion .motion-char{position:relative;display:inline-block;overflow:hidden;vertical-align:bottom}
.category-motion .motion-char>.glyph-front,.category-motion .motion-char>.glyph-back{display:block;transition:transform .7s ease;transition-delay:calc(var(--char-index) * .02s);pointer-events:none}
.category-motion .motion-char>.glyph-front{position:relative;transform:translateY(0)}
.category-motion .motion-char>.glyph-back{position:absolute;inset:0;transform:translateY(105%)}
.category-motion :is(.category-original,.motion-word,.motion-char,.glyph-front,.glyph-back){font:inherit;line-height:inherit;letter-spacing:inherit;color:inherit}
@media(hover:hover) and (pointer:fine){
 .motion-host:hover .motion-char>.glyph-front{transform:translateY(-105%)}
 .motion-host:hover .motion-char>.glyph-back{transform:translateY(0)}
}
.motion-host:focus-visible .motion-char>.glyph-front{transform:translateY(-105%)}
.motion-host:focus-visible .motion-char>.glyph-back{transform:translateY(0)}
.footer .footer-primary a.motion-host:hover,.footer .footer-primary a.motion-host:focus-visible,a.motion-host:hover{text-decoration:none}
.brand-profile-info>a.brand-instagram-link.motion-host:hover,.brand-profile-info>a.brand-instagram-link.motion-host:focus-visible{padding-left:0;padding-right:0}
@media(prefers-reduced-motion:reduce){
 .category-motion .motion-char>.glyph-front{transition:none;transform:none!important}
 .category-motion .motion-char>.glyph-back{display:none}
}

/* Both labels reserve their natural size; hovering never moves adjacent links. */
.translated-link>.link-language-swap{display:inline-grid;max-width:100%;vertical-align:middle;pointer-events:none;line-height:inherit}
.translated-link .link-language-swap>span{grid-area:1/1;min-width:0;max-width:100%;font:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;white-space:normal;overflow-wrap:anywhere;transition:opacity .3s ease}
.translated-link .link-language-ja{opacity:0;font-family:var(--sans);letter-spacing:.02em}
@media(hover:hover) and (pointer:fine){
 .motion-host:hover .link-language-en{opacity:0}
 .motion-host:hover .link-language-ja{opacity:1}
}
.motion-host:focus-visible .link-language-en{opacity:0}
.motion-host:focus-visible .link-language-ja{opacity:1}
@media(prefers-reduced-motion:reduce){.translated-link .link-language-swap>span{transition:none}}
