/* La navegación conserva las proporciones del diseño original a 1920 px. */
.header-location { display: none; }

@media (min-width: 1201px) {
  .site-header {
    position: fixed;
    top: 0;
    height: 150px;
    min-height: 150px;
    background: var(--green);
    transition: transform .5s cubic-bezier(.22, .61, .36, 1);
  }
  .site-header.header-hidden { transform: translateY(-100%); }
  .header-inner {
    width: calc(100% - clamp(80px, 14.5833vw, 280px));
    max-width: 1640px;
    height: 150px;
    grid-template-columns: auto minmax(0, 1fr);
  }
  .brand img {
    width: clamp(58px, 4.375vw, 84px);
    height: auto;
    aspect-ratio: 83.9 / 102;
  }
  .desktop-nav {
    gap: clamp(50px, 6vw, 115px);
    font-size: clamp(22px, 1.875vw, 36px);
  }
  .desktop-nav a:not(.header-contact) { position: relative; }
  .desktop-nav a:not(.header-contact)[aria-current="location"] { color: #ead9b3; }
  .desktop-nav a:not(.header-contact)[aria-current="location"]::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -14px;
    height: 3px;
    background: var(--gold);
    border-radius: 3px;
  }
  .header-contact img {
    width: clamp(180px, 13.5417vw, 260px);
    height: auto;
    aspect-ratio: 260 / 72;
  }
  .site-header[data-section="filosofia"] .header-location {
    display: block;
    position: absolute;
    left: 50%;
    bottom: 8px;
    transform: translateX(-50%);
    color: #ead9b3;
    font-size: 14px;
    letter-spacing: .14em;
    text-transform: uppercase;
  }
}

@media (max-width: 1200px) {
  .site-header { position: sticky !important; top: 0 !important; }
  #nosotros, #servicios, #filosofia, #contacto { scroll-margin-top: 100px; }
}

@media (max-width: 599px) {
  #nosotros, #servicios, #filosofia, #contacto { scroll-margin-top: 76px; }
}

@media (max-width: 900px) {
  /* El overflow heredado de body impedía fijar la cabecera al hacer scroll. */
  body:not(.mobile-menu-open) { overflow-x: clip !important; overflow-y: visible !important; }
}

@media (min-width: 1201px) {
  #nosotros, #servicios, #filosofia, #contacto { scroll-margin-top: 165px; }
}

.site-header a:focus-visible,
.mobile-menu-button:focus-visible,
.mobile-menu-close:focus-visible { outline: 3px solid var(--gold); outline-offset: 6px; }

@media (prefers-reduced-motion: reduce) {
  .site-header { transition-duration: 0s; }
}
