/* Shared styles for every page. Tailwind handles the rest. */
html { scroll-behavior: smooth; }
body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  background: #F6F2EA;
  color: #1E3328;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
/* Fraunces at 600 for every headline, whatever weight class the markup carries. */
.display { font-family: 'Fraunces', Georgia, serif; letter-spacing: -0.015em; font-weight: 600; font-optical-sizing: auto; }
.display.font-extrabold, .display.font-bold { font-weight: 600; }

.btn-primary {
  background: #2E5A43;
  color: white;
  box-shadow: 0 10px 24px -12px rgba(30,51,40,0.55);
  transition: background .15s ease, transform .15s ease;
}
.btn-primary:hover { background: #244A37; }
.btn-secondary {
  background: #FFFDF8;
  color: #1E3328;
  border: 1px solid #DDD2BC;
  transition: border-color .15s ease, background .15s ease;
}
.btn-secondary:hover { border-color: #2E5A43; background: #F6F2EA; }
.ring-brand:focus-visible {
  outline: 2px solid #B7832F;
  outline-offset: 3px;
  border-radius: 10px;
}

.underline-accent {
  background-image: linear-gradient(180deg, transparent 62%, rgba(183,131,47,0.22) 62%);
}

/* Expandable sections (FAQs, lesson lists) */
details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }
details[open] .toggle-chevron { transform: rotate(180deg); }

@media (prefers-reduced-motion: no-preference) {
  .reveal { opacity: 0; transform: translateY(8px); transition: opacity .55s ease, transform .55s ease; }
  .reveal.visible { opacity: 1; transform: none; }
}
