.main-nav a {
    position: relative;
    transition: color .2s ease;
}

.main-nav a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background: #0092cf;
    transition: width .3s ease;
}

.main-nav a:hover,
.main-nav a:focus-visible {
    color: #0092cf;
}

.main-nav a:hover::after,
.main-nav a:focus-visible::after {
    width: 100%;
}

@media (min-width: 1331px) and (max-width: 1650px) {
    .main-nav a { font-size: 14px; letter-spacing: 0; padding: 14px 10px; }
}

@media (max-width: 1330px) {
    .header-inner { flex-wrap: wrap; }
    .menu-toggle { display: block; }
    .main-nav { display: none; width: 100%; flex-direction: column; align-items: stretch; padding-top: 12px; }
    .main-nav.is-open { display: flex; }
    .main-nav a { padding: 15px 0; }
    .main-nav a::after { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .main-nav a,
    .main-nav a::after { transition: none; }
}

.lang-switch { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; min-width:38px; min-height:32px; padding:0 7px; border:1px solid #b9dce9; border-radius:4px; background:#eef8fc; color:#075b82; font-size:13px; font-weight:800; letter-spacing:.04em; line-height:1; text-decoration:none; white-space:nowrap; transition:background .2s ease,color .2s ease; }
.lang-switch:hover,.lang-switch:focus-visible { background:#087eaf; color:#fff; border-color:#087eaf; }
@media (min-width:1331px) and (max-width:1450px) { .header-inner { gap:14px; } }
@media (max-width:1330px) { .lang-switch { margin-left:auto; } }
@media (prefers-reduced-motion:reduce) { .lang-switch { transition:none; } }
