*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}

/* COULEURS */
:root{
  --couleur-principale: #1e4d2b; 
  --couleur-secondaire: #b07d3a; 
  --couleur-claire: #d4a055;
  --noir: #111;
  --gris: #f4f2ee;
  --gris-mid: #e8e4de;
  --texte: #2a2a2a;
  --doux: #6b6b6b;
  --leger: #9a9a9a;
}

body{
  font-family:'Inter',sans-serif;
  background:#fff;
  color:var(--texte);
  overflow-x:hidden;
}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 3rem;height:60px;
  mix-blend-mode:normal;
}

nav.scrolled{
  background:rgba(255,255,255,0.97);
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(0,0,0,0.06);
}

.nav-nom{
  font-family:'Cormorant Garamond',serif;
  font-size:18px;font-weight:600; 
  color:white;
  text-decoration:none;
  letter-spacing:0.02em;
  transition:color 0.3s;
}

nav.scrolled .nav-nom{color:var(--noir);}

.nav-droite{display:flex;align-items:center;gap:2rem;}

.nav-lien{
  font-size:13px;font-weight:400;letter-spacing:0.04em;
  color:rgba(255,255,255,0.85);text-decoration:none;
  transition:color 0.2s;
}
nav.scrolled .nav-lien{color:var(--doux);}
.nav-lien:hover{color:white;}
nav.scrolled .nav-lien:hover{color:var(--noir);}

.nav-inscr{
  font-size:12px;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;
  color:var(--couleur-principale);background:white;
  padding:8px 18px;border-radius:2px;
  text-decoration:none;
  transition:background 0.2s,color 0.2s;
}
nav.scrolled .nav-inscr{background:var(--couleur-principale);color:white;}
.nav-inscr:hover{background:var(--gris);}
nav.scrolled .nav-inscr:hover{background:var(--couleur-principale); filter: brightness(1.2);}

/* ── HERO ── */
.hero{
  height:100vh;min-height:600px;
  position:relative;overflow:hidden;
  display:flex;align-items:flex-end;
}

/* 🟢 INTÉGRATION DE VOTRE IMAGE ICI */
.hero-bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.7) 100%),
    url('Gemini.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.hero-contenu{
  position:relative;z-index:2;
  padding:0 3rem 5rem;
  max-width:1400px;width:100%;
  display:grid;grid-template-columns:1fr auto;
  align-items:flex-end;gap:4rem;
}

.hero-titre{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(3.5rem,7vw,6.5rem);
  font-weight:300;
  color:white;
  line-height:1.05;
  letter-spacing:-0.01em;
}

.hero-sous{
  margin-top:1.5rem;
  font-size:15px;font-weight:300;
  color:rgba(255,255,255,0.75);
  line-height:1.7;max-width:480px;
}

.hero-actions{
  display:flex;gap:1rem;margin-top:2rem;align-items:center;
}

.btn-principal{
  background:var(--couleur-secondaire);color:white;
  font-size:12px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;
  padding:13px 28px;border-radius:2px;text-decoration:none;
  transition:background 0.2s;
}
.btn-principal:hover{background:var(--couleur-claire);}

.btn-secondaire{
  color:rgba(255,255,255,0.8);font-size:13px;font-weight:300;
  text-decoration:none;border-bottom:1px solid rgba(255,255,255,0.3);
  padding-bottom:2px;
  transition:color 0.2s,border-color 0.2s;
}
.btn-secondaire:hover{color:white;border-color:white;}

/* ── BANDE ACTU ── */
.bande-actu{
  background:var(--couleur-principale);
  color:white;
  padding:14px 3rem;
  display:flex;align-items:center;gap:2rem;
  overflow:hidden;
}

.actu-badge{
  font-size:10px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;
  background:var(--couleur-secondaire);color:white;
  padding:4px 10px;border-radius:2px;
  flex-shrink:0;
}

.actu-texte{
  font-size:13px;font-weight:300;
  color:rgba(255,255,255,0.85);
  flex:1;
}

.actu-lien{
  font-size:12px;font-weight:500;letter-spacing:0.04em;text-transform:uppercase;
  color:var(--couleur-claire);text-decoration:none;flex-shrink:0;
  border-bottom:1px solid transparent;
  transition:border-color 0.2s;
}
.actu-lien:hover{border-color:var(--couleur-claire);}

/* ── INTRO ── */
.intro{
  padding:100px 3rem;
  display:grid;grid-template-columns:1fr 2fr;gap:6rem;
  max-width:1400px;margin:0 auto;
  align-items:start;
}

.intro-label{
  font-size:11px;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--couleur-secondaire);font-weight:500;
  padding-top:8px;
}

.intro-corps h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.2rem,4vw,3.5rem);
  font-weight:300;line-height:1.2;
  color:var(--noir);
  margin-bottom:2rem;
}

