/* Trailhead Ledger – Warm Earth & Canopy: moss green + terracotta clay, Besley/Public Sans */
:root {
  --tl-primary: #3E563B;
  --tl-primary-dark: #2C3E2A;
  --tl-primary-light: #4E6B4A;
  --tl-accent: #925C3E;
  --tl-accent-dark: #7D4D33;
  --tl-bg: #FDF9F0;
  --tl-bg-warm: #F8F1E3;
  --tl-text: #2D2A26;
  --tl-text-muted: #736D64;
  --tl-border: #EBE4D5;
  --tl-font-serif: 'Besley', serif;
  --tl-font-sans: 'Public Sans', sans-serif;
}

html {
  scroll-behavior: smooth;
}

body.tl-landing {
  background-color: var(--tl-bg-warm);
  color: var(--tl-text);
  font-family: var(--tl-font-sans);
  overflow-x: hidden;
}

body.tl-landing h1,
body.tl-landing h2,
body.tl-landing h3 {
  font-family: var(--tl-font-serif);
  letter-spacing: -0.01em;
}

.tl-header {
  background-color: var(--tl-bg-warm);
  border-bottom: 1px solid var(--tl-border);
}

.tl-hero__forever {
  color: var(--tl-primary);
  font-family: var(--tl-font-serif);
}

.tl-btn {
  display: inline-flex;
  align-items: center;
  padding: 0.625rem 1.5rem;
  border-radius: 1rem;
  font-weight: 600;
  transition: background-color 0.15s ease, color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.tl-btn--primary {
  background-color: var(--tl-accent);
  color: #fff;
}

.tl-btn--primary:hover {
  background-color: var(--tl-accent-dark);
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.tl-btn--ghost {
  color: var(--tl-primary);
}

.tl-text-muted {
  color: var(--tl-text-muted);
}

.tl-hero__map-img {
  display: block;
  border-radius: 1.25rem;
  border: 1px solid var(--tl-border);
  box-shadow: 0 16px 40px rgba(44, 62, 42, 0.12);
}

.tl-footer {
  border-top: 1px solid var(--tl-border);
}

.tl-footer__link {
  color: var(--tl-primary);
  font-weight: 600;
}

.tl-footer__link:hover {
  text-decoration: underline;
}

.tl-section--alt {
  background-color: var(--tl-bg);
  border-top: 1px solid var(--tl-border);
  border-bottom: 1px solid var(--tl-border);
}

.tl-card {
  background-color: var(--tl-bg-warm);
  border: 1px solid var(--tl-border);
  border-radius: 0.75rem;
  padding: 1.5rem;
}

.tl-section img.tl-card {
  padding: 0;
}

@media (min-width: 1024px) {
  .tl-card {
    padding: 1.75rem;
  }
}
