/* SPECTERRA language controls: quiet footer, deliberate on-demand chooser. */
/* Retain the scrollbar's width during modal scroll locking: the background
   must not reflow or shift vertically when the chooser closes. */
html{scrollbar-gutter:stable}
.sp-language-bar{background:var(--sp-night,#121615);color:#b7c1b8;font-family:var(--sp-font,system-ui,sans-serif);font-size:.8125rem;line-height:1.45;padding:0 0 1.25rem}
.sp-language-bar__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem 2rem;border-top:1px solid #354139;padding-top:.75rem}
.sp-language-links{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1.75rem}
.sp-language-links a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:none;text-underline-offset:.35em}
.sp-language-links a:hover{color:#eef4e8;text-decoration:underline}
.sp-language-picker{position:relative;flex:0 0 auto;max-width:100%}
.sp-language-picker summary{display:inline-flex;align-items:center;gap:.65rem;min-height:44px;max-width:100%;padding:.6rem .85rem;border:1px solid #455148;border-radius:3px;cursor:pointer;list-style:none;color:#eef4e8;font-weight:500;transition:background 140ms ease,border-color 140ms ease}
.sp-language-picker summary::-webkit-details-marker{display:none}
.sp-language-picker summary::marker{content:""}
.sp-language-picker summary:hover{background:#202a23;border-color:#91a58b}
.sp-language-globe,.sp-language-chevron{flex-shrink:0}
.sp-language-chevron{margin-left:.45rem;color:#a9bba0}
.sp-language-picker[open] .sp-language-chevron{transform:rotate(180deg)}
.sp-language-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;padding:0;margin:0}
.sp-language-options a{display:flex;align-items:center;justify-content:space-between;gap:.55rem;min-height:52px;padding:.8rem 1rem;border:1px solid #d8ded4;border-radius:3px;color:#233127;background:#eef1e9;text-decoration:none;line-height:1.35;font-size:1rem;font-weight:450;overflow-wrap:anywhere;transition:background 140ms ease,border-color 140ms ease}
.sp-language-options a:hover{background:#e1e8d9;border-color:#829878}
.sp-language-options a[aria-current="true"]{background:#d9e7cc;border-color:#91aa80;color:#1c2e1b;font-weight:600}
.sp-language-options a svg{flex:0 0 auto}
/* Without JavaScript, native details and every equivalent-page link still work. */
.sp-language-picker>.sp-language-options{position:absolute;right:0;bottom:calc(100% + .75rem);z-index:75;width:min(48rem,calc(100vw - 2.5rem));max-height:65vh;overflow:auto;padding:1rem;border:1px solid #485649;border-radius:5px;background:#172019;box-shadow:0 1rem 3rem #0005}
.sp-language-picker:not([open])>.sp-language-options{display:none}
.sp-language-bar :focus-visible{outline:3px solid #d9e7cc;outline-offset:4px}
.sp-language-dialog{box-sizing:border-box;width:min(54rem,calc(100% - 3rem));max-height:calc(100vh - 3rem);max-height:calc(100dvh - 3rem);margin:auto;padding:2rem 2rem 1.5rem;border:1px solid #d3dcd0;border-radius:7px;background:#f6f7f3;color:#19221e;font:inherit;box-shadow:0 2rem 6rem #0005;overflow:hidden}
.sp-language-dialog:not([open]){display:none}
.sp-language-dialog[open]{display:flex;flex-direction:column;gap:1.5rem;animation:sp-language-reveal 150ms ease-out}
.sp-language-dialog::backdrop{background:#09110dcc;backdrop-filter:blur(6px)}
.sp-language-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex:0 0 auto}
.sp-language-dialog__eyebrow{margin:0 0 .65rem;color:#586750;font-size:.6875rem;font-weight:600;letter-spacing:.17em;line-height:1.4}
.sp-language-dialog h2{margin:0;font-family:inherit;font-size:clamp(1.6rem,3vw,2.15rem);font-weight:500;letter-spacing:-.035em;line-height:1.18;text-wrap:balance}
.sp-language-dialog__close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:1px solid #c7d1c2;border-radius:3px;color:#233127;background:transparent;cursor:pointer}
.sp-language-dialog__close:hover{background:#e4eadc;border-color:#849978}
.sp-language-dialog__body{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9bac91 transparent;padding:4px;margin:-4px}
.sp-language-dialog__footer{flex:0 0 auto}
.sp-language-dialog__footer:has(>button[hidden]):has(>p:empty){display:none}
.sp-language-reset{display:inline-flex;align-items:center;min-height:44px;padding:.5rem 0;border:0;background:transparent;color:#50624b;cursor:pointer;font-family:inherit;font-size:.8125rem;text-align:left;line-height:1.45;text-decoration:underline;text-underline-offset:.3em}
.sp-language-reset:hover{color:#1f3d19}
.sp-language-reset[hidden]{display:none!important}
.sp-language-status{margin:.5rem 0 0;color:#425a3e;font-size:.8125rem;line-height:1.5}
.sp-language-status:empty{display:none}
.sp-language-dialog :focus-visible{outline:3px solid #42613b;outline-offset:3px}
.sp-language-modal-open{overflow:hidden}
.sp-legal-cookies{max-width:75ch;margin:0 auto;padding:3rem 1.5rem;line-height:1.75}
.sp-legal-cookies h1{font-size:clamp(2rem,6vw,3.5rem);line-height:1.15}
.sp-legal-cookies code{overflow-wrap:anywhere}
@keyframes sp-language-reveal{from{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.sp-language-options{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-language-dialog{padding:1.5rem;width:calc(100% - 2rem);max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem)}.sp-language-dialog[open]{gap:1.25rem}.sp-language-options a{padding:.8rem .85rem}.sp-language-links{gap:.15rem 1.25rem}}
@media(max-width:480px){.sp-language-bar__inner{flex-wrap:wrap;gap:.5rem}.sp-language-links{flex:1 1 100%;font-size:.75rem}.sp-language-picker{margin-left:auto}.sp-language-dialog{padding:1.25rem;max-height:calc(100vh - 1.5rem);max-height:calc(100dvh - 1.5rem);width:calc(100% - 1.5rem)}.sp-language-dialog h2{font-size:1.65rem}.sp-language-dialog__eyebrow{font-size:.625rem}.sp-language-options a{font-size:.9375rem}.sp-language-picker>.sp-language-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Native footer labels must not force two min-content tracks beyond a small
   phone viewport. Keep complete local words readable instead of clipping. */
@media(max-width:379px){.sp-site-footer__top{grid-template-columns:minmax(0,1fr);gap:2rem}.sp-site-footer__top>*{min-width:0}.sp-footer-links a{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.sp-language-dialog[open]{animation:none}.sp-language-bar *{transition:none}}
@media(forced-colors:active){.sp-language-options a[aria-current="true"]{outline:2px solid CanvasText}.sp-language-dialog::backdrop{background:Canvas;opacity:.7}}
