.locale-picker { display:flex; align-items:center; gap:.4rem; font-size:.78rem; flex-wrap:wrap; }
.locale-picker select { max-width:9rem; padding:.5rem; border:1px solid #6c8980; border-radius:.6rem; background:#fff; color:#143e39; font:inherit; }
.locale-picker label { font-weight:600; }
.locale-picker noscript { flex-basis:100%; }
.nav { flex-wrap:wrap; }
[dir="rtl"] { text-align:right; }
[dir="rtl"] .breadcrumb,[dir="rtl"] .actions,[dir="rtl"] .section-head { direction:rtl; }
[dir="rtl"] .access-consent { text-align:right; }
[dir="rtl"] .atlas-cta-mascot { right:auto; left:0; }
.matrix-scroll { overflow-x:auto; max-width:100%; }
.matrix-scroll table { width:100%; border-collapse:collapse; font-size:.85rem; }
.matrix-scroll th,.matrix-scroll td { padding:.85rem; border-bottom:1px solid #cedbd3; vertical-align:top; text-align:start; min-width:9rem; }
.matrix-scroll tbody th { min-width:14rem; }
[dir="rtl"] .hero-art { direction:ltr; }
@media(max-width:760px) { .locale-picker { margin-inline-start:auto; } .locale-picker label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); } .locale-picker select { max-width:7rem; } }
/* Progressive language picker; native select remains usable without JavaScript. */
.locale-native-hidden { display:none !important; }
.locale-enhanced > label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.locale-trigger { display:inline-flex; align-items:center; gap:10px; padding:11px 15px; border:1px solid #cadad3; border-radius:999px; background:#f8fbf8; color:#143e39; font:inherit; font-size:13px; font-weight:600; line-height:1.2; cursor:pointer; white-space:nowrap; transition:background .2s,border-color .2s,box-shadow .2s; }
.locale-trigger:hover { background:#eaf3ed; border-color:#85a79a; box-shadow:0 3px 12px #143e3910; }
.locale-trigger:focus-visible,.locale-option:focus-visible,.locale-close:focus-visible { outline:3px solid #cc631f; outline-offset:4px; }
.locale-globe { width:18px; height:18px; border:1.5px solid currentColor; border-radius:50%; position:relative; box-sizing:border-box; }
.locale-globe::before { content:""; position:absolute; inset:-1.5px 4px; border:1.5px solid currentColor; border-radius:50%; }
.locale-globe::after { content:""; position:absolute; inset:6px -1px auto; border-top:1.5px solid currentColor; }
.locale-chevron { width:6px; height:6px; border-inline-end:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin-inline-start:4px; margin-top:-3px; }
.locale-modal-open { overflow:hidden; }
.locale-modal { margin:auto; box-sizing:border-box; width:min(580px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:auto; padding:36px; border:1px solid #d4e3db; border-radius:28px; background:radial-gradient(ellipse at 0 0,#eef6e9,transparent 70%),#fffdfa; color:#143e39; box-shadow:0 32px 100px #092b3540; font-family:Inter,system-ui,sans-serif; }
.locale-modal[open] { animation:locale-enter .2s ease-out; }
.locale-modal::backdrop { background:#0c272c8c; backdrop-filter:blur(7px); }
.locale-modal-heading { padding-inline-end:22px; }
.locale-eyebrow { font-size:10px; font-weight:750; letter-spacing:2.5px; color:#657f70; }
.locale-title { margin:12px 0 10px; font-size:30px; line-height:1.15; letter-spacing:-1px; color:#143e39; }
.locale-description { margin:0 0 25px; font-size:14px; line-height:1.6; color:#586b62; max-width:390px; }
.locale-close { position:absolute; inset:18px 18px auto auto; width:34px; height:34px; display:grid; place-items:center; padding:0; border:1px solid #d9e3dc; border-radius:50%; background:#ffffffb3; color:#456458; font:24px/1 system-ui,sans-serif; cursor:pointer; }
.locale-options { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.locale-option { box-sizing:border-box; display:flex; align-items:center; gap:11px; min-width:0; min-height:83px; padding:14px; border:1px solid #dce5de; border-radius:16px; background:#fff; color:#143e39; text-decoration:none; transition:background .15s,border-color .15s,transform .15s; }
.locale-option:hover { background:#f3f7ee; border-color:#91ac9d; transform:translateY(-2px); }
.locale-option.is-selected { background:#eaf3e5; border-color:#497c5a; box-shadow:inset 0 0 0 1px #497c5a; }
.locale-code { display:grid; place-items:center; flex-shrink:0; width:34px; height:34px; border-radius:11px; background:#f0f4ed; color:#63765b; font-size:11px; font-weight:750; letter-spacing:.5px; }
.is-selected .locale-code { background:#143e39; color:#fff; }
.locale-option-copy { display:flex; flex-direction:column; min-width:0; gap:4px; }
.locale-native { font-size:15px; font-weight:650; line-height:1.3; }
.locale-translated { color:#647269; font-size:11px; line-height:1.3; }
.locale-check { margin-inline-start:auto; color:#326044; font-size:15px; }
.locale-footnote { padding-top:18px; margin:20px 0 0; border-top:1px solid #dde7df; color:#647269; font-size:12px; text-align:center; }
[dir="rtl"] .locale-close { inset-inline-end:18px; inset-inline-start:auto; }
@keyframes locale-enter { from { opacity:0; transform:translateY(12px) scale(.98); } to { opacity:1; transform:none; } }
@media(max-width:480px) { .locale-modal { padding:28px 18px 22px; border-radius:22px; } .locale-title { font-size:26px; } .locale-option { padding:12px 10px; gap:8px; } .locale-native { font-size:14px; } .locale-code { width:28px; height:30px; } .locale-trigger { padding:10px 12px; } }
@media(prefers-reduced-motion:reduce) { .locale-modal[open] { animation:none; } .locale-option,.locale-trigger { transition:none; } .locale-option:hover { transform:none; } .locale-modal::backdrop { backdrop-filter:none; } }

.locale-overlay { position:fixed; inset:0; z-index:10001; display:grid; place-items:center; padding:16px; background:#0c272c8c; backdrop-filter:blur(7px); }
.locale-overlay[hidden] { display:none; }
.locale-overlay .locale-modal { margin:0; position:relative; }
@media(prefers-reduced-motion:reduce) { .locale-overlay { backdrop-filter:none; } }
