:root {
--blanc: #ffffff;
--noir: #1a1a1a;
--gris-fonce: #2d2d2d;
--gris: #f5f5f5;
--gris-clair: #e8e8e8;
--gris-border: #d0d0d0;
--texte: #333333;
--texte-leger: #666666;
--rouge: #ff0505;
--rouge-fonce: #fe0c0c;
--rouge-clair: #A52A2A;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
background: var(--blanc);
color: var(--texte);
font-family: 'Inter', sans-serif;
font-weight: 400;
overflow-x: hidden;
line-height: 1.6;
padding-top: 70px;
}

/* NAV */

#nav {
    position: fixed; 
    top: 0; 
    left: 0; 
    right: 0;
    z-index: 100;
    display: flex; 
    align-items: center; 
    justify-content: space-between;
    padding: 16px 60px;
    transition: all 0.3s ease;
    
    /* Avant de scroller : Blanc très transparent (laisse passer l'image du fond) */
    background: rgba(255, 255, 255, 0.15); 
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px); /* Pour Safari */
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* QUAND ON SCROLLE : Arrière-plan blanc transparent "effet verre" (Glassmorphism) */
#nav.scrolled {
    background: rgba(255, 255, 255, 0.82); /* Arrière-plan blanc doux et transparent */
    backdrop-filter: blur(16px);           /* Floute magnifiquement le contenu qui défile derrière */
    -webkit-backdrop-filter: blur(16px);
    padding: 10px 60px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

/* LOGO */
#nav .nav-logo {
    display: flex; 
    align-items: center;
    text-decoration: none;
}
#nav .nav-logo img {
    height: 40px;
    width: auto;
    transition: height 0.3s;
}
#nav.scrolled .nav-logo img {
    height: 34px;
}

/* LIENS DU MENU */
#nav .nav-links { 
    display: flex; 
    gap: 40px; 
    list-style: none; 
}
#nav .nav-links a {
    font-size: 0.8rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--texte-leger); /* Reprise de ton texte d'origine */
    text-decoration: none;
    transition: color 0.2s;
    font-weight: 500;
}
#nav .nav-links a:hover { 
    color: var(--rouge); /* On garde ton rouge au survol ! */
}

/* BOUTON D'ACTION (CTA) ROUGE SACOMI */
#nav .nav-cta {
    font-size: 0.75rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--rouge); /* On garde ton rouge original */
    border: 1.5px solid var(--rouge);
    padding: 10px 24px;
    text-decoration: none;
    transition: all 0.2s ease;
    font-weight: 600;
}
#nav .nav-cta:hover { 
    background: var(--rouge); 
    color: var(--blanc); 
}
/* Mobile */
@media (max-width: 900px) {
#nav { padding: 12px 28px; }
#nav.scrolled { padding: 10px 28px; }
#nav .nav-logo img { height: 32px; }
#nav.scrolled .nav-logo img { height: 28px; }
#nav .nav-links, #nav .nav-cta { display: none; }
.hero { padding: 100px 28px 60px; min-height: auto; }
section { padding: 60px 28px; }
.about, .expertise, .contact {
    grid-template-columns: 1fr;
    gap: 40px;
}
.about-images { height: 300px; }
.chiffres-grid { grid-template-columns: repeat(2, 1fr); }
footer { flex-direction: column; gap: 16px; text-align: center; padding: 28px; }
.footer-links { flex-wrap: wrap; justify-content: center; }
.divider { margin: 0 28px; }
}

/* FOOTER */
footer {
background: var(--noir);
padding: 32px 120px;
display: flex; align-items: center; justify-content: space-between;
}
footer .footer-logo {
display: flex; align-items: center;
}
footer .footer-logo img {
height: 32px;
width: auto;
filter: brightness(0) invert(1);
}
.footer-copy {
font-size: 0.7rem;
letter-spacing: 1px;
color: var(--texte-leger);
text-transform: uppercase;
}
.footer-links {
display: flex; gap: 28px; list-style: none;
}
.footer-links a {
font-size: 0.7rem;
letter-spacing: 1px;
text-transform: uppercase;
color: var(--texte-leger);
text-decoration: none;
transition: color 0.2s;
}
.footer-links a:hover { color: var(--rouge); }

/* DIVIDER */
.divider {
height: 1px;
background: var(--gris-border);
margin: 0 120px;
}

/* ANIMATIONS */
@keyframes fadeUp {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}

.reveal {
opacity: 0;
transform: translateY(30px);
transition: opacity 0.6s ease, transform 0.6s ease;
}
.reveal.visible {
opacity: 1;
transform: translateY(0);
}

/* Mobile */
@media (max-width: 900px) {
nav { padding: 12px 28px; }
nav.scrolled { padding: 10px 28px; }
.nav-logo img { height: 32px; }
nav.scrolled .nav-logo img { height: 28px; }
.nav-links, .nav-cta { display: none; }
.hero { padding: 100px 28px 60px; min-height: auto; }
section { padding: 60px 28px; }
.about, .expertise, .contact {
    grid-template-columns: 1fr;
    gap: 40px;
}
.about-images { height: 300px; }
.chiffres-grid { grid-template-columns: repeat(2, 1fr); }
footer { flex-direction: column; gap: 16px; text-align: center; padding: 28px; }
.footer-links { flex-wrap: wrap; justify-content: center; }
.divider { margin: 0 28px; }
}





