.skip-link {
  position: fixed;
  z-index: 1000;
  top: 10px;
  left: 10px;
  padding: 12px 16px;
  background: var(--lime);
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
  transform: translateY(-160%);
  transition: transform 0.15s;
}

.skip-link:focus { transform: none; }

.breadcrumbs {
  position: absolute;
  z-index: 20;
  top: 94px;
  left: 5vw;
  right: 5vw;
  width: max-content;
  max-width: 90vw;
  padding: 9px 12px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--ink);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  backdrop-filter: blur(10px);
}

.breadcrumbs ol {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.breadcrumbs li {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.breadcrumbs li:not(:last-child)::after { content: "/"; opacity: 0.4; }
.breadcrumbs a { text-decoration: underline; text-underline-offset: 3px; }
.breadcrumbs span[aria-current="page"] {
  max-width: 45vw;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.check a { text-decoration: underline; text-underline-offset: 3px; }

:where(a, button, input, textarea, select, summary):focus-visible {
  outline: 3px solid var(--lime);
  outline-offset: 3px;
}

main[tabindex="-1"]:focus { outline: none; }

@media (max-width: 760px) {
  .breadcrumbs { top: 79px; left: 20px; right: 20px; max-width: calc(100vw - 40px); }
  .breadcrumbs span[aria-current="page"] { max-width: 50vw; }
}

@media (prefers-reduced-motion: reduce) {
  .skip-link { transition: none; }
}
