/* ── expertises.css — CSS spécifique à la page Nos expertises ── */

:root{
  --cyan-dim:rgba(96,165,250,.12);
  --surface:rgba(255,255,255,.03);
  --border:rgba(255,255,255,.07);
}

/* ── PAGE WRAPPER ── */
.page{position:relative;z-index:10}

/* ── HERO ── */
.hero{
  min-height:52vh;display:flex;flex-direction:column;
  justify-content:flex-end;padding:0 64px 80px;
  position:relative;
  background:linear-gradient(to bottom, rgba(2,8,23,0) 0%, rgba(2,8,23,.6) 60%, rgba(2,8,23,1) 100%);
}
.hero-inner{padding-top:120px}
.page-label{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic;font-weight:500;font-size:22px;
  letter-spacing:.04em;color:var(--cyan);margin-bottom:20px;
  opacity:0;animation:up .8s ease forwards .3s;display:block;
}
.hero-title{
  font-family:'Outfit',sans-serif;font-weight:800;
  font-size:clamp(52px,6vw,88px);
  line-height:.95;letter-spacing:-.034em;
  max-width:800px;
  opacity:0;animation:up .9s cubic-bezier(.16,1,.3,1) forwards .5s;
}
.hero-title .grad{
  background:linear-gradient(90deg,#93c5fd 0%,#60a5fa 45%,#c7d2fe 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.hero-sub{
  margin-top:28px;font-size:17px;font-weight:300;line-height:1.7;
  color:var(--muted);max-width:560px;
  opacity:0;animation:up .9s ease forwards .75s;
}

/* ── SECTION BASE ── */
section.content-section{
  background:rgba(2,8,23,.97);
  border-top:1px solid var(--border);
  padding:96px 64px;
}
.section-inner{max-width:1160px;margin:0 auto}
.section-tag{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic;font-size:15px;letter-spacing:.08em;
  color:var(--cyan);opacity:.75;margin-bottom:14px;display:block;
}
.section-title{
  font-family:'Outfit',sans-serif;font-weight:700;
  font-size:clamp(28px,3vw,40px);
  line-height:1.15;letter-spacing:-.025em;
  color:var(--white);margin-bottom:16px;
}
.section-desc{
  font-size:16px;font-weight:300;line-height:1.75;
  color:var(--muted);max-width:560px;margin-bottom:56px;
}

/* ── EXPERTISE GRID ── */
.expertises-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.expertise-card{
  padding:32px 28px;border-radius:12px;
  border:1px solid var(--border);background:var(--surface);
  transition:border-color .3s,background .3s,transform .25s;
  cursor:default;
}
.expertise-card:hover{
  border-color:rgba(96,165,250,.28);
  background:rgba(96,165,250,.05);
  transform:translateY(-3px);
}
.expertise-card--wide{
  grid-column:1 / -1;
  background:rgba(96,165,250,.04);
  border-color:rgba(96,165,250,.15);
}
.expertise-card--wide:hover{
  border-color:rgba(96,165,250,.32);
  background:rgba(96,165,250,.07);
}
.expertise-icon{
  width:48px;height:48px;border-radius:12px;
  background:rgba(96,165,250,.1);border:1px solid rgba(96,165,250,.2);
  display:grid;place-items:center;margin-bottom:22px;
}
.expertise-icon svg{width:22px;height:22px;stroke:#60a5fa;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.expertise-name{
  font-family:'Outfit',sans-serif;font-weight:700;font-size:17px;
  color:var(--white);margin-bottom:10px;letter-spacing:-.01em;
}
.expertise-desc{
  font-size:13px;font-weight:300;line-height:1.7;
  color:var(--muted);
}
.expertise-tags{display:flex;flex-wrap:wrap;gap:20px;margin-top:20px}
.expertise-tag-item{display:flex;align-items:center;gap:8px;font-size:12px;color:rgba(200,220,255,.5)}
.expertise-tag-dot{width:5px;height:5px;border-radius:50%;background:rgba(96,165,250,.5);flex-shrink:0;display:inline-block}

/* ── MÉTHODE ── */
.methode-steps{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:0;counter-reset:step;
}
.step{
  padding:32px 28px;
  border-right:1px solid var(--border);
  position:relative;
}
.step:last-child{border-right:none}
.step::before{
  counter-increment:step;content:counter(step,decimal-leading-zero);
  display:block;
  font-family:'Outfit',sans-serif;font-weight:800;font-size:11px;
  letter-spacing:.12em;color:rgba(96,165,250,.35);margin-bottom:18px;
}
.step-name{
  font-family:'Outfit',sans-serif;font-weight:700;font-size:17px;
  color:var(--white);margin-bottom:10px;letter-spacing:-.01em;
}
.step-desc{font-size:13px;font-weight:300;line-height:1.65;color:var(--muted);}
.step-accent{width:28px;height:2px;background:var(--cyan);border-radius:2px;margin-bottom:20px;opacity:.6;}

/* ── SECTEURS ── */
.secteurs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.secteur-card{
  padding:32px 30px;border-radius:12px;
  border:1px solid var(--border);background:var(--surface);
  transition:border-color .3s,background .3s;
}
.secteur-card:hover{border-color:rgba(96,165,250,.22);background:rgba(96,165,250,.04);}
.secteur-header{display:flex;align-items:center;gap:14px;margin-bottom:20px;}
.secteur-num{
  font-family:'Outfit',sans-serif;font-weight:800;font-size:11px;
  color:rgba(96,165,250,.35);letter-spacing:.1em;flex-shrink:0;
}
.secteur-name{font-family:'Outfit',sans-serif;font-weight:700;font-size:18px;color:var(--white);letter-spacing:-.015em;}
.secteur-list{list-style:none;display:flex;flex-direction:column;gap:9px;}
.secteur-list li{
  display:flex;align-items:flex-start;gap:10px;
  font-size:13px;font-weight:300;line-height:1.55;color:var(--muted);
}
.secteur-list li::before{
  content:'';width:5px;height:5px;border-radius:50%;
  background:rgba(96,165,250,.5);flex-shrink:0;margin-top:5px;
}

/* ── WHY US ── */
.why-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:24px;margin-top:0;
}
.why-card{
  padding:36px 30px;border-radius:12px;
  border:1px solid var(--border);background:var(--surface);
  transition:border-color .3s,transform .25s;
}
.why-card:hover{
  border-color:rgba(96,165,250,.22);
  transform:translateY(-3px);
}
.why-num{
  font-family:'Outfit',sans-serif;font-weight:800;font-size:11px;
  letter-spacing:.12em;color:rgba(96,165,250,.35);margin-bottom:18px;display:block;
}
.why-accent{
  width:28px;height:2px;background:var(--cyan);
  border-radius:2px;margin-bottom:20px;opacity:.6;
}
.why-title{
  font-family:'Outfit',sans-serif;font-weight:700;font-size:17px;
  color:var(--white);margin-bottom:10px;letter-spacing:-.01em;
}
.why-desc{
  font-size:13px;font-weight:300;line-height:1.65;color:var(--muted);
}

