:root {
    /* Paleta vibrante */
    --c-indigo: #4f46e5;
    --c-violet: #7c3aed;
    --c-blue:   #2563eb;
    --c-cyan:   #06b6d4;
    --c-teal:   #10b981;
    --c-coral:  #f43f5e;
    --c-red:    #ef4444;
    --c-amber:  #f59e0b;

    --grad-primary: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
    --grad-accent:  linear-gradient(135deg, #06b6d4 0%, #4f46e5 100%);

    --ink:        #1e293b;
    --ink-soft:   #64748b;
    --line:       #e2e8f0;
    --bg:         #f1f5f9;
    --card:       #ffffff;

    --radius:     14px;
    --shadow-sm:  0 2px 8px rgba(30, 41, 59, 0.08);
    --shadow-md:  0 8px 24px rgba(79, 70, 229, 0.15);
    --ease:       0.2s ease;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
    background: radial-gradient(1200px 600px at 100% -10%, rgba(124,58,237,0.08), transparent 60%),
                radial-gradient(1000px 500px at -10% 110%, rgba(6,182,212,0.08), transparent 60%),
                var(--bg);
    color: var(--ink);
    min-height: 100vh;
}

/* ---------- Navbar ---------- */
nav {
    background: var(--grad-primary);
    padding: 14px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    box-shadow: 0 4px 20px rgba(79, 70, 229, 0.25);
    position: relative;
    z-index: 1100;
}
nav a { color: #fff; text-decoration: none; font-size: 15px; }

nav .logo {
    font-family: 'Poppins', 'Segoe UI', sans-serif;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.3px;
    display: flex;
    align-items: center;
    gap: 8px;
}
nav .logo .logo-dot {
    color: #67e8f9;
    text-shadow: 0 0 12px rgba(103, 232, 249, 0.8);
    font-size: 14px;
}

nav .nav-links { display: flex; align-items: center; gap: 8px; }

nav .nav-links a,
nav .nav-links button {
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    color: #fff;
    margin-left: 0;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.18);
    cursor: pointer;
    transition: background var(--ease), transform var(--ease), box-shadow var(--ease);
}
nav .nav-links a:hover,
nav .nav-links button:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
    text-decoration: none;
}

.container { max-width: 1100px; margin: 0 auto; padding: 24px 20px; }

@media (max-width: 768px) {
    nav {
        padding: 10px 16px;
        justify-content: center;
    }
    nav .logo {
        width: 100%;
        justify-content: center;
        font-size: 19px;
    }
    nav .nav-links {
        width: 100%;
        justify-content: center;
        gap: 6px;
        flex-wrap: wrap;
    }
    nav .nav-links a,
    nav .nav-links button {
        font-size: 12px;
        padding: 7px 11px;
    }
    .container { padding: 16px 12px; }
}
