/* =====================================================================
   PAGE ACCUEIL — styles spécifiques
   ===================================================================== */

/* ---------- HERO ---------- */
.hero{
  position:relative;overflow:hidden;
  background:var(--navy-900) url('../../assets/img/hero-eleves.jpg') center 22%/cover no-repeat;
  padding:172px 0 200px;
}
.hero-mesh{
  position:absolute;inset:0;
  background:
    radial-gradient(760px 520px at 82% -8%, rgba(198,152,31,.20), transparent 60%),
    linear-gradient(180deg, rgba(8,17,28,.82) 0%, rgba(10,21,36,.72) 45%, rgba(10,21,36,.94) 100%);
}
.hero-zellige{ position:absolute;inset:0;opacity:.7; }

.hero-inner{ position:relative; padding-top:26px; }
.hero-title{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(1.9rem,4.2vw,3rem);line-height:1.15;letter-spacing:-.01em;
  margin:22px 0 0;max-width:760px;color:#fff;
}
.hero-lead{
  margin:22px 0 0;max-width:560px;font-size:17px;line-height:1.7;
  color:#fff;
}
.hero-actions{ display:flex;flex-wrap:wrap;gap:16px;margin-top:34px; }

.hero-scroll-cue{
  position:absolute;left:50%;bottom:26px;transform:translateX(-50%);
  width:24px;height:38px;border:1.5px solid rgba(251,249,244,.3);border-radius:20px;
  display:flex;justify-content:center;padding-top:7px;
}
.hero-scroll-cue span{ width:4px;height:8px;border-radius:3px;background:var(--gold-500);animation:scrollCue 1.8s ease-in-out infinite; }
@keyframes scrollCue{ 0%{opacity:1;transform:translateY(0);} 70%,100%{opacity:0;transform:translateY(10px);} }
@media (max-width:640px){ .hero-scroll-cue{ display:none; } }

/* ---------- STATS ---------- */
.stats-section{ background:var(--navy-950);border-bottom:1px solid rgba(255,255,255,.06); }
.stats-grid{ padding:56px 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;text-align:center; }
.stat-num-wrap{ font-family:var(--font-display);font-weight:600;font-size:clamp(2.2rem,4vw,3rem);color:var(--gold-400); }
.stat-label{ margin-top:8px;font-size:13.5px;color:rgba(251,249,244,.55); }
@media (max-width:700px){ .stats-grid{ grid-template-columns:repeat(2,1fr); } }

