:root{--page-width:1448px;--marine:#07315B;--blue:#1858AA}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:#fff;font-family:Arial,Helvetica,sans-serif}
body{overflow-x:auto}

.site-shell{
  width:var(--page-width);
  min-width:var(--page-width);
  margin:0 auto;
  background:#fff;
}

.slice{
  position:relative;
  width:1448px;
  margin:0;
  padding:0;
  overflow:hidden;
}

.slice>img{
  display:block;
  width:1448px;
  height:auto;
  margin:0;
  padding:0;
  border:0;
  pointer-events:none!important;
  user-select:none;
}

.slice-header{height:67px}
.slice-hero{height:265px}
.slice-body{height:612px}
.slice-cta{height:78px}
.slice-footer{height:64px}

.hotspot{
  position:absolute;
  display:block;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:transparent!important;
  text-decoration:none!important;
  font-size:0;
  line-height:0;
  z-index:501;
  cursor:pointer;
  outline-offset:2px;
  pointer-events:auto!important;
}

.hotspot:focus-visible{
  outline:2px solid var(--blue);
  outline-offset:-2px;
}

.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.anchor-target{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  pointer-events:none;
}

.nav-layer,
.footer-nav-layer,
.filters-layer,
.cards-layer{
  position:absolute;
  inset:0;
  z-index:500;
  pointer-events:none;
}

.nav-layer .hotspot,
.footer-nav-layer .hotspot,
.filters-layer .hotspot,
.cards-layer .hotspot{
  pointer-events:auto!important;
}

/* Header */
.hs-logo{left:48px;top:2px;width:252px;height:62px}
.hs-home{left:338px;top:8px;width:79px;height:52px}
.hs-rx{left:417px;top:6px;width:194px;height:54px}
.hs-neuro{left:611px;top:6px;width:135px;height:54px}
.hs-atelier{left:746px;top:6px;width:102px;height:54px}
.hs-reflexions{left:848px;top:6px;width:86px;height:54px}
.hs-about{left:934px;top:6px;width:70px;height:54px}
.hs-contact{left:1004px;top:6px;width:78px;height:54px}
.hs-rdv-header{left:1134px;top:4px;width:224px;height:57px}

/* Hotspots historiques des filtres */
.hs-filter-all{left:58px;top:0;width:133px;height:49px}
.hs-filter-b2r{left:194px;top:0;width:159px;height:49px}
.hs-filter-read{left:357px;top:0;width:133px;height:49px}
.hs-filter-video{left:494px;top:0;width:130px;height:49px}
.hs-filter-recruit{left:628px;top:0;width:148px;height:49px}
.hs-filter-neuro{left:780px;top:0;width:158px;height:49px}
.hs-filter-management{left:942px;top:0;width:158px;height:49px}
.hs-filter-defense{left:1104px;top:0;width:249px;height:49px}

/* Cartes historiques */
.hs-card-featured{left:58px;top:52px;width:638px;height:507px}
.hs-card-linkedin{left:710px;top:52px;width:310px;height:248px}
.hs-card-fourmiliere{left:1030px;top:52px;width:323px;height:248px}
.hs-card-video{left:710px;top:311px;width:310px;height:248px}
.hs-card-penurie{left:1030px;top:311px;width:323px;height:248px}

/* CTA bas */
.hs-cta-contact{left:778px;top:9px;width:222px;height:58px}
.hs-cta-rdv{left:1005px;top:9px;width:220px;height:58px}

/* Footer */
.footer-nav-layer .hs-f-home{left:330px;top:0;width:88px;height:64px}
.footer-nav-layer .hs-f-rx{left:418px;top:0;width:202px;height:64px}
.footer-nav-layer .hs-f-neuro{left:620px;top:0;width:134px;height:64px}
.footer-nav-layer .hs-f-atelier{left:754px;top:0;width:106px;height:64px}
.footer-nav-layer .hs-f-reflexions{left:860px;top:0;width:91px;height:64px}
.footer-nav-layer .hs-f-about{left:951px;top:0;width:82px;height:64px}
.footer-nav-layer .hs-f-contact{left:1033px;top:0;width:87px;height:64px}
.footer-nav-layer .hs-linkedin{left:1165px;top:0;width:82px;height:64px;z-index:510!important}

@media(max-width:1447px){
  .site-shell{margin-left:0;margin-right:0}
}

/* Couche interactive */
.slice>img{
  pointer-events:none!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
}

.hotspot{
  z-index:1000!important;
  pointer-events:auto!important;
  cursor:pointer!important;
}

.nav-layer,
.footer-nav-layer,
.filters-layer,
.cards-layer{
  z-index:999!important;
  pointer-events:none!important;
}

.nav-layer .hotspot,
.footer-nav-layer .hotspot,
.filters-layer .hotspot,
.cards-layer .hotspot{
  pointer-events:auto!important;
}

/* Liens légaux */
.legal-footer-links{
  position:absolute;
  left:54px;
  bottom:9px;
  display:flex;
  align-items:center;
  gap:7px;
  z-index:1200;
  font-family:Arial,Helvetica,sans-serif;
  font-size:10.5px;
  line-height:1;
  color:rgba(255,255,255,.88);
}

.legal-footer-links a{
  color:rgba(255,255,255,.92);
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.35);
  padding-bottom:1px;
}

