.site-nav { position: relative; z-index: 30; display: flex; justify-content: space-between; align-items: center; gap: 25px; padding: 18px clamp(24px, 4vw, 64px); background: #1e332b; color: #f5f1e8; }
.site-brand { font: 22px Georgia, serif; letter-spacing: .02em; line-height: 1.15; color: #d8b77e; text-decoration: none; }
.site-links { display: flex; align-items: center; gap: clamp(14px, 2vw, 30px); list-style: none; margin: 0; padding: 0; }
.site-links > li { position: relative; }
.site-links a, .site-links summary { color: #f1eee5; font: 11px Arial, sans-serif; letter-spacing: .13em; text-decoration: none; text-transform: uppercase; cursor: pointer; white-space: nowrap; }
.site-links a:hover, .site-links summary:hover, .site-links a[aria-current=page] { color: #e1bd7b; }
.site-links summary::marker { color: #e1bd7b; }
.site-links details ul { position: absolute; top: 31px; right: 0; min-width: 230px; max-height: 65vh; overflow: auto; list-style: none; margin: 0; padding: 13px; background: #29463a; box-shadow: 0 18px 35px #1118; }
.site-links details li { padding: 10px 12px; border-bottom: 1px solid #ffffff1b; }
.site-links details li:last-child { border: 0; }
.menu-toggle { display: none; border: 1px solid #819489; border-radius: 3px; padding: 9px 12px; background: transparent; color: #f1eee5; cursor: pointer; }
#site-language { border: 1px solid #718478; border-radius: 2px; padding: 5px 7px; background: #29463a; color: #f1eee5; font: 11px Arial, sans-serif; cursor: pointer; }
@media (max-width: 1040px) {
  .site-nav { padding: 15px 20px; }
  .site-brand { font-size: 18px; }
  .menu-toggle { display: block; }
  .site-links { display: none; position: absolute; top: 57px; left: 0; right: 0; background: #1e332b; padding: 18px 20px 26px; flex-direction: column; align-items: stretch; gap: 19px; box-shadow: 0 18px 25px #0005; max-height: calc(100vh - 57px); overflow: auto; }
  .site-links.open { display: flex; }
  .site-links details ul { position: static; max-height: none; box-shadow: none; background: transparent; padding: 10px 0 0 16px; }
  .site-links details li { padding: 9px 0; }
}
@media (max-width: 620px) {
  .site-nav { flex-wrap: wrap; gap: 12px; }
  .site-brand { width: 100%; }
  .site-links { top: 100%; max-height: calc(100vh - 90px); }
  .site-nav.compact { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; row-gap: 10px; }
  .site-nav.compact .menu-toggle { display: none; }
  .site-nav.compact .site-links { grid-column: 1 / -1; grid-row: 2; display: flex; position: static; flex-direction: row; align-items: center; gap: 13px; padding: 0; max-height: none; overflow: visible; box-shadow: none; }
  .site-nav.compact .site-links a { font-size: 10px; letter-spacing: .03em; }
  .site-nav.compact .site-brand { grid-column: 1; grid-row: 1; width: auto; min-width: 0; font-size: 17px; letter-spacing: .01em; }
  .site-nav.compact #site-language { grid-column: 2; grid-row: 1; padding: 5px 2px; font-size: 10px; }
}
