* { box-sizing: border-box; }
:where(img[width][height]) { height: auto; }
html { scroll-behavior: smooth; }
.skip-link { position: fixed; left: 12px; top: 8px; z-index: 10000; padding: 12px 20px; background: #fff; color: #0a1f44; transform: translateY(-200%); }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid #2674bf; outline-offset: 4px; }
img:not(.hero-image) { max-width: 100%; }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
    .hero-image { transform: none !important; }
    .apparizione { opacity: 1 !important; transform: none !important; }
}

.language-switcher {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-left: 4px;
        }

.language-button {
            width: 38px;
            height: 34px;
            padding: 0;
            border: 1px solid rgba(10,31,68,.14);
            border-radius: 10px;
            background: #ffffff;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            opacity: .58;
            overflow: hidden;
            transition: opacity .2s ease, transform .2s ease, border-color .2s ease, box-shadow .2s ease;
        }

.language-button svg {
                width: 28px;
                height: 20px;
                display: block;
                border-radius: 3px;
                box-shadow: 0 2px 6px rgba(10,31,68,.16);
            }

.language-button:hover {
                opacity: 1;
                transform: translateY(-2px);
                border-color: rgba(10,31,68,.34);
            }

.language-button.active {
                opacity: 1;
                border-color: var(--gold);
                box-shadow: 0 5px 14px rgba(10,31,68,.14);
            }
