body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:#f5f5f5;
  padding-top: 0 !important;
}

.section { padding:80px 0; }
.section-title { font-weight:700; margin-bottom:20px; }
.section-text { font-size:1.05rem; line-height:1.7; }

.navbar {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99999;
}


.nav-anim {
  position:relative;
  transition:color .2s;
}
.nav-anim::after {
  content:"";
  position:absolute;
  left:0; bottom:0;
  width:0; height:2px;
  background:#c00000;
  transition:width .3s;
}
.nav-anim:hover::after { width:100%; }

.nav-lang { font-weight:600; opacity:0.8; }
.nav-lang:hover { opacity:1; }


.img-shadow {
  box-shadow:0 15px 35px rgba(0,0,0,0.25);
  border-radius:10px;
}
.img-animated {
  transition:transform .4s, box-shadow .4s;
}
.img-animated:hover {
  transform:translateY(-5px) scale(1.02);
  box-shadow:0 25px 45px rgba(0,0,0,0.35);
}

.btn-main {
  background:#c00000;
  border:none;
}
.btn-main:hover { background:#900000; }

:root {
    --nav-height: 80px; /* adjust until perfect */
}
.video-hero {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

.video-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.video-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: white;
    z-index: 2;
    padding: 20px;
}

.video-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 1;
}


.video-overlay h1 {
    font-size: 4rem;
    font-weight: 700;
}

.video-overlay p {
    font-size: 1.5rem;
    margin-bottom: 20px;
}



.video-hero {
    padding-top: 56px; /* push video down without breaking overlay */
}

:root {
    --nav-height: 80px; /* adjust until perfect */
}
.img-small {
    max-width: 40%;   /* réduit l’image */
    display: block;
    margin: 0 auto;   /* centre l’image */
}

/* Footer */
.site-footer {
    padding: 2rem;
    background: #020617;
    border-top: 1px solid rgba(148, 163, 184, 0.3);
	    color: #64748b;

}

.footer-inner {
    max-width: 1100px;
    margin: 0 auto 1rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.5rem;
}

.footer-inner h4 {
    margin-bottom: 0.5rem;
}

.footer-copy {
    text-align: center;
    font-size: 0.8rem;
    color: #64748b;
}
