.reveal {
  opacity: 0;
  transform: translate3d(0, 16px, 0);
  transition:
    opacity 0.55s ease,
    transform 0.55s ease;
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}

.reveal-left {
  transform: translate3d(-16px, 0, 0);
}

.reveal-right {
  transform: translate3d(16px, 0, 0);
}

.reveal-scale {
  transform: translate3d(0, 16px, 0) scale(0.985);
}

.reveal.is-visible,
.reveal.revealed,
.reveal.reveal-visible,
.reveal.active,
.reveal[data-revealed="true"] {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.reveal-load {
  opacity: 0;
  transform: translate3d(0, 16px, 0);
  transition:
    opacity 0.55s ease,
    transform 0.55s ease;
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}

.reveal-load.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
  .reveal,
  .reveal-left,
  .reveal-right,
  .reveal-scale,
  .reveal-load {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

.pa-eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin: 0 0 var(--pa2025-kicker-margin-bottom);
  color: var(--pa2025-kicker-color);
  font-size: var(--pa2025-kicker-font-size);
  font-weight: var(--pa2025-kicker-font-weight);
  letter-spacing: var(--pa2025-kicker-letter-spacing);
  line-height: 1.2;
  text-transform: uppercase;
}

.pa-eyebrow__dot {
  width: var(--pa2025-kicker-line-width);
  height: var(--pa2025-kicker-line-height);
  border-radius: var(--pa2025-radius-pill);
  background: currentColor;
  box-shadow: none;
}

:is(
  .pa-home-page,
  .pa-about-page,
  .pa-blog-landing,
  .pa-blog-post,
  .pa-employers,
  .pa-gateway,
  .pa-search-page,
  .pa-hyl,
  .pa-contact-page,
  .pa-dibe-page,
  .pa-train-team,
  .pa-people-hub,
  .pa-people-profile,
  .qualcat-page,
  .pa-proof-page,
  .ab-page,
  .pa-app-page,
  .pa-apprenticeships-page,
  .pa-qualification-calc-page,
  .pa-apprentice-calc-page
) h2 {
  font-family: var(--font-family-heading) !important;
}

:is(
  .pa2025-hero .pa2025-hero__kicker,
  .pa-home-hero__kicker,
  .pa-home-kicker,
  .pa-home2-kicker,
  .pa-about-kicker,
  .pa-about-section-kicker,
  .pa-about-hero__kicker,
  .pa-contact-hero__eyebrow,
  .pa-contact-section-kicker,
  .pa-search-kicker,
  .pa-hyl-kicker,
  .pa-proof-kicker,
  .pa-qbc-kicker,
  .ab-eyebrow,
  .pa-section-kicker,
  .pa-sidebar-widget__eyebrow,
  .pa-blog-post__eyebrow,
  .pa-gateway-eyebrow,
  .pa-gateway-kicker,
  .pa-dibe-page__kicker,
  .pa-dibe-page__eyebrow,
  .pa-train-team__kicker,
  .pa-train-team__eyebrow,
  .pa-people-kicker,
  .pa-people-eyebrow,
  .pa-profile-kicker,
  .pa-app-page .pa-eyebrow,
  .pa-apprenticeships-page .pa-eyebrow,
  .pa-app-page .pa-kicker,
  .pa-apprenticeships-page .pa-kicker,
  .pa-app-page .pa-app-kicker,
  .pa-apprenticeships-page .pa-app-kicker,
  .pa-app-page .pa-appl-kicker,
  .pa-apprenticeships-page .pa-appl-kicker,
  .pa-app-page .pa-appl-eyebrow,
  .pa-apprenticeships-page .pa-appl-eyebrow
) {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  gap: var(--pa2025-kicker-gap) !important;
  margin: 0 0 var(--pa2025-kicker-margin-bottom) !important;
  color: var(--pa2025-kicker-color) !important;
  font-size: var(--pa2025-kicker-font-size) !important;
  font-weight: var(--pa2025-kicker-font-weight) !important;
  letter-spacing: var(--pa2025-kicker-letter-spacing) !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

:is(
  .pa-home-hero__kicker,
  .pa-home-kicker,
  .pa-home2-kicker,
  .pa-about-kicker,
  .pa-about-section-kicker,
  .pa-about-hero__kicker,
  .pa-contact-hero__eyebrow,
  .pa-contact-section-kicker,
  .pa-search-kicker,
  .pa-hyl-kicker,
  .pa-proof-kicker,
  .pa-qbc-kicker,
  .ab-eyebrow,
  .pa-section-kicker,
  .pa-sidebar-widget__eyebrow,
  .pa-blog-post__eyebrow,
  .pa-gateway-eyebrow,
  .pa-gateway-kicker,
  .pa-dibe-page__kicker,
  .pa-dibe-page__eyebrow,
  .pa-train-team__kicker,
  .pa-train-team__eyebrow,
  .pa-people-kicker,
  .pa-people-eyebrow,
  .pa-profile-kicker,
  .pa-app-page .pa-eyebrow,
  .pa-apprenticeships-page .pa-eyebrow,
  .pa-app-page .pa-kicker,
  .pa-apprenticeships-page .pa-kicker,
  .pa-app-page .pa-app-kicker,
  .pa-apprenticeships-page .pa-app-kicker,
  .pa-app-page .pa-appl-kicker,
  .pa-apprenticeships-page .pa-appl-kicker,
  .pa-app-page .pa-appl-eyebrow,
  .pa-apprenticeships-page .pa-appl-eyebrow
)::before {
  content: "" !important;
  width: var(--pa2025-kicker-line-width) !important;
  height: var(--pa2025-kicker-line-height) !important;
  border-radius: var(--pa2025-radius-pill) !important;
  background: currentColor !important;
  opacity: 1 !important;
}

.pa2025-hero .pa2025-hero__kicker-line {
  background: currentColor !important;
  border-radius: var(--pa2025-radius-pill) !important;
  flex: 0 0 var(--pa2025-kicker-line-width) !important;
  height: var(--pa2025-kicker-line-height) !important;
  opacity: 1 !important;
}

.pa-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 21px;
  border: 1px solid transparent;
  border-radius: var(--pa2025-radius-pill);
  font-size: 0.95rem;
  font-weight: 760;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease,
    color 180ms ease;
}

.pa-btn:hover,
.pa-btn:focus-visible {
  transform: translateY(-2px);
  text-decoration: none;
}

.pa-btn-primary,
.pa-btn--primary {
  color: #111827;
  background: var(--pa2025-gold-gradient);
  box-shadow: var(--pa2025-gold-shadow);
}

.pa-btn-primary:hover,
.pa-btn-primary:focus-visible,
.pa-btn--primary:hover,
.pa-btn--primary:focus-visible {
  color: #111827;
  background: var(--pa2025-gold-gradient-hover);
  box-shadow: var(--pa2025-gold-shadow-strong);
}

.pa-btn-secondary,
.pa-btn--secondary {
  color: #111827;
  background: #ffffff;
  border-color: rgba(17, 24, 39, 0.18);
  box-shadow: var(--pa2025-shadow-soft);
}

.pa-btn-secondary:hover,
.pa-btn-secondary:focus-visible,
.pa-btn--secondary:hover,
.pa-btn--secondary:focus-visible {
  color: #111827;
  background: #fffaf0;
  border-color: rgba(180, 154, 91, 0.65);
}

.pa2025-hero__cta {
  align-items: center;
  border: 1px solid transparent;
  border-radius: var(--pa2025-radius-pill);
  display: inline-flex;
  font-family: var(--font-sans, "Inter", Arial, sans-serif);
  font-size: clamp(0.92rem, 0.9rem + 0.08vw, 1rem);
  font-weight: 600;
  justify-content: center;
  line-height: 1.1;
  min-height: 3.25rem;
  padding: 0.95rem 1.4rem;
  text-align: center;
  text-decoration: none;
  transition:
    background-color 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.pa2025-hero__cta:hover,
.pa2025-hero__cta:focus-visible {
  text-decoration: none;
  transform: translateY(-1px);
}

.pa2025-hero__cta:focus-visible {
  box-shadow: var(--pa2025-hero-focus);
  outline: 0;
}

.pa2025-hero__cta--primary {
  background: var(--pa2025-gold-gradient);
  color: #0e1633;
  box-shadow: var(--pa2025-gold-shadow);
}

.pa2025-hero__cta--primary:hover,
.pa2025-hero__cta--primary:focus-visible {
  background: var(--pa2025-gold-gradient-hover);
  color: #0e1633;
  box-shadow: var(--pa2025-gold-shadow-strong);
}

.pa2025-hero__cta--secondary {
  background: transparent;
  border-color: var(--pa2025-hero-border);
  color: var(--pa2025-hero-ink);
}

.pa2025-hero__cta--secondary:hover,
.pa2025-hero__cta--secondary:focus-visible {
  background: rgba(255, 255, 255, 0.5);
  border-color: rgba(180, 154, 91, 0.55);
  color: var(--pa2025-hero-ink);
}

.pa2025-form-label {
  color: var(--text-primary, #111827);
  font-weight: 600;
}

.pa2025-form-control,
.pa2025-form-select {
  min-height: 52px;
  padding: 14px 16px;
  border: 1px solid #cfd8e6;
  border-radius: 14px;
  color: #082b66;
  background: #ffffff;
  box-shadow: none;
}

textarea.pa2025-form-control {
  min-height: 148px;
  resize: vertical;
}

.pa2025-form-control:focus,
.pa2025-form-select:focus,
.pa2025-form-check-input:focus {
  border-color: #0c6dfd;
  box-shadow: 0 0 0 4px rgba(12, 109, 253, 0.12);
}
