/* One outlined composition for every native header and footer, including /france/. */
.brand.site-brand {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  width: 196px;
  max-width: 100%;
  gap: 0;
  line-height: 1;
  text-decoration: none;
}
.brand.site-brand > .site-brand-logo {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 196 / 56;
  border: 0;
  border-radius: 0;
  background: transparent;
  object-fit: contain;
}
.site-brand:focus-visible { outline-offset: 6px; }
.header-shell { gap: 20px; }
.menu-toggle { flex-shrink: 0; }
.footer-brand { min-width: 0; }
/* The territorial stylesheet loads after layout.css; keep its column shrinkable. */
.fdnl-two-columns > * { min-width: 0; }
.fdnl-facts dd { min-width: 0; overflow-wrap: anywhere; }
.site-footer.site-footer-english .footer-shell { padding-block: 24px; }
.site-footer-english .footer-language-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  padding-block: 24px;
}
.site-footer-english .footer-language-nav a { font: 16px/1.5 var(--sans); }
.site-footer-english .footer-shell > p { max-width: 70ch; }
@media (min-width: 821px) and (max-width: 1050px) {
  .footer-content { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .footer-brand { gap: 24px; }
  .site-footer nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .site-header .site-brand { width: 175px; }
}
@media (max-width: 359px) {
  .site-header .site-brand { width: 161px; }
  .header-shell { gap: 12px; }
}
