*, *::before, *::after { box-sizing: border-box; margin: 0; }
html, body { margin: 0; }
ul, ol { padding-left: 0; }
.bg-cream { background-color: #efe4cc; }
.bg-paper { background-color: #fff7e8; }
.border { border: 1px solid currentColor; }
.border-forest { border-color: #182620; }
.border-t { border-top-width: 1px; border-top-style: solid; }
.flex { display: flex; }
.flex-1 { flex: 1 1 0%; }
.flex-col { flex-direction: column; }
.font-semibold { font-weight: 600; }
.gap-3 { gap: 0.75rem; }
.gap-4 { gap: 1rem; }
.leading-none { line-height: 1; }
.leading-relaxed { line-height: 1.625; }
.list-none { list-style-type: none; }
.m-0 { margin: 0; }
.max-w-3xl { max-width: 48rem; }
.max-w-7xl { max-width: 80rem; }
.min-h-screen { min-height: 100vh; }
.mt-3 { margin-top: 0.75rem; }
.mt-4 { margin-top: 1rem; }
.mt-6 { margin-top: 1.5rem; }
.mx-auto { margin-left: auto; margin-right: auto; }
.no-underline { text-decoration: none; }
.p-0 { padding: 0; }
.p-5 { padding: 1.25rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.py-5 { padding-top: 1.25rem; padding-bottom: 1.25rem; }
.py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.rounded-2xl { border-radius: 1rem; }
.text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
.text-clay { color: #b65b3d; }
.text-forest { color: #182620; }
.text-olive { color: #596b55; }
.text-sm { font-size: 0.875rem; line-height: 1.25rem; }
.text-xl { font-size: 1.25rem; line-height: 1.75rem; }
@media (min-width: 640px) { .sm\:flex-row { flex-direction: row; } }
@media (min-width: 640px) { .sm\:items-center { align-items: center; } }
@media (min-width: 640px) { .sm\:justify-between { justify-content: space-between; } }