/* Shared portfolio accessibility and reading polish. */
.skip-link { position: fixed; top: .5rem; left: 1rem; z-index: 100; padding: .75rem 1rem; background: var(--ink); color: var(--paper); transform: translateY(-200%); }
.skip-link:focus { transform: translateY(0); }
main:focus { outline: none; }
section[id] { scroll-margin-top: 8rem; }
.topnav { flex-wrap: wrap; gap: .3rem 1.1rem; }
.topnav a { display: inline-flex; align-items: center; min-height: 44px; font-size: .875rem; letter-spacing: .04em; }
.topnav a[aria-current="page"] { color: var(--accent); text-decoration: underline; text-underline-offset: .3em; }
.fact dt, .stamp, .when, .current-card .label, .metric dt, .tags, .readout, .readout-foot { font-size: .8125rem; }
.current-card .link, .current-card .links, .lnk, .cap-row h3, .colo h3 { font-size: .875rem; }
.current-card p, .p-body > p, .colo p, .note, .summary { font-size: 1rem; }
.hero { padding-top: clamp(2.5rem, 6vw, 4.5rem); }
.hero-facts { grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); }
.current-card h3 a:focus-visible, .current-card a:focus-visible, .readout a:focus-visible { outline-color: #9fd8c9; }
.ext { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
@media (max-width: 820px) {
  .topbar, .toolbar { position: relative; }
  .topbar-inner, .toolbar-inner { align-items: center; }
  .topnav { width: 100%; margin-left: 0; gap: .15rem 1rem; }
  .topnav a:not(.cta) { display: inline-flex; }
  .topnav a { font-size: .875rem; }
  section[id] { scroll-margin-top: 1rem; }
  .current-card, .p-head, .p-body { padding: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
@media print { .skip-link, .topbar, .toolbar { display: none; } }
