/**
 * Subtle scroll-reveal + hover polish. Replaces the Round 16 shader-gradient
 * background and liquid-glass cards entirely -- both were called out as
 * "ugly" (the dark navy/gold moving background, and the murky glass panel
 * look), so this round is a full swap to a much quieter approach: gentle
 * fade/slide-ins as the page scrolls (AOS) and light, tasteful hover
 * states -- no 3D, no WebGL, no glass.
 *
 * Kept in its own small file, same as before, so it's easy to find/diff/
 * remove independently of resource-hub.css.
 */

/* ---- Hover polish -----------------------------------------------------
   Deliberately hand-written rather than pulling in Hover.css: that
   project's free tier is licensed for personal/open-source use only, not
   commercial use, and it wasn't worth the licensing ambiguity for a dozen
   lines of CSS this site actually needs. These are original, simple
   transform/shadow transitions -- nothing borrowed. */

/* Buttons and CTA links: a gentle lift, matching the resource card's own
   existing hover treatment (see .resource-card:hover in resource-hub.css)
   so the whole site feels like one consistent language rather than two
   different hover styles competing. */
.ibla-hover-lift {
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.ibla-hover-lift:hover,
.ibla-hover-lift:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(7, 20, 38, 0.12);
}

/* Plain text links: an underline that grows from the center rather than
   snapping on instantly -- quiet, common, reads as "polished" rather than
   "animated." Skipped on elements that already draw their own underline
   effect (.nav-link already has an ::after underline in resource-hub.css). */
.ibla-hover-underline {
  position: relative;
  text-decoration: none;
}
.ibla-hover-underline::after {
  content: '';
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: -2px;
  height: 1px;
  background: currentColor;
  transition: left 0.25s ease, right 0.25s ease;
}
.ibla-hover-underline:hover::after,
.ibla-hover-underline:focus-visible::after {
  left: 0;
  right: 0;
}

/* Respect reduced-motion preferences for both the hover transitions above
   and everything AOS animates (AOS honors this itself via its own media
   query in aos.css for the fade/slide distances, but the transition
   durations here are ours to handle). */
@media (prefers-reduced-motion: reduce) {
  .ibla-hover-lift,
  .ibla-hover-underline::after {
    transition: none !important;
  }
}
