@font-face {
  font-family: "Black Mango";
  src: url("./fonts/BlackMangoVariable.ttf") format("truetype-variations");
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "Albert Sans";
  src: url("./fonts/AlbertSans-Light.ttf") format("truetype");
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: "Albert Sans";
  src: url("./fonts/AlbertSans-Regular.ttf") format("truetype");
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Albert Sans";
  src: url("./fonts/AlbertSans-Medium.ttf") format("truetype");
  font-weight: 500;
  font-display: swap;
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
  scroll-padding-top: 60px;
}

body {
  background-color: #f1f4f6;
  color: #10100f;
  font-family: "Albert Sans", ui-sans-serif, system-ui, sans-serif;
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3 {
  font-family: "Black Mango", "Albert Sans", serif;
  font-weight: 400;
  letter-spacing: -0.02em;
}

.eyebrow {
  font-family: "Albert Sans", ui-sans-serif, system-ui, sans-serif;
  font-weight: 400;
  font-size: 0.6875rem;
  letter-spacing: 0.32em;
  text-transform: uppercase;
}

.display-xl {
  font-family: "Black Mango", "Albert Sans", serif;
  font-weight: 400;
  line-height: 0.95;
  letter-spacing: -0.03em;
}

.reveal {
  opacity: 0;
  transform: translateY(16px);
  transition:
    opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal[data-visible="true"] {
  opacity: 1;
  transform: none;
}

.reveal-image {
  clip-path: inset(0 0 12% 0);
  transform: scale(1.06);
  transition:
    clip-path 1.1s cubic-bezier(0.16, 1, 0.3, 1),
    transform 1.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-image[data-visible="true"] {
  clip-path: inset(0 0 0 0);
  transform: scale(1);
}

/* Enquiry modal */
.modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 50;
  background: rgba(0, 0, 0, 0.8);
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
}

.modal-overlay[data-open="true"] {
  opacity: 1;
  pointer-events: auto;
}

.modal-panel {
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: 50;
  transform: translate(-50%, -50%) scale(0.95);
  opacity: 0;
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
  pointer-events: none;
  width: calc(100% - 2rem);
  max-width: 28rem;
}

.modal-panel[data-open="true"] {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
  pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
  }
}