@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&family=Syne:wght@400;500;600;700;800&display=swap');

:root {
  --nordic-dark: #13241c;
  --nordic-forest: #1c3328;
  --nordic-pine: #264336;
  --nordic-sage: #8a9a86;
  --nordic-sandstone: #dfd7cc;
  --nordic-cream: #f8f6f0;
  --nordic-amber: #c89658;
  --nordic-amber-dark: #a87638;
  --nordic-slate: #3d4540;
  --nordic-wood: #4a3828;
}

body {
  font-family: 'Plus Jakarta Sans', sans-serif;
  background-color: var(--nordic-cream);
  color: var(--nordic-dark);
}

h1, h2, h3, h4, .font-heading {
  font-family: 'Syne', sans-serif;
}

.bg-nordic-dark { background-color: var(--nordic-dark); }
.bg-nordic-forest { background-color: var(--nordic-forest); }
.bg-nordic-pine { background-color: var(--nordic-pine); }
.bg-nordic-sage { background-color: var(--nordic-sage); }
.bg-nordic-sandstone { background-color: var(--nordic-sandstone); }
.bg-nordic-cream { background-color: var(--nordic-cream); }
.bg-nordic-amber { background-color: var(--nordic-amber); }

.text-nordic-dark { color: var(--nordic-dark); }
.text-nordic-forest { color: var(--nordic-forest); }
.text-nordic-sage { color: var(--nordic-sage); }
.text-nordic-sandstone { color: var(--nordic-sandstone); }
.text-nordic-cream { color: var(--nordic-cream); }
.text-nordic-amber { color: var(--nordic-amber); }

.border-nordic-forest { border-color: var(--nordic-forest); }
.border-nordic-sage { border-color: var(--nordic-sage); }
.border-nordic-sandstone { border-color: var(--nordic-sandstone); }
.border-nordic-amber { border-color: var(--nordic-amber); }

/* Focus styles */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--nordic-amber);
  outline-offset: 3px;
}

.nordic-image-overlay {
  background: linear-gradient(180deg, rgba(19,36,28,0.2) 0%, rgba(19,36,28,0.7) 100%);
}

.nordic-hero-gradient {
  background: linear-gradient(180deg, rgba(19,36,28,0.3) 0%, rgba(19,36,28,0.85) 100%);
}