:root{--navy:#0b2238;--teal:#257b7a;--teal-light:#89c8c1;--red:#c64e3b;--gold:#d6a63d;--white:#fff;--off:#f7f9fa;--line:#dbe3e7;--muted:#536473;--serif:"Libre Caslon Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--navy);font-family:var(--sans);line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%}.skip-link{position:fixed;left:1rem;top:-10rem;background:var(--navy);color:#fff;padding:.7rem 1rem;z-index:99}.skip-link:focus{top:1rem}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;max-width:var(--max);margin:auto;padding:0 4vw;border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:13px}.brand-mark{font:2.2rem/1 var(--serif);letter-spacing:-.04em}.brand-rule{width:1px;height:39px;background:var(--gold)}.brand-name{font:500 .76rem/1.15 var(--sans)}.main-nav{display:flex;align-items:center;gap:1.65rem;font-size:.78rem}.main-nav>a:not(.button){border-bottom:1px solid transparent}.main-nav>a:hover{border-color:var(--gold)}.menu-button{display:none}.button{display:inline-flex;align-items:center;justify-content:center;padding:.82rem 1.25rem;border:1px solid transparent;font-size:.78rem;font-weight:600;transition:.2s}.button:hover{transform:translateY(-2px)}.button-outline,.button-light{border-color:var(--gold);background:#fff}.button-primary{background:var(--red);color:#fff}.button-dark-outline{border-color:var(--gold);color:#fff}.section-grid,.section,.observatory,.membership,footer{max-width:var(--max);margin:auto}.hero{display:grid;grid-template-columns:1fr 1.05fr;min-height:540px;border-bottom:1px solid var(--line)}.hero-copy{padding:5.2rem 4vw 4rem}.eyebrow,.kicker{font-size:.64rem;text-transform:uppercase;letter-spacing:.22em;font-weight:600}.eyebrow{display:flex;gap:1rem;align-items:center}.eyebrow:after{content:"";display:block;width:78px;border-top:2px solid var(--gold)}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.02;margin-top:0}h1{font-size:clamp(3.2rem,5.8vw,6rem);letter-spacing:-.045em;margin:.75rem 0 1.2rem}.lead{max-width:630px;color:var(--muted);font-family:Georgia,serif;font-size:1.13rem}.actions{display:flex;gap:1rem;margin-top:2rem}.hero-visual{position:relative;overflow:hidden;min-height:540px;background:linear-gradient(155deg,#e4f1f2 0 42%,#a8d2d2 42% 60%,#276c71 60%);isolation:isolate}.hero-visual:after{content:"";position:absolute;inset:auto 0 0;height:35%;background:linear-gradient(170deg,transparent 20%,rgba(11,34,56,.5));z-index:-1}.hero-visual p{position:absolute;right:5%;top:12%;text-transform:uppercase;letter-spacing:.23em;font-size:.7rem}.hero-visual small{position:absolute;right:5%;bottom:6%;letter-spacing:.15em;text-transform:uppercase}.island{position:absolute;background:var(--teal);border-radius:60% 40% 55% 45%;transform:rotate(-24deg);box-shadow:0 2px 0 rgba(255,255,255,.6)}.island-a{width:130px;height:48px;left:31%;top:15%}.island-b{width:155px;height:55px;left:51%;top:33%}.island-c{width:80px;height:31px;left:72%;top:48%}.island-d{width:36px;height:18px;left:83%;top:60%}.route{position:absolute;border:1px solid var(--red);border-left:0;border-bottom:0;border-radius:0 100% 0 0}.route-a{width:230px;height:120px;left:46%;top:17%;transform:rotate(12deg)}.route-b{width:170px;height:85px;left:57%;top:39%;transform:rotate(18deg)}.section{padding:2.4rem 4vw}.section-heading{display:flex;align-items:center;gap:2rem;margin-bottom:1.4rem}.section-heading h2{font-size:2.35rem;margin:0;white-space:nowrap}.section-heading:after{content:"";height:1px;background:var(--gold);flex:1}.section-heading>a{font-size:.7rem;order:3;white-space:nowrap}.feature-grid{display:grid;grid-template-columns:2.2fr 1fr 1fr;gap:1.4rem}.feature-main{display:grid;grid-template-columns:1.12fr 1fr;background:var(--off)}.article-copy{padding:1.4rem}.feature-card h3,.story-card h3{font-size:1.65rem;margin:.5rem 0}.feature-card p,.story-card p{color:var(--muted);font-family:Georgia,serif}.feature-card time{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase}.image-block{min-height:210px;overflow:hidden}.image-people{background:linear-gradient(140deg,#91c3ca,#f1c07c 62%,#5e7e89);display:flex;align-items:flex-end;justify-content:center;gap:14px}.image-people span{display:block;border-radius:48% 48% 10% 10%;width:24%;height:58%;background:var(--navy)}.image-people span:nth-child(2){height:75%;background:#4c2732}.image-people span:nth-child(3){height:48%;background:#cf754a}.image-portrait{background:radial-gradient(circle at 52% 35%,#d9a47e 0 12%,transparent 12.5%),radial-gradient(circle at 50% 38%,#283649 0 27%,transparent 28%),linear-gradient(145deg,#c0d8da,#89594b)}.image-city{background:linear-gradient(145deg,transparent 0 47%,#247b7b 48%),linear-gradient(35deg,#e6edf0 38%,#eea44c 39% 43%,#fff 44%)}.tag{display:inline-block;background:var(--gold);color:#fff!important;padding:.25rem .45rem;font:600 .55rem var(--sans)!important;text-transform:uppercase;letter-spacing:.14em}.tag-red{background:var(--red)}.story-card{border-left:1px solid var(--line);padding-left:1.2rem}.story-card h3{font-size:1.45rem}.observatory{background:var(--navy);color:#fff;display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;padding:3.4rem 4vw}.observatory h2{font-size:3rem;margin:.25rem 0 1rem}.observatory-copy>p:not(.eyebrow){max-width:600px;color:#d2dee4;font-family:Georgia,serif}.metrics{display:flex;gap:0;margin-top:2.5rem}.metrics span{display:flex;flex-direction:column;padding:0 1.4rem;border-left:1px solid #64808f;font-size:.65rem}.metrics span:first-child{padding-left:0;border:0}.metrics b{font:2rem var(--serif)}.data-visual{display:grid;grid-template-columns:1.5fr 1fr;gap:1rem}.data-map{min-height:300px;display:grid;place-items:center;background:radial-gradient(ellipse at center,var(--teal) 0 25%,transparent 26%),linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:auto,40px 40px,40px 40px}.data-map span{font:3rem var(--serif);color:#fff}.data-lines{border:1px solid #52717e;padding:1rem;font-size:.65rem}.data-lines>div{border-top:1px solid #52717e;padding:.9rem 0}.data-lines i{display:block;width:90%;height:18px;margin-top:.45rem;background:linear-gradient(170deg,transparent 0 45%,var(--red) 47% 52%,transparent 54%)}.publication-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.publication{display:grid;grid-template-columns:135px 1fr;gap:1.2rem}.publication h3{font-size:1.45rem;margin:.25rem 0}.publication p{font-family:Georgia,serif;color:var(--muted)}.publication a{color:var(--red);font-size:.75rem}.cover{aspect-ratio:.72;display:flex;align-items:flex-end;padding:1rem;color:#fff;box-shadow:0 8px 18px #bec8ce}.cover span{font:1rem var(--serif)}.cover-one{background:linear-gradient(155deg,#e7ded0 0 42%,#567e82 43% 70%,#b7955d 71%)}.cover-two{background:radial-gradient(ellipse at 56% 50%,#fff 0 4%,transparent 5%),linear-gradient(155deg,#0a6674,#3fa7a0 55%,#042f45)}.cover-three{background:linear-gradient(135deg,#bc4f39 0 42%,#e7ddca 43% 60%,#30526a 61%)}.agenda-section{border-top:1px solid var(--line)}.agenda-grid{display:grid;grid-template-columns:repeat(3,1fr)}.agenda-grid article{display:grid;grid-template-columns:85px 1fr;gap:1rem;padding:0 1.5rem;border-left:1px solid var(--line)}.agenda-grid article:first-child{padding-left:0;border:0}.agenda-grid time{display:flex;flex-direction:column;text-align:center;border-right:1px solid var(--gold);font-size:.7rem}.agenda-grid time b{font:2rem var(--serif)}.agenda-grid h3{margin:.25rem 0;font-size:1.2rem}.agenda-grid p{margin:.2rem 0;font-size:.8rem}.membership{margin-top:1.5rem;padding:3rem 4vw;background:linear-gradient(90deg,#e7f0f1 0 24%,#fff 48%);display:flex;justify-content:center;align-items:center;gap:5rem}.membership h2{font-size:3rem;margin:.2rem 0}.membership p:not(.eyebrow){margin:0;max-width:650px;color:var(--muted)}footer{border-top:1px solid var(--line);padding:1.5rem 4vw;display:flex;align-items:center;gap:4rem}footer .brand-mark{font-size:1.6rem}footer .brand-rule{height:26px}footer nav{display:flex;gap:1.4rem;font-size:.65rem;margin-left:auto}footer>p{font-size:.65rem}
@media(max-width:1000px){.site-header{height:auto;min-height:78px}.menu-button{display:block;background:none;border:1px solid var(--navy);padding:.55rem .8rem}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:1.5rem 4vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding-top:3rem}.hero-visual{min-height:360px}.feature-grid{grid-template-columns:1fr 1fr}.feature-main{grid-column:1/-1}.observatory{grid-template-columns:1fr}.publication-grid{grid-template-columns:1fr}.publication{grid-template-columns:110px 1fr}.agenda-grid{grid-template-columns:1fr;gap:1.5rem}.agenda-grid article{border:0;padding:0}.membership{justify-content:space-between;gap:2rem}footer{flex-wrap:wrap}footer nav{order:3;width:100%;margin:0}}
@media(max-width:620px){.brand-name{display:none}.hero-copy,.section,.observatory,.membership{padding-left:1.25rem;padding-right:1.25rem}h1{font-size:3.1rem}.hero-visual{min-height:290px}.hero-visual p{font-size:.55rem}.feature-grid{grid-template-columns:1fr}.feature-main{display:block}.story-card{border-left:0;padding-left:0}.section-heading{align-items:flex-end;flex-wrap:wrap}.section-heading:after{display:none}.section-heading h2{font-size:2rem}.section-heading>a{width:100%}.data-visual{grid-template-columns:1fr}.metrics{flex-wrap:wrap;row-gap:1rem}.metrics span{width:50%}.membership{display:block}.membership .button{margin-top:1.5rem}footer{padding:1.5rem 1.25rem}footer nav{flex-wrap:wrap}}

