:root {
    color-scheme: light;
    --app-background: #ffffff;
    --heading-color: #2f2f2f;
    --muted-text: #6e6e6e;
    --hero-background: #ece3d0;
    --button-background: #111111;
    --button-text: #ffffff;
    --error-color: #9e1f1f;
    --error-background: #fff1f1;
    --error-text: #5a2020;
    --error-border: #f2c8c8;
    --success-background: #f0f8f1;
    --success-text: #1b4d20;
    --success-border: #c6e0c9;
}

body {
    font-family: "Roboto", sans-serif;
    background: var(--app-background);
    color: #2f2f2f;
}

.app-shell {
    min-height: 100vh;
    background: var(--app-background);
}

.app-header {
    display: flex;
    justify-content: center;
    margin: 1.9rem 0 1rem;
    padding: 0 1.5rem;
}

.brand-header-content {
    width: min(1180px, 100%);
    display: flex;
    justify-content: center;
}

.brand-logo-link,
.brand-wordmark-link {
    color: inherit;
    text-decoration: none;
}

.brand-logo-image {
    max-width: min(380px, 80vw);
    width: 100%;
    height: auto;
}

.brand-wordmark {
    font-size: clamp(1.35rem, 4vw, 2rem);
    font-weight: 600;
    letter-spacing: 0.18rem;
}

.app-main {
    padding-bottom: 1.5rem;
}

.app-content {
    background: transparent;
}

.campaign-shell {
    width: 100%;
}

.app-footer {
    border-top: 1px solid #e7e7e7;
    margin-top: 2.5rem;
    padding: 1rem 1.5rem;
}

.brand-footer-content {
    width: min(1180px, 100%);
    margin: 0 auto;
    font-size: 0.72rem;
    color: #8b8b8b;
}

.brand-footer-content p {
    margin-bottom: 0.45rem;
}

.brand-footer-content a {
    color: inherit;
}

.brand-terms {
    color: #959595;
}
