/* Color refinements only for the existing hero composition. */
.hero-copy {
  background: linear-gradient(135deg, #403641 0%, #574b56 60%, #675962 100%);
  color: #fff;
  box-shadow: inset 0 0 0 1px #ffffff12;
}
.hero-copy h1 {
  color: #fff;
}
.hero-copy h1 span {
  color: #ffe444;
}
.hero-copy p {
  color: #f0e9ef;
}
.hero-actions .text-link {
  color: #fff9fc;
  transition: color 0.2s;
}
.hero-actions .text-link:hover {
  color: var(--yellow);
}
.hero-actions .cta-yellow {
  background: #ffdd00;
  border-color: #ffdf24;
  color: #282129;
}
.hero-actions .cta-yellow:hover {
  background: #ffe630;
  border-color: #ffe630;
}
/* Shared inner-banner palette; preserve the existing grid, imagery and type sizes. */
.page-banner,
.contact-opening {
  background: linear-gradient(110deg, #fff9e5 0%, #f5f0f5 48%, #ffffff 83%);
}
.page-banner h1,
.contact-opening h1 {
  color: #3b303d;
}
.page-banner > div > p,
.contact-opening > p {
  color: #605461;
}
.page-banner .breadcrumb,
.contact-opening .breadcrumb {
  color: #6c5d6c;
}
.page-banner .breadcrumb a,
.contact-opening .breadcrumb a {
  color: #504052;
  transition: color 0.2s;
}
.page-banner .breadcrumb a:hover,
.contact-opening .breadcrumb a:hover {
  color: #806400;
}
.page-banner .breadcrumb > span:first-of-type,
.contact-opening .breadcrumb > span:first-of-type {
  color: #9a7b18;
}

/* Preserve the three-column footer and its responsive column structure. */
.footer {
  background: linear-gradient(120deg, #302a31 0%, #3b323c 100%);
  color: #f6f1f5;
  border-top-color: #514652;
  padding-top: 48px;
}
.footer-main {
  align-items: start;
  column-gap: clamp(30px, 4vw, 55px);
  row-gap: 32px;
  padding-bottom: 41px;
}
.footer-brand {
  background: transparent;
}
.footer-main > div > p {
  color: #d6ced5;
}
.footer-main h3 {
  color: #fffafc;
  font-weight: 700;
}
.footer-main nav {
  gap: 9px;
}
.footer-main nav a {
  width: fit-content;
  min-height: 23px;
  display: inline-flex;
  align-items: center;
  color: #e8e0e7;
  transition: color 0.2s;
  text-decoration-color: transparent;
  text-underline-offset: 5px;
}
.footer-main nav a:hover {
  color: #ffdf3b;
  text-decoration-color: #ffdf3b;
}
.footer-scope .text-link {
  color: #ffdf3b;
  transition: color 0.2s;
}
.footer-scope .text-link:hover {
  color: #fffafc;
}
.footer a svg,
.footer a i {
  color: currentColor;
  transition:
    transform 0.2s,
    color 0.2s;
}
.footer a:hover svg,
.footer a:hover i {
  transform: translate(2px, -2px);
}
.footer-bottom {
  color: #cfc4ce;
  border-top-color: #ffffff24;
}
.footer .footer-credit {
  color: #ffdf3b;
}
.footer .footer-credit:hover {
  color: #fffafc;
}
.footer a:focus-visible {
  outline-color: #ffdd00;
  box-shadow: 0 0 0 5px #ffdd0026;
}
.footer .social-links a,
.footer .footer-social a {
  color: #e8e0e7;
  border-color: #ffffff30;
  transition:
    color 0.2s,
    background 0.2s,
    border-color 0.2s;
}
.footer .social-links a:hover,
.footer .footer-social a:hover {
  color: #ffdf3b;
  background: #ffffff0b;
  border-color: #ffdf3b;
}
@media (max-width: 650px) {
  .footer {
    padding-top: 32px;
  }
  .footer-main {
    row-gap: 28px;
    padding-bottom: 30px;
  }
  .footer-scope {
    border-top-color: #ffffff24;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero-actions .text-link,
  .footer-main nav a,
  .footer-scope .text-link,
  .footer a svg,
  .footer a i,
  .footer .social-links a,
  .footer .footer-social a {
    transition: none;
  }
  .footer a:hover svg,
  .footer a:hover i {
    transform: none;
  }
}
