/* Shared language controls: the same alignment in the app, native URLs and
   portable review. Match the header's quiet underline instead of adding a box. */
.site-header .language{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:12px;line-height:1;font-weight:500;letter-spacing:.02em;flex-shrink:0}
.site-header .language [data-lang]{position:relative;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:44px;padding:0 3px;border:0!important;background:none;color:inherit;font:inherit;line-height:1;text-decoration:none!important;opacity:.65;cursor:pointer}
.site-header .language>span{display:inline-flex;align-items:center;justify-content:center;line-height:1;opacity:.5}
.site-header .language [data-lang]::after{content:"";position:absolute;left:4px;right:4px;bottom:7px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:center;transition:transform .2s ease}
.site-header .language [data-lang][aria-pressed=true],.site-header .language [data-lang][aria-current=true]{opacity:1}
.site-header .language [data-lang][aria-pressed=true]::after,.site-header .language [data-lang][aria-current=true]::after{transform:scaleX(1)}
.site-header .language [data-lang]:hover{opacity:1}
.site-header .language [data-lang]:focus-visible{outline:2px solid currentColor;outline-offset:1px}
@media(max-width:780px){.site-header .language{font-size:11px;gap:3px}.site-header .language [data-lang]{min-width:28px}.site-header .header-end{gap:12px}}
@media(max-width:400px){.site-header{gap:10px}.site-header .brand{width:clamp(130px,42vw,165px);flex-shrink:0}.site-header .header-end{gap:9px;margin-left:auto}.site-header .language{gap:2px}}
@media(max-width:400px){.structure-page h1{font-size:clamp(38px,11.4vw,44px)}}
@media(max-width:360px){.inbound-page .inbound-service-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.site-header .language [data-lang]::after{transition:none}}