.legal-footer-links a:hover,
.legal-footer-links a:focus-visible{
  color:#fff;
  border-bottom-color:#fff;
}

.legal-footer-links span{
  color:rgba(255,255,255,.55);
}

/* Réflexions — zone éditoriale */
.reflexions-live{
  width:1448px;
  padding:42px 58px 48px;
  background:#f7fafd;
  color:#15314D;
}

.r-live-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:28px;
  margin-bottom:22px;
}

.r-kicker{
  font-size:12px;
  letter-spacing:.12em;
  font-weight:700;
  color:#1858AA;
  margin:0 0 8px;
}

.r-live-head h2{
  font-size:34px;
  line-height:1.08;
  color:#07315B;
  margin:0 0 8px;
}

.r-live-head p{
  font-size:16px;
  line-height:1.45;
  color:#4a6e91;
  margin:0;
  max-width:760px;
}

.r-count{
  white-space:nowrap;
  font-size:13px;
  font-weight:700;
  color:#1858AA;
  background:#eaf2fb;
  border-radius:99px;
  padding:8px 12px;
}

/* Filtres */
.r-filters{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-bottom:24px;
}

.r-filter{
  appearance:none;
  -webkit-appearance:none;
  font:700 13px Arial,Helvetica,sans-serif;
  color:#07315B;
  background:#fff;
  border:1px solid #cddceb;
  border-radius:99px;
  padding:9px 14px;
  cursor:pointer;
}

.r-filter:hover,
.r-filter.active{
  background:#07315B;
  color:#fff;
  border-color:#07315B;
}

/* Grille éditoriale : toutes les lignes ont la même hauteur,
   calculée sur la carte la plus haute. */
.r-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:1fr;
  gap:18px;
  align-items:stretch;
}

/* Carte : une seule définition, sans surcouche */
.r-card{
  display:flex;
  flex-direction:column;
  align-self:stretch;
  height:100%;
  min-height:285px;
  background:#fff;
  border:1px solid #d8e3ee;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 4px 16px rgba(7,49,91,.06);
}

.r-card[hidden]{
  display:none!important;
}

.r-card-image{
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#edf4fb;
  flex:0 0 auto;
}

.r-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}

.r-card-body{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  min-height:0;
  padding:20px;
}

.r-card-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px 10px;
  margin-bottom:12px;
  font-size:11px;
  font-weight:700;
  color:#567694;
}

.r-card-meta span:first-child{
  color:#1858AA;
}

.r-card-meta time{
  margin-left:auto;
  font-weight:400;
}

.r-card h3{
  font-size:22px;
  line-height:1.18;
  color:#07315B;
  margin:0 0 10px;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}

.r-card p{
  font-size:14.5px;
  line-height:1.5;
  color:#486b8c;
  margin:0 0 12px;
}

.r-card-summary{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  overflow:hidden;
}

.r-regard-wrap{
  margin-top:2px;
}

.r-card-regard{
  padding-top:11px;
  border-top:1px solid #e5edf5;
  color:#294f72!important;
  margin-bottom:6px!important;
}

.r-regard-short[hidden],
.r-regard-full[hidden]{
  display:none!important;
}

