/* =========================================================
   GLOBAL — Components
   Reusable building blocks shared across every page: the
   eyebrow kicker, pill buttons, and the underlined text link.
   Page layouts compose these; they never redefine them.
   ========================================================= */

.pr-kicker {
  margin: 0;
  color: var(--pr-rocket);
  font-size: var(--type-micro);
  font-weight: 800;
  letter-spacing: var(--tracking-button);
  text-transform: uppercase;
}

/* Brand-coloured key words inside a heading. */
.pr-accent {
  color: var(--pr-rocket);
}

.pr-accent-lime {
  color: var(--pr-lime);
}

/* Lime highlighter — a marker stroke behind a key word in a heading. */
.pr-mark {
  background: var(--pr-lime);
  color: var(--pr-ink);
  padding: 0 0.14em;
  border-radius: var(--radius-mark);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.pr-button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: var(--radius-button);
  padding: 0 var(--space-button-x);
  font-weight: 800;
  position: relative;
  overflow: hidden;
  transition: transform var(--hover-duration) var(--ease), background-color var(--hover-duration) var(--ease), color var(--hover-duration) var(--ease);
}

.pr-button::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 0%, rgba(255, 255, 255, 0.16) 48%, transparent 72%);
  transform: translateX(-120%);
  transition: transform var(--duration-slow) var(--ease);
}

.pr-button:hover,
.pr-button:focus-visible {
  transform: translateY(-1px) scale(1.006);
}

.pr-button:hover::after,
.pr-button:focus-visible::after {
  transform: translateX(112%);
}

.pr-button:active {
  transform: scale(0.992);
}

.pr-button-primary {
  background: var(--pr-ink);
  color: var(--pr-paper);
}

.pr-button-light {
  background: var(--pr-paper);
  color: var(--pr-ink);
}

/* Both button styles light up lime on interaction. */
.pr-button-primary:hover,
.pr-button-primary:focus-visible,
.pr-button-light:hover,
.pr-button-light:focus-visible {
  background: var(--pr-lime);
  color: var(--pr-ink);
}

.pr-text-link {
  width: fit-content;
  font-weight: 800;
  border-bottom: 1px solid currentColor;
  transition: color var(--hover-duration) var(--ease), transform var(--hover-duration) var(--ease);
}

.pr-text-link:hover,
.pr-text-link:focus-visible {
  transform: translateX(2px);
  color: var(--pr-rocket);
}

@media (max-width: 640px) {
  .pr-button {
    width: 100%;
  }
}
