:root {
    --color-bg: #FFFFFF;
    --color-section: #F1F5F9;
    --color-primary: #4F46E5;    /* Indigo AI */
    --color-primary-dark: #3730A3;
    --color-text-main: #0F172A;  /* Slate 900 */
    --color-text-muted: #475569; /* Slate 600 */
    --color-accent: #06B6D4;     /* Cyan per dettagli tecnologici */
    
    --font-display: 'Outfit', sans-serif;
    --font-body: 'Inter', sans-serif;
}

body {
    background-color: var(--color-bg);
    font-family: var(--font-body);
    color: var(--color-text-main);
    letter-spacing: -0.01em;
}

.text-gradient {
    background: linear-gradient(90deg, #4F46E5, #06B6D4);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Header enhancement */
.header-scrolled {
    background-color: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(12px);
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.1);
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
}

/* Animations */
.reveal-element {
    opacity: 0;
    transform: translateY(40px);
    transition: all 1s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-element.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Modern Card Effect */
.bg-white.p-10 {
    border: 1px solid rgba(0, 0, 0, 0.05);
}

/* Forms */
input::placeholder {
    color: #94A3B8;
}

input:focus {
    border-color: var(--color-primary);
}

/* Mobile adjust */
@media (max-width: 768px) {
    h1 {
        font-size: 2.75rem !important;
    }
}