/* base.css — global resets and shared interaction styles for canislupus.dev */

:root {
  --accent: #1d4ed8;
}

html {
  scroll-behavior: smooth;
}

html,
body {
  margin: 0;
  padding: 0;
  background: #dfe7f5;
}

* {
  box-sizing: border-box;
}

button:hover {
  opacity: 0.92;
}

a:hover {
  opacity: 0.85;
}

/* Nav links — color shift + animated underline on hover */
.obs-nav-link {
  position: relative;
  transition: color 0.15s ease;
  padding-bottom: 2px;
}

.obs-nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 2px;
  border-radius: 2px;
  background: var(--obs-accent, var(--accent));
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.18s ease;
}

.obs-nav-link:hover {
  color: #0e1726;
  opacity: 1;
}

.obs-nav-link:hover::after {
  transform: scaleX(1);
}

/* Hero ghost buttons — invert to dark on hover */
.obs-btn-ghost {
  transition: background 0.16s ease, color 0.16s ease, border-color 0.16s ease;
}

.obs-btn-ghost:hover {
  background: #0e1726;
  color: #ffffff;
  border-color: #0e1726;
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
