/* =============================================
   globals.css — reset, tokens, shared utilities
   ============================================= */

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

:root {
  /* Palette */
  --color-forest:  #0a3c19;
  --color-cream:   #fafaf7;
  --color-sage:    #f2f6ed;
  --color-white:   #ffffff;
  --color-beige:   #F6F3EE;

  /* Typography */
  --font-base:     'Public Sans', sans-serif;

  --fw-extralight: 200;
  --fw-light:      300;
  --fw-regular:    400;
  --fw-semibold:   600;

  /* Spacing scale */
  --space-xs:   12px;
  --space-sm:   20px;
  --space-md:   32px;
  --space-lg:   56px;
  --space-xl:   120px;
  --space-2xl: 132px;

  /* Section max-width */
  --max-w: 1280px;
  --page-px: 80px;
}

html {
  font-family: var(--font-base);
  font-size: 16px;
  color: var(--color-forest);
  background-color: var(--color-cream);
  -webkit-font-smoothing: antialiased;
}

body {
  overflow-x: hidden;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

address {
  font-style: normal;
}

/* ---- Shared button ---- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 151px;
  width: auto;
  height: 45px;
  padding: 0 20px;
  border-radius: 6px;
  font-family: var(--font-base);
  font-size: 21px;
  font-weight: var(--fw-regular);
  line-height: 100%;
  cursor: pointer;
  transition: opacity 0.2s ease;
  white-space: nowrap;
  border: none;
}

.btn:hover {
  opacity: 0.85;
}

.btn--dark {
  background-color: var(--color-forest);
  color: var(--color-white);
}

/* Responsiveness helper variables */
@media (max-width: 1024px) {
  :root {
    --page-px: 40px;
    --space-xl: 56px;
    --space-2xl: 80px;
  }
}

@media (max-width: 768px) {
  :root {
    --page-px: 20px;
    --space-xl: 40px;
    --space-2xl: 48px;
    --space-lg: 32px;
  }
}
