/* css/global.css */
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@400;500;600&family=Rajdhani:wght@400;500;600;700&display=swap');

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

body {
  background-color: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: var(--text-16);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  line-height: 1.1;
  font-weight: 700;
  margin-bottom: var(--space-24);
}

h1 { font-size: var(--text-72); }
h2 { font-size: var(--text-56); }
h3 { font-size: var(--text-32); }
h4 { font-size: var(--text-20); }

p {
  margin-bottom: var(--space-16);
  color: var(--color-text-muted);
}

a {
  color: var(--color-accent);
  text-decoration: none;
  transition: color var(--transition-fast);
}

a:hover {
  color: var(--color-accent-hover);
}

.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--space-24);
}

.section {
  padding: var(--space-96) 0;
}

/* Utilities */
.text-center { text-align: center; }
.mb-8 { margin-bottom: var(--space-8); }
.mb-16 { margin-bottom: var(--space-16); }
.mb-24 { margin-bottom: var(--space-24); }
.mb-32 { margin-bottom: var(--space-32); }
.mb-48 { margin-bottom: var(--space-48); }
.mb-64 { margin-bottom: var(--space-64); }
.color-accent { color: var(--color-accent); }
.color-secondary-1 { color: var(--color-secondary-1); }
.color-secondary-2 { color: var(--color-secondary-2); }
.color-secondary-3 { color: var(--color-secondary-3); }

/* Asymmetric Grid Layouts */
.grid {
  display: grid;
  gap: var(--space-48);
  align-items: center;
}
.grid-7-5 { grid-template-columns: 7fr 5fr; }
.grid-5-7 { grid-template-columns: 5fr 7fr; }
.grid-8-4 { grid-template-columns: 8fr 4fr; }
.grid-4-8 { grid-template-columns: 4fr 8fr; }
.grid-3 { grid-template-columns: repeat(3, 1fr); gap: var(--space-32); }
.grid-2 { grid-template-columns: repeat(2, 1fr); gap: var(--space-32); }

footer .grid-3 {
  align-items: start;
}

@media (max-width: 992px) {
  .grid-7-5, .grid-5-7, .grid-8-4, .grid-4-8, .grid-3, .grid-2 {
    grid-template-columns: 1fr;
  }
  h1 { font-size: var(--text-56); }
  h2 { font-size: var(--text-32); }
  .section { padding: var(--space-64) 0; }
}
