/**
 * Empower · Home v3.0 · Styles
 *
 * Utilise les variables CSS globales définies dans assets/theme.css ·
 * --navy, --navy-deep, --navy-darker, --yellow, --yellow-soft,
 * --off-white, --gray-50, --gray-100, --gray-200, --container, --radius
 *
 * Scope · uniquement les classes hp-* (préfixe home-page) pour éviter
 * tout conflit avec le reste du thème.
 */

/* ===== HERO ===== */
.hp-hero{
  max-width:var(--container);
  margin:0 auto;
  padding:5rem 2.5rem 6rem;
  position:relative;
}
.hp-hero::after{
  content:"EMPOWER";
  position:absolute;
  font-family:'Inter Tight',sans-serif;
  font-weight:900;
  font-size:clamp(10rem,22vw,22rem);
  color:var(--yellow);
  opacity:.06;
  bottom:-3rem;
  left:50%;
  transform:translateX(-50%);
  letter-spacing:-.05em;
  line-height:.85;
  pointer-events:none;
  user-select:none;
  z-index:0;
}
.hp-hero-inner{position:relative;z-index:2;max-width:900px}
.hp-hero-kick{
  font-family:'JetBrains Mono',monospace;
  font-size:.65rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--navy);
  opacity:.7;
  margin-bottom:1.8rem;
  display:flex;
  align-items:center;
  gap:.6rem;
}
.hp-hero-kick::before{content:"◆";color:var(--yellow);opacity:1}
.hp-hero h1{
  font-family:'Fraunces',serif;
  font-size:clamp(3.5rem,8vw,7rem);
  font-weight:300;
  line-height:.95;
  letter-spacing:-.035em;
  color:var(--navy);
  margin-bottom:1.5rem;
}
.hp-hero h1 em{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400}
.hp-hero-lede{
  font-size:1.4rem;
  line-height:1.45;
  color:var(--navy-darker);
  max-width:680px;
}
.hp-hero-lede strong{color:var(--navy);font-weight:500}
@media(max-width:900px){
  .hp-hero{padding:3rem 1.8rem 4rem}
  .hp-hero h1{font-size:clamp(2.5rem,10vw,4rem)}
}

/* ===== PILIERS STRIPE (animé) ===== */
.hp-stripe{
  background:var(--navy);
  color:var(--off-white);
  padding:.5rem 0;
  border-top:5px solid var(--yellow);
  border-bottom:5px solid var(--yellow);
  overflow:hidden;
  position:relative;
  z-index:1;
}
.hp-stripe-inner{
  display:flex;
  gap:3rem;
  font-family:'JetBrains Mono',monospace;
  font-size:.62rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:600;
  padding:1.1rem 0;
  white-space:nowrap;
  animation:hp-scroll 30s linear infinite;
}
@keyframes hp-scroll{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
.hp-stripe-item{display:flex;align-items:center;gap:.7rem}
.hp-stripe-item::before{content:"◆";color:var(--yellow)}

/* ===== PILIER · SECTION ===== */
.hp-pillar{
  max-width:var(--container);
  margin:0 auto;
  padding:6rem 2.5rem 5rem;
  border-bottom:1px solid var(--gray-200);
}
.hp-pillar:last-of-type{border-bottom:none}
.hp-pillar-head{
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:3rem;
  margin-bottom:3.5rem;
  align-items:end;
}
@media(max-width:820px){
  .hp-pillar-head{grid-template-columns:1fr;gap:1rem}
}
.hp-pillar-num{
  font-family:'JetBrains Mono',monospace;
  font-size:.65rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--navy);
  opacity:.55;
  font-weight:600;
  margin-bottom:1rem;
  display:flex;
  align-items:center;
  gap:.5rem;
}
.hp-pillar-head h2{
  font-family:'Fraunces',serif;
  font-size:clamp(2.5rem,5vw,4rem);
  font-weight:300;
  color:var(--navy);
  letter-spacing:-.03em;
  line-height:.95;
}
.hp-pillar-head h2 em{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400}
.hp-pillar-lede{
  font-size:1.15rem;
  line-height:1.55;
  color:var(--navy-darker);
  max-width:580px;
}
.hp-pillar-lede strong{color:var(--navy);font-weight:500}

