:root {
    --thuweb-blue: #172676;
    --ink: #141926;
    --muted: #6b7080;
    --line: #e8e9ee;
    --paper: #ffffff;
    --background: #f7f7f9;
}

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    background: var(--background);
}

body {
    min-height: 100vh;
    margin: 0;
    display: grid;
    grid-template-rows: 1fr auto;
    font-family: Arial, Helvetica, sans-serif;
    color: var(--ink);
    background:
        radial-gradient(circle at 50% 40%, #ffffff 0, #ffffff 34%, var(--background) 74%);
}

.page {
    display: grid;
    place-items: center;
    padding: 48px 24px;
}

.brand-card {
    width: min(920px, 100%);
    text-align: center;
}

.logo {
    display: block;
    width: min(720px, 92vw);
    height: auto;
    margin: 0 auto;
}

.legacy {
    margin: 42px auto 0;
    max-width: 700px;
    color: var(--thuweb-blue);
    font-size: clamp(0.95rem, 1.8vw, 1.15rem);
    letter-spacing: .045em;
}

.archive-note {
    max-width: 650px;
    margin: 18px auto 0;
    color: var(--muted);
    font-size: .95rem;
    line-height: 1.65;
}

footer {
    width: min(1100px, calc(100% - 48px));
    margin: 0 auto;
    padding: 22px 0 28px;
    border-top: 1px solid var(--line);
    display: flex;
    justify-content: space-between;
    gap: 24px;
    color: var(--muted);
    font-size: .78rem;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 640px) {
    .page {
        padding: 32px 18px;
    }

    .legacy {
        margin-top: 28px;
        line-height: 1.55;
    }

    footer {
        width: calc(100% - 36px);
        flex-direction: column;
        gap: 6px;
        text-align: center;
    }
}
