/* Keep the full-width layout scoped to the header; content .wrap stays unchanged. */
body>header>.wrap{width:100%;max-width:none;margin:0;padding-inline:clamp(16px,2vw,40px);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:16px;align-items:center}
body>header .brand{grid-column:1;grid-row:1;justify-self:start;min-width:0}
body>header .site-nav{grid-column:2;grid-row:1;justify-self:center;white-space:nowrap}
body>header nav .button{margin-top:0}
body>header .mobile{display:none}
.language-switch{grid-column:3;grid-row:1;justify-self:start;display:flex;align-items:center;gap:2px;margin:0;flex-shrink:0;font-size:14px;line-height:1.2;white-space:nowrap}
.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 8px;color:var(--ink);text-decoration:none;border-radius:2px}
.language-switch>span{color:var(--ink);opacity:.55}
.language-switch a[aria-current=true]{background:var(--soft);color:var(--strong);font-weight:700}
.language-switch a:hover{background:var(--soft)}
.language-switch a:focus-visible{outline:2px solid var(--strong);outline-offset:3px}
.translation-notice{padding:20px max(20px,calc((100vw - 1200px)/2));background:var(--soft);color:var(--ink);font-size:16px;line-height:1.6}
.translation-notice a{color:inherit;text-decoration:underline}
@media(min-width:1280px) and (max-width:1499px){
  body>header .brand{font-size:18px;gap:10px;letter-spacing:.03em}
  body>header .site-nav{gap:20px;font-size:16px}
}
@media(max-width:1279px){
  body>header .site-nav{display:none}
  body>header .mobile-menu{display:block;position:relative;grid-column:2;grid-row:1;justify-self:center;margin:0}
  .mobile-menu>summary{padding:12px;cursor:pointer;list-style:none;min-width:44px;min-height:44px}
  .mobile-menu nav{display:flex;position:absolute;left:50%;right:auto;top:100%;transform:translateX(-50%);width:min(320px,calc(100vw - 32px));padding:24px;flex-direction:column;align-items:stretch;background:var(--bg);border:1px solid #54705e40;box-shadow:0 12px 30px #0002;gap:4px}
  .mobile-menu nav a{padding:10px 8px}
  .mobile-menu nav .button{margin-top:8px}
}
@media(max-width:600px){
  body>header{height:108px}
  body>header>.wrap{grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:0;padding-block:6px}
  body>header .brand{grid-column:1;grid-row:1;max-width:100%}
  body>header .brand span{min-width:0}
  .language-switch{grid-column:2;grid-row:1}
  body>header .mobile-menu{grid-column:1 / -1;grid-row:2}
}
@media(max-width:360px){body>header .brand{font-size:14px;letter-spacing:0}}
