/* Shared first-block title motion: continuous, readable, and layout-stable. */
h1.title-loop{position:relative;transform-origin:left center;animation:royal-title-breathe 5s ease-in-out infinite}
h1.title-loop::after{content:"";display:block;width:64px;height:4px;margin-top:24px;background:#f39800;transform-origin:left center;animation:royal-title-accent 5s ease-in-out infinite}
.hero-title.title-loop .title-line{animation:none;opacity:1;transform:none}
h1.title-loop .title-motion{animation:none}
@keyframes royal-title-breathe{0%,100%{transform:translate3d(0,0,0) rotate(0deg)}35%{transform:translate3d(3px,-8px,0) rotate(-.25deg)}70%{transform:translate3d(0,-3px,0) rotate(.12deg)}}
@keyframes royal-title-accent{0%,100%{transform:scaleX(.65);opacity:.65}45%{transform:scaleX(1.4);opacity:1}75%{transform:scaleX(1);opacity:.85}}
@media(max-width:800px){h1.title-loop{animation-name:royal-title-breathe-mobile}h1.title-loop::after{width:48px;height:3px;margin-top:20px}}
@keyframes royal-title-breathe-mobile{0%,100%{transform:translate3d(0,0,0)}40%{transform:translate3d(1px,-5px,0)}75%{transform:translate3d(0,-2px,0)}}
@media(prefers-reduced-motion:reduce){h1.title-loop,h1.title-loop::after,h1.title-loop .title-motion,h1.title-loop .title-line,h1.title-loop .highlight::after{animation:none!important;transform:none;opacity:1}}
