.language-carousel { --language-card-width: 280px; --language-gap: 12px; position: relative; margin-top: 34px; text-align: left; }
.language-marquee { position: relative; isolation: isolate; display: grid; gap: var(--language-gap); padding-block: var(--language-gap); overflow: hidden; border-radius: 18px; background: var(--bg); }
.language-lane { min-width: 0; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #38373e transparent; }
.language-lane:focus-visible { outline-offset: -2px; }
.language-track { display: flex; width: max-content; }
.language-set { display: flex; flex: none; gap: var(--language-gap); list-style: none; margin: 0; padding: 0 var(--language-gap) 0 0; }
.language-set-copy { display: none; }
.language-card { flex: 0 0 var(--language-card-width); width: var(--language-card-width); min-height: 140px; padding: 20px 22px; border: 0; border-radius: 14px; background: linear-gradient(145deg,#151517,#0d0d0f); text-align: start; }
.language-card-name { display: flex; align-items: center; gap: 7px; color: #908b9b; font-size: 12px; line-height: 18px; }
.language-card-flag { flex: none; font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; font-size: 16px; line-height: 1; }
.language-card p { margin-top: 14px; color: #e3e0e8; font-size: 19px; line-height: 1.45; letter-spacing: -.02em; overflow-wrap: anywhere; }
.language-carousel[data-enhanced="true"] .language-lane { overflow: hidden; }
.language-carousel[data-enhanced="true"] .language-set-copy { display: flex; }
.language-carousel[data-enhanced="true"] .language-track { animation: language-drift var(--language-duration) linear infinite; animation-play-state: paused; }
.language-carousel[data-enhanced="true"] .language-lane:nth-child(2) .language-track { animation-direction: reverse; animation-delay: -10s; }
.language-carousel[data-enhanced="true"] .language-lane:nth-child(3) .language-track { animation-delay: -18s; }
.language-carousel[data-running="true"] .language-track { animation-play-state: running; will-change: transform; }
/* Reuse the header's six progressive backdrop-blur layers, turned sideways.
   Only these narrow edge strips cover the tracks; the center stays sharp. */
.language-edge { position: absolute; z-index: 2; inset-block: 0; width: clamp(10px,1.5vw,28px); pointer-events: none; }
.language-edge--left { left: 0; --edge-direction: 90deg; }
.language-edge--right { right: 0; --edge-direction: 270deg; }
.language-edge .header-blur-layer {
 -webkit-mask-image: linear-gradient(var(--edge-direction),#000 0%,#000 var(--fade-start),transparent var(--fade-end));
 mask-image: linear-gradient(var(--edge-direction),#000 0%,#000 var(--fade-start),transparent var(--fade-end));
}
.language-edge::after { content: ''; position: absolute; inset: 0; background: linear-gradient(var(--edge-direction),var(--bg) 0%,rgb(8 8 8 / .94) 25%,rgb(8 8 8 / .64) 55%,rgb(8 8 8 / .24) 78%,transparent 100%); }
@keyframes language-drift { to { transform: translateX(-50%); } }
@media(max-width:760px) {
 .language-carousel { --language-card-width: 240px; --language-gap: 10px; margin-top: 28px; }
 .language-card { min-height: 136px; padding: 18px; }
 .language-card p { font-size: 18px; margin-top: 12px; }
}
@media(prefers-reduced-motion:reduce) {
 .language-carousel .language-track { animation: none !important; transform: none !important; will-change: auto !important; }
 .language-carousel .language-set-copy { display: none !important; }
 .language-carousel .language-lane { overflow-x: auto !important; }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 .language-edge::after { background: linear-gradient(var(--edge-direction),var(--bg) 0%,rgb(8 8 8 / .96) 55%,rgb(8 8 8 / .6) 78%,transparent 100%); }
}
@media(prefers-reduced-transparency:reduce) {
 .language-edge::after { background: linear-gradient(var(--edge-direction),var(--bg) 0%,var(--bg) 65%,transparent 100%); }
}