.hp-pillar-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:1.2rem;
}
@media(max-width:960px){.hp-pillar-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.hp-pillar-grid{grid-template-columns:1fr}}

/* ===== CARD ARTICLE (pilier) ===== */
.hp-card{
  background:#fff;
  border:1px solid var(--gray-200);
  border-radius:var(--radius);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:all .25s;
  text-decoration:none;
  color:inherit;
}
.hp-card:hover{
  border-color:var(--navy);
  transform:translateY(-3px);
  box-shadow:0 14px 28px rgba(26,42,108,.08);
}
.hp-card-feat{grid-row:span 2}
.hp-card-illus{
  aspect-ratio:16/9;
  position:relative;
  overflow:hidden;
  border-bottom:3px solid var(--yellow);
  background:var(--navy-deep);
}
.hp-card-feat .hp-card-illus{aspect-ratio:4/3}
.hp-card-illus svg{width:100%;height:100%;display:block}
.hp-card-body{
  padding:1.3rem 1.4rem 1.5rem;
  flex:1;
  display:flex;
  flex-direction:column;
  gap:.5rem;
}
.hp-card-cat{
  font-family:'JetBrains Mono',monospace;
  font-size:.54rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--navy);
  opacity:.55;
}
.hp-card h3{
  font-family:'Fraunces',serif;
  font-weight:400;
  font-size:1.15rem;
  line-height:1.15;
  letter-spacing:-.01em;
  color:var(--navy);
}
.hp-card-feat h3{font-size:1.7rem;font-weight:300}
.hp-card h3 em{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400}
.hp-card-exc{
  font-size:.92rem;
  line-height:1.45;
  color:var(--navy-darker);
  opacity:.8;
  margin-top:.3rem;
}
.hp-card-meta{
  margin-top:auto;
  padding-top:.6rem;
  display:flex;
  gap:.8rem;
  font-family:'JetBrains Mono',monospace;
  font-size:.52rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--navy);
  opacity:.5;
}

/* ===== MANIFESTO ===== */
.hp-manifesto{
  background:var(--navy);
  color:var(--off-white);
  padding:5rem 2.5rem;
  text-align:center;
  border-top:5px solid var(--yellow);
  border-bottom:5px solid var(--yellow);
  position:relative;
  overflow:hidden;
}
.hp-manifesto::before{
  content:"EMPOWER";
  position:absolute;
  font-family:'Inter Tight',sans-serif;
  font-weight:900;
  font-size:clamp(10rem,22vw,24rem);
  color:var(--yellow);
  opacity:.05;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  letter-spacing:-.05em;
  line-height:.85;
  pointer-events:none;
  user-select:none;
}
.hp-manifesto-inner{max-width:900px;margin:0 auto;position:relative;z-index:2}
.hp-manifesto-k{
  font-family:'JetBrains Mono',monospace;
  font-size:.62rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--yellow);
  margin-bottom:1.5rem;
}
.hp-manifesto blockquote{
  font-family:'Instrument Serif',serif;
  font-style:italic;
  font-size:clamp(1.8rem,3.5vw,2.8rem);
  font-weight:400;
  line-height:1.2;
  color:var(--off-white);
}
.hp-manifesto blockquote strong{
  font-family:'Fraunces',serif;
  font-style:normal;
  font-weight:500;
  color:var(--yellow);
}

