/* Shared link language: no persistent underlines, with a calm colour-and-lift response. */
:root { --site-link-hover: #ef3d2e; }

a {
  text-decoration: none !important;
  transition: color .24s ease, opacity .24s ease, transform .24s cubic-bezier(.2, .8, .2, 1), border-color .24s ease, background-color .24s ease;
}

/* Remove decorative rules from text links, without disturbing outlined buttons or cards. */
a:not(.button):not(.catalogue-button):not(.nav-cta):not(.brand-card):not(.whatsapp-button):not(.cookie-button):not(.resource-card) {
  border-bottom: 0 !important;
}

/* The homepage navigation previously rendered a small underline even at rest. */
.nav nav a:not(.nav-cta)::after { display: none !important; }

@media (hover: hover) {
  a:hover {
    color: var(--site-link-hover) !important;
  }

  header > a:hover,
  .nav nav a:hover,
  footer a:hover {
    transform: translateY(-2px);
  }
}

/* The compact brand-page header is intentionally enlarged for quicker scanning. */
@media (min-width: 701px) {
  body > header > a {
    font-size: 20px !important;
    font-weight: 800 !important;
    letter-spacing: -.035em;
  }

  body > header > .site,
  body > header > .site-name {
    font-size: 20px !important;
    font-weight: 800 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  a,
  a::after { transition: none !important; }
}
