/* Site-wide header (assets/home-header.html), shared by every page.
   Replaces Quarto's default navbar so all pages match the homepage. */
.home-header {
  --hdr-paper: #faf9f6;
  --hdr-ink: #24392e;
  --hdr-green: #285541;
  --hdr-line: #d9ddd4;
  background: var(--hdr-paper);
  color: var(--hdr-ink);
  border-bottom: 1px solid var(--hdr-line);
  font-family: "Noto Sans", system-ui, sans-serif;
  font-size: 16px;
  line-height: normal;
  -webkit-font-smoothing: antialiased;
}
.home-header *, .home-header *::before, .home-header *::after { box-sizing: border-box; }
.home-header .wrap { width: min(1040px, calc(100% - 96px)); margin: auto; }
.home-header .header-inner { height: 90px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }

.home-header a,
.home-header a:visited { color: inherit; text-decoration: none; border-bottom: 0; background: none; }
.home-header a:hover { color: var(--hdr-green); text-decoration: underline; text-underline-offset: 5px; }
.home-header a:focus-visible,
.home-header summary:focus-visible { outline: 2px solid var(--hdr-green); outline-offset: 6px; }

.home-header .brand { display: flex; align-items: center; gap: 13px; font-size: 14px; letter-spacing: .025em; }
.home-header .brand img { width: 30px; height: 30px; object-fit: contain; margin: 0; }

.home-header nav { display: flex; gap: 29px; align-items: center; font-size: 13px; }
.home-header nav > a { display: flex; align-items: center; margin: 0; padding: 0; font: inherit; line-height: 1.4; }
.home-header nav .lang { border-left: 1px solid var(--hdr-line); padding-left: 23px; }

.home-header details { display: flex; align-items: center; position: relative; margin: 0; padding: 0; line-height: 1.4; border: 0; }
.home-header summary { display: flex; align-items: center; cursor: pointer; list-style: none; margin: 0; padding: 0; font: inherit; line-height: 1.4; color: inherit; }
.home-header summary::-webkit-details-marker { display: none; }
.home-header summary::after { content: '⌄'; margin-left: 6px; }
.home-header .more { line-height: 1.4; position: absolute; right: 0; top: 28px; padding: 18px; min-width: 150px; border: 1px solid var(--hdr-line); background: var(--hdr-paper); z-index: 1000; display: grid; gap: 15px; }

@media (max-width: 800px) {
  .home-header .wrap { width: calc(100% - 48px); }
  .home-header nav { gap: 18px; }
}
@media (max-width: 580px) {
  .home-header .header-inner { height: 76px; gap: 12px; }
  .home-header nav { gap: 15px; font-size: 12px; }
  .home-header nav .lang { padding-left: 12px; }
  .home-header .brand img { width: 23px; height: 23px; }
}
