/* Navigation enhancement: links remain available without JavaScript. */
html{scroll-padding-top:100px}
section[id]{scroll-margin-top:100px}
.skip-link{position:fixed;left:16px;top:12px;z-index:200;padding:10px 16px;background:var(--paper);color:var(--ink-0);border-radius:4px;transform:translateY(-180%)}
.skip-link:focus{transform:none}
.nav-toggle{display:none}
main:focus{outline:none}
/* Content must never depend on an observer to become readable. */
.reveal{opacity:1;transform:none}
body:not(.has-cursor) .cursor,body:not(.has-cursor) .cursor-label{display:none}
@media(max-width:960px){
  .hud{position:relative;flex-wrap:wrap;gap:14px;padding:14px 6vw;background:var(--ink-0);border-bottom:1px solid var(--line)}
  .hud nav{width:100%;flex-wrap:wrap;gap:8px 18px}
  .hud nav a{display:inline-flex;min-height:44px;align-items:center;font-size:15px}
  .nav-ready .hud{position:fixed}
  .nav-ready .nav-toggle{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:98px;min-height:44px;margin-left:auto;padding:7px 12px;border:1px solid var(--line);border-radius:4px;font-size:14px}
  .nav-toggle-icon{font-size:20px;line-height:1}
  .nav-ready .hud nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ink-0);border-bottom:1px solid var(--line);padding:12px 6vw 20px;box-shadow:0 15px 30px #0005;max-height:calc(100svh - 76px);overflow:auto}
  .nav-ready .hud nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:4px}
  .nav-ready .hud nav a{padding:10px 12px;border-radius:4px}
  .nav-ready .hud nav a:not(.btn):hover,.nav-ready .hud nav a:not(.btn):focus-visible{background:var(--ink-2);color:var(--paper)}
  .nav-ready .hud nav .btn{margin-top:8px;justify-content:center;color:#fff}
  .hero{padding-top:120px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.skip-link{transition:none}}
