:root {
    --mn-blue: #447FB9;
    --mn-magenta: #731183;
    --mn-blue-dark: #2f5e8a;
    --mn-magenta-dark: #530b60;
    --mn-bg: #f7f6fb;
    --mn-text: #1c2e3f;
    --mn-muted: #7a7889;
    --mn-card: #ffffff;
}
* { box-sizing: border-box; }
html, body {
    margin: 0; padding: 0;
    min-height: 100%;
    background: var(--mn-bg);
    color: var(--mn-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI",
                 "Trebuchet MS", Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}
.wrap {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    background:
        radial-gradient(1100px 500px at 100% -10%, rgba(115, 17, 131, 0.14), transparent 60%),
        radial-gradient(900px 500px at 0% 100%,   rgba(68, 127, 185, 0.14), transparent 60%),
        var(--mn-bg);
}
.card {
    width: 100%;
    max-width: 760px;
    background: var(--mn-card);
    border-radius: 20px;
    box-shadow: 0 30px 90px -25px rgba(30, 20, 80, 0.28),
                0 4px 12px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}
.card-body {
    padding: 48px 56px 40px;
    text-align: center;
}
.logo {
    width: 340px;
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto 28px;
}
h1 {
    font-size: 42px;
    font-weight: 800;
    line-height: 1.1;
    margin: 0 0 12px 0;
    color: var(--mn-magenta-dark);
}
.tagline {
    font-size: 18px;
    color: var(--mn-muted);
    margin: 0 0 28px 0;
}
.body {
    text-align: left;
    max-width: 560px;
    margin: 0 auto;
}
.body p {
    font-size: 16px;
    line-height: 1.65;
    color: var(--mn-text);
    margin: 0 0 14px 0;
}
.cta-row {
    margin-top: 34px;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
}
.btn {
    display: inline-block;
    padding: 12px 24px;
    border-radius: 999px;
    font-weight: 600;
    text-decoration: none;
    transition: transform 0.05s ease, box-shadow 0.15s ease;
}
.btn-primary {
    background: linear-gradient(135deg, var(--mn-blue), var(--mn-magenta));
    color: #ffffff;
    box-shadow: 0 10px 24px -8px rgba(70, 15, 110, 0.55);
}
.btn-primary:hover { transform: translateY(-1px); }
.btn-ghost {
    background: transparent;
    color: var(--mn-magenta);
    border: 1px solid rgba(115, 17, 131, 0.28);
}
.btn-ghost:hover { background: rgba(115, 17, 131, 0.06); }
.footer {
    background: linear-gradient(135deg,
                rgba(68, 127, 185, 0.06),
                rgba(115, 17, 131, 0.06));
    padding: 18px 56px;
    font-size: 13px;
    color: var(--mn-muted);
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}
.footer strong { color: var(--mn-text); }
@media (max-width: 520px) {
    .card-body { padding: 32px 24px; }
    .footer   { padding: 16px 24px; }
    h1        { font-size: 30px; }
    .logo     { width: 240px; }
}
