body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    flex: 1 0 auto;
}

.site-footer {
    background: var(--color-surface-bg);
    backdrop-filter: blur(14px) saturate(1.2);
    -webkit-backdrop-filter: blur(14px) saturate(1.2);
    text-align: center;
    padding: 0.5rem 2.5vw 0.5rem 2.5vw;
    font-size: inherit;
    border-top: 1px solid var(--color-border);
    width: 100%;
    box-sizing: border-box;
}

.site-footer .footer-content {
    max-width: 900px;
    margin: 0 auto;
    line-height: inherit;
    width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
}

.footer-note {
    color: var(--color-muted);
    font-size: 0.92rem;
    line-height: 1.6;
    font-weight: var(--font-weight-body);
    letter-spacing: 0.01em;
    margin: 0;
    padding: 0;
}

/* Responsive Design */
@media (max-width: 900px) {
    .site-footer .footer-content {
        max-width: 98vw;
        padding-left: 0.6rem;
        padding-right: 0.6rem;
    }

    .site-footer {
        padding-left: 1vw;
        padding-right: 1vw;
    }

    .footer-note {
        font-size: 0.9rem;
    }
}

@media (max-width: 600px) {
    .site-footer .footer-content {
        max-width: 100vw;
        padding-left: 0.4rem;
        padding-right: 0.4rem;
    }

    .site-footer {
        padding-left: 0.5vw;
        padding-right: 0.5vw;
    }

    .footer-note {
        font-size: 0.86rem;
    }
}