/* #7825 footer ring, #7826 blog cards, #7827 skip-link */
.site-footer a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
  border-radius: 4px;
}
.blog-list a:focus-visible,
.post-card a:focus-visible,
article.card a:focus-visible,
a.blog-card:focus-visible {
  outline: 2px solid var(--focus-ring, #0071e3);
  outline-offset: 3px;
}
.skip-link {
  position: absolute;
  left: -999px;
  top: 0;
}
.skip-link:focus,
.skip-link:focus-visible {
  position: fixed;
  left: 12px;
  top: 12px;
  z-index: 200;
  padding: 8px 12px;
  background: #fff;
  color: #1d1d1f;
  outline: 2px solid var(--focus-ring, #0071e3);
  border-radius: 8px;
}
@media (prefers-reduced-motion: reduce) {
  .site-footer a,
  .post-card,
  .blog-card,
  article.card {
    transition: none !important;
    transform: none !important;
  }
}
@media print {
  .skip-link { display: none !important; }
}

/* #8007 keyboard ring on dark bar — logo, desktop links, mobile sheet */
.global-nav a:focus-visible,
.nav-links-mobile a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
  border-radius: 4px;
}
/* #8008 current section not color-only */
.global-nav a[aria-current="page"] {
  box-shadow: inset 0 -2px 0 #fff;
}
@media (prefers-reduced-motion: reduce) {
  .nav-mobile[open] .nav-toggle-bars::before,
  .nav-mobile[open] .nav-toggle-bars::after {
    transform: none;
  }
}
/* #8009 home-indicator inset; print keeps the existing footer padding */
@supports (padding: env(safe-area-inset-bottom)) {
  .site-footer {
    padding-bottom: max(20px, env(safe-area-inset-bottom));
  }
}
@media print {
  .site-footer { padding-bottom: 0 !important; }
}
