:root {
    --bg: #0b1220;
    --text: #f8fafc;
    --muted: #94a3b8;
    --primary: #38bdf8;
    --primary-dark: #0ea5e9;
}

* { box-sizing: border-box; }
body {
    margin: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-family: "Segoe UI", system-ui, sans-serif;
    color: var(--text);
    background:
        radial-gradient(circle at top, rgba(56, 189, 248, .18), transparent 40%),
        var(--bg);
}
.wrap { flex: 1; display: grid; place-items: center; padding: 2rem; }
.hero { max-width: 720px; text-align: center; }
.jz-brand-logo { display: block; width: auto; max-width: 100%; height: auto; margin-left: auto; margin-right: auto; }
.jz-brand-logo-hero { max-height: 72px; margin-bottom: 1.25rem; border-radius: 8px; }
.jz-brand-logo-footer { max-height: 40px; opacity: 0.95; }
.site-footer {
    padding: 1.25rem 2rem 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.site-footer-stack {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.site-owner-mark {
    display: inline-flex;
    text-decoration: none;
    opacity: 0.92;
}

.site-owner-mark:hover {
    opacity: 1;
}

.site-owner-logo {
    display: block;
    width: auto;
    max-width: min(240px, 90vw);
    height: auto;
    max-height: 56px;
}
.lead { color: var(--muted); font-size: 1.125rem; }
.actions { display: flex; gap: .75rem; justify-content: center; flex-wrap: wrap; margin-top: 1.5rem; }
.btn {
    display: inline-flex;
    padding: .75rem 1.1rem;
    border-radius: 999px;
    text-decoration: none;
    border: 1px solid rgba(148, 163, 184, .35);
    color: var(--text);
}
.btn.primary { background: var(--primary); color: #082f49; border-color: var(--primary); }
.btn.primary:hover { background: var(--primary-dark); }
