/* Desktop navigation remains visible on ordinary laptop screens. */
@media (max-width: 1150px) {
  .header .menu-toggle {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 112px; min-height: 46px; gap: 14px; padding: 12px 15px;
    border: 1px solid #c5d1c0; border-radius: 8px; background: #eef3e9;
    color: #172c25; cursor: pointer; font-size: 14px; font-weight: 500;
    transition: background .18s ease, border-color .18s ease;
  }
  .header .menu-toggle:hover { background: #e0ebd6; border-color: #90a67d; }
  .header .menu-toggle[aria-expanded="true"] { background: #172c25; color: #e5f4d9; border-color: #172c25; }
  .menu-icon { width: 20px; height: 16px; position: relative; display: block; }
  .menu-icon i { position: absolute; height: 1.5px; background: currentColor; left: 0; width: 20px; transition: transform .2s ease, opacity .15s ease; }
  .menu-icon i:nth-child(1) { top: 1px; }
  .menu-icon i:nth-child(2) { top: 7px; width: 15px; }
  .menu-icon i:nth-child(3) { top: 13px; }
  .menu-toggle[aria-expanded="true"] .menu-icon i:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] .menu-icon i:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] .menu-icon i:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .header nav {
    display: none; position: absolute; left: 14px; right: 14px; top: calc(100% + 10px);
    padding: 16px; border: 1px solid #365143; border-radius: 12px;
    background: #172c25; color: #f0f6ec;
    box-shadow: 0 18px 40px #13231c33;
    max-height: calc(100dvh - 116px); overflow-y: auto; overscroll-behavior: contain;
  }
  .header nav.open { display: flex; flex-direction: column; gap: 5px; animation: menu-enter .18s ease-out; }
  .header nav a {
    display: flex; align-items: center; min-height: 50px;
    padding: 13px 15px; border: 0; border-radius: 6px;
    font-size: 16px; line-height: 1.5; white-space: normal; text-decoration: none;
    color: #e8f0e6; transition: background .15s ease;
  }
  .header nav a:hover { background: #243e30; color: #e6f6d6; }
  .header nav a[aria-current="page"] { background: #2d4935; color: #c3e6a3; box-shadow: inset 3px 0 #a8ce80; }
  .header nav a.nav-contact { margin-top: 12px; justify-content: center; background: #c0dda3; color: #172c25; border: 1px solid #c0dda3; font-weight: 600; }
  .header nav a.nav-contact:hover { background: #d1e8b9; }
  .header nav a:focus-visible { outline-color: #b7d88e; outline-offset: -3px; }
}
@keyframes menu-enter { from { opacity: 0; transform: translateY(-7px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  .header nav.open { animation: none; }
  .header .menu-toggle, .menu-icon i, .header nav a { transition: none; }
}
@media (min-width: 1151px) {
  .header .wrap { width: min(1440px, calc(100% - 48px)); }
  .header .nav { min-height: 92px; gap: 24px; }
  .header .brand { width: 170px; }
  .header .menu-toggle { display: none; }
  .header nav, .header nav.open {
    display: flex;
    position: static;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 14px;
  }
  .header nav a { padding-block: 12px; }
  .header nav .nav-contact { padding: 12px 16px; }
}
@media (min-width: 1151px) and (max-width: 1300px) {
  .header .brand { width: 150px; }
  .header .nav { gap: 18px; }
  .header nav, .header nav.open { gap: 14px; }
  .header nav .nav-contact { padding-inline: 12px; }
}

/* A restrained, consistent navigation treatment across every page. */
.header nav a { font-weight: 500; }
.header nav a:focus-visible { outline: 2px solid #507d32; outline-offset: 3px; }
@media (min-width: 1151px) {
  .header .nav { gap: 20px; }
  .header nav, .header nav.open { gap: 4px; }
  .header nav a {
    position: relative; padding: 13px 11px; border-radius: 7px;
    color: #34473b; line-height: 1.4;
    transition: color .18s ease, background .18s ease;
  }
  .header nav a:not(.nav-contact)::after {
    content: ''; position: absolute; height: 2px; bottom: 5px;
    left: 12px; right: 12px; background: #507d32;
    transform: scaleX(0); transform-origin: left;
    transition: transform .18s ease;
  }
  .header nav a:hover { color: #365b25; background: #edf2e8; }
  .header nav a:hover::after, .header nav a[aria-current="page"]::after { transform: scaleX(1); }
  .header nav a[aria-current="page"] { background: #e7efdf; color: #365b25; }
  .header nav a.nav-contact {
    margin-left: 10px; padding: 13px 19px; border: 1px solid #172c25;
    background: #172c25; color: #fff; border-radius: 7px;
  }
  .header nav a.nav-contact:hover { background: #34523d; border-color: #34523d; }
}
@media (min-width: 1151px) and (max-width: 1300px) {
  .header .wrap { width: calc(100% - 40px); }
  .header .nav { gap: 14px; }
  .header nav a { padding-inline: 8px; }
  .header nav a.nav-contact { margin-left: 4px; padding-inline: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .header nav a, .header nav a::after { transition: none; }
}

/* Bilingual navigation */
.language-switch{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;margin-left:8px;font-size:12px;flex-shrink:0}.language-switch a{padding:5px 2px;font-size:12px;letter-spacing:.04em}.language-switch a[aria-current="true"]{font-weight:700;text-decoration:underline;text-underline-offset:5px}.language-switch>span{opacity:.45}@media(max-width:1150px){.language-switch{margin:8px 0 0;padding-top:8px;border-top:1px solid #cad7c2;justify-content:flex-start}.language-switch a{width:auto;padding:8px;font-size:14px}}
