/* Socle commun des démos ARTCHA DIGITAL HUB (entreprises et données fictives). */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif; line-height: 1.5; }
img, svg { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; }
:focus-visible { outline: 3px solid #2563eb; outline-offset: 2px; }

.demo-ribbon {
  position: relative; z-index: 100;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .35rem .9rem;
  padding: .45rem 1rem; background: #0f172a; color: #e2e8f0;
  font: 500 .8125rem/1.3 "Segoe UI", system-ui, sans-serif; text-align: center;
}
.demo-ribbon strong { color: #fff; }
.demo-ribbon .dot { width: .45rem; height: .45rem; transform: rotate(45deg); background: #c79a3e; }
.demo-ribbon a { color: #67e8f9; font-weight: 600; text-underline-offset: 3px; }
html.embedded .demo-ribbon a { display: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}