.intro-corps h2 em{font-style:italic;color:var(--couleur-principale);}

.intro-corps p{
  font-size:16px;font-weight:300;line-height:1.9;
  color:var(--doux);margin-bottom:1.2rem;
}

/* ── FILIÈRES / SECTIONS ── */
.filieres-section{
  padding:90px 3rem;
  max-width:1400px;margin:0 auto;
}

.filieres-entete{
  display:grid;grid-template-columns:1fr 1fr;align-items:end;
  margin-bottom:4rem;gap:3rem;
}

.filieres-entete h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2rem,3.5vw,3rem);font-weight:300;
  line-height:1.15;color:var(--noir);
}
.filieres-entete h2 em{font-style:italic;color:var(--couleur-principale);}

.filieres-entete p{
  font-size:14px;font-weight:300;line-height:1.8;color:var(--doux);
}

.filieres-grille{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
  gap:2px;
}

.filiere{
  background:var(--gris);
  padding:2.5rem 2rem;
  transition:background 0.25s;
}
.filiere:hover{background:var(--gris-mid);}

.filiere-annee{
  font-size:11px;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--leger);margin-bottom:1.5rem;font-weight:400;
}

.filiere h3{
  font-family:'Cormorant Garamond',serif;
  font-size:1.7rem;font-weight:400;color:var(--noir);
  line-height:1.2;margin-bottom:1rem;
}

.filiere-trait{
  width:30px;height:2px;background:var(--couleur-secondaire);margin-bottom:1.2rem;
}

.filiere p{
  font-size:13px;font-weight:300;line-height:1.8;color:var(--doux);
}

/* Contact */
.contact-formulaire{
  background:white;
  padding:2.5rem;
  border:1px solid var(--gris-mid);
}

.champ{margin-bottom:1.2rem;}
.champ label{
  display:block;font-size:11px;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;
  color:var(--leger);margin-bottom:6px;
}
.champ input,
.champ select,
.champ textarea{
  width:100%;padding:10px 0;
  border:none;border-bottom:1px solid var(--gris-mid);
  font-family:'Inter',sans-serif;font-size:14px;font-weight:300;
  color:var(--texte);background:transparent;outline:none;
  transition:border-color 0.2s;
  border-radius:0;
}
.champ input:focus,
.champ textarea:focus{border-bottom-color:var(--couleur-principale);}
.champ textarea{min-height:70px;resize:none;}

.form-envoyer{
  background:var(--couleur-principale);color:white;
  font-family:'Inter',sans-serif;font-size:12px;font-weight:500;
  letter-spacing:0.08em;text-transform:uppercase;
  padding:13px 28px;border:none;cursor:pointer;border-radius:2px;
  margin-top:0.5rem;
  width:100%;
}

/* ── FOOTER ── */
footer{
  background:var(--noir);
  padding:60px 3rem 30px;
}

.footer-haut{
  max-width:1400px;margin:0 auto;
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:4rem;
  padding-bottom:4rem;
  border-bottom:1px solid rgba(255,255,255,0.08);
}

.footer-ecole h3{
  font-family:'Cormorant Garamond',serif;
  font-size:1.6rem;font-weight:300;color:white;margin-bottom:1rem;
}
.footer-ecole p{
  font-size:13px;font-weight:300;line-height:1.8;
  color:rgba(255,255,255,0.4);
}
.footer-ecole .adresse{
  margin-top:1.5rem;font-size:12px;
  color:rgba(255,255,255,0.3);line-height:1.9;
}

.footer-col h4{
  font-size:10px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;
  color:rgba(255,255,255,0.3);margin-bottom:1.2rem;
}
.footer-col a{
  display:block;font-size:13px;font-weight:300;
  color:rgba(255,255,255,0.5);text-decoration:none;
  margin-bottom:10px;
  transition:color 0.2s;
}
.footer-col a:hover{color:rgba(255,255,255,0.85);}

.footer-bas{
  max-width:1400px;margin:2rem auto 0;
  display:flex;justify-content:space-between;
  font-size:12px;color:rgba(255,255,255,0.2);font-weight:300;
}

/* Responsive */
@media(max-width:960px){
  nav{padding:0 1.5rem;}
  .nav-droite .nav-lien{display:none;}
  .hero-contenu{grid-template-columns:1fr;padding:0 1.5rem 4rem;}
  .intro{grid-template-columns:1fr;gap:2rem;padding:60px 1.5rem;}
  .filieres-section{padding:60px 1.5rem;}
  .filieres-entete{grid-template-columns:1fr;}
  .footer-haut{grid-template-columns:1fr 1fr;gap:2rem;}
  .footer-bas{flex-direction:column;gap:0.5rem;}
}