:root {
    --background: #f1e3d9;
    --surface: #fffaf7;
    --text: #25272d;
    --muted: #687086;
    --accent: #56617a;
    --hairline: rgba(86, 97, 122, 0.16);
}

@media (prefers-color-scheme: dark) {
    :root {
        --background: #141414;
        --surface: #252326;
        --text: #f6eeee;
        --muted: #b9afb4;
        --accent: #ebcccc;
        --hairline: rgba(235, 204, 204, 0.16);
    }
}

* { box-sizing: border-box; }
html { min-width: 320px; min-height: 100%; background: var(--background); }

body {
    margin: 0;
    min-height: 100svh;
    color: var(--text);
    background: radial-gradient(circle at 8% 10%, rgba(195, 119, 119, 0.18), transparent 28rem), var(--background);
    font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}

a { color: inherit; }

.page {
    width: min(100%, 820px);
    min-height: 100svh;
    margin: 0 auto;
    padding: 24px;
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 48px;
}

.site-header, .site-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: var(--muted);
    font-size: 14px;
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--accent);
    font-size: 19px;
    font-weight: 760;
    text-decoration: none;
}

.brand img { display: block; border-radius: 22%; box-shadow: 0 7px 18px rgba(74, 62, 58, 0.13); }
.home-link, .site-footer a { text-decoration: none; }
.home-link:hover, .home-link:focus-visible, .site-footer a:hover, .site-footer a:focus-visible { color: var(--text); }
main { align-self: center; }

.policy {
    padding: clamp(28px, 6vw, 54px);
    background: color-mix(in srgb, var(--surface) 92%, transparent);
    border: 1px solid var(--hairline);
    border-radius: 28px;
    box-shadow: 0 28px 70px rgba(74, 62, 58, 0.12);
}

h1 { margin: 0; font-size: clamp(40px, 7vw, 62px); line-height: 1; letter-spacing: -0.04em; }
.updated { margin-top: 14px; }
h2 { margin: 34px 0 0; font-size: 20px; }
p { margin: 12px 0 0; color: var(--muted); font-size: 16px; line-height: 1.65; }

@media (prefers-color-scheme: dark) {
    body { background: radial-gradient(circle at 8% 10%, rgba(235, 204, 204, 0.1), transparent 28rem), var(--background); }
    .policy { box-shadow: 0 28px 70px rgba(0, 0, 0, 0.3); }
}

@media (max-width: 640px) {
    .page { padding: 20px 18px; gap: 32px; }
    .policy { padding: 30px 22px; border-radius: 22px; }
    .site-footer { align-items: flex-start; flex-direction: column; gap: 10px; }
}

