.box {
    --background: #f6f4ef;
    --foreground: #1f2a24;
    --card: #ffffff;
    --border: #e6e1d8;
    --primary-dark: #1f5a42;
    --primary-light: #e5f1ea;
    --muted-foreground: #5d675f;
}

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
}

.body {
    background: var(--background);
    color: var(--foreground);
}

.box {
    font-family: Inter, "Segoe UI", sans-serif;
}

.box img,
svg {
    display: block;
    max-width: 100%;
}


.box p {
    margin: 0;
}

.box section {
    padding: 4rem 1rem;
}

.max-w-6xl {
    max-width: 72rem;
    margin-inline: auto;
}

.mx-auto {
    margin-inline: auto;
}

.px-4 {
    padding-inline: 1rem;
}

.py-16 {
    padding-block: 4rem;
}

.text-center {
    text-align: center;
}

.mb-12 {
    margin-bottom: 3rem;
}

.text-3xl {
    font-size: clamp(1.8rem, 2vw, 2.25rem);
}

.font-heading {
    font-family: "Plus Jakarta Sans", "Segoe UI", sans-serif;
}

.font-bold {
    font-weight: 700;
}

.font-semibold {
    font-weight: 600;
}

.text-sm {
    font-size: 0.875rem;
}

.text-xs {
    font-size: 0.75rem;
}

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

.mt-1 {
    margin-top: 0.25rem;
}

.mt-2 {
    margin-top: 0.5rem;
}

.mb-1 {
    margin-bottom: 0.25rem;
}

.mb-3 {
    margin-bottom: 0.75rem;
}

.grid {
    display: grid;
}

.gap-4 {
    gap: 1rem;
}

.rounded-2xl {
    border-radius: 1rem;
}

.rounded-xl {
    border-radius: 0.75rem;
}

.bg-card {
    background: var(--card);
}

.bg-primary-light {
    background: var(--primary-light);
}

.border {
    border-width: 1px;
}

.border-border {
    border-color: var(--border);
}

.p-5 {
    padding: 1.25rem;
}

.card-shadow {
    box-shadow: 0 16px 30px rgba(18, 36, 29, 0.08);
}

.flex {
    display: flex;
}

.items-center {
    align-items: center;
}

.justify-center {
    justify-content: center;
}

.w-10 {
    width: 2.5rem;
}

.h-10 {
    height: 2.5rem;
}

.text-primary-dark {
    color: var(--primary-dark);
}

@media (min-width: 768px) {
    .md\:grid-cols-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}