/* ===== SECTION PERSONNALITÉS (fond navy) ===== */
.hp-perso{
  background:var(--navy);
  color:var(--off-white);
  padding:6rem 0 5rem;
  position:relative;
  overflow:hidden;
}
.hp-perso::before{
  content:"PORTRAITS";
  position:absolute;
  font-family:'Inter Tight',sans-serif;
  font-weight:900;
  font-size:clamp(12rem,22vw,26rem);
  color:var(--yellow);
  opacity:.04;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  letter-spacing:-.05em;
  line-height:.85;
  pointer-events:none;
  user-select:none;
  white-space:nowrap;
}
.hp-perso-inner{
  max-width:var(--container);
  margin:0 auto;
  padding:0 2.5rem;
  position:relative;
  z-index:2;
}
.hp-perso-head{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:3rem;
  align-items:end;
  margin-bottom:4rem;
  padding-bottom:2rem;
  border-bottom:1px solid rgba(255,214,10,.2);
}
@media(max-width:820px){.hp-perso-head{grid-template-columns:1fr;gap:1rem}}
.hp-perso-kick{
  font-family:'JetBrains Mono',monospace;
  font-size:.65rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--yellow);
  margin-bottom:1rem;
}
.hp-perso-head h2{
  font-family:'Fraunces',serif;
  font-size:clamp(2.5rem,5vw,4rem);
  font-weight:300;
  color:var(--off-white);
  letter-spacing:-.03em;
  line-height:.95;
}
.hp-perso-head h2 em{
  font-family:'Instrument Serif',serif;
  font-style:italic;
  color:var(--yellow);
  font-weight:400;
}
.hp-perso-lede{
  font-size:1.15rem;
  line-height:1.55;
  color:rgba(250,250,247,.8);
  max-width:540px;
}
.hp-perso-lede strong{color:var(--yellow);font-weight:400}
.hp-perso-all{
  justify-self:start;
  font-family:'JetBrains Mono',monospace;
  font-size:.6rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--navy);
  background:var(--yellow);
  padding:.75rem 1.2rem;
  border-radius:var(--radius);
  margin-top:1rem;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  white-space:nowrap;
  text-decoration:none;
}
.hp-perso-all:hover{background:var(--off-white)}

.hp-perso-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.2rem;
}
@media(max-width:960px){.hp-perso-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.hp-perso-grid{grid-template-columns:1fr}}

.hp-perso-card{
  background:rgba(250,250,247,.04);
  border:1px solid rgba(255,214,10,.15);
  border-radius:var(--radius);
  overflow:hidden;
  transition:all .3s;
  display:flex;
  flex-direction:column;
  color:var(--off-white);
  text-decoration:none;
}
.hp-perso-card:hover{
  background:rgba(255,214,10,.08);
  border-color:var(--yellow);
  transform:translateY(-4px);
  box-shadow:0 20px 40px rgba(0,0,0,.2);
}
.hp-perso-card-img{
  aspect-ratio:1/1;
  position:relative;
  overflow:hidden;
  border-bottom:2px solid var(--yellow);
  background:var(--navy-deep);
}
.hp-perso-card-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s;
}
.hp-perso-card:hover .hp-perso-card-img img{transform:scale(1.04)}
.hp-perso-card-noimg{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Fraunces',serif;
  font-weight:300;
  font-size:4rem;
  color:var(--yellow);
  background:linear-gradient(135deg,var(--navy-darker),var(--navy));
}
.hp-perso-card-badge{
  position:absolute;
  top:.75rem;
  left:.75rem;
  background:var(--yellow);
  color:var(--navy);
  font-family:'JetBrains Mono',monospace;
  font-size:.5rem;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  padding:.35rem .55rem;
  border-radius:1px;
  z-index:2;
}
.hp-perso-card-body{
  padding:1.2rem 1.3rem 1.4rem;
  flex:1;
  display:flex;
  flex-direction:column;
  gap:.4rem;
}
.hp-perso-card-cat{
  font-family:'JetBrains Mono',monospace;
  font-size:.52rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--yellow);
  opacity:.85;
}
.hp-perso-card h3{
  font-family:'Fraunces',serif;
  font-weight:400;
  font-size:1.3rem;
  line-height:1.1;
  letter-spacing:-.01em;
  color:var(--off-white);
  margin-top:.1rem;
}
.hp-perso-card h3 em{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400}
.hp-perso-card-role{
  font-family:'JetBrains Mono',monospace;
  font-size:.55rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(250,250,247,.7);
  line-height:1.35;
  margin-top:.2rem;
}
.hp-perso-card-hook{
  font-size:.88rem;
  line-height:1.5;
  color:rgba(250,250,247,.75);
  margin-top:.5rem;
  padding-top:.7rem;
  border-top:1px solid rgba(255,214,10,.12);
}
.hp-perso-card-hook em{font-family:'Instrument Serif',serif;font-style:italic;color:var(--yellow)}

