/* Shared, interaction-driven motion for the public website. */
.public-surface .rh-motion-arrow { display:inline-block; --motion-x:4px; --motion-y:0px; transition:transform 220ms cubic-bezier(.2,.7,.2,1); }
.public-surface .rh-motion-arrow[data-direction='diagonal'] { --motion-x:3px; --motion-y:-3px; }
.public-surface .rh-motion-arrow[data-direction='down'] { --motion-x:0px; --motion-y:4px; }
.public-surface .rh-motion-arrow[data-direction='left'] { --motion-x:-4px; }
.public-surface :is(a,button,summary):is(:hover,:focus-visible) .rh-motion-arrow { transform:translate(var(--motion-x),var(--motion-y)); }
.public-surface :is(a,button) > .ti,
.public-surface .home-contact-icon { transition:transform 200ms ease; }
.public-surface :is(a,button):is(:hover,:focus-visible) > .ti,
.public-surface .home-contact-item:is(:hover,:focus-visible) .home-contact-icon { transform:scale(1.08); }
.public-surface .public-nav-toggle::after { transition:transform 200ms ease; }
/* Separate plus strokes let the vertical stroke fold away when a FAQ opens. */
.public-surface :is(.home-page,.package-page,.editorial-page) details > summary::before,
.public-surface :is(.home-page,.package-page,.editorial-page) details > summary::after {
  content:''; position:absolute; right:4px; top:50%; width:12px; height:2px;
  background:currentColor; border:0; transition:transform 200ms ease,opacity 200ms ease;
}
.public-surface :is(.home-page,.package-page,.editorial-page) details > summary::before { transform:rotate(90deg); }
.public-surface :is(.home-page,.package-page,.editorial-page) details[open] > summary::before { transform:rotate(0); opacity:0; }
.public-surface :is(.home-page,.package-page,.editorial-page) details[open] > summary::after { content:''; }
.public-surface :is(a,button):active .rh-motion-arrow { transform:translate(0,0); }
@media(prefers-reduced-motion:reduce) {
  .public-surface .rh-motion-arrow,
  .public-surface :is(a,button) > .ti,
  .public-surface .home-contact-icon,
  .public-surface .public-nav-toggle::after,
  .public-surface details > summary::before,
  .public-surface details > summary::after { transition:none!important; transform:none!important; }
}
