/* Base Typography */
body {
  min-width: 375px;
  width: 100%;
  background: var(--dark-bg);
  color: var(--text-secondary);
  font-family: "Roboto", sans-serif;
  font-weight: var(--font-weight-regular);
  line-height: var(--leading-normal);
  font-size: var(--text-base);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--text-secondary);
  line-height: var(--leading-tight);
  font-weight: var(--font-weight-regular);
}

h1,
.h1 {
  font-size: var(--text-6xl);
  letter-spacing: var(--tracking-tight);
  font-family: "Alexandria", sans-serif;
	font-weight: var(--font-weight-regular);
}

h2,
.h2 {
  font-size: var(--text-3xl-large);
  letter-spacing: var(--tracking-tight);
  font-weight: var(--font-weight-regular);
  font-family: "Alexandria", sans-serif;
}

h3,
.h3 {
  font-size: var(--text-2xl);
  letter-spacing: var(--tracking-normal);
  font-family: "Roboto", sans-serif;
  font-weight: var(--font-weight-regular);
}

h4,
.h4 {
  font-size: var(--text-xl);
  letter-spacing: var(--tracking-normal);
  font-weight: var(--font-weight-regular);
	font-family: "Alexandria", sans-serif;
}

h5,
.h5 {
  font-size: var(--text-xl);
  letter-spacing: var(--tracking-normal);
}

h6,
.h6 {
  font-size: var(--text-lg);
  letter-spacing: var(--tracking-normal);
}

label {
  font-family: "Alexandria", sans-serif;
  font-size: var(--text-base);
  font-weight: var(--font-weight-regular);
  text-align: left;
}

input, textarea {
  font-family: "Roboto", sans-serif;
  font-weight: var(--font-weight-regular);
  font-size: var(--text-base);
  line-height: 140%;
}
/* Section Headers */
.section-title {
  font-size: var(--text-5xl);
  margin-bottom: var(--space-xl);
  line-height: var(--leading-tight);
}

/* Subtitle - Used across sections */
.title {
  color: var(--primary-blue);
  font-size: var(--text-2xl-large);
  font-weight: var(--font-weight-regular);
}

.subtitle {
  color: var(--text-secondary);
  font-size: var(--text-3xl-large);
  font-weight: var(--font-weight-regular);
  line-height: 140%;
}

/* Paragraph Styles */
p {
  line-height: var(--leading-relaxed);
  color: var(--text-secondary);
  font-size: var(--text-lg);
  font-family: "Roboto", sans-serif;
  text-align: left;
}

.lead {
  font-size: var(--text-lg);
  line-height: var(--leading-relaxed);
}

/* Links */
a {
  color: var(--primary-blue);
  text-decoration: none;
  transition: color 0.3s ease;
  font-family: "Alexandria", sans-serif;
  font-size: var(--text-base);
}

/* Display Text - For hero sections */
.display-text {
  font-size: var(--text-7xl);
  font-weight: var(--font-weight-bold);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
}

/* Font Classes */
.font-alexandria {
  font-family: "Alexandria", sans-serif;
}

.font-fira {
  font-family: "Fira Code", sans-serif;
}

.font-pt-mono {
  font-family: "PT Mono", monospace;
}

.font-roboto {
  font-family: "Roboto", sans-serif;
}

a:hover {
  color: var(--primary-blue);
  cursor: pointer;
}

@media (max-width: 586px) {
  h1,
  .h1 {
    font-size: var(--text-4xl);
  }

  h2,
  .h2 {
    font-size: var(--text-2xl-large);
  }


	.h3,
	h3, .title{
		font-size: var(--text-xxl);
	}

  p {
    font-size: var(--text-base);
  }

	.subtitle {
		font-size: var(--text-2xl);
	}
}
