/* =============================================================
   base.css — Base elements
   ============================================================= */
body{
  font-family:var(--font-body);
  font-size:var(--fs-body);
  color:var(--text-primary);
  background:var(--bg-page);
}

a{color:var(--text-brand);transition:color var(--dur-fast) var(--ease-out)}
a:hover{color:var(--color-steel-500)}

/* Focus visibility */
:focus-visible{outline:none;box-shadow:var(--ring-focus);border-radius:var(--radius-sm)}
a:focus-visible,button:focus-visible{border-radius:var(--radius-pill)}

/* Selection */
::selection{background:var(--color-steel-500);color:#fff}

/* Skip link */
.skip-link{
  position:absolute;left:var(--space-16);top:-100px;z-index:1000;
  background:var(--bg-inverse);color:var(--text-inverse);
  padding:var(--space-12) var(--space-24);border-radius:var(--radius-pill);
  transition:top var(--dur-base) var(--ease-out);
}
.skip-link:focus{top:var(--space-16)}

/* Images inside content default */
img{background:var(--color-mist-200)}

/* Horizontal rule */
hr{border:none;border-top:var(--border-hairline);margin:var(--space-48) 0}

/* Scroll offset already handled via :target */
main{display:block}

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