html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
a { text-underline-offset: 4px; }
.skip-link { position: fixed; left: 1rem; top: -4rem; z-index: 100; border-radius: .5rem; background: #fff; color: #031126; padding: .75rem 1rem; }
.skip-link:focus { top: 1rem; }
.icon-button { display: inline-grid; min-height: 44px; min-width: 44px; place-items: center; border-radius: 9999px; color: #fff; transition: background-color .2s ease; }
.icon-button:hover { background: rgba(255,255,255,.12); }
.icon-button:focus-visible, a:focus-visible, button:focus-visible, .form-input:focus-visible { outline: 2px solid #30d5c8; outline-offset: 3px; }
.language-menu { position: absolute; right: 0; top: calc(100% + .5rem); width: 11rem; max-height: min(70vh, 34rem); overflow-y: auto; border: 1px solid rgba(255,255,255,.18); border-radius: .75rem; background: #061a38; box-shadow: 0 12px 30px rgba(0,0,0,.25); }
.language-menu button { display: block; width: 100%; padding: .7rem 1rem; border: 0; background: transparent; color: #e2e8f0; font-size: .875rem; text-align: left; cursor: pointer; }
.language-menu button:hover, .language-menu button[aria-current="true"] { background: rgba(255,255,255,.12); }
[dir="rtl"] .language-menu button { text-align: right; }
.mobile-menu a { display: block; min-height: 44px; padding: .7rem 0; color: #e2e8f0; }
.form-input { width: 100%; min-height: 44px; border: 1px solid rgba(255,255,255,.22); border-radius: .75rem; background: rgba(255,255,255,.06); padding: .75rem .9rem; color: #fff; }
.form-input:focus { border-color: #30d5c8; outline: 0; }
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
[data-reveal-delay="1"] { transition-delay: .12s; }
.art-dark { mix-blend-mode: screen; filter: saturate(1.08) contrast(1.04); }
.art-light { mix-blend-mode: multiply; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } .reveal { opacity: 1; transform: none; } }
