/* Shared cream / navy / teal palette, including accessible interactive states. */
:root {
  --teal: #13745e;
  --teal-2: #167a64;
  --slate-2: #646b78;
  --gold: #87591d;
  --coral: #af412d;
  --scale-surface: #132a4c;
  --scale-text: #fcfaf6;
  --scale-muted: #d8e1eb;
  --scale-teal: #9eebd1;
  --scale-line: #698099;
  --language-paper: #fcfaf6;
  --language-ink: #132a4c;
  --language-line: #69798d;
  --language-active: #13745e;
}
.language-switch {
  display:flex; justify-content:flex-end; align-items:center;
  padding:6px max(16px, calc((100% - 1180px) / 2 + 20px)) 0;
  position:relative; z-index:80;
}
.language-switch:has(+ .topbar) {
  height:0; padding:0; margin:0; overflow:visible;
}
.language-switch:has(+ .topbar) .lang-toggle {
  position:absolute; top:5px; right:max(16px, calc((100% - 1180px) / 2 + 20px));
}
.language-switch + .topbar .topbar-inner {
  padding-right:100px;
}
.language-switch:has(+ .topbar) .lang-menu {
  position:absolute; top:37px; right:max(16px, calc((100% - 1180px) / 2 + 20px));
}
.lang-toggle {
  display:inline-flex; align-items:center; gap:6px; min-height:26px;
  padding:4px 6px; border:none; background:transparent;
  cursor:pointer; line-height:0; color:#fff;
}
.language-switch:not(:has(+ .topbar)) .lang-toggle {
  color:var(--language-ink);
}
.lang-toggle:hover, .lang-toggle:focus-visible { background:rgba(255,255,255,.14); }
.language-switch:not(:has(+ .topbar)) .lang-toggle:hover,
.language-switch:not(:has(+ .topbar)) .lang-toggle:focus-visible { background:rgba(19,42,76,.08); }
.lang-toggle img { display:block; width:20px; height:14px; object-fit:cover; margin-right:4px; }
.lang-toggle-code {
  font:700 11px/1 var(--font-display, 'Poppins', system-ui, sans-serif);
  letter-spacing:.04em;
}
.lang-toggle-arrow { font-size:8px; line-height:1; opacity:.85; }
.lang-menu {
  display:none; flex-direction:column; min-width:38px;
  background:var(--language-paper); border:1px solid var(--language-line);
  box-shadow:0 10px 22px -12px rgba(0,0,0,.4);
}
.language-switch:not(:has(+ .topbar)) .lang-menu { position:absolute; top:100%; right:max(16px, calc((100% - 1180px) / 2 + 20px)); }
.language-switch:hover .lang-menu,
.language-switch:focus-within .lang-menu,
.language-switch.open .lang-menu { display:flex; }
.lang-menu a {
  display:flex; align-items:center; justify-content:center;
  padding:7px 8px; text-decoration:none; border-bottom:1px solid var(--language-line);
}
.lang-menu a:last-child { border-bottom:none; }
.lang-menu a[aria-current="page"] { background:var(--scale-muted,#EFEAE0); }
.lang-menu img { display:block; width:20px; height:14px; object-fit:cover; }
body[data-scale-catalog] .scale-surface { background:var(--scale-surface)!important; }
body:not([data-scale-site="tech"]):not([data-scale-catalog]) .scale-surface .btn-outline,
body:not([data-scale-site="tech"]):not([data-scale-catalog]) .scale-surface .btn-ghost {
  color:var(--language-ink); border-color:var(--language-ink);
}
body:not([data-scale-site="tech"]):not([data-scale-catalog]) .scale-surface .btn-outline:hover,
body:not([data-scale-site="tech"]):not([data-scale-catalog]) .scale-surface .btn-ghost:hover {
  color:var(--language-paper); background:var(--language-ink);
}
body:not([data-scale-site="tech"]):not([data-scale-catalog]) .scale-surface .hero-panel li,
body:not([data-scale-site="tech"]):not([data-scale-catalog]) .scale-surface .hero-panel li b,
body:not([data-scale-site="tech"]):not([data-scale-catalog]) .scale-surface .hero-panel span,
body:not([data-scale-site="tech"]):not([data-scale-catalog]) .scale-surface .kunye-satir dd {
  color:var(--language-ink);
}
body:not([data-scale-site="tech"]):not([data-scale-catalog]) .scale-surface .kunye-satir dt {
  color:var(--slate, #5b6472);
}
.alt .kunye { color:var(--scale-muted); }
.service-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.service-grid > * { min-width:0; overflow-wrap:anywhere; }
@media(max-width:900px) { .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .service-grid { grid-template-columns:minmax(0,1fr); } }
@media print { .language-switch { display:none; } }
