.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 10000;
  transform: translateY(-160%);
  border-radius: 8px;
  background: #17181a;
  color: #fff;
  font-weight: 700;
  padding: 10px 14px;
  text-decoration: none;
}

.skip-link:focus { transform: translateY(0); }

:focus-visible {
  outline: 3px solid #c9a02b;
  outline-offset: 3px;
}

.mobile-menu-toggle { display: none; }

.cookie-consent {
  position: fixed;
  right: 18px;
  bottom: 18px;
  left: 18px;
  z-index: 9999;
  margin: 0 auto;
  max-width: 880px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 16px;
  background: #17181a;
  box-shadow: 0 18px 55px rgba(0,0,0,.32);
  color: #fff;
  padding: 20px;
}

.cookie-consent[hidden], .cookie-settings[hidden] { display: none !important; }
.cookie-consent__content { display: flex; align-items: center; gap: 24px; }
.cookie-consent h2 { color: #fff; font-size: 18px; line-height: 1.25; margin: 0 0 7px; }
.cookie-consent p { color: rgba(255,255,255,.82); font-size: 14px; line-height: 1.55; margin: 0; }
.cookie-consent a { color: #e2c05f; }
.cookie-consent__actions { display: flex; flex: 0 0 auto; gap: 10px; }
.cookie-consent button, .cookie-settings {
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  padding: 10px 15px;
}
.cookie-consent__primary { background: #c9a02b; color: #17181a; }
.cookie-consent__secondary { border-color: rgba(255,255,255,.45) !important; background: transparent; color: #fff; }
.cookie-settings {
  position: fixed;
  right: 12px;
  bottom: 12px;
  z-index: 9998;
  border-color: rgba(23,24,26,.18);
  background: #fff;
  box-shadow: 0 6px 22px rgba(0,0,0,.16);
  color: #591224;
}

@media (max-width: 899px) {
  .header-inner { position: relative; gap: 10px; }
  .mobile-menu-toggle {
    display: inline-flex;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border: 1px solid rgba(23,24,26,.14);
    border-radius: 10px;
    background: transparent;
    color: #591224;
    cursor: pointer;
  }
  .mobile-menu-toggle span { width: 19px; height: 2px; border-radius: 2px; background: currentColor; }
  .site-header .main-nav.is-open {
    display: block;
    position: absolute;
    top: calc(100% + 1px);
    right: 0;
    left: 0;
    z-index: 101;
    border-bottom: 1px solid rgba(23,24,26,.1);
    background: #faf7f2;
    box-shadow: 0 15px 28px rgba(23,24,26,.13);
    padding: 10px 24px 18px;
  }
  .site-header .main-nav.is-open ul { display: flex; flex-direction: column; gap: 2px; }
  .site-header .main-nav.is-open a { display: block; padding: 10px 0; }
  .header-actions { margin-left: auto; }
  .cookie-consent__content { align-items: stretch; flex-direction: column; gap: 16px; }
  .cookie-consent__actions { flex-direction: column-reverse; }
  .cookie-consent button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