/* ---------- À PROPOS ---------- */
.about-grid{ display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center; }
@media (max-width:900px){ .about-grid{ grid-template-columns:1fr; gap:40px; } }
.about-visual{ position:relative;aspect-ratio:4/3;border-radius:var(--radius-lg);overflow:hidden; }
.about-visual-inner{
  position:absolute;inset:0;background:linear-gradient(135deg,var(--navy-800),var(--navy-950));
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
}
.about-year{ font-size:clamp(3rem,7vw,4.4rem);color:var(--gold-400);font-weight:600; }
.about-year-label{ margin-top:10px;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(251,249,244,.55); }
.about-visual-logo{ background:#fff; }
.about-logo{ width:82%;height:82%;object-fit:contain; }
.about-frame{ position:absolute;inset:14px;border:1px solid rgba(198,152,31,.35);border-radius:calc(var(--radius-lg) - 10px);pointer-events:none; }
.about-p{ margin-top:20px;line-height:1.75;color:rgba(251,249,244,.72);font-size:15.5px; }
.about-label-row{ display:flex;align-items:center;gap:18px;margin-top:30px; }
.about-label-img{ height:52px;width:auto; }
.about-label-text{ font-size:13.5px;color:rgba(251,249,244,.6);max-width:260px;line-height:1.6; }
.about-label-text strong{ color:var(--cream); }

/* ---------- POINTS FORTS : slider chevauchant la bannière ---------- */
.strengths-section{
  position:relative;z-index:5;
  margin-top:-140px; /* chevauche le bas du hero, comme edu-meeting */
  padding-bottom:64px;
}
.strengths-head{ text-align:center;max-width:640px;margin:0 auto 34px; }
.strengths-head .section-title{ font-size:clamp(1.6rem,3.4vw,2.2rem);color:#fff; }

.strengths-slider{ display:flex;align-items:center;gap:14px; }
.strengths-viewport{ overflow:hidden;flex:1 1 0%;min-width:0; }
.strengths-track{
  display:flex;gap:22px;
  transition:transform .5s var(--ease-out);
}
.strength-card{
  flex:0 0 calc((100% - 44px) / 3);
  background:rgba(251,249,244,.06);border:1px solid rgba(251,249,244,.1);
  border-radius:var(--radius-md);padding:30px 26px;
  box-shadow:0 24px 48px -20px rgba(0,0,0,.55);
}
.strength-card h3{ font-family:var(--font-display);font-weight:600;font-size:1.1rem;color:var(--cream);margin:0; }
.strength-card p{ margin-top:10px;font-size:14px;line-height:1.65;color:rgba(251,249,244,.6); }

.slider-arrow{
  flex:0 0 auto;width:44px;height:44px;border-radius:999px;
  background:var(--cream);color:var(--navy-900);border:none;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 22px -8px rgba(0,0,0,.4);transition:.2s;
}
.slider-arrow:hover{ background:var(--gold-500); }
.slider-arrow:disabled{ opacity:.4;cursor:default; }

@media (max-width:900px){
  .strength-card{ flex-basis:calc((100% - 22px) / 2); }
}
@media (max-width:600px){
  .strengths-section{ margin-top:-110px; }
  .strength-card{ flex-basis:100%; }
  .slider-arrow{ width:36px;height:36px; }
}

/* ---------- VIE SCOLAIRE ---------- */
#vie-scolaire{ background:var(--cream);color:var(--ink); }
.services-grid{ margin-top:40px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px; }
@media (max-width:900px){ .services-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .services-grid{ grid-template-columns:1fr; } }
.service-card{
  background:#fff;border:1px solid rgba(16,33,54,.08);border-radius:var(--radius-md);
  padding:26px;border-top:3px solid var(--gold-600);
}
.service-card h3{ font-family:var(--font-display);font-weight:600;color:var(--navy-900);margin:0; }
.service-card p{ margin-top:10px;font-size:13.5px;line-height:1.6;color:var(--ink-soft); }

/* ---------- BLOG ---------- */
.blog-section{ background:var(--cream-dim);color:var(--ink); }
.blog-grid{ margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:26px; }
@media (max-width:900px){ .blog-grid{ grid-template-columns:1fr; } }
.blog-card{ background:#fff;border-radius:var(--radius-md);overflow:hidden;border:1px solid rgba(16,33,54,.08); }
.blog-media{ position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--navy-900); }
.blog-media img{ width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out); }
.blog-card:hover .blog-media img{ transform:scale(1.07); }
.blog-tag{
  position:absolute;top:14px;left:14px;background:var(--navy-900);color:var(--gold-400);
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
  padding:5px 11px;border-radius:999px;
}
.blog-tag-alt{ background:var(--gold-600);color:var(--navy-950); }
.blog-body{ padding:22px 22px 26px; }
.blog-date{ font-size:11.5px;color:var(--gold-700);letter-spacing:.05em; }
.blog-body h3{ font-family:var(--font-display);font-weight:600;color:var(--navy-900);margin:8px 0 0;font-size:1.14rem; }
.blog-body p{ margin-top:9px;font-size:13.8px;line-height:1.6;color:var(--ink-soft); }

/* ---------- PROCESSUS ---------- */
.process-section{ background:var(--cream);color:var(--ink); }
.process-grid{ margin-top:40px;display:grid;grid-template-columns:repeat(4,1fr);gap:34px; }
@media (max-width:900px){ .process-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .process-grid{ grid-template-columns:1fr; } }
.process-step{ position:relative;padding-left:22px;border-left:2px solid var(--gold-600); }
.process-num{ font-size:13px;color:var(--gold-600);font-weight:600; }
.process-step h3{ font-family:var(--font-display);font-weight:600;color:var(--navy-900);margin:8px 0 0;font-size:1.05rem; }
.process-step p{ margin-top:8px;font-size:13.5px;line-height:1.6;color:var(--ink-soft); }

/* ---------- CTA ---------- */
.cta-section{ background:var(--navy-950);text-align:center; }
.cta-inner{ padding:88px 24px;max-width:680px; }
.cta-inner p{ margin-top:14px;color:rgba(251,249,244,.65);font-size:16px;line-height:1.6; }
.cta-inner .btn{ margin-top:30px; }
