/* Language dropdown with flags (SPEC-EV-0015 Amendment A). Colours are the ev tokens from ev-v7.css. */
.lang-dd{position:relative;margin-left:4px;font:600 13px var(--ev-mono);letter-spacing:.08em}
.lang-dd summary{list-style:none;display:inline-flex;align-items:center;gap:8px;cursor:pointer;padding:6px 8px;
  border:1px solid var(--ev-line-light);user-select:none;text-transform:uppercase}
.lang-dd summary::-webkit-details-marker{display:none}
.lang-dd summary:after{content:"";width:6px;height:6px;margin-left:2px;border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s}
.lang-dd[open] summary:after{transform:translateY(1px) rotate(-135deg)}
.lang-dd summary:focus-visible{outline:2px solid var(--ev-focus);outline-offset:2px}
.lang-dd img{width:20px;height:14px;object-fit:cover;display:block;box-shadow:0 0 0 1px var(--ev-line-light)}
.lang-dd ul{position:absolute;right:0;top:calc(100% + 8px);min-width:190px;margin:0;padding:6px 0;list-style:none;
  background:var(--ev-ink);border:1px solid var(--ev-line-light);z-index:200}
.lang-dd li{margin:0}
.hd-nav .lang-dd a,.lang-dd a{display:flex;align-items:center;gap:10px;padding:9px 14px;color:var(--ev-white);
  opacity:1;text-decoration:none;text-transform:none;letter-spacing:.02em;font:500 14px var(--ev-sans)}
.hd-nav .lang-dd a:after{content:none}
.lang-dd a:hover,.lang-dd a:focus-visible{background:var(--ev-blue);outline:none}
.lang-dd a[aria-current="page"]{font-weight:700}
.lang-dd a[aria-current="page"]:before{content:"";order:3;margin-left:auto;width:8px;height:8px;background:var(--ev-orange)}
.lang-dd a span{flex:1 1 auto}
/* The header blends with the page (mix-blend-mode: difference); an open list must not be inverted. */
.hd:has(.lang-dd[open]),.hd.lang-open{mix-blend-mode:normal!important;background:var(--ev-blue);color:var(--ev-white)}
/* Mobile menu */
.mnav-langs{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.mnav-langs a{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--ev-line);padding:6px 10px;
  font:600 12px var(--ev-mono);text-decoration:none;color:inherit}
.mnav-langs a img{width:18px;height:12px;object-fit:cover;display:block}
.mnav-langs a[aria-current="page"]{background:var(--ev-ink);color:var(--ev-white);border-color:var(--ev-ink)}
/* Locale home hero: the headings run 30 to 60 characters where the English one is 30, so the type is
   sized to keep the longest word on one line at 390 px, and long words hyphenate in the page language. */
[data-page="index"] .hero h1.h1-long{font-size:clamp(34px,8.4vw,104px);max-width:none;line-height:.98;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
/* Every language uses the English page; its home heading runs up to twice as long, so outside English the type
   is sized to keep the longest word on one line at 390 px (SPEC-EV-0015 Amendment C). */
html:not([lang="en"]) [data-page="index"] .hero h1{font-size:clamp(34px,8.4vw,104px);max-width:none;line-height:.98;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
/* Over a light page the header blends by difference, which shows a flag in inverted colours; the closed control's
   flag is pre-inverted so it reads true there. */
.hd.is-blend .lang-dd:not([open]) summary img{filter:invert(1)}
