/* Project styles and font declarations */

@font-face {
  font-family: 'PP Fraktion Mono';
  src: local('PP Fraktion Mono');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Utility classes to map design fonts */
.font-fragment { font-family: 'Inter Tight', Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif; }
.font-upper { 
  font-family: 'Inter Tight', Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif; 
  text-transform: uppercase;
  letter-spacing: 0.05em !important;
}

/* Custom text styles */
.text-heading-0 {
  font-weight: 700;
  font-style: normal;
  font-size: 3.5rem; /* 56px */
  line-height: 120%;
  letter-spacing: -0.0625rem; /* -1px */
}

.text-heading-1 {
  font-weight: 500;
  font-style: normal;
  font-size: 2.5rem; /* 40px */
  line-height: 120%;
  letter-spacing: -0.0625rem; /* -1px */
}

.text-heading-2 {
  font-weight: 500;
  font-style: normal;
  font-size: 2rem; /* 32px */
  line-height: 120%;
  letter-spacing: -0.0625rem; /* -1px */
}

.text-heading-3 {
  font-weight: 500;
  font-style: normal;
  font-size: 1.5rem; /* 24px */
  line-height: 120%;
  letter-spacing: -0.0625rem; /* -1px */
}

.text-body-xl {
  font-weight: 400;
  font-style: normal;
  font-size: 1.25rem; /* 20px */
  line-height: 160%;
  letter-spacing: -0.03125rem; /* -0.5px */
}

.text-small {
  font-weight: 400;
  font-style: normal;
  font-size: 0.875rem; /* 14px */
  line-height: 100%;
  letter-spacing: -0.03125rem; /* -0.5px */
}

.text-tiny {
  font-weight: 400;
  font-style: normal;
  font-size: 0.75rem; /* 12px */
  line-height: 100%;
  letter-spacing: -0.03125rem; /* -0.5px */
}

.text-body {
  font-weight: 400;
  font-style: normal;
  font-size: 1rem; /* 16px */
  line-height: 160%;
  letter-spacing: -0.03125rem; /* -0.5px */
}

/* Responsive text classes */
.text-tiny-lg-body {
  font-weight: 400;
  font-style: normal;
  font-size: 0.75rem; /* 12px - tiny by default */
  line-height: 100%;
  letter-spacing: -0.03125rem; /* -0.5px */
}

@media (min-width: 1024px) {
  .text-tiny-lg-body {
    font-size: 1rem; /* 16px - body on lg screens */
    line-height: 160%;
  }
}
/* Custom list styling with dashed arrow bullets */
ul.arrow-bullets {
  list-style: none;
}

ul.arrow-bullets li {
  position: relative;
  padding-left: 2rem;
  margin-bottom: 0.35rem;
}

ul.arrow-bullets li:before {
  content: "⤏";
  position: absolute;
  left: 0;
  top: -2px;
  color: #ffffff; /* Blue-500 to match your brand */
  font-weight: bold;
  font-size: 1.1em;
}

.grecaptcha-badge { visibility: hidden; }
/* Example usage: add these classes in HTML where specific fonts are required */
/* .hero-title { @apply font-fragment; } */
/* .cta-button { @apply font-fraktion uppercase; } */