@font-face {
  font-family: 'Anton';
  src: url('/site-assets/fonts/Anton-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
.project-cta { background: var(--colours--dark); color: var(--colours--light); width: 100%; padding: var(--section-space) var(--page-gutter); scroll-margin-top: var(--space-12); }
.project-cta__layout { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: var(--space-6); }
.project-cta__mosaic { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 8px; height: 472px; }
.project-cta__image { width: 100%; height: 100%; object-fit: cover; min-height: 0; }
.project-cta__image:first-child { grid-row: span 2; }
.project-cta__content h2 { margin: 0 0 24px; color: inherit; font: 400 var(--type-project-cta)/1.05 'Anton', sans-serif; text-transform: uppercase; letter-spacing: -.015em; }
.project-cta__content p { max-width: 344px; font-size: 16px; line-height: 1.5; margin: 0 0 32px; }
.project-cta__content a { display: flex; justify-content: space-between; align-items: center; max-width: 344px; gap: 32px; padding: 16px 24px; background: var(--colours--light); color: var(--colours--dark); border-radius: 2px; font-size: 16px; font-weight: 700; text-transform: uppercase; }
.project-cta a:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.footer-section.footer-section--project-cta { padding-inline: 0; }
.footer-section--project-cta::before { display: none; }
@media (max-width: 991px) {
  .project-cta__mosaic { height: 392px; }
}
@media (max-width: 767px) {
  .project-cta { padding: var(--section-space) var(--page-gutter); }
  .project-cta__layout { grid-template-columns: 1fr; gap: 32px; }
  .project-cta__mosaic { height: 320px; }
  .project-cta__content h2 { font-size: var(--type-project-cta); }
}
