/* =====================================
   BASE
   Reset + Variables + Typography
===================================== */

/* ========= RESET ========= */

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* ========= VARIABLES ========= */

:root {

  /* Colors */
  --color-bg: #f5f5f5;
  --color-surface: #ffffff;
  --color-light: #f4f1eb;
  --color-text: #111111;
  --color-muted: #666666;
  --color-soft: #888888;
  --color-border: #e5e5e5;

  /* Typography */
  --font-primary: 'Inter', sans-serif;
  --font-secondary: 'Cormorant Garamond', serif;

  /* Spacing */
  --container-padding: 80px;

  /* Transition */
  --transition-fast: 0.3s ease;
  --transition-slow: 0.6s ease;
}

/* ========= BODY ========= */

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-primary);
  background-color: var(--color-bg);
  color: var(--color-text);
  padding-top: 120px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* ========= GLOBAL ELEMENTS ========= */

a {
  text-decoration: none;
  color: inherit;
  transition: opacity var(--transition-fast);
}

a:hover {
  opacity: 0.7;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

ul {
  list-style: none;
}

button {
  font-family: inherit;
  cursor: pointer;
  background: none;
  border: none;
}

/* ========= HEADINGS ========= */

h1, h2, h3, h4 {
  font-weight: 500;
}

/* Serif titles default helper */
.serif {
  font-family: var(--font-secondary);
}