*, *::before { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
img, svg, video { max-width: 100%; height: auto; }
input, textarea, select, button { font: inherit; }
nav[aria-label="Indice dei blocchi dell'Osservatorio IA"], section[aria-label="Observatory sections"] { border: 0 !important; }
.language-flag { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 24px; width: 24px; height: 16px; padding: 0; border: 1px solid rgba(148, 163, 184, .45); border-radius: 3px; overflow: hidden; cursor: pointer; transition: transform .2s ease, opacity .2s ease, box-shadow .2s ease; }
.language-flag img { display: block; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.language-flag:hover, .language-flag:focus-visible { transform: scale(1.08); opacity: .92; box-shadow: 0 0 0 2px rgba(129, 140, 248, .42); outline: none; }
@media (max-width: 640px) {
  header { gap: 1rem; flex-wrap: wrap; }
  header > nav { margin-left: auto; }
  main { padding-top: 2rem !important; padding-bottom: 2rem !important; }
  section, main > div { border-radius: 1.25rem !important; }
}