.hp-perso-card-empty{opacity:.7}
.hp-perso-card-empty:hover{opacity:1}

/* ===== SECTION ÉCOLES (fond off-white) ===== */
.hp-ecoles{
  padding:6rem 0 5rem;
  background:var(--off-white);
  position:relative;
  overflow:hidden;
}
.hp-ecoles-inner{
  max-width:var(--container);
  margin:0 auto;
  padding:0 2.5rem;
  position:relative;
  z-index:2;
}
.hp-ecoles-head{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:3rem;
  align-items:end;
  margin-bottom:4rem;
  padding-bottom:2rem;
  border-bottom:2px solid var(--yellow);
}
@media(max-width:820px){.hp-ecoles-head{grid-template-columns:1fr;gap:1rem}}
.hp-ecoles-kick{
  font-family:'JetBrains Mono',monospace;
  font-size:.65rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--navy);
  opacity:.7;
  margin-bottom:1rem;
}
.hp-ecoles-head h2{
  font-family:'Fraunces',serif;
  font-size:clamp(2.5rem,5vw,4rem);
  font-weight:300;
  color:var(--navy);
  letter-spacing:-.03em;
  line-height:.95;
}
.hp-ecoles-head h2 em{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400}
.hp-ecoles-lede{
  font-size:1.15rem;
  line-height:1.55;
  color:var(--navy-darker);
  max-width:540px;
}
.hp-ecoles-lede strong{color:var(--navy);font-weight:500}
.hp-ecoles-all{
  justify-self:start;
  font-family:'JetBrains Mono',monospace;
  font-size:.6rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--yellow);
  background:var(--navy);
  padding:.75rem 1.2rem;
  border-radius:var(--radius);
  margin-top:1rem;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  white-space:nowrap;
  text-decoration:none;
}
.hp-ecoles-all:hover{background:var(--navy-deep)}

.hp-ecoles-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.2rem;
}
@media(max-width:960px){.hp-ecoles-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.hp-ecoles-grid{grid-template-columns:1fr}}

