html { scroll-behavior: smooth; }
body { overflow-wrap: anywhere; }
::selection { background: #0500ff; color: #fff; }
:focus-visible { outline: 3px solid #0500ff; outline-offset: 4px; }
[hidden] { display: none !important; }
.faq-open > div { grid-template-rows: 1fr !important; visibility: visible !important; opacity: 1 !important; }
.faq-open > button > span[aria-hidden] { transform: rotate(45deg); }
header nav li:focus-within > div { visibility: visible; opacity: 1; transform: translateY(0); }
.mobile-menu { position: absolute; inset: 60px 0 auto; background: #fff; padding: 16px 24px 24px; border-top: 1px solid #eee; max-height: calc(100dvh - 70px); overflow-y: auto; box-shadow: 0 12px 22px #00000014; }
.mobile-menu a { display: block; padding: 10px 0; font-size: 16px; color: #181818; }
[role="tab"][disabled] { cursor: default; }
.language-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.language-list a { padding: 10px 14px; border-radius: 10px; font-size: 16px; }
.language-list a:hover { background: #eee; }
.language-list [aria-current="page"] { background: #0500ff; color: #fff; }
#language-dialog { width: min(480px, calc(100vw - 32px)); }
dialog { border: 0; border-radius: 20px; padding: 32px; max-width: min(440px, calc(100vw - 32px)); color: #181818; background: white; box-shadow: 0 16px 48px #0002; }
dialog::backdrop { background: #0005; }
dialog h2 { font-size: 24px; font-weight: 700; margin-bottom: 14px; }
dialog p { line-height: 1.6; }
.notice-close { position: absolute; top: 8px; right: 16px; font-size: 28px; }
.notice-ok { display: block; background: #0500ff; color: white; border-radius: 30px; padding: 10px 24px; margin-top: 24px; }
@media (min-width: 992px) { .mobile-menu { display: none !important; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: 0s !important; animation-duration: 0s !important; } }