/* Logo institutionnel placé à l’extrémité droite de l’en-tête. */
.site-header{justify-content:flex-end;gap:2rem}
.main-nav{margin-left:auto}
.header-logo{display:block;flex:0 0 auto;width:76px;height:76px;overflow:hidden;background:var(--navy);border:1px solid rgba(214,166,61,.55)}
.header-logo img{display:block;width:100%;height:100%;object-fit:cover}

@media(max-width:1000px){
  .site-header{justify-content:space-between;gap:1rem}
  .menu-button{order:1}
  .main-nav{order:3}
  .header-logo{order:2;margin-left:auto;width:64px;height:64px}
}

@media(max-width:620px){
  .header-logo{width:56px;height:56px}
}

/* Calage visuel v02 sur la maquette de référence fond blanc. */
:root{--max:1180px}
body{background:#eef2f4}
.site-header,main,footer{background:#fff}
.site-header{height:76px;padding:0 3.8vw;gap:1.4rem}
.header-logo{width:62px;height:62px}
.main-nav{gap:1.35rem;font-size:.7rem}
.main-nav .button{padding:.65rem 1rem}
.hero{min-height:360px;grid-template-columns:.96fr 1.04fr}
.hero-copy{padding:2.25rem 3.8vw 2rem}
.hero-copy .eyebrow{font-size:.55rem}
h1{font-size:clamp(3rem,5.1vw,4.65rem);line-height:.94;margin:.65rem 0 .9rem}
.lead{font-size:.96rem;line-height:1.45}
.actions{margin-top:1.25rem}
.hero-visual{min-height:360px;background-image:url('assets/reference-home.png');background-repeat:no-repeat;background-size:196% auto;background-position:100% 4.8%}
.hero-visual:after,.hero-visual .island,.hero-visual .route{display:none}
.hero-visual p{right:4%;top:12%;font-size:.52rem;line-height:1.65;background:rgba(255,255,255,.78);padding:.55rem}
.hero-visual small{right:4%;bottom:5%;background:rgba(255,255,255,.85);padding:.3rem .45rem;font-size:.52rem}
.section{padding:1.35rem 3.8vw}
.section-heading{margin-bottom:.9rem;gap:1.4rem}
.section-heading h2{font-size:2rem}
.feature-grid{grid-template-columns:2.3fr 1fr 1fr;gap:1rem}
.feature-main{grid-template-columns:1.05fr 1fr;min-height:245px}
.feature-card h3,.story-card h3{font-size:1.25rem}
.feature-card p,.story-card p{font-size:.76rem;line-height:1.4}
.article-copy{padding:1rem}
.story-card{padding-left:.9rem}
.image-block{min-height:128px;background-image:url('assets/reference-home.png');background-repeat:no-repeat}
.image-people{min-height:245px;display:block;background-size:980px auto;background-position:-38px -420px}
.image-people span{display:none}
.image-portrait{background-size:1010px auto;background-position:-563px -419px}
.image-city{background-size:1010px auto;background-position:-774px -421px}
.observatory{min-height:280px;padding:1.8rem 3.8vw;gap:2rem;grid-template-columns:1fr 1.25fr}
.observatory h2{font-size:2.5rem}
.observatory-copy>p:not(.eyebrow){font-size:.82rem}
.metrics{margin-top:1.4rem}
.metrics b{font-size:1.55rem}
.data-visual{grid-template-columns:1.4fr .8fr}
.data-map{min-height:225px;background-image:url('assets/reference-home.png');background-repeat:no-repeat;background-size:945px auto;background-position:-385px -648px}
.data-map span{display:none}
.data-lines{padding:.7rem}
.data-lines>div{padding:.55rem 0}
.publication-grid{gap:1.35rem}
.publication{grid-template-columns:105px 1fr;gap:.85rem}
.publication h3{font-size:1.15rem}
.publication p{font-size:.74rem;line-height:1.35}
.cover{box-shadow:0 5px 12px #c8d0d5;background-image:url('assets/reference-home.png');background-repeat:no-repeat}
.cover span{display:none}
.cover-one{background-size:925px auto;background-position:-39px -919px}
.cover-two{background-size:925px auto;background-position:-334px -919px}
.cover-three{background-size:925px auto;background-position:-617px -919px}
.agenda-section{padding-top:1rem;padding-bottom:1rem}
.agenda-grid article{grid-template-columns:68px 1fr}
.agenda-grid time b{font-size:1.65rem}
.agenda-grid h3{font-size:1rem}
.membership{margin-top:0;padding:1.65rem 3.8vw;background:#fff;position:relative;overflow:hidden}
.membership:before{content:"";align-self:stretch;width:31%;min-height:125px;background:url('assets/reference-home.png') no-repeat;background-size:850px auto;background-position:0 -1134px}
.membership h2{font-size:2.4rem}
.membership p:not(.eyebrow){font-size:.78rem}
footer{padding:.8rem 3.8vw}

@media(max-width:1000px){
  .site-header{height:auto;min-height:72px}
  .hero{grid-template-columns:1fr}
  .hero-visual{min-height:340px;background-size:152% auto;background-position:100% 5%}
  .feature-grid{grid-template-columns:1fr 1fr}
  .feature-main{grid-column:1/-1}
  .observatory{grid-template-columns:1fr}
  .publication-grid{grid-template-columns:1fr}
  .membership:before{display:none}
}

@media(max-width:620px){
  .hero-copy{padding:2rem 1.25rem}
  h1{font-size:2.9rem}
  .hero-visual{min-height:280px;background-size:180% auto}
  .feature-grid{grid-template-columns:1fr}
  .feature-main{display:block}
  .image-people{min-height:220px}
  .observatory{padding-top:1.8rem;padding-bottom:1.8rem}
}

/* Le héros est un module remplaçable : changer uniquement le fichier de .hero-image. */
.hero-visual{background:none}
.hero-image{display:block;width:100%;height:100%;min-height:360px;object-fit:cover;object-position:center}
.hero-themes{color:var(--navy);backdrop-filter:blur(3px)}
.replaceable-label{color:var(--navy)}

@media(max-width:1000px){
  .hero-image{min-height:340px}
}

@media(max-width:620px){
  .hero-image{min-height:280px}
}

/* Images éditoriales indépendantes et remplaçables de la rubrique À la une. */
.image-block img{display:block;width:100%;height:100%;object-fit:cover}
.image-people,.image-portrait,.image-city{background:none}
.image-people img{min-height:245px;object-position:center}
.image-portrait img,.image-city img{min-height:128px}

@media(max-width:620px){
  .image-people img{min-height:220px}
}

/* Carte éditoriale et données sont deux modules indépendants. */
.data-map{overflow:hidden;background:none}
.data-map img{display:block;width:100%;height:100%;min-height:225px;object-fit:cover;object-position:center}
.data-lines p{display:flex;flex-direction:column;gap:.25rem}
.data-lines p small{color:#9eb3bd;font-size:.52rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase}

/* Modèle réutilisable de couverture de publication. */
.publication-cover{
  --cover-bg:#e8e0d1;
  --cover-ink:#0b2238;
  --cover-accent:#b78b42;
  position:relative;
  isolation:isolate;
  aspect-ratio:.72;
  overflow:hidden;
  padding:.75rem;
  color:var(--cover-ink);
  background:var(--cover-bg);
  box-shadow:0 6px 15px rgba(11,34,56,.2);
  display:flex;
  flex-direction:column;
}
.publication-cover:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.45);pointer-events:none}
.cover-top,.cover-meta{display:flex;align-items:center;justify-content:space-between;gap:.4rem;position:relative;z-index:2}
.cover-brand{font:1.05rem/1 var(--serif);letter-spacing:.04em}
.cover-kind,.cover-meta{font-size:.38rem;letter-spacing:.13em;text-transform:uppercase}
.cover-kind{border:1px solid currentColor;padding:.18rem .25rem}
.cover-art{position:absolute;inset:24% -12% 26%;z-index:-1;transform:rotate(-7deg)}
.cover-art:before{content:"";position:absolute;inset:8% 0;background:var(--cover-accent);clip-path:polygon(0 66%,18% 32%,37% 53%,58% 8%,78% 39%,100% 17%,100% 100%,0 100%);opacity:.92}
.cover-art:after{content:"";position:absolute;width:62%;aspect-ratio:1;border:1px solid currentColor;border-radius:50%;right:-8%;top:-28%;opacity:.32}
.cover-art i{position:absolute;width:1px;height:140%;background:currentColor;opacity:.15;top:-20%;left:38%;transform:rotate(28deg)}
.cover-art i:nth-child(2){left:55%;transform:rotate(12deg)}
.cover-art i:nth-child(3){left:72%;transform:rotate(-8deg)}
.cover-copy{margin-top:auto;padding-bottom:.65rem;border-bottom:1px solid currentColor;display:flex;flex-direction:column;position:relative;z-index:2}
.cover-copy strong{font:1rem/1.02 var(--serif)}
.cover-copy span{font-size:.48rem;margin-top:.3rem}
.cover-meta{padding-top:.45rem}
.theme-ocean{--cover-bg:#0d6f7b;--cover-ink:#f7f3e8;--cover-accent:#3eb0a6}
.theme-terra{--cover-bg:#b85742;--cover-ink:#fff9eb;--cover-accent:#263f55}
.theme-sand{--cover-bg:#e7dfd0;--cover-ink:#0b2238;--cover-accent:#608488}

/* Ajustements mobiles consolidés. */
@media(max-width:760px){
  html{scroll-padding-top:78px}
  body{overflow-x:hidden}
  .site-header{
    position:sticky;
    top:0;
    min-height:72px;
    padding:.45rem 1rem;
    box-shadow:0 3px 16px rgba(11,34,56,.08);
  }
  .menu-button{
    min-width:44px;
    min-height:44px;
    border-color:var(--gold);
    color:var(--navy);
    font:600 .72rem var(--sans);
  }
  .header-logo{width:56px;height:56px}
  .main-nav{
    max-height:calc(100vh - 72px);
    overflow-y:auto;
    gap:0;
    padding:.5rem 1rem 1.25rem;
    box-shadow:0 12px 24px rgba(11,34,56,.12);
  }
  .main-nav>a{
    display:flex;
    align-items:center;
    width:100%;
    min-height:48px;
    padding:.7rem .2rem;
    border-bottom:1px solid var(--line)!important;
    font-size:.85rem;
  }
  .main-nav .button{margin-top:.75rem;justify-content:center;border:1px solid var(--gold)!important}

  .hero{display:flex;flex-direction:column;min-height:0}
  .hero-copy{padding:2rem 1.25rem 1.75rem}
  .hero-copy .eyebrow{font-size:.52rem;line-height:1.6;letter-spacing:.16em}
  .eyebrow:after{width:42px}
  h1{font-size:clamp(2.65rem,13vw,3.55rem);line-height:.94;overflow-wrap:normal}
  .lead{font-size:.97rem;line-height:1.55}
  .actions{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}
  .actions .button{min-height:46px;padding:.7rem .6rem;text-align:center}
  .hero-visual{min-height:0;aspect-ratio:4/3}
  .hero-image{min-height:0;height:100%;object-position:center}
  .hero-themes{top:.8rem;right:.8rem;font-size:.46rem;line-height:1.5}
  .replaceable-label{display:none}

  .section{padding:1.7rem 1.25rem}
  .section-heading{gap:.65rem;margin-bottom:1.1rem}
  .section-heading h2{font-size:2rem;white-space:normal}
  .section-heading>a{font-size:.72rem}
  .feature-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
  .feature-main{display:block;min-height:0}
  .image-people,.image-people img{min-height:230px;height:230px}
  .image-portrait,.image-city,.image-portrait img,.image-city img{height:190px;min-height:190px}
  .article-copy{padding:1.1rem}
  .story-card{padding:0 0 1.35rem;border-left:0;border-bottom:1px solid var(--line)}
  .story-card:last-child{border-bottom:0;padding-bottom:0}
  .feature-card h3,.story-card h3{font-size:1.45rem;line-height:1.08}
  .feature-card p,.story-card p{font-size:.86rem}

  .observatory{padding:2.2rem 1.25rem;gap:1.7rem}
  .observatory h2{font-size:2.45rem}
  .observatory-copy>p:not(.eyebrow){font-size:.92rem;line-height:1.5}
  .observatory .button{min-height:44px}
  .metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:1.8rem}
  .metrics span{width:auto;padding:0 .65rem;font-size:.58rem}
  .metrics b{font-size:1.55rem}
  .data-visual{display:block}
  .data-map,.data-map img{min-height:0;height:auto;aspect-ratio:3/2}
  .data-lines{margin-top:1rem}
  .data-lines>div{min-height:48px}

  .publication-grid{grid-template-columns:1fr;gap:1.6rem}
  .publication{grid-template-columns:96px minmax(0,1fr);gap:1rem;align-items:start}
  .publication-cover{width:96px}
  .publication h3{font-size:1.23rem}
  .publication p{font-size:.82rem}
  .cover-brand{font-size:.8rem}
  .cover-copy strong{font-size:.76rem}

  .agenda-grid{display:grid;grid-template-columns:1fr;gap:0}
  .agenda-grid article{grid-template-columns:64px minmax(0,1fr);gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}
  .agenda-grid article:last-child{border-bottom:0}
  .agenda-grid time{min-height:58px}

  .membership{padding:2rem 1.25rem;display:block}
  .membership h2{font-size:2.45rem}
  .membership .button{width:100%;min-height:46px;margin-top:1.25rem}

  footer{padding:1.5rem 1.25rem;gap:1.25rem}
  footer .brand{width:100%}
  footer .brand-name{display:block}
  footer nav{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem}
  footer nav a{min-height:32px;display:flex;align-items:center}
}

@media(max-width:390px){
  .actions{grid-template-columns:1fr}
  .metrics{grid-template-columns:1fr}
  .metrics span{padding:.75rem 0;border-left:0;border-top:1px solid #64808f}
  .metrics span:first-child{border-top:0}
  .publication{grid-template-columns:84px minmax(0,1fr)}
  .publication-cover{width:84px}
  footer nav{grid-template-columns:1fr}
}

/* Identité d’en-tête : logo à gauche et nom de l’Institut à ses côtés. */
.site-header{justify-content:flex-start}
.header-brand{display:flex;align-items:center;gap:.7rem;flex:0 0 auto}
.header-brand-logo{display:block;width:58px;height:58px;object-fit:cover;background:var(--navy)}
.header-brand-name{font:500 .7rem/1.18 var(--sans);white-space:nowrap}
.main-nav{margin-left:auto}

/* Image remplaçable du bloc d’adhésion. */
.membership{
  display:grid;
  grid-template-columns:minmax(230px,32%) minmax(0,1fr) auto;
  align-items:center;
  justify-content:stretch;
  gap:2rem;
  padding:0 3.8vw 0 0;
  background:#fff;
}
.membership:before{display:none}
.membership-visual{align-self:stretch;min-height:150px;margin:0;overflow:hidden}
.membership-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.membership-copy{padding:1.5rem 0}

@media(max-width:1000px){
  .header-brand-logo{width:52px;height:52px}
  .header-brand-name{font-size:.65rem}
  .header-brand{order:1}
  .menu-button{order:2;margin-left:auto}
  .main-nav{order:3}
  .membership{grid-template-columns:30% minmax(0,1fr) auto;gap:1.3rem}
}

@media(max-width:760px){
  .header-brand{min-width:0}
  .header-brand-logo{width:50px;height:50px;flex:0 0 50px}
  .header-brand-name{font-size:.62rem;line-height:1.15}
  .membership{display:block;padding:0 1.25rem 2rem}
  .membership-visual{height:180px;min-height:180px;margin:0 -1.25rem 1.4rem}
  .membership-copy{padding:0}
}

@media(max-width:390px){
  .header-brand-logo{width:44px;height:44px;flex-basis:44px}
  .header-brand-name{font-size:.56rem}
}

/* Calage final du héros sur la maquette de référence. */
@media(min-width:761px){
  .hero{
    display:grid;
    grid-template-columns:48% 52%;
    min-height:365px;
    align-items:stretch;
  }
  .hero-copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
    padding:2rem 3.8vw 2.1rem;
  }
  .hero-visual{height:365px;min-height:365px}
  .hero-image{height:365px;min-height:365px;object-fit:cover;object-position:center}
  .hero-copy h1{max-width:620px}
  .hero-copy .lead{max-width:590px}
}