/* Lire mon regard : style lien, pas bouton système */
.r-regard-toggle{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  border-bottom:1px solid rgba(24,88,170,.35);
  border-radius:0;
  background:transparent;
  padding:0;
  margin:0;
  font:700 12.5px Arial,Helvetica,sans-serif;
  line-height:1.2;
  color:#1858AA;
  cursor:pointer;
}

.r-regard-toggle:hover,
.r-regard-toggle:focus-visible{
  color:#07315B;
  border-bottom-color:#07315B;
  outline:none;
}

/* Pied de carte : toujours aligné en bas */
.r-card-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:auto;
  padding-top:12px;
}

.r-card-source{
  font-size:12px;
  color:#71869a;
}

.r-card-actions{
  display:flex;
  align-items:center;
  gap:11px;
  margin-left:auto;
}

/* Partager : même langage visuel que Lire */
.r-card-share{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  border-bottom:1px solid rgba(24,88,170,.35);
  border-radius:0;
  background:transparent;
  padding:0;
  margin:0;
  font:700 13px Arial,Helvetica,sans-serif;
  line-height:1.2;
  color:#1858AA;
  cursor:pointer;
}

.r-card-share:hover,
.r-card-share:focus-visible{
  color:#07315B;
  border-bottom-color:#07315B;
  outline:none;
}

.r-card-link{
  font-size:13px;
  font-weight:700;
  line-height:1.2;
  color:#1858AA;
  text-decoration:none;
  border-bottom:1px solid rgba(24,88,170,.35);
}

.r-card-link:hover,
.r-card-link:focus-visible{
  color:#07315B;
  border-bottom-color:#07315B;
  outline:none;
}

.r-card-wip{
  font-size:12px;
  font-weight:700;
  color:#7b8d9f;
  background:#f0f4f8;
  border-radius:99px;
  padding:7px 10px;
}

.r-error{
  grid-column:1/-1;
  padding:24px;
  background:#fff;
  border:1px solid #d8e3ee;
  border-radius:12px;
  color:#7a3741;
}

/* Mobile */
.r-mobile-meta{
  font-size:11px;
  font-weight:700;
  color:#1858AA;
  margin-bottom:8px;
  text-transform:uppercase;
  letter-spacing:.02em;
}

.r-mobile-summary{
  margin-bottom:10px;
}

.r-mobile-regard{
  margin-top:10px!important;
  margin-bottom:6px!important;
  padding-top:10px;
  border-top:1px solid #e6edf4;
  color:#294f72!important;
}

.r-mobile-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:12px;
}

@media (min-width:768px) and (max-width:1024px){
  .r-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:auto;
  }

  .r-card{
    height:auto;
    min-height:285px;
  }
}

/* Archivage éditorial */
.r-archive-ctl{
  display:flex;
  justify-content:center;
  margin-top:28px;
}

.r-archive-toggle{
  appearance:none;
  -webkit-appearance:none;
  font:700 13px Arial,Helvetica,sans-serif;
  color:#1858AA;
  background:transparent;
  border:0;
  border-bottom:1px solid rgba(24,88,170,.35);
  border-radius:0;
  padding:5px 2px;
  cursor:pointer;
}

.r-archive-toggle:hover,
.r-archive-toggle:focus-visible{
  color:#07315B;
  border-bottom-color:#07315B;
  outline:none;
}

.r-archives{
  margin-top:30px;
  padding-top:24px;
  border-top:1px solid #dce6ef;
}

.r-archive-year{
  margin:0 0 32px;
}

.r-archive-year:last-child{
  margin-bottom:0;
}

.r-archive-year>h3{
  font-size:22px;
  color:#07315B;
  margin:0 0 15px;
}

.r-archives .r-card{
  background:#fbfcfe;
  box-shadow:none;
}

.r-empty-state{
  grid-column:1/-1;
  margin:0;
  padding:24px;
  border:1px dashed #cbd9e6;
  border-radius:12px;
  color:#6f8498;
  background:#fff;
  text-align:center;
}

.r-mobile-archive-ctl{
  display:flex;
  justify-content:center;
  margin:18px 0 0;
}

.r-mobile-archives{
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid #dfe8f1;
}

.r-mobile-archives .r-archive-year>h3{
  font-size:20px;
  color:#07315B;
  margin:0 0 12px;
}