/* ── CTA FINAL ── */
.cta-section{
  background:rgba(2,8,23,.97);
  border-top:1px solid var(--border);
  padding:96px 64px;text-align:center;
}
.cta-label{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic;font-size:16px;color:var(--cyan);
  opacity:.65;margin-bottom:16px;display:block;
}
.cta-title{
  font-family:'Outfit',sans-serif;font-weight:800;
  font-size:clamp(32px,4vw,52px);letter-spacing:-.03em;
  color:var(--white);margin-bottom:12px;
}
.cta-sub{
  font-size:16px;font-weight:300;color:var(--muted);
  max-width:440px;margin:0 auto 40px;line-height:1.7;
}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ── BUTTONS ── */
.btn-primary{
  padding:13px 28px;border-radius:100px;
  box-shadow:0 0 28px rgba(96,165,250,.35);
}
.btn-primary:hover{box-shadow:0 0 48px rgba(96,165,250,.5)}
.btn-ghost{
  padding:13px 28px;border-radius:100px;
}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .expertises-grid{grid-template-columns:1fr 1fr}
  .why-grid{grid-template-columns:1fr 1fr}
  .methode-steps{grid-template-columns:1fr 1fr}
  .step{border-right:none;border-bottom:1px solid var(--border)}
  .step:last-child{border-bottom:none}
}
@media(max-width:768px){
  nav{padding:0 20px}
  .nav-pill{display:none}
  .hero{padding:0 24px 60px}
  section.content-section{padding:64px 24px}
  .cta-section{padding:64px 24px}
  .expertises-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .methode-steps{grid-template-columns:1fr}
  .secteurs-grid{grid-template-columns:1fr}
}
