/* =========================================
   TEMPLATE BASE / TYPOGRAPHY GLOBALE
   ========================================= */
:root {
    /* Font-size variables (clamp ensures native responsiveness) */
    --h1-size: clamp(2.25rem, 5vw, 3.5rem);      
    --h2-size: clamp(1.75rem, 4vw, 2.5rem);      
    --h3-size: clamp(1.375rem, 3vw, 1.75rem);    
    --body-size: 1rem;                           
    
    /* Colori e Font */
    --color-darker: #020617;
    --color-primary: #10b981; /* <-- AGGIORNATO CON IL VERDE ERGOWARE */
    --color-accent: #06b6d4;  /* Il ciano rimane per le sfumature */
    --font-display: 'Sora', sans-serif;
}

body {
    background-color: var(--color-darker);
    color: #f8fafc; /* Testo chiaro ad alto contrasto */
    -webkit-font-smoothing: antialiased;
    font-size: var(--body-size);
}

/* Regole globali per i Titoli */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-display);
    font-weight: 700;
    color: #ffffff; /* Bianco per i titoli */
}

h1 {
    font-size: var(--h1-size);
    line-height: 1.1;
    margin-bottom: 1.5rem;
}

h2 {
    font-size: var(--h2-size);
    line-height: 1.2;
    margin-bottom: 1.5rem;
}

h3 {
    font-size: var(--h3-size);
    line-height: 1.3;
    margin-bottom: 1rem;
}

/* Generic utility classes */
.text-gradient {
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-image: linear-gradient(to right, var(--color-primary), var(--color-accent));
}

/* =========================================
   COMPONENTI SPECIFICI E INTERATTIVITA'
   ========================================= */
.glass-header {
    background: rgba(2, 6, 23, 0.8);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.card-hover {
    transition: all 0.3s ease;
}
.card-hover:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5);
    border-color: rgba(37, 99, 235, 0.3);
}

/* FAQ Accordion */
.faq-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out, padding 0.3s ease;
}
.faq-item.active .faq-content {
    max-height: 200px;
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.faq-item.active .faq-icon {
    transform: rotate(180deg);
}