*, *::before, *::after { box-sizing: border-box; margin: 0; }
html, body { margin: 0; }
ul, ol { padding-left: 0; }
.bg-cream { background-color: #efe4cc; }
.bg-forest { background-color: #182620; }
.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-7xl { max-width: 80rem; }
.max-w-lg { max-width: 32rem; }
.min-h-screen { min-height: 100vh; }
.mt-4 { margin-top: 1rem; }
.mt-5 { margin-top: 1.25rem; }
.mt-6 { margin-top: 1.5rem; }
.mx-auto { margin-left: auto; margin-right: auto; }
.no-underline { text-decoration: none; }
.p-0 { padding: 0; }
.p-8 { padding: 2rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.px-5 { padding-left: 1.25rem; padding-right: 1.25rem; }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.py-20 { padding-top: 5rem; padding-bottom: 5rem; }
.py-4 { padding-top: 1rem; padding-bottom: 1rem; }
.py-5 { padding-top: 1.25rem; padding-bottom: 1.25rem; }
.rounded-3xl { border-radius: 1.5rem; }
.rounded-full { border-radius: 9999px; }
.text-2xl { font-size: 1.5rem; line-height: 2rem; }
.text-5xl { font-size: 3rem; line-height: 1; }
.text-base { font-size: 1rem; line-height: 1.5rem; }
.text-center { text-align: center; }
.text-cream { color: #efe4cc; }
.text-forest { color: #182620; }
.text-olive { color: #596b55; }
.text-sm { font-size: 0.875rem; line-height: 1.25rem; }
.tracking-wider { letter-spacing: 0.05em; }
.uppercase { text-transform: uppercase; }
@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; } }