/* Shared motion primitives. Content is visible until enhancement is ready. */
:root {
  --motion-fast: 150ms;
  --motion-base: 260ms;
  --motion-scene: 620ms;
  --motion-ease: cubic-bezier(.2, .72, .22, 1);
}
html { scroll-padding-top: 105px; }
.motion-ready {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity var(--motion-scene) var(--motion-ease), transform var(--motion-scene) var(--motion-ease);
}
.motion-ready.motion-visible { opacity: 1; transform: none; }
.motion-control {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid currentColor;
  border-color: color-mix(in srgb, currentColor 22%, transparent);
  border-radius: 100px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 650;
  cursor: pointer;
  text-align: start;
  transition: background-color var(--motion-fast), border-color var(--motion-fast);
}
.motion-control:hover:not(:disabled) { background-color: color-mix(in srgb, currentColor 7%, transparent); }
.motion-control:focus-visible { outline: 3px solid #a6cf54; outline-offset: 4px; }
.motion-control:disabled { cursor: default; opacity: .8; }
.motion-control-icon { font: 700 19px/1 sans-serif; width: 18px; text-align: center; flex: none; }
.motion-control-label { white-space: normal; }
button:not(:disabled):active, a.button:active { filter: brightness(.96); }
html[data-motion-reduced="true"] { scroll-behavior: auto !important; }
html[data-motion-reduced="true"] *,
html[data-motion-reduced="true"] *::before,
html[data-motion-reduced="true"] *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
html[data-motion-reduced="true"] .motion-ready { opacity: 1 !important; transform: none !important; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .motion-ready { opacity: 1 !important; transform: none !important; }
}
@media print {
  .motion-ready { opacity: 1 !important; transform: none !important; }
  .motion-control { display: none !important; }
}

/* Device-local market and language confirmation. */
.locale-welcome:not([hidden]) { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding-block: 10px; font-size: 13px; line-height: 1.4; }
.locale-welcome > span:not(.locale-welcome-flag), .locale-welcome small { min-inline-size: 0; overflow-wrap: anywhere; }
.locale-welcome-flag { display: inline-flex; flex: none; }
.locale-welcome-flag img { object-fit: cover; border-radius: 2px; }
.locale-welcome button { max-inline-size: 100%; padding: 6px 12px; border: 1px solid currentColor; border-radius: 100px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.locale-welcome button:focus-visible { outline: 3px solid #a6cf54; outline-offset: 3px; }
.locale-welcome small { flex-basis: 100%; font-size: 11px; opacity: .75; }
