/* =========================================================
   Web en mantenimiento — variables parametrizables
   Cambia estos valores para adaptar el diseño a tu marca.
   ========================================================= */
:root {
    /* Colores de marca */
    --color-primary: #225ad5;
    --color-accent: #16b9f9;
    --color-text: #1e293b;
    --color-text-light: #64748b;

    /* Fondo */
    --color-bg: #f8fafc;
    --color-illustration-bg: #eef2ff;

    /* Logo */
    --logo-url: url('../images/logo_xmi.png');
    --logo-width: 110px;
    --logo-height: 40px;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: 'Poppins', 'Segoe UI', sans-serif;
}

html, body {
    height: 100%;
}

body {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: var(--color-bg);
    color: var(--color-text);
}

.container {
    width: 100%;
    max-width: 480px;
    text-align: center;
}

.logo {
    position: fixed;
    top: 28px;
    left: 32px;
    width: var(--logo-width);
    height: var(--logo-height);
    background-image: var(--logo-url);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
}

.illustration {
    width: 100%;
    max-width: 300px;
    margin: 0 auto 28px;
    display: block;
}

.illustration .surface {
    fill: #ffffff;
}

.illustration .tint {
    fill: var(--color-bg);
}

.illustration .bg-shape {
    fill: var(--color-illustration-bg);
}

.illustration .primary {
    fill: var(--color-primary);
}

.illustration .primary-stroke {
    stroke: var(--color-primary);
    fill: none;
}

.illustration .accent {
    fill: var(--color-accent);
}

.illustration .accent-stroke {
    stroke: var(--color-accent);
    fill: none;
}

.illustration .gear {
    transform-origin: 322px 96px;
    animation: spin 9s linear infinite;
}

h1 {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--color-text);
    margin-bottom: 14px;
}

p {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--color-text-light);
}

.footer-note {
    margin-top: 24px;
    font-size: 0.9rem;
}

.footer-note a {
    color: var(--color-primary);
    font-weight: 500;
    text-decoration: none;
}

.footer-note a:hover {
    text-decoration: underline;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .illustration .gear {
        animation: none;
    }
}

@media (max-width: 600px) {
    .logo {
        position: static;
        margin: 0 auto 24px;
        width: calc(var(--logo-width) * 0.85);
        height: calc(var(--logo-height) * 0.85);
        background-position: center;
    }
}