.hp-ecole-card{
  background:#fff;
  border:1px solid var(--gray-200);
  border-radius:var(--radius);
  overflow:hidden;
  transition:all .3s;
  display:flex;
  flex-direction:column;
  color:var(--navy-darker);
  position:relative;
  text-decoration:none;
}
.hp-ecole-card:hover{
  border-color:var(--navy);
  transform:translateY(-3px);
  box-shadow:0 14px 28px rgba(26,42,108,.08);
}
.hp-ecole-card-illus{
  aspect-ratio:16/10;
  position:relative;
  overflow:hidden;
  border-bottom:3px solid var(--yellow);
  background:var(--navy-deep);
}
.hp-ecole-card-illus svg{width:100%;height:100%;display:block}
.hp-ecole-card-badge{
  position:absolute;
  top:.75rem;
  right:.75rem;
  background:var(--yellow);
  color:var(--navy);
  font-family:'JetBrains Mono',monospace;
  font-size:.55rem;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  padding:.4rem .6rem;
  border-radius:1px;
  z-index:2;
}
.hp-ecole-card-flag{
  position:absolute;
  top:.75rem;
  left:.75rem;
  font-size:1.4rem;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));
  z-index:2;
}
.hp-ecole-card-body{
  padding:1.3rem 1.4rem 1.5rem;
  flex:1;
  display:flex;
  flex-direction:column;
  gap:.5rem;
}
.hp-ecole-card-cat{
  font-family:'JetBrains Mono',monospace;
  font-size:.52rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--navy);
  opacity:.55;
}
.hp-ecole-card h3{
  font-family:'Fraunces',serif;
  font-weight:400;
  font-size:1.35rem;
  line-height:1.1;
  letter-spacing:-.01em;
  color:var(--navy);
  margin-top:.1rem;
}
.hp-ecole-card h3 em{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400}
.hp-ecole-card-meta{
  font-family:'JetBrains Mono',monospace;
  font-size:.55rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--navy);
  opacity:.65;
  margin-top:.2rem;
}
.hp-ecole-card-hook{
  font-size:.88rem;
  line-height:1.5;
  color:var(--navy-darker);
  margin-top:.5rem;
  padding-top:.7rem;
  border-top:1px solid var(--gray-100);
}
.hp-ecole-card-hook em{font-family:'Instrument Serif',serif;font-style:italic;color:var(--navy)}

/* Placeholders "à venir" */
.hp-ecole-card-coming{
  background:var(--gray-50);
  border-style:dashed;
  border-color:var(--gray-200);
}
.hp-ecole-card-coming:hover{
  border-color:var(--navy);
  border-style:solid;
}
.hp-ecole-card-coming .hp-ecole-card-illus{opacity:.55}
.hp-ecole-card-coming .hp-ecole-card-body{opacity:.65}
.hp-ecole-card-coming .hp-ecole-card-badge{
  background:var(--navy-darker);
  color:var(--yellow);
}




/* ============================================================
 * PALETTE IA · INVERSION PURE JAUNE/NAVY (v3.2.0)
 * La section IA utilise exclusivement les 2 couleurs de la charte
 * Empower, avec leurs rôles inversés · jaune en fond, navy en accent.
 * Les cards redeviennent navy · contraste maximal avec l'ambiance jaune.
 * ============================================================ */

#ia {
  background: #ffd60a;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  max-width: none;
  border-top: 5px solid #1a2a6c;
  border-bottom: 5px solid #1a2a6c;
  position: relative;
  overflow: hidden;
}

#ia::before {
  content: "IA";
  position: absolute;
  font-family: 'Inter Tight', sans-serif;
  font-weight: 900;
  font-size: clamp(18rem, 40vw, 32rem);
  color: #1a2a6c;
  opacity: .08;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  letter-spacing: -.05em;
  line-height: .85;
  pointer-events: none;
  user-select: none;
  z-index: 0;
}

#ia > * { position: relative; z-index: 2; }

#ia .pillar-num { color: #1a2a6c; }
#ia .pillar-num::before { color: #1a2a6c; }
#ia .pillar-head h2 { color: #091335; }
#ia .pillar-head h2 em { color: #1a2a6c; font-style: italic; }
#ia .pillar-lede { color: #091335; }
#ia .pillar-lede strong { color: #1a2a6c; font-weight: 600; }

#ia .card {
  background: #0f1d4d;
  border: 1px solid #1a2a6c;
  color: #fafaf7;
}
#ia .card:hover {
  border-color: #091335;
  transform: translateY(-4px);
  box-shadow: 0 18px 36px rgba(9, 19, 53, .35);
}
#ia .card .illus {
  border-bottom: 3px solid #ffd60a;
  background: #0f1d4d;
}
#ia .card-cat { color: #ffd60a; opacity: 1; font-weight: 700; }
#ia .card h3 { color: #fafaf7; }
#ia .card h3 em { color: #ffd60a; font-weight: 500; }
#ia .card .exc { color: rgba(250,250,247,.8); }
#ia .card .meta { color: #ffd60a; opacity: .7; }
