.site-header { gap: 1.25rem; }
.main-nav { margin-left: auto; }
.language-picker { position: relative; flex-shrink: 0; align-self: center; z-index: 5; }
.language-trigger { display: flex; align-items: center; justify-content: center; gap: .55rem; height: 48px; min-width: 90px; list-style: none; cursor: pointer; user-select: none; border-radius: 8px; border: 1px solid #9eb9ca45; padding: .5rem .65rem; background: #0b243744; }
.language-trigger::-webkit-details-marker { display: none; }
.current-language { font: 600 .875rem/1 var(--body); letter-spacing: .06em; min-width: 20px; color: #e2f0f8; }
.language-symbol { color: #c5dbe7; font: 600 1.1rem/1 var(--body); letter-spacing: -.18em; }
.language-symbol span { font-size: .8rem; vertical-align: -.15rem; }
.language-chevron { color: #9dbbcc; font-size: 1rem; }
.language-menu { position: absolute; top: calc(100% + .5rem); right: 0; width: 220px; padding: .9rem; border-radius: 12px; border: 1px solid #95b3c83d; background: #10283d; color: #eaf4fa; box-shadow: 0 16px 50px #020d2b66; }
.language-menu p { margin: .1rem .5rem .65rem; font-size: .875rem; color: #bed0df; }
.language-menu button { width: 100%; display: flex; align-items: center; gap: .65rem; padding: .8rem .6rem; background: transparent; border: 0; border-radius: 6px; color: inherit; font: 500 1rem/1.4 var(--body); cursor: pointer; text-align: left; }
.language-menu button:hover, .language-menu button[aria-pressed="true"] { background: #244359; }
.language-menu button > span:first-child { font-size: 1.2rem; }
.language-check { margin-left: auto; visibility: hidden; color: var(--mint); }
[aria-pressed="true"] .language-check { visibility: visible; }
.language-picker :focus-visible { outline-color: var(--mint); }
.back-to-top { position: fixed; z-index: 18; right: max(1.25rem,env(safe-area-inset-right)); bottom: max(1.25rem,env(safe-area-inset-bottom)); display: inline-flex; align-items: center; gap: .6rem; min-height: 48px; padding: .65rem 1rem; border: 1px solid #9bc5b6; border-radius: 999px; background: #102a3f; color: #effaf7; box-shadow: 0 6px 24px #051d3633; font: 500 .875rem/1.4 var(--body); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(12px); transition: opacity .2s,transform .2s,visibility .2s; }
.back-to-top > span:first-child { font-size: 1.5rem; line-height: 1; color: var(--mint); }
.back-to-top.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.back-to-top:hover { background: #1c4155; }
.back-to-top:focus-visible { outline-color: #076951; }
@media (max-width: 1080px) and (min-width: 851px) { .site-header { gap: .7rem; padding-left: 1.5rem; padding-right: 1.5rem; }.main-nav { gap: .85rem; font-size: .9375rem; }.main-nav .nav-contact { padding: .6rem .75rem; }.nav-contact span { margin-left: .4rem; } }
@media (max-width: 850px) { .site-header { gap: .5rem; }.language-picker { margin-left: auto; order: 2; }.menu-button { order: 3; }.main-nav { margin-left: 0; }.language-trigger { min-width: 69px; }.language-menu { right: -48px; }.brand-logo { width: 142px; }.menu-button { padding: .4rem; }.back-to-top { right: max(.85rem,env(safe-area-inset-right)); bottom: max(.85rem,env(safe-area-inset-bottom)); min-height: 46px; padding: .6rem .8rem; } }
@media (max-width: 360px) { .site-header { padding-left: 1rem; padding-right: .75rem; gap: .1rem; }.brand-logo { width: 124px; }.language-trigger { min-width: 72px; padding: .5rem; gap: .4rem; }.language-chevron { display: none; } }
@media (prefers-reduced-motion: reduce) { .back-to-top { transition: none; } }
