:root {
    --brand-red: #9c1c1f;
    --brand-yellow: #fef3c7;
    /* Softer yellow */
    --brand-gold: #d4af37;
    --brand-gold-hover: #b59021;
    --card-blue: #eff6ff;
    /* Light blue background */
    --card-blue-text: #1e40af;
    --card-red: #fef2f2;
    /* Light red background */
    --card-red-text: #b91c1c;
}

body {
    font-family: 'Open Sans', sans-serif;
    background-color: #fff;
    color: #333;
    background-image: none;
    /* Removed heavy gradient */
}

h1,
h2,
h3,
h4 {
    font-family: 'Montserrat', sans-serif;
}

.btn-gold {
    background: linear-gradient(to bottom, #ecc94b, #d69e2e);
    color: #4a3b0f;
    border-bottom: 4px solid #b7791f;
    text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.4);
    cursor: pointer;
}

.btn-gold:hover {
    transform: translateY(2px);
    border-bottom: 2px solid #b7791f;
    filter: brightness(105%);
}

.btn-gold:active {
    transform: translateY(4px);
    border-bottom: 0px;
}

.card-blue {
    background-color: var(--card-blue);
    color: #333;
    border: 1px solid #bfdbfe;
}

.card-blue h3 {
    color: var(--card-blue-text);
    border-color: #bfdbfe;
}

.card-red {
    background-color: var(--card-red);
    color: #333;
    border: 1px solid #fecaca;
}

.card-red h3 {
    color: var(--card-red-text);
    border-color: #fecaca;
}

.paper-card {
    background-color: #fff;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    border-radius: 1rem;
    border: 1px solid #f3f4f6;
}

.highlight-box {
    border: 1px solid #e5e7eb;
    background-color: #fffdf5;
}

.check-list li {
    display: flex;
    align-items: start;
    margin-bottom: 0.75rem;
}

.check-list svg {
    flex-shrink: 0;
    margin-top: 0.25rem;
    margin-right: 0.75rem;
}

/* Animation Utilities */
.fade-in {
    animation: fadeIn 1s ease-in;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}