/* FNAM v2 - styles de la version statique */
    :root{
      /* Palette FNAM — cohérence stricte */
      --fond:#FBF7F1;
      --bleu-fonce:#326191;
      --bleu-soutenu:#3a6da0;
      --bleu-moyen:#5092b6;
      --turquoise:#70b4be;
      --rouge:#be3c3f;

      --ink:var(--bleu-fonce);
      --muted:var(--bleu-soutenu);
      --blue:var(--bleu-fonce);
      --blue2:var(--bleu-soutenu);
      --pale:var(--fond);
      --line:var(--turquoise);
      --red:var(--rouge);
      --bg:var(--fond);
      --r:24px;
      --shadow:0 18px 45px rgba(50,97,145,.18);
      --header-height:104px;
      --font-body:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      --font-display:"PP Fraktion Sans","Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
    }
    *{box-sizing:border-box} body{margin:0;font-family:var(--font-body);color:var(--ink);line-height:1.55;background:var(--fond)} a{color:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.skip{position:absolute;left:12px;top:10px;background:var(--fond);padding:10px;border-radius:10px;transform:translateY(-150%);z-index:20}.skip:focus{transform:none}.top{background:var(--bleu-fonce);color:#FBF7F1;font-size:.86rem}.top .container{min-height:38px;display:flex;justify-content:space-between;gap:15px;align-items:center}.top nav{display:flex;gap:15px;flex-wrap:wrap}.top a{text-decoration:none}.header{position:sticky;top:0;z-index:10;background:rgba(251,247,241,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{height:74px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;min-width:190px}.brandLogo{display:block;width:clamp(150px,16vw,228px);height:auto;border-radius:0;background:transparent}.brandLogoCompact{display:block;width:158px;height:auto}.footer .brandLogo{background:#FBF7F1;border-radius:14px;padding:8px;width:210px;box-shadow:0 10px 24px rgba(0,0,0,.13)}.brand small{display:block;color:var(--muted);font-weight:650}.links{display:flex;gap:3px;flex-wrap:wrap;justify-content:flex-end}.links a,.menuBtn{padding:10px 12px;border-radius:999px;text-decoration:none;font-weight:800;border:0;background:transparent;cursor:pointer}.links a:hover,.links a.active{background:var(--pale);color:var(--blue2)}.menuBtn{display:none;border:1px solid rgba(112,180,190,.58);background:var(--fond)}.hero{position:relative;overflow:hidden;color:var(--fond);background:radial-gradient(circle at 80% 20%,rgba(190,60,63,.20),transparent 30%),linear-gradient(135deg,#326191,#326191 55%,#3a6da0);min-height:620px;display:grid;align-items:center}.hero:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(251,247,241,.06) 1px,transparent 1px),linear-gradient(rgba(251,247,241,.05) 1px,transparent 1px);background-size:78px 78px;animation:drift 20s linear infinite;opacity:.72}.hero:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(6,21,37,.92),rgba(6,21,37,.52),rgba(6,21,37,.86))}.hero.paused *,.hero.paused:before{animation-play-state:paused!important}.hero .container{position:relative;z-index:3}.heroMotion{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.86}.takeoffPath{position:absolute;left:0;bottom:78px;width:100%;height:230px}.takeoffPath path{fill:none;stroke:#70b4be;stroke-width:2.1;stroke-linecap:round;stroke-dasharray:820;stroke-dashoffset:820;animation:pathDraw 2.6s cubic-bezier(.2,.75,.25,1) .25s forwards}.takeoffGlow{position:absolute;left:-30%;top:18%;width:42%;height:44%;border-radius:999px;background:radial-gradient(circle,rgba(112,180,190,.18),rgba(112,180,190,.06) 45%,transparent 72%);filter:blur(10px);animation:glowSweep 3.2s ease-out .1s forwards}.planeFly{position:absolute;left:6%;bottom:95px;width:58px;height:58px;display:grid;place-items:center;animation:planeTakeoff 2.6s cubic-bezier(.18,.72,.18,1) .25s forwards}.planeFly svg{width:58px;height:58px;filter:drop-shadow(0 8px 16px rgba(0,0,0,.25));transform:rotate(-8deg)}.heroTitle{max-width:1120px}.heroTitle .line{display:block;opacity:0;transform:translateY(24px);filter:blur(2px);animation:titleReveal .72s ease forwards}.heroTitle .line:nth-child(1){animation-delay:.28s}.heroTitle .line:nth-child(2){animation-delay:.88s}.hero .eyebrow{opacity:0;animation:titleReveal .55s ease .06s forwards}.hero .lead{opacity:0;transform:translateY(14px);animation:titleReveal .55s ease 1.45s forwards}.hero .actions{opacity:0;transform:translateY(12px);animation:titleReveal .55s ease 1.82s forwards}.hero .tagRow{opacity:0;transform:translateY(10px);animation:titleReveal .5s ease 2.08s forwards}@keyframes drift{to{transform:translate(78px,78px)}}@keyframes pathDraw{to{stroke-dashoffset:0}}@keyframes glowSweep{from{transform:translateX(0);opacity:.15}45%{opacity:.45}to{transform:translateX(250%);opacity:.08}}@keyframes planeTakeoff{0%{transform:translate(0,0) rotate(-1deg);opacity:0}8%{opacity:1}55%{transform:translate(44vw,-54px) rotate(-8deg);opacity:1}100%{transform:translate(86vw,-168px) rotate(-11deg);opacity:.9}}@keyframes titleReveal{to{opacity:1;transform:translateY(0);filter:blur(0)}}.eyebrow{display:inline-flex;gap:8px;align-items:center;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:800;color:#5092b6}.hero .eyebrow{color:#70b4be}.eyebrow:before{content:"";width:28px;height:2px;background:var(--red)}h1{font-size:clamp(2.6rem,6vw,6.6rem);line-height:.93;letter-spacing:-.035em;margin:18px 0}.hero p{font-size:clamp(1.08rem,1.5vw,1.34rem);max-width:760px;color:#FBF7F1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 18px;border-radius:999px;border:1px solid transparent;text-decoration:none;font-weight:800;cursor:pointer}.primary{background:var(--red);color:var(--fond)}.secondary{background:var(--fond);color:var(--blue)}.light{background:var(--pale);color:var(--blue)}.ghost{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);color:var(--fond)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.pause{position:absolute;right:22px;bottom:20px;z-index:4;background:rgba(7,28,51,.62);border:1px solid rgba(255,255,255,.25);color:var(--fond);border-radius:999px;padding:8px 10px}.pause button{border:0;background:var(--fond);color:var(--blue);border-radius:999px;padding:8px 10px;font-weight:800}@media (prefers-reduced-motion:reduce){.hero:before,.takeoffPath path,.takeoffGlow,.planeFly,.hero .eyebrow,.heroTitle .line,.hero .lead,.hero .actions,.hero .tagRow{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}.takeoffPath path{stroke-dashoffset:0}.pause{display:none}}.proof{border-bottom:1px solid var(--line);box-shadow:0 8px 22px rgba(7,28,51,.06)}.proof .container{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.stats{display:flex;gap:24px;flex-wrap:wrap}.stat strong{font-size:1.45rem;color:var(--blue)}.stat span{color:var(--muted);margin-left:5px}.note{width:100%;font-size:.82rem;color:var(--muted);margin-top:-14px;padding-bottom:12px}.section{padding:74px 0}.alt{background:linear-gradient(180deg,rgba(112,180,190,.16),var(--fond))}.head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px;margin-bottom:28px}.head h2{font-size:clamp(2rem,3.4vw,3.3rem);line-height:1.04;letter-spacing:-.045em;margin:10px 0 0}.head p{max-width:760px;color:var(--muted);margin:8px 0 0}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid5{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}.card{position:relative;overflow:hidden;background:rgba(251,247,241,.94);border:1px solid rgba(112,180,190,.58);border-radius:var(--r);padding:24px;box-shadow:0 12px 30px rgba(7,28,51,.08)}.card:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,var(--blue2),var(--red));transform:scaleX(.24);transform-origin:left}.card h3{font-size:1.35rem;line-height:1.15;letter-spacing:-.03em;margin:0 0 10px}.card p{color:var(--muted);margin:0 0 18px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.chip{background:var(--pale);border:1px solid #70b4be;color:var(--blue2);border-radius:999px;padding:6px 10px;text-decoration:none;font-size:.85rem;font-weight:800}.domain{grid-column:span 2;min-height:210px}.domain:nth-child(4),.domain:nth-child(5){grid-column:span 3}.icon{width:42px;height:42px;border-radius:14px;background:var(--pale);display:grid;place-items:center;color:var(--blue2);font-weight:950;margin-bottom:16px}.pubs{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.feature{min-height:420px;background:linear-gradient(135deg,var(--bleu-fonce),var(--bleu-soutenu));color:var(--fond);border-radius:30px;padding:32px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between}.feature h3{font-size:clamp(2rem,3vw,3.2rem);line-height:1.08;margin:14px 0}.feature p{color:#FBF7F1}.publist{display:grid;gap:16px}.tag{display:inline-flex;border-radius:999px;padding:6px 10px;background:var(--pale);font-size:.78rem;font-weight:800;color:var(--blue2)}.tag.red{background:rgba(251,247,241,.55);color:#be3c3f}.tag.gold{background:#FBF7F1;color:#3a6da0}.tag.green{background:#FBF7F1;color:#326191}.band{background:linear-gradient(135deg,var(--fond),rgba(112,180,190,.18));border:1px solid rgba(112,180,190,.58);border-radius:30px;padding:34px;box-shadow:0 12px 30px rgba(7,28,51,.08);display:grid;grid-template-columns:1fr .8fr;gap:26px;align-items:center}.visual{min-height:230px;border-radius:22px;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.28),transparent 25%),linear-gradient(135deg,#326191,#5092b6);position:relative}.visual:after{content:"Métiers · Compétences · Territoires";position:absolute;left:22px;bottom:22px;color:var(--fond);font-weight:950;font-size:1.35rem;max-width:280px}.blueband{background:var(--bleu-fonce);color:var(--fond);border-radius:30px;padding:36px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.blueband p{color:#FBF7F1}.footer{background:var(--bleu-fonce);color:#FBF7F1;padding:56px 0 28px}.footgrid{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:25px}.footer h3{text-transform:uppercase;letter-spacing:.12em;font-size:.86rem;margin:0 0 12px;color:var(--fond)}.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.footer a{color:#FBF7F1;text-decoration:none}.bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:28px;padding-top:18px;color:#70b4be;display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px}.pageHero{padding:70px 0 42px;background:linear-gradient(180deg,rgba(112,180,190,.16),var(--fond));border-bottom:1px solid var(--line)}.pageHero h1{color:var(--ink)}.pageHero p{font-size:1.15rem;color:var(--muted);max-width:850px}.pageGrid{display:grid;grid-template-columns:280px 1fr;gap:32px}.side{position:sticky;top:104px;background:rgba(251,247,241,.94);border:1px solid rgba(112,180,190,.58);border-radius:var(--r);padding:16px;box-shadow:0 12px 30px rgba(7,28,51,.08)}.side a{display:block;padding:9px 10px;text-decoration:none;color:var(--muted);font-weight:800;border-radius:12px}.side a:hover{background:var(--pale);color:var(--blue2)}.stack{display:grid;gap:18px}.notice{border-left:4px solid var(--red);background:rgba(251,247,241,.72);border-radius:14px;padding:16px;color:#326191}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.filter{border:1px solid rgba(112,180,190,.58);background:var(--fond);border-radius:999px;padding:9px 13px;font-weight:800;cursor:pointer}.filter.active{background:var(--blue);color:var(--fond)}.reserved{min-height:330px;border-radius:30px;padding:34px;color:var(--fond);background:linear-gradient(135deg,var(--bleu-fonce),var(--bleu-soutenu));display:grid;align-content:center}.mobilePanel{position:fixed;inset:0;background:rgba(6,21,37,.62);z-index:30;display:none}.mobilePanel.open{display:block}.mobileMenu{width:min(420px,88vw);height:100%;background:var(--fond);padding:22px;overflow:auto}.mobileMenu h3{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.82rem}.mobileMenu a{display:block;padding:12px;border-radius:14px;text-decoration:none;font-weight:850}.close{border:1px solid rgba(112,180,190,.58);background:var(--fond);border-radius:12px;padding:9px 11px;font-weight:800;float:right}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:1080px){.top{display:none}.links{display:none}.menuBtn{display:inline-flex}.grid3,.pubs,.band,.blueband,.pageGrid{grid-template-columns:1fr}.side{position:static}.footgrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.container{width:min(100% - 28px,1180px)}.hero{min-height:600px}.section{padding:52px 0}.head{grid-template-columns:1fr}.grid5{grid-template-columns:1fr}.domain,.domain:nth-child(4),.domain:nth-child(5){grid-column:auto}.stats{display:grid;gap:6px}.feature{min-height:340px;padding:24px}.footgrid{grid-template-columns:1fr}.brand small{display:none}.pause{left:14px;right:auto}}

.srOnly{
  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;
}

/* Mobile V3 - Page Domaines : intro compacte et navigation en lignes */
@media(max-width:640px){
  html.is-domaines,
  html[data-responsive-mode].is-domaines,
  html[data-responsive-mode="compact"].is-domaines,
  html[data-responsive-mode="mobile"].is-domaines,
  body.is-domaines,
  html.is-domaines body.is-domaines,
  html[data-responsive-mode].is-domaines body.is-domaines,
  html[data-responsive-mode="compact"].is-domaines body.is-domaines,
  html[data-responsive-mode="mobile"].is-domaines body.is-domaines{
    scroll-snap-type:y mandatory!important;
    scroll-padding-top:0!important;
    overscroll-behavior-y:auto!important;
    overflow-y:auto!important;
    scrollbar-width:none!important;
  }

  html.is-domaines::-webkit-scrollbar,
  body.is-domaines::-webkit-scrollbar,
  html.is-domaines body.is-domaines::-webkit-scrollbar{
    width:0!important;
    height:0!important;
    display:none!important;
  }

  body.is-domaines{
    --mobile-section-title-gap:12px;
    --mobile-section-title-gap-compact:8px;
    --mobile-section-title-top:calc(var(--header-height,78px) + var(--mobile-section-title-gap));
    background:#17324d!important;
  }

  body.is-domaines .header,
  body.is-domaines.mobile-header-hidden .header,
  body.is-domaines.mobile-header-revealed .header,
  body.is-contact .header,
  body.is-contact.mobile-header-hidden .header,
  body.is-contact.mobile-header-revealed .header,
  body.is-member .header,
  body.is-member.mobile-header-hidden .header,
  body.is-member.mobile-header-revealed .header,
  body.is-about .header,
  body.is-about.mobile-header-hidden .header,
  body.is-about.mobile-header-revealed .header,
  body.is-tools > .header,
  body.is-tools.mobile-header-hidden > .header,
  body.is-tools.mobile-header-revealed > .header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:90!important;
    transform:none!important;
    opacity:1!important;
    pointer-events:auto!important;
    background:transparent!important;
    border-bottom-color:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }

  body.is-domaines .header .brandLogo,
  body.is-domaines.mobile-header-hidden .header .brandLogo,
  body.is-domaines.mobile-header-revealed .header .brandLogo,
  body.is-contact .header .brandLogo,
  body.is-contact.mobile-header-hidden .header .brandLogo,
  body.is-contact.mobile-header-revealed .header .brandLogo,
  body.is-member .header .brandLogo,
  body.is-member.mobile-header-hidden .header .brandLogo,
  body.is-member.mobile-header-revealed .header .brandLogo,
  body.is-publications .header .brandLogo,
  body.is-about .header .brandLogo,
  body.is-about.mobile-header-hidden .header .brandLogo,
  body.is-about.mobile-header-revealed .header .brandLogo{
    content:url("../images/logo-fnam-white-text.png")!important;
    background:transparent!important;
    box-shadow:none!important;
    filter:drop-shadow(0 8px 22px rgba(3,18,31,.26))!important;
  }

  body.is-domaines .menuBtn,
  body.is-domaines.mobile-header-hidden .menuBtn,
  body.is-domaines.mobile-header-revealed .menuBtn,
  body.is-contact .menuBtn,
  body.is-contact.mobile-header-hidden .menuBtn,
  body.is-contact.mobile-header-revealed .menuBtn,
  body.is-member .menuBtn,
  body.is-member.mobile-header-hidden .menuBtn,
  body.is-member.mobile-header-revealed .menuBtn,
  body.is-publications .menuBtn,
  body.is-home.home-hero-transparent-header .menuBtn,
  body.is-home.home-hero-transparent-header.mobile-header-hidden .menuBtn,
  body.is-home.home-hero-transparent-header.mobile-header-revealed .menuBtn,
  body.is-about .menuBtn,
  body.is-about.mobile-header-hidden .menuBtn,
  body.is-about.mobile-header-revealed .menuBtn{
    background:rgba(3,18,31,.34)!important;
    border-color:rgba(251,247,241,.34)!important;
    color:#FBF7F1!important;
    box-shadow:0 10px 24px rgba(3,18,31,.18)!important;
    backdrop-filter:blur(12px)!important;
  }

  body.is-domaines #main > .domainesHero.domainesSnapBlock,
  body[data-responsive-mode].is-domaines #main > .domainesHero.domainesSnapBlock,
  body[data-responsive-mode="compact"].is-domaines #main > .domainesHero.domainesSnapBlock,
  body[data-responsive-mode="mobile"].is-domaines #main > .domainesHero.domainesSnapBlock{
    box-sizing:border-box!important;
    min-height:var(--mobile-vh,100svh)!important;
    height:var(--mobile-vh,100svh)!important;
    max-height:var(--mobile-vh,100svh)!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    display:block!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
    scroll-margin-top:0!important;
    background:
      linear-gradient(180deg,rgba(11,42,74,.92),rgba(50,97,145,.94)),
      linear-gradient(135deg,#17324d,#326191)!important;
  }

  body.is-domaines .domainesHeroInner,
  body[data-responsive-mode].is-domaines .domainesHeroInner,
  body[data-responsive-mode="compact"].is-domaines .domainesHeroInner,
  body[data-responsive-mode="mobile"].is-domaines .domainesHeroInner{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-height:var(--mobile-vh,100svh)!important;
    height:var(--mobile-vh,100svh)!important;
    margin:0!important;
    padding:var(--mobile-section-title-top) 18px 20px!important;
    display:grid!important;
    grid-template-rows:auto auto auto minmax(0,1fr)!important;
    align-content:start!important;
    gap:0!important;
  }

  body.is-domaines .domainesHero .eyebrow{
    display:inline-flex!important;
    align-items:center!important;
    gap:8px!important;
    width:fit-content!important;
    margin:0 0 8px!important;
    color:#70b4be!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:.68rem!important;
    line-height:1.1!important;
    font-weight:900!important;
    letter-spacing:.13em!important;
    text-transform:uppercase!important;
  }

  body.is-domaines .domainesHero .eyebrow:before{
    content:""!important;
    flex:0 0 auto!important;
    display:block!important;
    width:28px!important;
    height:2px!important;
    background:#be3c3f!important;
  }

  body.is-domaines .domainesHero h1{
    position:relative!important;
    width:fit-content!important;
    max-width:100%!important;
    margin:0 0 14px!important;
    padding:0 0 16px!important;
    color:#FBF8F1!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:1.9rem!important;
    line-height:1.04!important;
    font-weight:700!important;
    letter-spacing:0!important;
    text-wrap:balance!important;
  }

  body.is-domaines .domainesHero h1:after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    bottom:0!important;
    display:block!important;
    width:100%!important;
    height:3px!important;
    border-radius:3px!important;
    background:#be3c3f!important;
  }

  body.is-domaines .domainesHero p{
    max-width:none!important;
    margin:0!important;
    color:rgba(251,248,241,.9)!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:.86rem!important;
    line-height:1.34!important;
    font-weight:560!important;
    letter-spacing:0!important;
  }

  body.is-domaines .domainesNav{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-self:start!important;
    gap:8px!important;
    width:100%!important;
    margin:16px 0 0!important;
  }

  html.is-domaines body.is-domaines #main > .domainesHero .domainesNav > a.domainesNavCard,
  body.is-domaines .domainesNav > a.domainesNavCard{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    height:42px!important;
    padding:0 12px!important;
    display:grid!important;
    grid-template-columns:auto auto minmax(0,1fr)!important;
    gap:9px!important;
    align-items:center!important;
    align-content:center!important;
    border-radius:var(--r-4,10px)!important;
    text-decoration:none!important;
    box-shadow:
      inset 0 0 0 1px rgba(251,248,241,.10),
      0 12px 24px rgba(7,28,51,.12)!important;
  }

  body.is-domaines .domainesNav > a.domainesNavCard:before{
    content:""!important;
    width:5px!important;
    height:5px!important;
    border-radius:999px!important;
    background:rgba(251,248,241,.82)!important;
    grid-column:2!important;
    grid-row:1!important;
  }

  body.is-domaines .domainesNavIndex{
    grid-column:1!important;
    grid-row:1!important;
    color:rgba(251,248,241,.84)!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:.72rem!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.08em!important;
  }

  body.is-domaines .domainesNav a strong{
    grid-column:3!important;
    grid-row:1!important;
    display:block!important;
    min-width:0!important;
    margin:0!important;
    color:#FBF8F1!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:0!important;
    line-height:1!important;
    font-weight:850!important;
    letter-spacing:0!important;
    text-shadow:none!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  body.is-domaines .domainesNav a strong:after{
    content:attr(data-mobile-label)!important;
    font-size:.91rem!important;
    line-height:1!important;
  }

  body.is-domaines .domainesNav a p,
  body.is-domaines .domainesNav a em{
    display:none!important;
  }

  body.is-domaines #main > .domainesDetail.domainesSnapBlock,
  body[data-responsive-mode].is-domaines #main > .domainesDetail.domainesSnapBlock,
  body[data-responsive-mode="compact"].is-domaines #main > .domainesDetail.domainesSnapBlock,
  body[data-responsive-mode="mobile"].is-domaines #main > .domainesDetail.domainesSnapBlock{
    min-height:var(--mobile-vh,100svh)!important;
    height:auto!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
    scroll-margin-top:0!important;
  }
}

@media(max-width:640px) and (max-height:700px){
  body.is-domaines{
    --mobile-section-title-top:calc(var(--header-height,78px) + var(--mobile-section-title-gap-compact,8px));
  }

  body.is-domaines .domainesHero .eyebrow{
    margin-bottom:6px!important;
    font-size:.63rem!important;
  }

  body.is-domaines .domainesHero h1{
    margin-bottom:10px!important;
    padding-bottom:13px!important;
    font-size:1.7rem!important;
  }

  body.is-domaines .domainesHero p{
    font-size:.8rem!important;
    line-height:1.26!important;
  }

  body.is-domaines .domainesNav{
    gap:7px!important;
    margin-top:12px!important;
  }

  html.is-domaines body.is-domaines #main > .domainesHero .domainesNav > a.domainesNavCard,
  body.is-domaines .domainesNav > a.domainesNavCard{
    min-height:38px!important;
    height:38px!important;
  }

  body.is-domaines .domainesNav a strong:after{
    font-size:.82rem!important;
  }
}

@media(max-width:640px) and (min-height:760px){
  body.is-domaines .domainesHero p{
    font-size:.92rem!important;
    line-height:1.43!important;
  }

  body.is-domaines .domainesNav{
    gap:10px!important;
    margin-top:26px!important;
  }

  html.is-domaines body.is-domaines #main > .domainesHero .domainesNav > a.domainesNavCard,
  body.is-domaines .domainesNav > a.domainesNavCard{
    min-height:50px!important;
    height:50px!important;
    padding-inline:14px!important;
  }

  body.is-domaines .domainesNavIndex{
    font-size:.76rem!important;
  }

  body.is-domaines .domainesNav a strong:after{
    font-size:.98rem!important;
  }
}

@media(max-width:640px) and (min-height:880px){
  body.is-domaines .domainesHero p{
    font-size:.96rem!important;
    line-height:1.48!important;
  }

  body.is-domaines .domainesNav{
    gap:12px!important;
    margin-top:34px!important;
  }

  html.is-domaines body.is-domaines #main > .domainesHero .domainesNav > a.domainesNavCard,
  body.is-domaines .domainesNav > a.domainesNavCard{
    min-height:54px!important;
    height:54px!important;
  }
}

@media(max-width:640px) and (min-height:760px){
  body.is-domaines .domainesHero p{
    font-size:.92rem!important;
    line-height:1.43!important;
  }

  body.is-domaines .domainesNav{
    gap:10px!important;
    margin-top:26px!important;
  }

  html.is-domaines body.is-domaines #main > .domainesHero .domainesNav > a.domainesNavCard,
  body.is-domaines .domainesNav > a.domainesNavCard{
    min-height:50px!important;
    height:50px!important;
    padding-inline:14px!important;
  }

  body.is-domaines .domainesNavIndex{
    font-size:.76rem!important;
  }

  body.is-domaines .domainesNav a strong:after{
    font-size:.98rem!important;
  }
}

@media(max-width:640px) and (min-height:880px){
  body.is-domaines .domainesHero p{
    font-size:.96rem!important;
    line-height:1.48!important;
  }

  body.is-domaines .domainesNav{
    gap:12px!important;
    margin-top:34px!important;
  }

  html.is-domaines body.is-domaines #main > .domainesHero .domainesNav > a.domainesNavCard,
  body.is-domaines .domainesNav > a.domainesNavCard{
    min-height:54px!important;
    height:54px!important;
  }
}

/* Page Contact - integration du prototype valide, en reutilisant les blocs V2. */
.contactRoute{
  min-height:calc(100svh - var(--header-height,104px));
  display:grid;
  align-items:center;
  padding:clamp(42px,5svh,70px) 0;
  background:var(--fond);
}

.contactRouteFrame{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(460px,1.08fr);
  gap:clamp(34px,5vw,82px);
  align-items:start;
}

.contactRouteIntro{
  display:grid;
  gap:clamp(24px,3.2svh,36px);
  max-width:640px;
  transform:translateY(clamp(-18px,-1.7svh,-8px));
}

.contactRouteIntro h1{
  margin:0;
  color:var(--bleu-fonce);
  font-size:clamp(4rem,6.5vw,7.25rem);
  line-height:.9;
  letter-spacing:0;
}

.contactRouteIntro .lead{
  max-width:610px;
  margin:0;
  color:var(--bleu-soutenu);
  font-size:clamp(1.05rem,1.35vw,1.32rem);
  line-height:1.42;
  font-weight:620;
}

.contactRouteNote{
  display:flex;
  align-items:flex-start;
  gap:14px;
  max-width:560px;
  margin-top:4px;
  padding:18px 20px;
  border:1px solid rgba(112,180,190,.54);
  border-radius:8px;
  background:#FFFCEF;
  box-shadow:0 12px 28px rgba(7,28,51,.07);
}

.contactRouteNoteIcon{
  display:grid;
  flex:0 0 42px;
  width:42px;
  height:42px;
  place-items:center;
  border-radius:50%;
  background:var(--bleu-fonce);
  color:#FFFCEF;
  font-size:1.12rem;
  font-weight:900;
}

.contactRouteNote p{
  margin:0;
  color:var(--muted);
  font-weight:650;
}

.contactRouteStack{
  align-content:center;
}

.contactRouteStack .card h2{
  margin:0 0 10px;
  color:var(--bleu-fonce);
  font-size:clamp(1.65rem,2.5vw,2.3rem);
  line-height:1.1;
  letter-spacing:-.03em;
}

.contactRouteList{
  margin:0;
  color:var(--bleu-soutenu);
  font-size:1rem;
  line-height:1.55;
}

.contactRouteList a{
  color:var(--bleu-soutenu);
  font-weight:650;
  text-decoration:none;
}

.contactRouteList a:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}

.contactRouteValue{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.contactRouteMailIcon.personMail{
  width:24px;
  height:24px;
  display:inline-grid;
  vertical-align:middle;
}

.contactRouteMailIcon.personMail svg{
  width:14px;
  height:14px;
}

.contactRouteList .contactRouteMailIcon:hover,
.contactRouteList .contactRouteMailIcon:focus-visible{
  text-decoration:none;
}

.contactRouteForm{
  display:grid;
  gap:18px;
}

.contactRouteForm p{
  margin:0;
}

.contactRouteForm input,
.contactRouteForm textarea{
  width:100%;
  padding:13px;
  border:1px solid #70b4be;
  border-radius:14px;
  background:#fff;
  color:var(--bleu-fonce);
  font:inherit;
}

.contactRouteForm textarea{
  min-height:120px;
  resize:vertical;
}

.contactRouteForm input:focus,
.contactRouteForm textarea:focus{
  outline:none;
  border-color:var(--rouge);
  box-shadow:0 0 0 3px rgba(190,60,63,.12);
}

@media(max-width:900px){
  .contactRoute{
    min-height:auto;
    padding:52px 0;
  }

  .contactRouteFrame{
    grid-template-columns:1fr;
    gap:28px;
  }

  .contactRouteIntro{
    max-width:820px;
    transform:none;
  }

  .contactRouteIntro .lead{
    max-width:760px;
  }
}

@media(max-width:760px){
  .contactRouteIntro h1{
    max-width:100%;
    font-size:clamp(3rem,10.4vw,4rem);
    line-height:.96;
  }

  .contactRouteIntro .lead{
    font-size:1rem;
  }

  .contactRouteStack{
    gap:14px;
  }

  .contactRouteStack .card h2{
    font-size:1.75rem;
  }

  .contactRouteForm{
    gap:14px;
  }

  .contactRouteForm textarea{
    min-height:116px;
  }

  .contactRouteNote{
    padding:16px;
  }
}

/* Mobile V3 - Contact : page utile, header transparent et blocs compacts */
@media(max-width:640px){
  html.is-contact,
  body.is-contact,
  html.is-contact body.is-contact{
    background:#17324d!important;
    overflow-y:auto!important;
    overscroll-behavior-y:auto!important;
  }

  body.is-contact{
    --mobile-section-title-gap:12px;
    --mobile-section-title-gap-compact:8px;
    --mobile-section-title-top:calc(var(--header-height,78px) + var(--mobile-section-title-gap));
  }

  

  

  

  body.is-contact .contactRoute{
    min-height:var(--mobile-vh,100svh)!important;
    padding:0!important;
    background:
      linear-gradient(180deg,rgba(11,42,74,.96),rgba(50,97,145,.94)),
      linear-gradient(135deg,#17324d,#326191)!important;
    color:#FBF8F1!important;
  }

  body.is-contact .contactRouteFrame{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-height:var(--mobile-vh,100svh)!important;
    height:var(--mobile-vh,100svh)!important;
    margin:0!important;
    padding:var(--mobile-section-title-top) 18px 28px!important;
    display:flex!important;
    flex-direction:column!important;
    align-content:stretch!important;
    gap:14px!important;
    overflow:hidden!important;
  }

  body.is-contact .contactRouteIntro{
    max-width:none!important;
    display:block!important;
    transform:none!important;
  }

  body.is-contact .contactRouteIntro .eyebrow{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    margin:0!important;
    color:#8ED8E4!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:.72rem!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:.18em!important;
    text-transform:uppercase!important;
  }

  body.is-contact .contactRouteIntro .eyebrow:before{
    content:""!important;
    display:block!important;
    width:30px!important;
    height:2px!important;
    border-radius:2px!important;
    background:#be3c3f!important;
  }

  body.is-contact .contactRouteIntro h1{
    position:relative!important;
    width:fit-content!important;
    max-width:100%!important;
    margin:23.9px 0 0!important;
    padding:0 0 18px!important;
    color:#FBF8F1!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:clamp(1.72rem,7.1vw,2.28rem)!important;
    line-height:1.04!important;
    font-weight:700!important;
    letter-spacing:0!important;
  }

  body.is-contact .contactRouteIntro h1:after{
    content:""!important;
    position:static!important;
    display:block!important;
    width:100%!important;
    height:3px!important;
    margin-top:14px!important;
    border-radius:3px!important;
    background:#be3c3f!important;
  }

  body.is-contact .contactRouteIntro .lead{
    max-width:none!important;
    margin:14px 0 0!important;
    color:#FBF8F1!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:clamp(.92rem,3.7vw,1rem)!important;
    line-height:1.36!important;
    font-weight:620!important;
    letter-spacing:0!important;
  }

  body.is-contact .contactRouteIntro{
    flex:0 0 auto!important;
  }

  body.is-contact .contactRouteNote{
    display:none!important;
  }

  body.is-contact .contactRouteStack{
    flex:1 1 auto!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:12px!important;
    align-content:stretch!important;
  }

  body.is-contact .contactRouteStack .card:first-child{
    margin-top:auto!important;
    margin-bottom:auto!important;
  }

  body.is-contact .contactRouteStack .card:first-child:before,
  body.is-contact .contactRouteStack .card:first-child:after{
    content:none!important;
    display:none!important;
  }

  body.is-contact .contactRouteStack .card{
    margin:0!important;
    padding:14px!important;
    border:1px solid rgba(112,180,190,.24)!important;
    border-radius:var(--r-4,10px)!important;
    background:#FBF8F1!important;
    color:#17324d!important;
    box-shadow:0 18px 42px rgba(3,18,31,.18)!important;
  }

  body.is-contact .contactRouteStack .card h2{
    margin:0 0 8px!important;
    color:#be3c3f!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:.72rem!important;
    line-height:1.1!important;
    font-weight:850!important;
    letter-spacing:.18em!important;
    text-transform:uppercase!important;
  }

  body.is-contact .contactRouteStack .card p{
    margin:0 0 10px!important;
    color:#17324d!important;
    font-size:.88rem!important;
    line-height:1.34!important;
    font-weight:620!important;
  }

  body.is-contact .contactRouteStack .card:first-child > p{
    display:none!important;
  }

  body.is-contact .contactRouteList{
    display:grid!important;
    gap:8px!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
    color:#17324d!important;
    font-size:.86rem!important;
    line-height:1.32!important;
  }

  body.is-contact .contactRouteList li{
    display:grid!important;
    gap:3px!important;
    padding:9px 10px!important;
    border-radius:var(--r-4,10px)!important;
    background:rgba(50,97,145,.08)!important;
  }

  body.is-contact .contactRouteList a{
    color:#326191!important;
    font-weight:800!important;
  }

  body.is-contact .contactRouteValue{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
  }

  body.is-contact .contactRouteMailIcon.personMail{
    flex:0 0 30px!important;
    width:30px!important;
    height:30px!important;
    border-radius:var(--r-4,10px)!important;
    background:#fff!important;
    border-color:rgba(50,97,145,.22)!important;
  }

  body.is-contact .contactRouteForm{
    gap:10px!important;
  }

  body.is-contact .contactRouteStack .contactRouteFormCard{
    flex:0 0 auto!important;
    margin-top:0!important;
    margin-bottom:0!important;
    overflow:hidden!important;
    padding:0!important;
    border:0!important;
    border-radius:var(--r-4,10px)!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  body.is-contact .contactRouteStack .contactRouteFormCard:before,
  body.is-contact .contactRouteStack .contactRouteFormCard:after,
  body.is-contact .contactRouteStack .contactRouteFormCard summary:before,
  body.is-contact .contactRouteStack .contactRouteFormCard summary:after{
    content:none!important;
    display:none!important;
  }

  body.is-contact .contactRouteFormCard summary{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    width:100%!important;
    min-height:46px!important;
    margin:0!important;
    padding:0 14px 0 16px!important;
    border-radius:var(--r-4,10px)!important;
    background:#be3c3f!important;
    color:#fff!important;
    cursor:pointer!important;
    list-style:none!important;
    box-shadow:none!important;
  }

  body.is-contact .contactRouteFormCard summary::-webkit-details-marker{
    display:none!important;
  }

  body.is-contact .contactRouteStack .contactRouteFormCard summary h2{
    margin:0!important;
    color:inherit!important;
    font-size:.86rem!important;
    line-height:1!important;
    font-weight:850!important;
    letter-spacing:0!important;
    text-transform:none!important;
  }

  body.is-contact .contactRouteFormToggle{
    flex:0 0 32px!important;
    width:32px!important;
    height:32px!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid rgba(255,255,255,.32)!important;
    border-radius:var(--r-4,10px)!important;
    background:rgba(255,255,255,.12)!important;
  }

  body.is-contact .contactRouteFormToggle:before,
  body.is-contact .contactRouteFormToggle:after{
    content:""!important;
    grid-area:1/1!important;
    display:block!important;
    width:12px!important;
    height:2px!important;
    border-radius:2px!important;
    background:#fff!important;
  }

  body.is-contact .contactRouteFormToggle:after{
    transform:rotate(90deg)!important;
  }

  body.is-contact .contactRouteFormCard[open] .contactRouteFormToggle:after{
    transform:rotate(0deg)!important;
  }

  body.is-contact .contactRouteFormPanel{
    display:grid!important;
    gap:10px!important;
    margin-top:12px!important;
    padding:14px!important;
    border:1px solid rgba(112,180,190,.24)!important;
    border-radius:var(--r-4,10px)!important;
    background:#FBF8F1!important;
    color:#17324d!important;
    box-shadow:0 18px 42px rgba(3,18,31,.18)!important;
  }

  body.is-contact .contactRouteForm input,
  body.is-contact .contactRouteForm textarea{
    min-height:44px!important;
    padding:11px 12px!important;
    border:1px solid rgba(50,97,145,.24)!important;
    border-radius:var(--r-4,10px)!important;
    background:#fff!important;
    color:#17324d!important;
    font-size:.9rem!important;
    line-height:1.25!important;
  }

  body.is-contact .contactRouteForm textarea{
    min-height:104px!important;
    resize:vertical!important;
  }

  body.is-contact .contactRouteForm .btn{
    width:100%!important;
    min-height:46px!important;
    justify-content:center!important;
    border-radius:var(--r-4,10px)!important;
    background:#be3c3f!important;
    color:#fff!important;
    box-shadow:none!important;
  }

  body.is-contact .footer{
    display:none!important;
  }
}

@media(max-width:640px) and (min-width:371px) and (max-width:389px) and (max-height:700px),
       (max-width:370px) and (min-height:700px) and (max-height:780px){
  body.is-contact{
    --mobile-section-title-top:calc(var(--header-height,78px) + var(--mobile-section-title-gap-compact,8px));
  }

  body.is-contact .contactRouteFrame{
    gap:10px!important;
    padding-bottom:0!important;
  }

  body.is-contact .contactRouteIntro h1{
    margin-top:20px!important;
    font-size:clamp(1.58rem,6.7vw,2rem)!important;
    padding-bottom:14px!important;
  }

  body.is-contact .contactRouteIntro .lead{
    margin-top:10px!important;
    font-size:.9rem!important;
    line-height:1.32!important;
  }

  body.is-contact .contactRouteNote{
    display:none!important;
  }

  body.is-contact .contactRouteStack .card{
    padding:12px!important;
  }

  body.is-contact .contactRouteStack .card.contactRouteFormCard{
    padding:0!important;
  }

  body.is-contact .contactRouteForm textarea{
    min-height:88px!important;
  }
}

/* Finitions Netlify interne - règles stabilisées par page/section. */
html.is-home body.is-home .header .brandLogo{
  content:url("../images/logo-fnam-home-header.png");
}

html.is-home body.is-home #main > .home-snap-block--kpi,
html.is-home body.is-home #main > .home-snap-block--kpi > .dsKpiSection__inner{
  background:var(--bg-section-night,linear-gradient(135deg,#21384D 0%,#274B65 52%,#326191 100%))!important;
}

html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiSection__head .eyebrow,
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader .eyebrow,
html.is-home body.is-home #main > .home-snap-block--publications .head .eyebrow,
body.is-about .aboutGroupsHeader .eyebrow{
  display:inline-flex!important;
  width:max-content!important;
  align-items:center!important;
  gap:10px!important;
  color:var(--fnam-blue-grey,#5092b6)!important;
  font-family:var(--font-sans,"DM Sans",system-ui,sans-serif)!important;
  font-size:var(--fs-eyebrow,.75rem)!important;
  line-height:var(--lh-eyebrow,1.2)!important;
  letter-spacing:var(--tk-eyebrow,.12em)!important;
  font-weight:700!important;
  text-transform:uppercase!important;
}

html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiSection__head .eyebrow:before,
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader .eyebrow:before,
html.is-home body.is-home #main > .home-snap-block--publications .head .eyebrow:before,
body.is-about .aboutGroupsHeader .eyebrow:before{
  content:""!important;
  flex:0 0 28px!important;
  width:28px!important;
  height:2px!important;
  border-radius:999px!important;
  background:var(--fnam-rouge-bordeaux,var(--rouge,#be3c3f))!important;
}

html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiSection__head h2,
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader h2,
html.is-home body.is-home #main > .home-snap-block--publications .head h2,
body.is-about .aboutGroupsHeader h2{
  position:relative!important;
  display:block!important;
  width:fit-content!important;
  max-width:100%!important;
  padding-bottom:18px!important;
}

html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiSection__head h2:after,
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader h2:after,
html.is-home body.is-home #main > .home-snap-block--publications .head h2:after,
body.is-about .aboutGroupsHeader h2:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:100%!important;
  height:2px!important;
  border-radius:999px!important;
  background:var(--fnam-rouge-bordeaux,var(--rouge,#be3c3f))!important;
}

html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader:after,
body.is-about .aboutGroupsHeader:after{
  display:none!important;
}

@media (min-width:1221px) and (min-height:601px){
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceDesktop{
    align-items:start!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceFamilies{
    height:auto!important;
    align-items:start!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceFamily{
    min-height:0!important;
    height:auto!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceDetail{
    height:auto!important;
    max-height:min(560px,calc(100svh - 250px))!important;
    overflow:auto!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupMembersBlock{
    display:block!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupInfoBlock{
    padding:8px 0!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupInfoBlock p,
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupInfoBlock li{
    font-size:12.5px!important;
    line-height:1.32!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceLink{
    width:100%!important;
    min-height:58px!important;
    margin:14px 0 0!important;
    padding:14px 20px!important;
    border-radius:8px!important;
    background:var(--fnam-terracotta,#C77165)!important;
    color:#fff!important;
    font-size:clamp(1.05rem,2.2svh,1.45rem)!important;
    font-weight:850!important;
    letter-spacing:0!important;
    text-decoration:none!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceLink:after{
    content:none!important;
  }
}

body.is-about .aboutGroupsBoard{
  min-height:var(--about-snap-height,calc(100svh - 124px - 22px))!important;
  max-height:var(--about-snap-height,calc(100svh - 124px - 22px))!important;
}

body.is-about .aboutGroupsHeader{
  padding:clamp(22px,2.6svh,32px) clamp(24px,3.2vw,48px) clamp(12px,1.6svh,18px)!important;
}

body.is-about .aboutGroupsHeader .eyebrow{
  margin:0 0 16px!important;
}

body.is-about .aboutGroupsHeader h2{
  margin:0!important;
  color:var(--about-groups-paper,var(--fnam-paper,#f6f1e7))!important;
  font-family:var(--font-display)!important;
  font-size:calc(var(--fs-h2) * 1.3)!important;
  line-height:1.08!important;
  letter-spacing:0!important;
  font-weight:600!important;
}

body.is-about .aboutGroupsBody{
  grid-template-columns:minmax(0,1fr) minmax(300px,340px)!important;
  gap:clamp(14px,1.6vw,22px)!important;
  padding:0 clamp(22px,3vw,42px) clamp(18px,2svh,28px)!important;
}

body.is-about .aboutGroupsLeft{
  gap:clamp(10px,1.3svh,16px)!important;
}

body.is-about .aboutGroupFederation{
  min-height:clamp(52px,6.6svh,66px)!important;
  grid-template-columns:46px minmax(0,1fr)!important;
  gap:12px!important;
  padding:9px 16px!important;
}

body.is-about .aboutGroupFederation img{
  width:42px!important;
}

body.is-about .aboutGroupFederation strong{
  font-size:clamp(15px,1.45vw,21px)!important;
  line-height:1.16!important;
}

body.is-about .aboutGroupsFamilies{
  gap:clamp(10px,1.1vw,14px)!important;
}

body.is-about .aboutGroupFamily{
  padding:clamp(10px,1.2vw,14px)!important;
}

body.is-about .aboutGroupNumber{
  width:32px!important;
  height:32px!important;
  margin-bottom:7px!important;
  font-size:16px!important;
}

body.is-about .aboutGroupFamily h3{
  margin-bottom:8px!important;
  font-size:clamp(18px,1.55vw,23px)!important;
  line-height:1.08!important;
}

body.is-about .aboutGroupStack{
  gap:clamp(7px,.85svh,9px)!important;
}

body.is-about .aboutGroupButton{
  min-height:clamp(58px,7.2svh,68px)!important;
  grid-template-columns:56px minmax(0,1fr)!important;
  gap:8px!important;
  padding:8px 10px!important;
}

body.is-about .aboutGroupLogo{
  max-width:54px!important;
  max-height:32px!important;
}

body.is-about .aboutGroupButtonText strong{
  font-size:clamp(14px,1.25vw,17px)!important;
  line-height:1.04!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

body.is-about .aboutGroupButtonText span{
  font-size:clamp(11px,.92vw,13px)!important;
  line-height:1.12!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

body.is-about .aboutGroupBadge{
  padding:3px 6px!important;
  font-size:10px!important;
}

body.is-about .aboutGroupsDetail{
  overflow:auto!important;
}

body.is-about .aboutGroupDetailHero{
  min-height:0!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  gap:12px!important;
  padding:13px 15px!important;
}

body.is-about .aboutGroupDetailLogo{
  max-width:62px!important;
  max-height:38px!important;
}

body.is-about .aboutGroupDetailTitle{
  font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
  font-size:clamp(15px,1.18vw,18px)!important;
  line-height:1.12!important;
}

body.is-about .aboutGroupDetailBody{
  padding:12px 16px 16px!important;
}

body.is-about .aboutGroupPresident{
  grid-template-columns:44px minmax(0,1fr)!important;
  gap:10px!important;
  margin-bottom:9px!important;
  padding:9px!important;
}

body.is-about .aboutGroupPresidentPhoto{
  width:44px!important;
  height:44px!important;
}

body.is-about .aboutGroupPresidentInfo strong{
  font-size:14px!important;
}

body.is-about .aboutGroupPresidentInfo span{
  margin-top:2px!important;
  font-size:12px!important;
}

body.is-about .aboutGroupInfoBlock{
  padding:8px 0!important;
}

body.is-about .aboutGroupInfoBlock h4{
  margin-bottom:6px!important;
  font-size:11px!important;
}

body.is-about .aboutGroupInfoBlock p,
body.is-about .aboutGroupInfoBlock li{
  font-size:12px!important;
  line-height:1.32!important;
}

body.is-about .aboutGroupLink{
  min-height:36px!important;
  margin-top:10px!important;
  padding:8px 12px!important;
  border-radius:7px!important;
}

body.is-tools .toolsAviationHub__panel{
  grid-template-rows:auto auto auto auto minmax(0,1fr)!important;
}

body.is-tools .toolsAviationHub__themes{
  align-self:start!important;
}

body.is-tools .toolsAviationHub__sources{
  min-height:0;
  display:grid;
  align-content:end;
  gap:10px;
  overflow:hidden;
  padding:12px;
  border:1px solid rgba(170,192,210,.5);
  border-radius:var(--r-3,8px);
  background:rgba(255,255,255,.66);
}

body.is-tools .toolsAviationHub__sources > span{
  color:#607287;
  font-size:.72rem;
  font-weight:920;
  letter-spacing:.12em;
  text-transform:uppercase;
}

body.is-tools .toolsAviationHub__sourceMarquee{
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
}

body.is-tools .toolsAviationHub__sourceTrack{
  display:flex;
  width:max-content;
  gap:14px;
  animation:fnamSourceLogos 24s linear infinite;
}

body.is-tools .toolsAviationHub__sourceLogo{
  display:grid;
  place-items:center;
  width:112px;
  height:42px;
  padding:7px 12px;
  border:1px solid rgba(170,192,210,.44);
  border-radius:8px;
  background:#fff;
}

body.is-tools .toolsAviationHub__sourceLogo img{
  max-width:100%;
  max-height:28px;
  object-fit:contain;
}

@keyframes fnamSourceLogos{
  to{transform:translateX(-50%);}
}

body.is-tools .toolsCdgMap__visual{
  grid-template-rows:minmax(0,1fr) auto!important;
}

body.is-tools .toolsCdgMap__board{
  order:1;
}

body.is-tools .toolsCdgMap__search{
  order:2;
  align-self:end;
}

body.is-tools .toolsCdgMap__copy p.toolsCdgMap__dataLine{
  display:none;
}

body.is-tools .toolsNotamSection{
  --tools-safe-top:clamp(90px,10svh,118px);
  --tools-safe-bottom:clamp(18px,2.4svh,34px);
  display:grid;
  align-items:stretch;
  background:var(--bg-section-night,linear-gradient(135deg,#21384D 0%,#274B65 52%,#326191 100%));
  color:var(--fnam-paper,#fbf7f1);
}

body.is-tools .toolsNotamSection__inner{
  width:min(1508px,calc(100vw - 56px));
  height:100%;
  display:grid;
  align-items:stretch;
  padding-top:var(--tools-safe-top);
  padding-bottom:var(--tools-safe-bottom);
}

body.is-tools .toolsNotamSection__grid{
  min-height:0;
  height:100%;
  max-height:calc(100svh - var(--tools-safe-top) - var(--tools-safe-bottom));
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(560px,1.1fr);
  gap:clamp(28px,3vw,54px);
  align-items:center;
}

body.is-tools .toolsNotamSection__copy,
body.is-tools .toolsNotamSection__panel{
  min-height:0;
  height:100%;
}

body.is-tools .toolsNotamSection__copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}

body.is-tools .toolsNotamSection__copy .eyebrow,
body.is-tools .toolsCdgMap__copy .eyebrow{
  color:#7ed3e5!important;
}

body.is-tools .toolsNotamSection__copy h2{
  max-width:880px;
  margin:0 0 clamp(18px,2svh,26px);
  color:var(--fnam-paper,#fbf7f1);
  font-family:var(--font-display);
  font-size:clamp(3.05rem,4.75vw,5.65rem);
  line-height:.9;
  letter-spacing:0;
  font-weight:700;
}

body.is-tools .toolsNotamSection__copy p{
  max-width:760px;
  margin:0;
  color:rgba(251,247,241,.84);
  font-size:clamp(1.12rem,1.5vw,1.5rem);
  line-height:1.3;
  font-weight:760;
}

body.is-tools .toolsNotamSection__features{
  display:grid;
  gap:clamp(10px,1.25svh,14px);
  width:100%;
  margin:clamp(28px,3.4svh,42px) 0;
}

body.is-tools .toolsNotamSection__features div{
  display:grid;
  grid-template-columns:32px minmax(0,.5fr) minmax(0,1fr);
  gap:14px;
  align-items:center;
  min-height:clamp(54px,6.2svh,64px);
  padding:11px 12px;
  border:1px solid rgba(251,247,241,.18);
  border-radius:var(--r-3,8px);
  background:rgba(251,247,241,.08);
}

body.is-tools .toolsNotamSection__features i{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:var(--fnam-paper,#fbf7f1);
  color:var(--fnam-bleu-roi-900,#063964);
  font-style:normal;
  font-size:.75rem;
  font-weight:950;
}

body.is-tools .toolsNotamSection__features strong{
  color:var(--fnam-paper,#fbf7f1);
  font-size:.95rem;
  line-height:1.1;
}

body.is-tools .toolsNotamSection__features span{
  color:rgba(251,247,241,.72);
  font-size:.78rem;
  font-weight:880;
  line-height:1.2;
}

body.is-tools .toolsNotamSection__panel{
  height:100%;
  align-self:stretch;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto auto auto;
  align-content:stretch;
  gap:14px;
  padding:clamp(18px,2svh,26px);
  border:1px solid rgba(170,192,210,.72);
  border-radius:var(--r-3,8px);
  background:#fffcf8;
  color:var(--fnam-bleu-roi-900,#063964);
  box-shadow:0 18px 46px rgba(7,28,51,.12);
}

body.is-tools .toolsNotamMap{
  position:relative;
  overflow:hidden;
  justify-self:center;
  align-self:stretch;
  width:100%;
  height:100%;
  min-height:0;
  margin:0;
  border:1px solid rgba(170,192,210,.62);
  border-radius:var(--r-3,8px);
  background:#d6e6f0;
  aspect-ratio:1516 / 1084;
}

body.is-tools .toolsNotamMap img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

@media(min-width:1800px){
  body.is-tools .toolsNotamMap img{
    object-fit:contain;
  }
}

body.is-tools .toolsNotamSection__status,
body.is-tools .toolsNotamSection__cards article,
body.is-tools .toolsNotamSection__warning{
  border:1px solid rgba(170,192,210,.62);
  border-radius:var(--r-3,8px);
  background:rgba(255,255,255,.78);
}

body.is-tools .toolsNotamSection__status{
  display:grid;
  gap:4px;
  padding:10px 14px;
  box-shadow:inset 6px 0 0 var(--fnam-terracotta,#C77165);
}

body.is-tools .toolsNotamSection__status span,
body.is-tools .toolsNotamSection__cards span{
  color:#607287;
  font-size:.72rem;
  font-weight:920;
  letter-spacing:.12em;
  text-transform:uppercase;
}

body.is-tools .toolsNotamSection__status strong,
body.is-tools .toolsNotamSection__cards strong{
  color:var(--fnam-bleu-roi-900,#063964);
  font-size:.9rem;
  line-height:1.18;
}

body.is-tools .toolsNotamSection__cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  min-height:clamp(96px,13svh,160px);
}

body.is-tools .toolsNotamSection__cards article{
  display:grid;
  align-content:center;
  gap:6px;
  padding:9px 10px;
}

body.is-tools .toolsNotamSection__warning{
  margin:0;
  padding:9px 12px;
  color:#6b4b3f;
  font-size:.82rem;
  line-height:1.22;
  font-weight:800;
}

@media(max-width:1180px){
  body.is-about .aboutGroupsBoard{
    max-height:none!important;
  }

  body.is-tools .toolsNotamSection__inner{
    width:min(100% - 36px,1508px);
    height:auto;
    padding-top:46px;
    padding-bottom:46px;
  }

  body.is-tools .toolsNotamSection__grid{
    height:auto;
    grid-template-columns:1fr;
  }

  body.is-tools .toolsNotamSection__copy,
  body.is-tools .toolsNotamSection__panel{
    height:auto;
  }

  body.is-tools .toolsNotamMap{
    min-height:0;
  }
}

@media(max-width:760px){
  body.is-tools .toolsNotamSection__features div,
  body.is-tools .toolsNotamSection__cards{
    grid-template-columns:1fr;
  }

  body.is-tools .toolsAviationHub__sourceTrack{
    animation:none;
    flex-wrap:wrap;
    width:auto;
  }
}

/* Hubs à la carte — Presse, Adhérents, Institutions */
.audienceHub{
  background:var(--fond);
}
.audienceHubHero{
  height:120px;
  padding:0;
  display:flex;
  align-items:center;
  background:
    linear-gradient(135deg,rgba(112,180,190,.20),rgba(251,247,241,.96) 42%,rgba(50,97,145,.12)),
    var(--fond);
  border-bottom:1px solid rgba(112,180,190,.38);
}
.audienceHubHeroInner{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:18px;
  align-items:stretch;
  height:100%;
}
.audienceHubHeroInner > div{
  min-height:0;
  height:100%;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  align-items:start;
  padding-top:18px;
}
.audienceHubHero h1{
  align-self:center;
  color:var(--ink);
  max-width:none;
  margin:0;
  font-size:clamp(2.65rem,4.4vw,4.35rem);
  line-height:.98;
  letter-spacing:-.035em;
  transform:translateY(-.15em);
}
.audienceHubBuilder{
  padding-top:42px;
  background:var(--bg-section-night);
  color:var(--fond);
}
.audienceHubToolbar{
  display:grid;
  grid-template-columns:1fr auto;
  gap:20px;
  align-items:end;
  margin-bottom:20px;
}
.audienceHubToolbar h2{
  margin:8px 0 0;
  font-size:clamp(1.8rem,3vw,3rem);
  line-height:1.04;
  letter-spacing:-.035em;
}
.audienceHubToolbar p{
  margin:8px 0 0;
  color:var(--muted);
  max-width:780px;
}
.audienceHubActions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.audienceHubActions .ghost{
  background:transparent;
  color:var(--blue);
  border-color:rgba(112,180,190,.62);
}
.audienceHubTiles{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:18px 0 10px;
}
.audienceHubBuilder .eyebrow,
.audienceHubToolbar h2{
  color:var(--fond);
}
.audienceHubToolbar p,
.audienceHubCount{
  color:rgba(251,247,241,.82);
}
.audienceHubActions .light{
  background:var(--fond);
  color:var(--blue);
}
.audienceHubActions .ghost{
  color:var(--fond);
  border-color:rgba(251,247,241,.44);
}
.audienceHubTile{
  border:1px solid rgba(112,180,190,.58);
  background:rgba(251,247,241,.92);
  color:var(--blue);
  border-radius:999px;
  padding:5px 10px;
  font:inherit;
  font-size:.82rem;
  line-height:1.15;
  font-weight:850;
  cursor:pointer;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.audienceHubTile{
  background:rgba(199,113,101,.18);
  border-color:rgba(199,113,101,.72);
  color:var(--fond);
}
.audienceHubTile:hover,
.audienceHubTile.active{
  background:var(--fnam-terracotta,#C77165);
  color:var(--fond);
  border-color:var(--fnam-terracotta,#C77165);
  box-shadow:0 10px 22px rgba(10,28,44,.22);
}
.audienceHubCount{
  margin:0 0 18px;
  color:var(--muted);
  font-size:.92rem;
}
.audienceHubResults{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.audienceHubPreview{
  min-height:250px;
  border:1px solid rgba(112,180,190,.52);
  background:rgba(251,247,241,.94);
  border-radius:18px;
  padding:24px;
  box-shadow:0 12px 30px rgba(7,28,51,.08);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:18px;
}
.audienceHubPreview[hidden]{
  display:none!important;
}
.audienceHubPreview{
  min-height:0;
  justify-content:flex-start;
  gap:12px;
}
.audienceHubPreview h2{
  margin:0 0 10px;
  font-size:1.52rem;
  line-height:1.12;
  letter-spacing:-.025em;
  color:var(--ink);
}
.audienceHubPreview p{
  color:var(--muted);
  margin:0;
}
.audienceHubLead{
  border-left:3px solid var(--red);
  padding-left:12px;
  white-space:pre-line;
}
.audienceHubPreview .btn{
  align-self:flex-start;
  margin-top:auto;
}
@media(max-width:1080px){
  .audienceHubHeroInner,
  .audienceHubToolbar,
  .audienceHubResults{
    grid-template-columns:1fr;
  }
  .audienceHubActions{
    justify-content:flex-start;
  }
}
@media(max-width:760px){
  .audienceHubHero{
    height:auto;
    min-height:120px;
    padding:14px 0 20px;
  }
  .audienceHubHeroInner > div{
    height:auto;
    padding-top:0;
    gap:8px;
  }
  .audienceHubTiles{
    display:grid;
    grid-template-columns:1fr;
  }
  .audienceHubTile{
    width:100%;
    border-radius:14px;
    text-align:left;
  }
  .audienceHubActions .btn,
  .audienceHubPreview .btn{
    width:100%;
  }
  .audienceHubPreview{
    min-height:0;
    padding:20px;
  }
}

/* Expérimentation réversible : continuité du parcours Presse */
.pressPathContext{
  position:fixed;
  top:var(--press-context-top,74px);
  left:0;
  right:0;
  z-index:78;
  color:var(--fnam-paper,#FBF7F1);
  background:var(--fnam-rouge-bordeaux,var(--rouge,#be3c3f));
  background-color:var(--fnam-rouge-bordeaux,var(--rouge,#be3c3f));
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(251,247,241,.36);
  box-shadow:0 10px 24px rgba(7,28,51,.16);
}
.pressPathContextInner{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding-top:5px;
  padding-bottom:5px;
}
.pressPathMessage{
  min-width:0;
  display:flex;
  align-items:center;
  align-self:center;
  gap:10px;
  white-space:nowrap;
}
.pressPathMessage .eyebrow:before{
  width:22px;
  height:2px;
  background:rgba(251,247,241,.88);
  flex:0 0 auto;
}
.pressPathContext .eyebrow{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  color:var(--fnam-paper,#FBF7F1);
  font-size:.66rem;
  line-height:1;
  letter-spacing:.1em;
  margin:0;
  transform:none;
}
.pressPathContext p{
  min-width:0;
  margin:0;
  color:rgba(251,247,241,.90);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.88rem;
  line-height:1;
}
.pressPathContext p strong{
  color:#fff;
}
.pressPathActions{
  flex:0 0 auto;
  display:flex;
  gap:6px;
  flex-wrap:nowrap;
  justify-content:flex-end;
}
.pressPathActions .btn{
  min-height:30px;
  padding:5px 10px;
  font-size:.77rem;
  line-height:1.15;
  border-radius:999px;
}
.pressPathActions .light{
  background:var(--fnam-paper,#FBF7F1);
  color:var(--fnam-rouge-bordeaux,var(--rouge,#be3c3f));
  border-color:rgba(251,247,241,.24);
}
.pressPathActions .ghost{
  background:rgba(251,247,241,.10);
  color:var(--fnam-paper,#FBF7F1);
  border-color:rgba(251,247,241,.30);
}
@media(max-width:1080px){
  .pressPathContextInner{
    width:min(100% - 28px,1180px);
    gap:10px;
  }
  .pressPathMessage{
    gap:8px;
  }
  .pressPathActions{
    overflow-x:auto;
    scrollbar-width:none;
  }
  .pressPathActions::-webkit-scrollbar{
    display:none;
  }
}
@media(max-width:760px){
  .pressPathContext{
    top:8px!important;
  }
  .pressPathContextInner{
    min-height:38px;
    padding-top:4px;
    padding-bottom:4px;
  }
  .pressPathContext p{
    display:none;
  }
  .pressPathActions .btn{
    width:auto;
    flex:0 0 auto;
    min-height:28px;
    padding:5px 9px;
    font-size:.72rem;
  }
}
/* Design System — page d'accueil, section 1 hero */
body.is-home #main > .home-snap-block--hero,
body.is-home .hero.heroPhoto{
  background:var(--bg-inverse)!important;
}

body.is-home .heroVideoReal{
  filter:saturate(1.02) contrast(1.01) brightness(1.02)!important;
}

body.is-home .hero.heroPhoto.hasRealVideo:after{
  background:
    linear-gradient(90deg,
      rgba(3,18,31,.76) 0%,
      rgba(3,18,31,.62) 28%,
      rgba(3,18,31,.32) 48%,
      rgba(3,18,31,.10) 68%,
      rgba(3,18,31,.02) 100%),
    linear-gradient(180deg,
      rgba(3,18,31,.24) 0%,
      rgba(3,18,31,.03) 42%,
      rgba(3,18,31,.16) 100%)!important;
}

body.is-home .home-snap-block--hero .heroInstitutionalBand{
  background:transparent!important;
  border-top:1px solid color-mix(in srgb,var(--fnam-ivory) 52%,transparent)!important;
  border-bottom:1px solid color-mix(in srgb,var(--fnam-ivory) 44%,transparent)!important;
}

body.is-home .home-snap-block--hero .heroInstitutionalBand:before,
body.is-home .home-snap-block--hero .heroInstitutionalBand:after{
  content:none!important;
}

body.is-home .home-snap-block--hero .heroInstitutionalText{
  color:color-mix(in srgb,var(--fnam-ivory) 94%,transparent)!important;
  font-family:var(--font-sans)!important;
  font-size:clamp(var(--fs-meta),1.22vw,var(--fs-h3))!important;
  font-weight:600!important;
  letter-spacing:var(--tk-eyebrow);
  text-shadow:0 2px 12px color-mix(in srgb,var(--bg-inverse) 64%,transparent)!important;
}

body.is-home .home-snap-block--hero h1{
  color:var(--fnam-ivory)!important;
  font-family:var(--font-display)!important;
  font-weight:700!important;
  letter-spacing:var(--tk-display)!important;
  text-shadow:0 10px 32px color-mix(in srgb,var(--bg-inverse) 56%,transparent)!important;
  text-wrap:balance;
}

body.is-home .home-snap-block--hero .lead{
  color:color-mix(in srgb,var(--fnam-ivory) 92%,transparent)!important;
  font-family:var(--font-sans)!important;
  font-weight:500!important;
  text-shadow:0 6px 24px color-mix(in srgb,var(--bg-inverse) 58%,transparent)!important;
}

body.is-home .home-snap-block--hero .btn{
  border-radius:var(--r-3)!important;
  font-family:var(--font-sans)!important;
  font-weight:600!important;
  letter-spacing:0!important;
  box-shadow:var(--shadow-2)!important;
  transition:
    background-color var(--dur-fast) var(--ease-standard),
    border-color var(--dur-fast) var(--ease-standard),
    color var(--dur-fast) var(--ease-standard),
    transform var(--dur-fast) var(--ease-standard),
    box-shadow var(--dur-base) var(--ease-standard)!important;
}

body.is-home .home-snap-block--hero .btn:hover{
  transform:translateY(-1px);
  box-shadow:var(--shadow-3)!important;
}

body.is-home .home-snap-block--hero .btn:active{
  transform:scale(.99);
}

body.is-home .home-snap-block--hero .primary,
body.is-home .hero.heroPhoto.hasRealVideo .primary{
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  color:var(--fg-on-accent)!important;
}

body.is-home .home-snap-block--hero .primary:hover{
  background:var(--fnam-bleu-roi-800)!important;
  border-color:var(--fnam-bleu-roi-800)!important;
}

body.is-home .home-snap-block--hero .secondary,
body.is-home .hero.heroPhoto.hasRealVideo .secondary{
  background:var(--fnam-ivory)!important;
  border-color:color-mix(in srgb,var(--fnam-ivory) 80%,transparent)!important;
  color:var(--fnam-bleu-roi-900)!important;
}

body.is-home .home-snap-block--hero .ghost,
body.is-home .hero.heroPhoto.hasRealVideo .ghost{
  background:color-mix(in srgb,var(--bg-inverse) 34%,transparent)!important;
  border-color:color-mix(in srgb,var(--fnam-ivory) 42%,transparent)!important;
  color:var(--fnam-ivory)!important;
  backdrop-filter:none!important;
}

body.is-home .home-snap-block--hero .spaceAccess>span{
  color:color-mix(in srgb,var(--fnam-ivory) 86%,transparent)!important;
  font-family:var(--font-sans)!important;
  font-size:var(--fs-meta)!important;
  font-weight:600!important;
  letter-spacing:var(--tk-eyebrow)!important;
}

body.is-home .home-snap-block--hero .spaceBrace{
  border-color:color-mix(in srgb,var(--fnam-ivory) 58%,transparent)!important;
  border-radius:var(--r-4) var(--r-4) 0 0!important;
}

body.is-home .home-snap-block--hero .spacePills .btn{
  box-shadow:var(--shadow-1)!important;
}

@media(max-width:640px){
  body.is-home .home-snap-block--hero .heroActionGrid{
    align-items:stretch;
  }

  body.is-home .home-snap-block--hero .spacePills{
    gap:var(--sp-3);
  }
}

    /* Navigation principale et menus déroulants */
    .top{display:none!important}
    .header{top:0}
    .nav{min-height:82px;height:auto;padding:10px 0}
    .primaryNav{align-items:center;gap:2px}
    .navItem{position:relative;display:flex;align-items:center}
    .links .topLink{display:inline-flex;align-items:center;gap:6px;padding:10px 11px;border-radius:999px;text-decoration:none;font-weight:800;white-space:nowrap}
    .links .topLink:after{content:"⌄";font-size:.8rem;line-height:1;color:var(--bleu-moyen);transform:translateY(-1px)}
    .links .topLink.topLink--direct:after{display:none!important}
    .navItem:hover .topLink,.navItem:focus-within .topLink,.links .topLink.active{background:rgba(112,180,190,.18);color:var(--bleu-fonce)}
    .dropdown{position:absolute;top:calc(100% + 12px);left:0;min-width:285px;background:var(--fond);border:1px solid rgba(112,180,190,.72);border-radius:18px;padding:10px;box-shadow:0 22px 54px rgba(50,97,145,.22);display:none;z-index:40}
    .dropdown.right{left:auto;right:0}
    .dropdown:before{content:"";position:absolute;left:18px;right:18px;top:-13px;height:13px}
    .dropdown a{display:block;border-radius:12px;padding:10px 12px;text-decoration:none;font-weight:800;color:var(--bleu-fonce);line-height:1.25}
    .dropdown a:hover,.dropdown a:focus{background:rgba(112,180,190,.18);color:var(--bleu-soutenu);outline:none}
    .navItem:hover .dropdown,.navItem:focus-within .dropdown{display:block}
    .navItem.menuDismissed .dropdown{display:none!important}
    .mobileMenu details{border:1px solid rgba(112,180,190,.58);border-radius:16px;margin:10px 0;background:rgba(251,247,241,.8);overflow:hidden}
    .mobileMenu summary{cursor:pointer;list-style:none;padding:13px 12px;font-weight:950;color:var(--bleu-fonce)}
    .mobileMenu summary::-webkit-details-marker{display:none}
    .mobileMenu summary:after{content:"⌄";float:right;color:var(--bleu-moyen)}
    .mobileMenu details[open] summary{background:rgba(112,180,190,.16)}
    .mobileMenu details a{padding:10px 18px 10px 24px;font-weight:800;color:var(--bleu-soutenu)}
    @media(max-width:1180px){.links .topLink{padding:9px 8px;font-size:.92rem}.brand small{font-size:.72rem}.dropdown{min-width:255px}}
    @media(max-width:1080px){.primaryNav{display:none}}

/* Accueil — scroll snap souple par grands blocs */
html{scroll-behavior:smooth}
html.is-home{scroll-snap-type:y proximity;scroll-padding-top:var(--header-height,104px);overflow-x:clip;overflow-y:visible}
body.is-home{overflow-x:clip;overflow-y:visible}
.home-section{scroll-snap-align:start;scroll-margin-top:var(--header-height,104px)}
@media(max-width:768px){
  html.is-home{scroll-snap-type:none}
}

/* Accueil — bandeau institutionnel du hero */
body.is-home .home-snap-block--hero .heroInstitutionalBand{
  --hero-band-side:clamp(24px,2.8vw,48px);
  position:absolute;
  left:var(--hero-band-side);
  right:var(--hero-band-side);
  top:clamp(112px,calc(25svh - 38px),202px);
  z-index:4;
  display:grid;
  gap:clamp(9px,1svh,14px);
  padding:clamp(8px,1svh,14px) 0;
  background:linear-gradient(90deg,rgba(8,22,34,0) 0%,rgba(8,22,34,.14) 12%,rgba(8,22,34,.22) 50%,rgba(8,22,34,.14) 88%,rgba(8,22,34,0) 100%);
  pointer-events:none;
}
body.is-home .home-snap-block--hero .container{
  display:grid!important;
  align-content:stretch!important;
  grid-template-rows:minmax(clamp(182px,calc(30svh - 38px),292px),auto) auto auto minmax(18px,1fr) auto!important;
  padding-top:0!important;
  padding-bottom:clamp(38px,5svh,60px)!important;
}
body.is-home .home-snap-block--hero .heroTitle{
  grid-row:2;
}
body.is-home .home-snap-block--hero .lead{
  grid-row:3;
}
@media(max-width:900px){
  body.is-home .home-snap-block--hero .heroInstitutionalBand{
    --hero-band-side:clamp(18px,4vw,32px);
    top:clamp(82px,calc(20svh - 38px),142px);
  }
}
@media(max-width:640px){
  body.is-home .home-snap-block--hero .heroInstitutionalBand{
    display:none;
  }
  body.is-home .home-snap-block--hero .container{
    grid-template-rows:minmax(clamp(150px,24svh,220px),auto) auto auto minmax(18px,1fr) auto!important;
  }
}

/* Accueil — grande carte publication à la une */
body.is-home .home-snap-block--publications .homePublicationFeature{
  background:#C77165!important;
  color:#FFFCEF!important;
}
body.is-home .home-snap-block--publications .homeFeaturedMark{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:0 0 8px;
  color:#FFFCEF;
  font-weight:800;
  font-size:clamp(1.45rem,2.2vw,2.35rem);
  line-height:1;
  letter-spacing:0;
  text-shadow:0 1px 10px rgba(0,0,0,.12);
}
body.is-home .home-snap-block--publications .homeFeaturedMark:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:min(100%,148px);
  height:4px;
  border-radius:999px;
  background:#70b4be;
}
body.is-home .home-snap-block--publications .homeFeaturedMarkIcon{
  width:clamp(30px,3.2vw,46px);
  height:auto;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-width:3.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
body.is-home .home-snap-block--publications .homeFeaturedMark + .tag{
  margin-left:6px;
}
body.is-home .home-snap-block--publications .homeTypePill{
  background:#FFFCEF;
  border:1px solid rgba(112,180,190,.65);
  color:#326191;
}
body.is-home .home-snap-block--publications .homePublicationFeature .homeTypePill{
  background:rgba(255,252,239,.92);
  border-color:rgba(255,252,239,.76);
  color:#326191;
}
body.is-home .home-snap-block--publications .homePublicationFeature .homePublicationMeta span:nth-of-type(n+2),
body.is-home .home-snap-block--publications .homePublicationTeaser .metaLine span{
  display:none!important;
}
body.is-home .home-snap-block--publications .publist .homePublicationTeaser:nth-child(2){
  background:#70b4be!important;
}
body.is-home .home-snap-block--publications .publist .homePublicationTeaser:nth-child(2) h3{
  color:#FFFCEF!important;
}

/* Groupements — ajustements libellés, logos et superposition */
.orbitCenter,
body.is-home .home-snap-block--groups .orbitCenter{
  z-index:8!important;
  align-content:center;
  justify-items:center;
  gap:10px!important;
}

.orbitCenter strong,
body.is-home .home-snap-block--groups .orbitCenter strong{
  display:none!important;
}

.orbitCenter img,
body.is-home .home-snap-block--groups .orbitCenter img{
  width:min(112px,62%)!important;
  max-height:42px;
  object-fit:contain;
}

.orbitCenter span,
body.is-home .home-snap-block--groups .orbitCenter span{
  max-width:142px;
  color:#326191!important;
  font:inherit;
  font-size:.78rem!important;
  font-weight:800!important;
  line-height:1.18!important;
  text-align:center;
}

.groupInfoLogo,
body.is-home .home-snap-block--groups .groupInfoLogo{
  display:block;
  width:min(240px,72%)!important;
  max-height:92px!important;
  object-fit:contain;
  margin:10px auto 20px!important;
}

.groupInfo > strong,
body.is-home .home-snap-block--groups .groupInfo > strong{
  display:block;
  color:#326191!important;
  font-size:1.35rem;
  line-height:1.15;
  text-align:left;
  margin:0 0 22px;
}

.groupInfo h3,
body.is-home .home-snap-block--groups .groupInfo h3,
.groupInfo > span,
body.is-home .home-snap-block--groups .groupInfo > span{
  display:none!important;
}

@media(max-width:1360px) and (min-width:1261px){
  .aboutGroupements .ecosystemLayout{
    grid-template-columns:1fr!important;
  }

  .aboutGroupements .groupInfo{
    height:520px!important;
    min-height:520px;
    transform:none;
  }

  .aboutGroupements .groupDetailConnector{
    display:none!important;
  }
}

/* Groupements — fond ivoire demandé */
.orbitWrap,
body.is-home .home-snap-block--groups .orbitWrap{
  background:#FFFCEF!important;
}

.clusterExploitants .orbitCategory,
body.is-home .home-snap-block--groups .clusterExploitants .orbitCategory{
  background:#C77165!important;
  color:#FFFCEF!important;
  box-shadow:0 16px 34px rgba(199,113,101,.22)!important;
}

@media(min-width:1081px){
  body.is-home .home-snap-block{
    min-height:clamp(640px, calc(100svh - var(--header-height,104px)), 820px);
    scroll-snap-align:start;
    scroll-margin-top:var(--header-height,104px);
  }
  body.is-home .home-snap-block--hero{
    min-height:clamp(560px, calc((100svh - var(--header-height,104px)) * .85), 720px);
  }
  body.is-home .home-snap-block--domains{
    min-height:clamp(700px, calc((100svh - var(--header-height,104px)) * 1.04), 860px);
  }
  body.is-home .home-snap-block--publications{
    min-height:clamp(680px, calc((100svh - var(--header-height,104px)) * 1.02), 840px);
  }
  body.is-home .home-snap-block--hero .heroTitle{
    font-size:clamp(2.35rem,5.6vw,5.6rem);
  }
  body.is-home .home-snap-block--hero .lead{
    max-width:760px;
    font-size:clamp(1rem,1.42vw,1.28rem);
  }
  body.is-home .home-snap-block--hero .actions{
    gap:10px;
    margin-top:24px;
  }
  body.is-home .home-snap-block--hero .btn{
    min-height:44px;
    padding:11px 16px;
  }
  body.is-home .home-snap-block--domains .grid5,
  body.is-home .home-snap-block--publications .pubs{
    align-items:stretch;
  }
  body.is-home .home-snap-block--publications .feature{
    min-height:460px;
  }
  body.is-home .home-snap-block--domains .grid5{
    gap:16px;
  }
}

@media(max-width:1080px){
  body.is-home .home-snap-block{
    min-height:auto;
  }
}

@media(max-width:760px){
  body.is-home .home-snap-block{
    min-height:auto;
  }
  body.is-home .home-snap-block--hero .heroTitle{
    font-size:clamp(2.75rem,13vw,5rem);
  }
}


/* Publications : filtres et frise */
.timelineTools{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start;justify-content:space-between;margin:0 0 24px}
.filterGroup{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.filterLabel{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--bleu-soutenu);margin-right:2px}
.filter.small{padding:8px 10px;font-size:12px}
.sortSwitch{display:flex;gap:8px;flex-wrap:wrap}
.timelinePanel{background:rgba(251,247,241,.76);border:1px solid rgba(112,180,190,.5);border-radius:28px;padding:22px;box-shadow:var(--shadow)}
.timelineMeta{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:14px;color:var(--bleu-soutenu);font-weight:700;font-size:14px}
.timelineScale{position:relative;display:flex;gap:72px;min-width:780px;padding:12px 8px 20px;border-top:2px solid var(--turquoise);margin:10px 0 0}
.timelineScale span{position:relative;font-size:13px;font-weight:800;color:var(--bleu-fonce)}
.timelineScale span:before{content:"";position:absolute;top:-18px;left:4px;width:10px;height:10px;border-radius:50%;background:var(--rouge);box-shadow:0 0 0 4px rgba(190,60,63,.14)}
.timelineScroll{overflow-x:auto;scroll-snap-type:x proximity;padding:6px 2px 12px;scrollbar-color:var(--bleu-moyen) transparent}
.timelineTrack{display:flex;gap:18px;min-width:max-content}
.timelineCard{width:320px;scroll-snap-align:start;border-left:5px solid var(--turquoise)}
.timelineCard .metaLine{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 12px;font-size:12px;font-weight:800;color:var(--bleu-soutenu)}
.timelineCard .date{color:var(--rouge)}
.timelineCard .domainName{color:var(--bleu-fonce)}
.timelineActions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px}
.timelineArrows{display:flex;gap:10px}
.iconBtn{border:1px solid var(--turquoise);background:var(--fond);color:var(--bleu-fonce);border-radius:999px;padding:9px 13px;cursor:pointer;font-weight:900}
.iconBtn:hover{background:var(--bleu-fonce);color:var(--fond)}
.emptyState{padding:26px;border:1px dashed var(--turquoise);border-radius:22px;color:var(--bleu-soutenu);background:rgba(251,247,241,.5)}
@media(max-width:760px){
  .timelineScale{display:none}
  .timelineScroll{overflow:visible}
  .timelineTrack{display:grid;grid-template-columns:1fr;min-width:0}
  .timelineCard{width:auto}
  .timelineActions{align-items:flex-start;flex-direction:column}
}


/* Publications : recherche, mise en avant et types */
.searchBox{
  display:flex;align-items:center;gap:10px;min-width:min(100%,360px);
  background:rgba(251,247,241,.92);
  border:1px solid rgba(112,180,190,.75);
  border-radius:999px;
  padding:8px 12px;
  box-shadow:0 10px 28px rgba(50,97,145,.08);
}
.searchBox span{font-weight:950;color:var(--rouge)}
.searchBox input{
  border:0;background:transparent;outline:0;width:100%;
  font:inherit;color:var(--bleu-fonce);font-weight:760;
}
.searchBox input::placeholder{color:rgba(50,97,145,.58)}
.timelineTools{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start}
.timelineToolStack{display:grid;gap:10px}
.timelinePanel{
  position:relative;overflow:hidden;
  background:linear-gradient(145deg,rgba(251,247,241,.94),rgba(112,180,190,.14));
  border:1px solid rgba(112,180,190,.72);
  border-radius:32px;
  padding:26px;
  box-shadow:0 24px 70px rgba(50,97,145,.18);
}
.timelinePanel:before{
  content:"";position:absolute;inset:0 0 auto 0;height:7px;
  background:linear-gradient(90deg,var(--rouge),var(--bleu-soutenu),var(--turquoise));
}
.timelineMeta{
  position:relative;z-index:1;
  background:rgba(251,247,241,.7);
  border:1px solid rgba(112,180,190,.36);
  border-radius:18px;
  padding:12px 14px;
}
.timelineScale{
  border-top:0;
  padding:26px 8px 22px;
  min-width:1040px;
  gap:84px;
}
.timelineScale:before{
  content:"";position:absolute;left:8px;right:20px;top:31px;height:3px;
  background:linear-gradient(90deg,var(--rouge),var(--bleu-soutenu),var(--turquoise),rgba(80,146,182,.25));
  border-radius:999px;
}
.timelineScale span{padding-top:18px}
.timelineScale span:before{
  top:0;left:8px;width:13px;height:13px;
  background:var(--fond);
  border:3px solid var(--rouge);
  box-shadow:0 0 0 5px rgba(190,60,63,.12);
}
.timelineScroll{padding:2px 4px 16px}
.timelineTrack{gap:22px;align-items:stretch}
.timelineCard{
  position:relative;width:345px;min-height:315px;
  border-left:0!important;
  border-top:7px solid var(--turquoise);
  background:linear-gradient(180deg,#fffdf9,var(--fond));
  box-shadow:0 18px 45px rgba(50,97,145,.15);
}
.timelineCard:before{
  content:"";position:absolute;left:18px;top:-24px;width:2px;height:24px;
  background:rgba(80,146,182,.55);
}
.timelineCard.type-communique{border-top-color:var(--rouge)}
.timelineCard.type-position{border-top-color:var(--bleu-fonce)}
.timelineCard.type-decryptage{border-top-color:var(--bleu-moyen)}
.timelineCard.type-rapport{border-top-color:var(--bleu-soutenu)}
.timelineCard.type-reseaux{border-top-color:var(--turquoise)}
.pub.type-communique{border-left:5px solid var(--rouge)}
.pub.type-position{border-left:5px solid var(--bleu-fonce)}
.pub.type-decryptage{border-left:5px solid var(--bleu-moyen)}
.pub.type-rapport{border-left:5px solid var(--bleu-soutenu)}
.pub.type-reseaux{border-left:5px solid var(--turquoise)}
.tag{
  border:1px solid rgba(112,180,190,.45);
  box-shadow:inset 0 -1px 0 rgba(50,97,145,.08);
}
.tag.type-communique{background:rgba(190,60,63,.12);color:var(--rouge);border-color:rgba(190,60,63,.38)}
.tag.type-position{background:rgba(50,97,145,.12);color:var(--bleu-fonce);border-color:rgba(50,97,145,.36)}
.tag.type-decryptage{background:rgba(80,146,182,.16);color:var(--bleu-fonce);border-color:rgba(80,146,182,.42)}
.tag.type-rapport{background:rgba(58,109,160,.13);color:var(--bleu-soutenu);border-color:rgba(58,109,160,.36)}
.tag.type-reseaux{background:rgba(112,180,190,.18);color:var(--bleu-fonce);border-color:rgba(112,180,190,.5)}
.metaLine{
  padding:9px 0;
  border-top:1px solid rgba(112,180,190,.25);
  border-bottom:1px solid rgba(112,180,190,.25);
}
.timelineCard h3{font-size:1.18rem;line-height:1.2;margin-top:14px}
.timelineCard p{font-size:.97rem;color:rgba(50,97,145,.86)}
.resultHint{
  color:var(--bleu-soutenu);font-weight:800;font-size:.92rem;
}
@media(max-width:900px){
  .timelineTools{grid-template-columns:1fr}
  .searchBox{width:100%}
}
@media(max-width:760px){
  .timelinePanel{padding:20px}
  .timelineCard{width:auto;min-height:0}
  .timelineCard:before{display:none}
}


    /* Navigation principale — menus déroulants éditorialisés */
    .dropdown{min-width:380px;max-width:440px;padding:16px}
    .dropdown .menuIntro{font-size:.86rem;color:var(--muted);font-weight:650;line-height:1.35;margin:2px 10px 12px}
    .dropdown .menuGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}
    .dropdown .menuWide{grid-column:1 / -1}
    .dropdown .menuSectionTitle{font-size:.70rem;letter-spacing:.11em;text-transform:uppercase;color:var(--bleu-moyen);font-weight:900;margin:6px 10px 2px}
    .dropdown a{padding:7px 10px;font-weight:750;font-size:.94rem;line-height:1.22}
    .dropdown a.primaryItem{font-weight:900}
    @media(max-width:1180px){.dropdown{min-width:310px}.dropdown .menuGrid{grid-template-columns:1fr}}


/* Base UI : lisibilité et mobile */
:root{--shadow:0 14px 34px rgba(50,97,145,.13)}
.header{box-shadow:0 10px 28px rgba(50,97,145,.08)}
.dropdown{min-width:330px;max-width:390px;padding:14px;box-shadow:0 18px 42px rgba(50,97,145,.17)}
.dropdown .menuIntro{font-size:.82rem;margin-bottom:8px}.dropdown .menuSectionTitle{margin-top:4px}.dropdown a{padding:7px 9px;font-size:.92rem}
.hero{min-height:590px}.hero:before{opacity:.38;animation-duration:42s}.heroMotion{opacity:.45}.takeoffPath path{stroke-width:1.5;animation-duration:4.8s}.takeoffGlow{display:none}.planeFly{animation-duration:4.8s}.planeFly svg{width:48px;height:48px;opacity:.75}.hero:after{background:linear-gradient(90deg,rgba(6,21,37,.94),rgba(6,21,37,.60),rgba(6,21,37,.88))}
.tagRow .tag:first-child{background:rgba(251,247,241,.9);color:var(--bleu-fonce)}
.card{box-shadow:0 10px 24px rgba(50,97,145,.08)}.card:before{background:var(--bleu-moyen);transform:scaleX(.18)}
.pathCard h3:before{content:"Besoin utilisateur";display:block;font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;color:var(--bleu-moyen);margin-bottom:8px}
.proof .note{margin-top:-8px}.sourceLink{font-weight:900;color:var(--rouge);text-decoration:none;border-bottom:1px solid rgba(190,60,63,.35)}
.pubLeadGrid{display:grid;grid-template-columns:.95fr 1.05fr;gap:20px;margin:0 0 26px}.pubLeadGrid .feature{min-height:330px}.pubLeadPanel{display:grid;gap:14px}.pubLeadPanel .notice{margin:0}
.timelinePanel{box-shadow:0 16px 44px rgba(50,97,145,.12)}.timelinePanel:before{height:4px;background:linear-gradient(90deg,var(--bleu-soutenu),var(--turquoise))}.timelineMeta{background:rgba(251,247,241,.82)}
.timelineIntro{font-size:.95rem;color:var(--bleu-soutenu);font-weight:760;margin:0 0 16px}.timelineArrows{opacity:.9}
@media(max-width:900px){.pubLeadGrid{grid-template-columns:1fr}.pubLeadGrid .feature{min-height:0}}
@media(max-width:760px){.hero{min-height:560px}.heroMotion{opacity:.22}.planeFly,.takeoffPath{display:none}.actions .btn{width:100%}.proof .container{align-items:flex-start}.stats{width:100%;grid-template-columns:1fr}.chip,.tag{max-width:100%}.dropdown{min-width:0}.timelinePanel{padding:16px;border-radius:22px}.timelineMeta{display:block}.timelineIntro{font-size:.9rem}.timelineScroll{overflow:visible}.timelineTrack{display:grid;grid-template-columns:1fr;gap:14px}.timelineCard{box-shadow:0 10px 24px rgba(50,97,145,.08)}.timelineArrows{display:none}.searchBox{border-radius:18px}.filterGroup{gap:6px}.filter,.filter.small{font-size:12px;padding:8px 9px}.mobileMenu a{font-weight:800}}

/* Hero accueil : fond image/vidéo */
.hero.heroPhoto{
  background:#326191;
  min-height:620px;
  isolation:isolate;
}
.hero.heroPhoto:before{
  content:"";
  position:absolute;
  inset:-3%;
  z-index:0;
  background-image:url("../images/hero-fallback.jpg");
  background-size:cover;
  background-position:center center;
  transform:scale(1.035) translateX(0);
  animation:heroPhotoPush 3s ease-in-out infinite alternate;
  filter:saturate(.86) contrast(.96) brightness(.82);
  opacity:.92;
}
.hero.heroPhoto:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    radial-gradient(circle at 72% 36%,rgba(112,180,190,.18),transparent 34%),
    linear-gradient(90deg,rgba(6,21,37,.96) 0%,rgba(20,54,88,.88) 33%,rgba(50,97,145,.66) 61%,rgba(6,21,37,.78) 100%);
}
.heroPhotoVeil{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(251,247,241,.05),transparent 28%,rgba(6,21,37,.28)),
    linear-gradient(90deg,rgba(251,247,241,.035) 1px,transparent 1px);
  background-size:auto,86px 86px;
  opacity:.72;
  animation:heroPhotoLight 3s ease-in-out infinite alternate;
}
.heroPhotoFallback{display:none}
.hero.heroPhoto .container{position:relative;z-index:3}
.hero.heroPhoto .tagRow .tag:first-child{background:rgba(251,247,241,.94)}
.hero.heroPhoto.paused:before,.hero.heroPhoto.paused .heroPhotoVeil{animation-play-state:paused!important}
@keyframes heroPhotoPush{
  0%{transform:scale(1.035) translateX(0)}
  100%{transform:scale(1.07) translateX(-1.2%)}
}
@keyframes heroPhotoLight{
  0%{opacity:.58;transform:translateX(0)}
  100%{opacity:.78;transform:translateX(1.3%)}
}
@media(max-width:760px){
  .hero.heroPhoto{min-height:590px}
  .hero.heroPhoto:before{background-position:62% center;animation-duration:5.5s;filter:saturate(.82) contrast(.94) brightness(.74)}
  .hero.heroPhoto:after{background:linear-gradient(90deg,rgba(6,21,37,.97) 0%,rgba(20,54,88,.90) 54%,rgba(6,21,37,.72) 100%)}
  .heroPhotoVeil{opacity:.46;background-size:auto,120px 120px}
}
@media(prefers-reduced-motion:reduce){
  .hero.heroPhoto:before,.heroPhotoVeil{animation:none!important;transform:none!important}
  .heroPhotoFallback{display:block;position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%)}
}


/* Hero accueil : header et composition */
body.is-home .header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:50;
  background:linear-gradient(180deg,rgba(5,22,38,.72),rgba(5,22,38,.18) 72%,transparent);
  border-bottom:1px solid rgba(251,247,241,.14);
  backdrop-filter:none;
  color:var(--fond);
}
body.is-home .nav{min-height:86px;padding:12px 0}
body.is-home .links .topLink,
body.is-home .links a,
body.is-home .menuBtn{
  color:var(--fond);
  text-shadow:0 1px 8px rgba(0,0,0,.28);
}
body.is-home .links .topLink:after{color:rgba(251,247,241,.78)}
body.is-home .navItem:hover .topLink,
body.is-home .navItem:focus-within .topLink,
body.is-home .links .topLink.active{
  background:rgba(251,247,241,.14);
  color:var(--fond);
}
body.is-home .brandLogo{
  filter:drop-shadow(0 10px 26px rgba(0,0,0,.24));
}
body.is-home .dropdown{
  background:rgba(251,247,241,.98);
  color:var(--bleu-fonce);
  backdrop-filter:blur(14px);
}
body.is-home .dropdown a,
body.is-home .dropdown .menuIntro{ text-shadow:none; }
body.is-home .hero.heroPhoto{
  min-height:760px;
  padding-top:88px;
  background:#061525;
}
body.is-home .hero.heroPhoto:before{
  opacity:1;
  filter:saturate(.82) contrast(.96) brightness(.72);
  animation-duration:3s;
}
body.is-home .hero.heroPhoto:after{
  background:
    linear-gradient(90deg,rgba(6,21,37,.96) 0%,rgba(6,21,37,.88) 25%,rgba(31,73,111,.58) 58%,rgba(6,21,37,.42) 100%),
    linear-gradient(180deg,rgba(6,21,37,.52) 0%,rgba(6,21,37,.08) 32%,rgba(6,21,37,.58) 100%);
}
body.is-home .heroPhotoVeil{
  opacity:.38;
  background:linear-gradient(180deg,rgba(251,247,241,.04),transparent 34%,rgba(6,21,37,.18));
  animation-duration:3s;
}
body.is-home .hero.heroPhoto .container{
  padding-top:34px;
  max-width:none;
}
body.is-home .hero .eyebrow,
body.is-home .hero .tagRow{
  display:none!important;
}
body.is-home .heroTitle{
  max-width:1120px;
}
body.is-home .heroTitle .line{
  display:block;
}
body.is-home .hero h1{
  font-size:clamp(4rem,8.8vw,8.6rem);
  line-height:.92;
  letter-spacing:-.055em;
  margin:0 0 28px;
  color:var(--fond);
  text-shadow:0 16px 42px rgba(0,0,0,.28);
}
body.is-home .hero .lead{
  max-width:1040px;
  font-size:clamp(1.18rem,2.05vw,1.78rem);
  line-height:1.4;
  font-weight:650;
  color:rgba(251,247,241,.96);
  text-shadow:0 8px 30px rgba(0,0,0,.34);
}
body.is-home .hero .actions{
  margin-top:32px;
  gap:18px;
}
body.is-home .hero .btn{
  min-height:64px;
  padding:18px 28px;
  font-size:1.12rem;
  box-shadow:0 18px 40px rgba(0,0,0,.20);
}
body.is-home .hero .ghost{
  background:rgba(251,247,241,.08);
  color:var(--fond);
  border-color:rgba(251,247,241,.32);
  backdrop-filter:blur(8px);
}
body.is-home .pause{
  right:22px;
  bottom:22px;
  background:rgba(6,21,37,.42);
  opacity:.84;
}
@media(max-width:1080px){
  body.is-home .header{background:linear-gradient(180deg,rgba(5,22,38,.84),rgba(5,22,38,.22) 80%,transparent)}
  body.is-home .menuBtn{background:rgba(251,247,241,.12);border-color:rgba(251,247,241,.32)}
}
@media(max-width:760px){
  body.is-home .hero.heroPhoto{min-height:690px;padding-top:96px}
  body.is-home .hero.heroPhoto:before{background-position:68% center;filter:saturate(.76) contrast(.94) brightness(.64)}
  body.is-home .hero.heroPhoto:after{background:linear-gradient(90deg,rgba(6,21,37,.98) 0%,rgba(6,21,37,.92) 58%,rgba(6,21,37,.66) 100%)}
  body.is-home .hero h1{font-size:clamp(3.05rem,15vw,5.2rem);line-height:.94;margin-bottom:22px}
  body.is-home .hero .lead{font-size:1.08rem;line-height:1.48}
  body.is-home .hero .btn{min-height:52px;padding:13px 18px;font-size:1rem;width:100%}
  body.is-home .hero .actions{gap:10px}
}



/* Hero accueil : texte HTML et fond média */
body.is-home .header{
  background:linear-gradient(180deg,rgba(3,18,31,.52),rgba(3,18,31,.14) 70%,transparent)!important;
  border-bottom:1px solid rgba(251,247,241,.10)!important;
}
body.is-home .nav{min-height:84px!important;}
body.is-home .hero.heroPhoto{
  min-height:760px!important;
  padding-top:92px!important;
  background:transparent!important;
}
body.is-home .hero.heroPhoto:before{
  opacity:1!important;
  filter:saturate(.94) contrast(.98) brightness(.94)!important;
  background-position:center center!important;
  transform:scale(1.018) translateX(0)!important;
  animation:heroPhotoPushSoft 3s ease-in-out infinite alternate!important;
}
body.is-home .hero.heroPhoto:after{
  background:
    linear-gradient(90deg,rgba(3,18,31,.86) 0%,rgba(3,18,31,.68) 31%,rgba(50,97,145,.30) 58%,rgba(50,97,145,.08) 100%),
    linear-gradient(180deg,rgba(3,18,31,.34) 0%,rgba(3,18,31,.05) 46%,rgba(3,18,31,.28) 100%)!important;
}
body.is-home .heroPhotoVeil{
  opacity:.18!important;
  background:linear-gradient(180deg,rgba(251,247,241,.03),transparent 42%,rgba(3,18,31,.14))!important;
  animation:heroPhotoLightSoft 3s ease-in-out infinite alternate!important;
}
@keyframes heroPhotoPushSoft{
  0%{transform:scale(1.018) translateX(0)}
  100%{transform:scale(1.045) translateX(-.45%)}
}
@keyframes heroPhotoLightSoft{
  0%{opacity:.12;transform:translateX(0)}
  100%{opacity:.24;transform:translateX(.5%)}
}
body.is-home .hero.heroPhoto .container{
  padding-top:46px!important;
  width:min(1480px,calc(100% - 76px))!important;
}
body.is-home .hero .eyebrow,
body.is-home .hero .tagRow{
  display:none!important;
}
body.is-home .heroTitle{
  max-width:1420px!important;
}
body.is-home .hero h1{
  max-width:1410px!important;
  font-size:clamp(4.7rem,8.15vw,8.8rem)!important;
  line-height:.91!important;
  letter-spacing:-.058em!important;
  margin:0 0 28px!important;
  color:#FBF7F1!important;
  text-shadow:0 12px 38px rgba(0,0,0,.34)!important;
}
body.is-home .hero .lead{
  max-width:1180px!important;
  font-size:clamp(1.25rem,2.0vw,1.78rem)!important;
  line-height:1.45!important;
  font-weight:680!important;
  color:rgba(251,247,241,.95)!important;
  text-shadow:0 8px 28px rgba(0,0,0,.36)!important;
}
body.is-home .hero .actions{
  margin-top:34px!important;
  gap:20px!important;
}
body.is-home .hero .btn{
  min-height:64px!important;
  padding:18px 30px!important;
  font-size:1.12rem!important;
  border-radius:999px!important;
  box-shadow:0 16px 38px rgba(0,0,0,.18)!important;
}
body.is-home .hero .primary{
  background:#be3c3f!important;
  color:#FBF7F1!important;
  border-color:rgba(251,247,241,.08)!important;
}
body.is-home .hero .secondary{
  background:#FBF7F1!important;
  color:#326191!important;
  border-color:rgba(251,247,241,.88)!important;
}
body.is-home .hero .ghost{
  background:rgba(251,247,241,.10)!important;
  color:#FBF7F1!important;
  border:1px solid rgba(251,247,241,.38)!important;
  backdrop-filter:blur(9px)!important;
}
body.is-home .pause{
  right:18px!important;
  bottom:18px!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  font-size:0!important;
  opacity:.66!important;
}
body.is-home .pause button{
  font-size:.78rem!important;
  background:rgba(3,18,31,.46)!important;
  color:#FBF7F1!important;
  border:1px solid rgba(251,247,241,.24)!important;
  backdrop-filter:blur(8px)!important;
}
@media(max-width:1080px){
  body.is-home .hero.heroPhoto .container{width:min(100% - 40px,1180px)!important;}
  body.is-home .hero h1{font-size:clamp(3.8rem,10vw,6.8rem)!important;}
}
@media(max-width:760px){
  body.is-home .hero.heroPhoto{min-height:720px!important;padding-top:102px!important;}
  body.is-home .hero.heroPhoto:before{background-position:67% center!important;filter:saturate(.86) contrast(.96) brightness(.76)!important;}
  body.is-home .hero.heroPhoto:after{
    background:linear-gradient(90deg,rgba(3,18,31,.96) 0%,rgba(3,18,31,.88) 60%,rgba(50,97,145,.28) 100%)!important;
  }
  body.is-home .hero h1{font-size:clamp(3.1rem,14.6vw,5.3rem)!important;line-height:.93!important;margin-bottom:22px!important;}
  body.is-home .hero .lead{font-size:1.06rem!important;line-height:1.48!important;}
  body.is-home .hero .actions{gap:11px!important;margin-top:26px!important;}
  body.is-home .hero .btn{width:100%!important;min-height:52px!important;padding:13px 18px!important;font-size:1rem!important;}
}



/* Hero accueil : vidéo claire et voile texte */
.heroVideoReal{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  opacity:1;
  filter:saturate(1.02) contrast(1.01) brightness(1.02);
  pointer-events:none;
}
body.is-home .hero.heroPhoto.hasRealVideo{
  background:#f5f1ea!important;
}
body.is-home .hero.heroPhoto.hasRealVideo:before{
  opacity:0!important;
  animation:none!important;
}
body.is-home .hero.heroPhoto.hasRealVideo:after{
  /* Pas de voile bleu global : la vidéo garde son fond clair naturel. */
  background:
    linear-gradient(90deg,
      rgba(3,18,31,.76) 0%,
      rgba(3,18,31,.62) 28%,
      rgba(3,18,31,.32) 48%,
      rgba(3,18,31,.10) 68%,
      rgba(3,18,31,.02) 100%),
    linear-gradient(180deg,
      rgba(3,18,31,.24) 0%,
      rgba(3,18,31,.03) 42%,
      rgba(3,18,31,.16) 100%)!important;
}
body.is-home .hero.heroPhoto.hasRealVideo .heroPhotoVeil{
  display:none!important;
}
body.is-home .hero.heroPhoto.hasRealVideo h1{
  color:#FBF7F1!important;
  text-shadow:0 10px 34px rgba(0,0,0,.42)!important;
}
body.is-home .hero.heroPhoto.hasRealVideo .lead{
  color:rgba(251,247,241,.94)!important;
  text-shadow:0 6px 26px rgba(0,0,0,.44)!important;
}
body.is-home .hero.heroPhoto.hasRealVideo .primary{
  background:#be3c3f!important;
  color:#FBF7F1!important;
  box-shadow:0 14px 34px rgba(31,17,24,.26)!important;
}
body.is-home .hero.heroPhoto.hasRealVideo .secondary{
  background:#FBF7F1!important;
  color:#326191!important;
  border-color:rgba(251,247,241,.86)!important;
  box-shadow:0 14px 34px rgba(3,18,31,.18)!important;
}
body.is-home .hero.heroPhoto.hasRealVideo .ghost{
  background:rgba(3,18,31,.30)!important;
  color:#FBF7F1!important;
  border-color:rgba(251,247,241,.42)!important;
  backdrop-filter:blur(8px)!important;
}
body.is-home .hero.heroPhoto.hasRealVideo.paused .heroVideoReal{
  opacity:.98;
}
@media(max-width:760px){
  body.is-home .hero.heroPhoto.hasRealVideo:after{
    background:linear-gradient(90deg,rgba(3,18,31,.90) 0%,rgba(3,18,31,.72) 62%,rgba(3,18,31,.20) 100%)!important;
  }
  .heroVideoReal{object-position:64% center;}
}
@media(prefers-reduced-motion:reduce){
  .heroVideoReal{display:none!important;}
  body.is-home .hero.heroPhoto.hasRealVideo:before{opacity:1!important;filter:saturate(1) contrast(1) brightness(.96)!important;}
}

/* Typographie inspiree du site Armateurs de France : PP Fraktion Sans en display, Inter en texte courant. */
h1,h2,h3,h4,h5,h6,
.heroTitle,
.eyebrow,
.btn,
.chip,
.tag,
.filter,
.links a,
.menuBtn,
.dropdown a,
.menuIntro,
.menuSectionTitle,
.mobileMenu summary,
.mobileMenu a,
.stat strong,
.visual:after,
.footer h3{
  font-family:var(--font-display);
}

p,
li,
.note,
.stat span,
.card p,
.feature p,
.pageHero p,
.head p{
  font-family:var(--font-body);
  font-weight:300;
}

.documentGrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.documentCard{
  display:grid;
  gap:10px;
}
.publicationSection{
  --pub-panel-h:700px;
  --pub-card-w:214px;
  --pub-card-h:206px;
  --pub-band-h:68px;
  --pub-card-offset:26px;
  --pub-dot-size:18px;
  --pub-date-h:26px;
  --pub-track-y-inset:32px;
  --pub-connector-h:calc((var(--pub-panel-h) - var(--pub-track-y-inset) - var(--pub-band-h)) / 2 - var(--pub-card-offset) - var(--pub-card-h));
  --pub-connector-edge:calc(var(--pub-card-offset) + var(--pub-card-h) - ((var(--pub-panel-h) - var(--pub-track-y-inset) - var(--pub-band-h)) / 2));
  --pub-dot-edge:calc(var(--pub-connector-edge) - (var(--pub-dot-size) / 2));
  --pub-date-edge:calc((var(--pub-connector-edge) / 2) - (var(--pub-date-h) / 2));
  padding-top:24px;
  padding-bottom:28px;
}
body.is-publications{
  --header-height:78px;
}
body.is-publications .nav{
  min-height:78px;
  padding:6px 0;
}
body.is-publications .brandLogo{
  width:clamp(150px,16vw,228px);
}
body.is-publications .publicationSection{
  --pub-panel-h:640px;
  --pub-card-offset:22px;
  padding-top:18px;
  padding-bottom:72px;
}
.publicationSection > .container{
  width:min(1580px,calc(100% - 56px));
}
body.is-publications .publicationSection > .container{
  width:min(1610px,calc(100% - 56px));
}
body.is-publications .compactHead{
  margin-bottom:6px;
}
.compactHead h1,
.compactHead h2{
  font-size:clamp(2.35rem,3.75vw,4rem);
  margin-top:6px;
  line-height:.98;
}
.compactHead p{
  font-size:1rem;
  margin-top:4px;
}
.publicationControls{
  margin-bottom:10px;
  position:sticky;
  top:calc(var(--header-height,104px) - 18px);
  z-index:8;
  padding:6px 0;
  background:linear-gradient(180deg,rgba(251,247,241,.98),rgba(251,247,241,.94));
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(112,180,190,.24);
}
.publicationFilterPanel{
  display:grid;
  grid-template-columns:1fr;
  gap:5px;
}
.publicationUtilityRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:6px 0 0 calc(86px + 8px);
}
.publicationUtilityRow .searchBox{
  flex:0 0 min(520px,100%);
  width:min(520px,100%);
  min-height:36px;
}
.publicationFilterPanel .searchBox span{
  font-size:1.35rem;
  line-height:1;
}
.publicationFilterRows{
  display:grid;
  gap:4px;
  min-width:0;
}
.publicationFilterRow{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
  min-width:0;
  overflow-x:auto;
  padding-bottom:2px;
  scrollbar-width:thin;
  scrollbar-color:rgba(50,97,145,.35) transparent;
}
.publicationFilterRow .filterLabel{
  width:86px;
  flex:0 0 86px;
  color:var(--bleu-soutenu);
  font-size:.9rem;
  font-weight:950;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.publicationFilterRow .filter{
  flex:0 0 auto;
  min-height:30px;
  padding:5px 10px;
  border:2px solid rgba(112,180,190,.56);
  border-radius:999px;
  background:rgba(251,247,241,.84);
  color:#252525;
  font-size:.8rem;
  font-weight:900;
  white-space:nowrap;
  box-shadow:none;
}
.publicationFilterRow .filter.active{
  background:var(--bleu-soutenu);
  border-color:rgba(112,180,190,.82);
  color:var(--fond);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 8px 18px rgba(50,97,145,.16);
}
.publicationFilterRow .filter.active[data-pub-domain="economie"]{background:#326191}
.publicationFilterRow .filter.active[data-pub-domain="technique"]{background:#5092b6}
.publicationFilterRow .filter.active[data-pub-domain="environnement"]{background:#1f8f56}
.publicationFilterRow .filter.active[data-pub-domain="outremer"]{background:#70b4be;color:#0B2A4A}
.publicationFilterRow .filter.active[data-pub-domain="social"]{background:#3a6da0}
.publicationTimelinePanel{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(112,180,190,.52);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(251,247,241,.98),rgba(251,247,241,.9));
  box-shadow:0 16px 38px rgba(50,97,145,.11);
  height:var(--pub-panel-h);
}
body.is-publications .publicationTimelinePanel{
  margin-top:36px;
}
.publicationPdfSummary{
  display:block;
  flex:0 0 auto;
  min-height:28px;
  margin:0;
  color:var(--bleu-soutenu);
  font-size:.9rem;
  font-weight:500;
  text-align:right;
  white-space:nowrap;
}
.publicationPdfSummary strong{
  display:inline-block;
  margin:0 .14em;
  font-weight:950;
}
.publicationTimelinePanel:before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:5px;
  background:linear-gradient(90deg,var(--bleu-fonce),var(--turquoise),var(--rouge));
}
.publicationTimelineHeader{
  position:absolute;
  inset:0;
  z-index:7;
  pointer-events:none;
}
.publicationTimelineHeader .iconBtn{
  position:absolute;
  top:50%;
  display:grid;
  place-items:center;
  width:clamp(54px,5vw,68px);
  height:clamp(54px,5vw,68px);
  border-width:3px;
  background:rgba(251,247,241,.96);
  color:var(--bleu-soutenu);
  font-size:2rem;
  font-weight:950;
  pointer-events:auto;
  transform:translateY(-50%);
  box-shadow:0 16px 30px rgba(50,97,145,.18);
  transition:opacity .18s ease, visibility .18s ease;
}
.publicationTimelineHeader .iconBtn.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.publicationTimelineHeader #prevPub{left:18px}
.publicationTimelineHeader #nextPub{right:18px}
.publicationTimelineScroll{
  overflow-x:auto;
  padding:6px 64px 24px;
  height:100%;
  scroll-snap-type:x proximity;
  scrollbar-color:var(--bleu-moyen) transparent;
}
.publicationSingleTimeline{
  position:relative;
  min-width:max-content;
  height:100%;
  padding:0;
}
.publicationTodayMarker{
  position:absolute;
  top:0;
  bottom:0;
  z-index:2;
  width:3px;
  background:var(--rouge);
  border-radius:999px;
  transform:translateX(-50%);
  box-shadow:0 0 0 1px rgba(251,247,241,.78),0 0 18px rgba(190,60,63,.34);
  pointer-events:none;
}
.publicationTodayMarker span{
  position:absolute;
  top:calc(50% - var(--pub-band-h) / 2 - 38px);
  left:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:4px 9px;
  border:1px solid rgba(190,60,63,.46);
  border-radius:999px;
  background:rgba(251,247,241,.98);
  color:var(--rouge);
  font-size:.66rem;
  font-weight:950;
  line-height:1;
  white-space:nowrap;
  transform:translateX(-50%);
  box-shadow:0 8px 18px rgba(50,97,145,.10);
}
.publicationTimelineTrack{
  display:flex;
  gap:0;
  min-width:max-content;
  align-items:stretch;
  height:100%;
  padding:0;
}
.publicationMonth{
  position:relative;
  width:var(--month-width);
  min-height:0;
  height:100%;
  flex:0 0 auto;
  scroll-snap-align:start;
  border-left:2px solid rgba(112,180,190,.72);
  background:linear-gradient(90deg,rgba(112,180,190,.08),rgba(251,247,241,0) 18px);
}
.publicationMonth:last-child{
  border-right:2px solid rgba(112,180,190,.72);
}
.publicationMonthCards{
  position:absolute;
  inset:0;
  z-index:3;
  display:flex;
  gap:12px;
  align-items:stretch;
  padding:0 12px;
}
.publicationMonthBand{
  position:absolute;
  left:0;
  right:0;
  top:50%;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  height:var(--pub-band-h);
  border-top:2px solid rgba(50,97,145,.78);
  border-bottom:2px solid rgba(50,97,145,.78);
  background:linear-gradient(180deg,#326191,#2d5781);
  color:var(--fond);
  transform:translateY(-50%);
  box-shadow:0 8px 22px rgba(50,97,145,.18);
}
.publicationMonthBand:before,
.publicationMonthBand:after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:1px;
  background:rgba(251,247,241,.55);
}
.publicationMonthBand:before{left:0}
.publicationMonthBand:after{right:0}
.publicationMonthBand span{
  font-size:1rem;
  font-weight:950;
  letter-spacing:.03em;
  text-transform:capitalize;
}
.publicationMonthBand strong{
  display:grid;
  place-items:center;
  min-width:28px;
  height:28px;
  padding:0 8px;
  border-radius:999px;
  background:rgba(251,247,241,.18);
  font-size:.82rem;
}
.publicationTimelineCard{
  position:relative;
  z-index:3;
  width:calc(var(--pub-card-w) + 18px);
  height:var(--pub-card-h);
  --type-color:#3a6da0;
  --type-text:#fff;
  scroll-snap-align:center;
  flex:0 0 auto;
  transition:transform .2s ease, filter .2s ease;
  filter:drop-shadow(0 18px 22px rgba(50,97,145,.12));
}
.publicationTimelineCard.is-top{
  align-self:flex-start;
  margin-top:var(--pub-card-offset);
}
.publicationTimelineCard.is-bottom{
  align-self:flex-end;
  margin-bottom:var(--pub-card-offset);
}
.publicationTimelineCard:hover,
.publicationTimelineCard:focus-within{
  z-index:12;
  transform:translateY(-4px) scale(1.02);
}
.type-communique{--type-color:#be3c3f;--type-text:#fff}
.type-position{--type-color:#326191;--type-text:#fff}
.type-decryptage{--type-color:#5092b6;--type-text:#fff}
.type-rapport{--type-color:#3a6da0;--type-text:#fff}
.type-reseaux{--type-color:#C77A5D;--type-text:#fff}
.cardTypeBand{
  display:flex;
  align-items:center;
  width:100%;
  min-height:34px;
  padding:8px 16px;
  border-radius:16px 16px 0 0;
  background:var(--type-color);
  color:var(--type-text);
  font-size:.62rem;
  font-weight:950;
  letter-spacing:.08em;
  line-height:1.1;
  text-transform:uppercase;
}
.publicationCardBody{
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr) auto;
  gap:10px;
  height:calc(100% - 34px);
  padding:12px;
  border:1px solid rgba(112,180,190,.42);
  border-top:0;
  border-radius:0 0 16px 16px;
  background:rgba(251,247,241,.98);
  box-shadow:0 24px 40px rgba(50,97,145,.15);
}
.publicationTimelineCard h3{
  margin:0;
  color:var(--bleu-fonce);
  font-size:clamp(.74rem,.92vw,.86rem);
  line-height:1.12;
  letter-spacing:0;
  display:-webkit-box;
  overflow:hidden;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  align-self:center;
  min-height:0;
}
.publicationTimelineCard p{
  margin:0;
  color:var(--muted);
  font-size:.88rem;
}
.publicationThumb{
  width:100%;
  height:54px;
  border:1px solid rgba(112,180,190,.5);
  border-radius:12px;
  object-fit:cover;
  background:#fff;
}
.publicationTimelineCard.is-linkedin h3{
  -webkit-line-clamp:4;
}
.publicationTimelineCard.is-linkedin .publicationCardBody{
  grid-template-rows:auto minmax(0,1fr) auto;
}
.publicationTimelineCard .actions{
  margin-top:auto;
}
.publicationDot{
  position:absolute;
  left:50%;
  top:auto;
  z-index:6;
  width:var(--pub-dot-size);
  height:var(--pub-dot-size);
  border:4px solid var(--fond);
  border-radius:999px;
  background:var(--type-color);
  box-shadow:0 0 0 5px color-mix(in srgb,var(--type-color) 20%,transparent);
  transform:translateX(-50%);
}
.publicationTimelineCard.is-top .publicationDot{bottom:var(--pub-dot-edge)}
.publicationTimelineCard.is-bottom .publicationDot{top:var(--pub-dot-edge)}
.publicationTimelineCard:before{
  content:"";
  position:absolute;
  left:50%;
  top:auto;
  width:2px;
  height:var(--pub-connector-h);
  background:var(--type-color);
  opacity:.58;
  transform:translateX(-50%);
}
.publicationTimelineCard.is-top:before{bottom:var(--pub-connector-edge)}
.publicationTimelineCard.is-bottom:before{top:var(--pub-connector-edge)}
.publicationConnectorDate{
  position:absolute;
  left:50%;
  z-index:5;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:118px;
  min-height:var(--pub-date-h);
  padding:4px 8px;
  border:1px solid color-mix(in srgb,var(--type-color) 46%,transparent);
  border-radius:999px;
  background:rgba(251,247,241,.96);
  color:var(--bleu-soutenu);
  font-size:.72rem;
  font-weight:950;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 10px 20px rgba(50,97,145,.10);
  transform:translateX(-50%);
}
.publicationTimelineCard.is-top .publicationConnectorDate{bottom:var(--pub-date-edge)}
.publicationTimelineCard.is-bottom .publicationConnectorDate{top:var(--pub-date-edge)}
.publicationPdfMeta{
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
}
.domainBadge{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  min-height:26px;
  padding:6px 10px;
  border:1px solid rgba(112,180,190,.65);
  border-radius:999px;
  background:#FBF7F1;
  color:#326191;
  font-size:.62rem;
  font-weight:850;
  text-transform:uppercase;
  white-space:normal;
  line-height:1.15;
}
.publicationFileCount{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  border-radius:999px;
  background:var(--bleu-soutenu);
  color:var(--fond);
  font-size:.58rem;
  font-weight:950;
  white-space:nowrap;
}
.publicationTimelineCard .actions{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:nowrap;
  overflow:hidden;
}
.docAction{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:1 1 0;
  min-height:30px;
  min-width:0;
  padding:6px 8px;
  border:1px solid rgba(112,180,190,.82);
  border-radius:999px;
  background:#FBF7F1;
  color:#326191;
  text-decoration:none;
  font-size:.72rem;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
.docAction:hover,
.docAction:focus{
  outline:none;
  background:rgba(112,180,190,.16);
  border-color:#5092b6;
}
.publicationTimelineCard .actions .publicationFileCount{
  flex:0 0 auto;
}
@media(max-width:1080px){
  .documentGrid{grid-template-columns:repeat(2,1fr)}
  .publicationFilterPanel{grid-template-columns:1fr}
  .publicationUtilityRow .searchBox{flex-basis:min(440px,100%);width:min(440px,100%)}
}
@media(max-width:760px){
  .documentGrid{grid-template-columns:1fr}
  .publicationTimelinePanel{border-radius:22px}
  .publicationTimelineHeader{padding:18px}
  .publicationTimelineHeader .iconBtn{display:none}
  .publicationTimelineHeader p{text-align:left}
  .publicationSection > .container{width:min(100% - 28px,1180px)}
  body.is-publications .publicationSection > .container{width:min(100% - 28px,1180px)}
  .publicationUtilityRow{margin-left:0;gap:10px}
  .publicationUtilityRow .searchBox{flex:0 0 min(390px,100%);width:min(390px,100%);min-width:0}
  .publicationPdfSummary{white-space:normal;text-align:right}
  .publicationTimelineScroll{padding:4px 18px 22px}
  .publicationSingleTimeline{min-width:0;padding:0}
  .publicationDot,.publicationTimelineCard:before{display:none}
  .publicationTimelineTrack{display:grid;min-width:0;gap:14px;padding:0}
  .publicationMonth{width:auto!important;min-height:0;border:1px solid rgba(112,180,190,.45);border-radius:16px;background:rgba(251,247,241,.72)}
  .publicationMonthCards{display:grid;height:auto;padding:14px;gap:12px}
  .publicationMonthBand{position:static;height:auto;min-height:42px;border-radius:14px 14px 0 0;transform:none}
  .publicationTimelineCard{width:auto;height:auto;min-height:0;transform:none!important}
  .publicationCardBody{height:auto;min-height:0}
  .cardTypeBand{min-height:34px}
  .publicationConnectorDate{position:static;justify-content:flex-start;width:max-content;max-width:100%;margin:0 0 8px;transform:none}
  .publicationControls{position:static;padding:0;background:transparent;border-bottom:0;backdrop-filter:none}
  .publicationFilterRow{align-items:flex-start;flex-wrap:wrap;overflow:visible}
  .publicationFilterRow .filterLabel{width:100%;flex-basis:100%;font-size:.86rem}
  .publicationFilterRow .filter{min-height:40px;padding:8px 11px;font-size:.86rem}
  .publicationTodayMarker{display:none}
}

/* Accueil — accès et groupements */
.heroActionGrid{
  display:flex;
  align-items:flex-end;
  gap:28px;
  flex-wrap:wrap;
  margin-top:34px;
}
.spaceAccess{
  display:grid;
  gap:8px;
  color:var(--fond);
}
.spaceAccess>span{
  justify-self:center;
  font-size:.86rem;
  font-weight:950;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(251,247,241,.84);
}
.spaceBrace{
  position:relative;
  height:14px;
  margin:0 18px -3px;
  border-top:2px solid rgba(251,247,241,.72);
  border-left:2px solid rgba(251,247,241,.72);
  border-right:2px solid rgba(251,247,241,.72);
  border-radius:18px 18px 0 0;
}
.spacePills{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.spacePills .btn{
  min-width:160px;
}
.kpiSection{
  position:relative;
  padding:42px 0 36px;
  color:#0B2A4A;
  background:#FBF7F1;
  border-bottom:1px solid rgba(112,180,190,.28);
}
.kpiSection .container{
  width:min(1540px,calc(100% - 56px));
}
.kpiHeader{
  display:grid;
  gap:8px;
  margin:8px 0 14px;
}
.kpiHeader h2{
  margin:0;
  color:#0B2A4A;
  font-size:clamp(2rem,3.2vw,3.65rem);
  line-height:1;
  letter-spacing:0;
}
.kpiToolbar{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:0 0 16px;
}
.kpiFilterButton{
  min-height:38px;
  border:1px solid rgba(112,180,190,.58);
  border-radius:999px;
  background:rgba(255,255,255,.7);
  color:#326191;
  padding:8px 13px;
  font:inherit;
  font-size:.86rem;
  font-weight:850;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.kpiFilterButton:hover,
.kpiFilterButton:focus-visible{
  border-color:#326191;
  outline:0;
  box-shadow:0 0 0 3px rgba(112,180,190,.24);
}
.kpiFilterButton.active,
.kpiFilterButton.related{
  background:#326191;
  border-color:#326191;
  color:#FBF7F1;
}
.kpiLayout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(318px,360px);
  gap:18px;
  align-items:stretch;
}
.kpiMosaic{
  display:grid;
  grid-template-columns:1.38fr repeat(4,minmax(0,1fr));
  grid-template-rows:134px 120px 108px 108px;
  gap:11px;
  min-width:0;
}
.kpiTile{
  --kpi-accent:#326191;
  --kpi-bg:#326191;
  --kpi-number-color:#FFFFFF;
  --kpi-label-color:rgba(255,255,255,.88);
  position:relative;
  display:flex;
  min-width:0;
  min-height:0;
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-start;
  padding:17px 18px 16px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  background:var(--kpi-bg);
  color:var(--kpi-number-color);
  text-align:left;
  cursor:pointer;
  overflow:hidden;
  box-shadow:0 12px 26px rgba(50,97,145,.08);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,opacity .18s ease,filter .18s ease;
}
.kpiTile:before{
  content:none;
}
.kpiTile:after{
  content:none;
}
.kpiTile:hover,
.kpiTile:focus-visible{
  transform:none;
  border-color:rgba(255,255,255,.72);
  outline:0;
  box-shadow:0 18px 38px rgba(50,97,145,.14);
}
.kpiTile.active{
  border-color:rgba(255,255,255,.82);
  box-shadow:0 0 0 3px rgba(190,60,63,.18),0 18px 38px rgba(50,97,145,.16);
}
.kpiTile.dimmed{
  opacity:.46;
  filter:saturate(.72);
}
.kpiNumber{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  margin:0 0 7px;
  color:var(--kpi-number-color);
  font-size:clamp(2.02rem,2.55vw,3.15rem);
  line-height:1.02;
  font-weight:950;
  letter-spacing:0;
  white-space:nowrap;
  overflow:visible;
}
.kpiLabel{
  position:relative;
  z-index:1;
  display:block;
  max-width:100%;
  color:var(--kpi-label-color);
  font-size:.84rem;
  line-height:1.18;
  font-weight:820;
}
.kpi-tile-main{
  grid-column:span 2;
  grid-row:span 2;
  padding:24px;
}
.kpi-tile-main .kpiNumber{
  font-size:clamp(3rem,4.8vw,5.65rem);
  line-height:1;
}
.kpi-tile-main .kpiLabel{
  max-width:340px;
  font-size:1rem;
}
.kpi-tile-wide{
  grid-column:span 3;
}
.kpi-tile-emploi{
  --kpi-accent:#3f7f89;
  --kpi-bg:#3f7f89;
}
.kpi-tile-economy{
  --kpi-accent:#326191;
  --kpi-bg:#326191;
}
.kpi-tile-mobilite{
  --kpi-accent:#8a6b43;
  --kpi-bg:#8a6b43;
}
.kpi-tile-usage{
  --kpi-accent:#5f6f96;
  --kpi-bg:#5f6f96;
}
.kpi-tile-fnam{
  --kpi-accent:#70b4be;
  --kpi-bg:#70b4be;
  --kpi-number-color:#0B2A4A;
  --kpi-label-color:#0B2A4A;
}
.kpi-tile-transition{
  --kpi-accent:#C77165;
  --kpi-bg:#C77165;
}
.kpiDetails{
  position:sticky;
  top:104px;
  align-self:start;
  height:503px;
  min-height:503px;
  padding:24px;
  border:1px solid rgba(112,180,190,.48);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(251,247,241,.84));
  box-shadow:0 18px 48px rgba(50,97,145,.12);
  overflow:auto;
  scrollbar-gutter:stable;
  scrollbar-width:auto;
  scrollbar-color:#326191 rgba(112,180,190,.18);
}
.kpiDetails::-webkit-scrollbar{width:12px}
.kpiDetails::-webkit-scrollbar-track{background:rgba(112,180,190,.16);border-radius:999px}
.kpiDetails::-webkit-scrollbar-thumb{background:#326191;border:3px solid rgba(251,247,241,.92);border-radius:999px}
.kpiDetailsKicker{
  display:inline-flex;
  margin-bottom:12px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(112,180,190,.16);
  color:#326191;
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.kpiDetails h3{
  margin:0 0 10px;
  color:#0B2A4A;
  font-size:clamp(1.45rem,2vw,2rem);
  line-height:1.08;
  letter-spacing:0;
}
.kpiDetails p{
  margin:0 0 16px;
  color:#3a6da0;
  font-size:.96rem;
  line-height:1.48;
  font-weight:520;
}
.kpiSourceGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:0 0 16px;
}
.kpiSourceCard{
  min-width:0;
  padding:12px;
  border:1px solid rgba(112,180,190,.38);
  border-radius:14px;
  background:rgba(251,247,241,.72);
  color:#326191;
  font-size:.84rem;
  line-height:1.25;
  font-weight:780;
}
.kpiSourceCard span{
  display:block;
  margin-bottom:4px;
  color:#5092b6;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.kpiSourceCard a{
  color:#326191;
  text-decoration:none;
  border-bottom:1px solid rgba(190,60,63,.36);
}
.kpiDetailsList{
  display:grid;
  gap:9px;
}
.kpiDetailsItem{
  position:relative;
  padding:10px 10px 10px 28px;
  border-radius:13px;
  background:rgba(255,255,255,.72);
  color:#326191;
  font-size:.9rem;
  line-height:1.34;
  font-weight:660;
}
.kpiDetailsItem:before{
  content:"";
  position:absolute;
  left:12px;
  top:17px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#be3c3f;
}
.kpiCtaRow{
  display:flex;
  margin-top:16px;
}
.kpiCta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:10px 14px;
  border-radius:999px;
  background:#326191;
  color:#FBF7F1;
  text-decoration:none;
  font-weight:850;
  font-size:.88rem;
}
.kpiCtaDisabled{
  background:rgba(50,97,145,.12);
  color:#3a6da0;
  cursor:default;
}
/* =========================================================================
   DS · Section chiffres clés accueil (design system v2)
   Toolbar + mosaïque familles + bloc détails sticky
   ========================================================================= */
.dsKpiSection{
  position:relative;
  padding:64px 0 56px;
  background:var(--fnam-paper-warm,#efe7d6);
}
.dsKpiSection__inner{
  width:min(var(--container-max,1240px),calc(100% - 48px));
  margin:0 auto;
}
.dsKpiSection__head{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  margin-bottom:var(--sp-6,24px);
}
.dsKpiSection__head h2{
  font-family:var(--font-display,'DM Sans',sans-serif);
  font-size:var(--fs-h2,32px);
  line-height:var(--lh-h2,1.18);
  letter-spacing:var(--tk-h2,-0.01em);
  font-weight:600;
  color:var(--fnam-bleu-roi-900,#1c3a59);
  margin:4px 0 0;
  display:inline-block;
  padding-bottom:var(--sp-2,8px);
  border-bottom:2px solid var(--fnam-rouge-bordeaux,#be3c3f);
}
/* Toolbar — pilules de filtre */
.dsKpiToolbar{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 var(--sp-5,20px);
}
.dsKpiPill{
  border:1px solid var(--border-2,rgba(26,26,26,.18));
  background:var(--fnam-ivory,#fbf8f1);
  color:var(--fnam-bleu-roi-900,#1c3a59);
  border-radius:var(--r-pill,999px);
  padding:8px 14px;
  font-family:var(--font-sans,'DM Sans',sans-serif);
  font-size:13px;
  font-weight:600;
  letter-spacing:0.02em;
  cursor:pointer;
  transition:background var(--dur-fast,140ms) var(--ease-standard,cubic-bezier(.2,.6,.2,1)),
             color var(--dur-fast,140ms) var(--ease-standard),
             border-color var(--dur-fast,140ms) var(--ease-standard),
             transform var(--dur-fast,140ms) var(--ease-standard);
}
.dsKpiPill:hover{
  border-color:var(--fnam-bleu-roi,#326191);
  background:var(--fnam-bleu-roi-50,#f3f7fb);
}
.dsKpiPill[aria-pressed="true"]{
  background:var(--fnam-bleu-roi,#326191);
  border-color:var(--fnam-bleu-roi,#326191);
  color:#fff;
}
.dsKpiPill:focus-visible{
  outline:none;
  box-shadow:var(--shadow-focus,0 0 0 3px rgba(50,97,145,.28));
}

/* Layout principal : mosaïque + détails.
   `contain: layout` isole les recalculs (resize d'un enfant ne remonte pas
   au-dessus, donc le scroll-snap ne se ré-aligne pas). */
.dsKpiLayout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,380px);
  gap:var(--sp-5,20px);
  align-items:stretch;
  contain:layout style;
}
.dsKpiVisual{
  display:flex;
  flex-direction:column;
  gap:var(--sp-4,16px);
  min-width:0;
}
.dsKpiMosaic{
  display:grid;
  gap:var(--sp-3,12px);
  flex:1;
  min-height:0;
}
.dsKpiMosaic--overview{
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
}
.dsKpiMosaic--expanded{
  grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(0,1fr));
  grid-auto-rows:minmax(140px,1fr);
  align-content:stretch;
}

/* Tuile de base — design system aplat, radius 10px, pas de gradient
   IMPORTANT : aucun transform/border/outline/filter qui modifierait les
   dimensions ou créerait un nouveau stacking context au survol. L'état
   actif/hover s'exprime UNIQUEMENT via box-shadow inset (qui ne déplace
   ni n'agrandit la tuile et n'impacte pas les voisines). On utilise aussi
   `contain: layout style` pour isoler tout reflow interne. */
.dsKpiTile{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:var(--sp-3,12px);
  padding:20px 22px 18px;
  border-radius:var(--r-4,10px);
  border:0;
  background:var(--fnam-bleu-roi,#326191);
  color:#fff;
  text-align:left;
  cursor:pointer;
  font:inherit;
  /* Cadre permanent invisible, basculé en couleur pour l'état actif/hover.
     Comme c'est un box-shadow inset, il ne change pas la taille rendue. */
  box-shadow:inset 0 0 0 2px transparent;
  transition:box-shadow var(--dur-fast,140ms) var(--ease-standard,cubic-bezier(.2,.6,.2,1)),
             background-color var(--dur-fast,140ms) var(--ease-standard);
  min-width:0;
  overflow:hidden;
  outline:none;
  /* Isolation : aucune modification interne ne propage en dehors */
  contain:layout style;
}
/* En mode immersive (grand écran), on répartit le contenu vertical pour
   exploiter la hauteur généreuse des tuiles. En compact/mobile, on laisse
   le contenu groupé en haut (justify-content:flex-start) pour minimiser
   le vide visible quand la tuile reste proche du contenu. */
body[data-responsive-mode="immersive"] .dsKpiTile{
  justify-content:space-between;
}
/* Hover : voile interne très léger via box-shadow superposé,
   PAS de filter (qui crée un stacking context et peut décaler subpixel),
   PAS de transform. */
.dsKpiTile:hover,
.dsKpiTile:focus-visible{
  box-shadow:inset 0 0 0 2px transparent,
             inset 0 0 0 9999px rgba(255,255,255,.06);
}
.dsKpiTile--fnam:hover,
.dsKpiTile--fnam:focus-visible{
  box-shadow:inset 0 0 0 2px transparent,
             inset 0 0 0 9999px rgba(28,58,89,.05);
}
/* État actif (sélectionné) : liseré inset rouge bordeaux. Ce box-shadow
   est combiné au voile hover quand les deux sont présents. */
.dsKpiTile.is-active{
  box-shadow:inset 0 0 0 2px var(--fnam-rouge-bordeaux,#be3c3f);
}
.dsKpiTile.is-active:hover,
.dsKpiTile.is-active:focus-visible{
  box-shadow:inset 0 0 0 2px var(--fnam-rouge-bordeaux,#be3c3f),
             inset 0 0 0 9999px rgba(255,255,255,.06);
}
.dsKpiTile--fnam.is-active:hover,
.dsKpiTile--fnam.is-active:focus-visible{
  box-shadow:inset 0 0 0 2px var(--fnam-rouge-bordeaux,#be3c3f),
             inset 0 0 0 9999px rgba(28,58,89,.05);
}
.dsKpiTile__family{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.85);
  width:fit-content;
}
.dsKpiTile__dot{
  width:8px;height:8px;border-radius:50%;
  background:currentColor;
  flex:0 0 8px;
}
.dsKpiTile__body{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}
.dsKpiTile__num{
  display:block;
  font-family:var(--font-display,'DM Sans',sans-serif);
  font-size:clamp(1.4rem,2.05vw,2.15rem);
  font-weight:700;
  /* line-height >= 1.1 pour laisser de la place aux descendants (€, ç, %)
     et éviter tout débordement vertical. */
  line-height:1.12;
  letter-spacing:-0.02em;
  color:#fff;
  /* Permet au chiffre de se contracter si la tuile est étroite plutôt que
     déborder en nowrap. */
  white-space:normal;
  overflow-wrap:break-word;
  word-break:break-word;
  max-width:100%;
  padding-block:1px;
}
.dsKpiValueScale{
  display:flex;
  align-items:baseline;
  gap:clamp(4px,.55vw,8px);
  flex-wrap:wrap;
  max-width:100%;
  line-height:.95;
}
.dsKpiValueScale__item{
  display:inline-flex;
  align-items:baseline;
  gap:clamp(4px,.5vw,7px);
  white-space:nowrap;
}
.dsKpiValueScale__item--sm{font-size:.62em}
.dsKpiValueScale__item--md{font-size:.78em}
.dsKpiValueScale__item--lg{font-size:1.05em}
.dsKpiValueScale__slash{
  font-size:.58em;
  opacity:.72;
  transform:translateY(-.08em);
}
.dsKpiTile__label{
  display:block;
  font-size:13px;
  font-weight:500;
  line-height:1.3;
  color:rgba(255,255,255,.92);
  letter-spacing:0;
  text-transform:none;
  /* Le label peut prendre la pleine largeur disponible et se replier sur
     plusieurs lignes plutôt que déborder. */
  max-width:100%;
  overflow-wrap:break-word;
  hyphens:auto;
}
.dsKpiTile__action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:6px;
  padding:8px 10px;
  border-radius:var(--r-3,6px);
  background:rgba(255,255,255,.16);
  font-size:11.5px;
  font-weight:600;
  color:rgba(255,255,255,.96);
  min-width:0;
}
.dsKpiTile__action span:first-child{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dsKpiTile__action span:last-child{
  font-size:15px;
  line-height:1;
}

/* ---- Variations par famille (palette design system, sans gradient) ---- */
.dsKpiTile--economy{ background:var(--fnam-bleu-roi,#326191); }
.dsKpiTile--emploi{ background:var(--fnam-bleu-roi-900,#1c3a59); }
.dsKpiTile--mobilite{ background:var(--fnam-bleu-gris,#5092b6); }
.dsKpiTile--fnam{
  background:var(--fnam-cyan-pale,#70b4be);
  color:var(--fnam-bleu-roi-900,#1c3a59);
}
.dsKpiTile--fnam .dsKpiTile__family{ color:rgba(28,58,89,.78); }
.dsKpiTile--fnam .dsKpiTile__num{ color:var(--fnam-bleu-roi-900,#1c3a59); }
.dsKpiTile--fnam .dsKpiTile__label{ color:rgba(28,58,89,.86); }
.dsKpiTile--fnam .dsKpiTile__action{
  background:rgba(28,58,89,.12);
  color:var(--fnam-bleu-roi-900,#1c3a59);
}
.dsKpiTile--transition{ background:var(--fnam-terracotta,#C77165); }
/* Usages & passagers : bleu-ardoise désaturé, distinct des autres bleus
   (Économie, Emploi, Mobilité, FNAM) tout en restant institutionnel.
   Réf. v1 historique : couleur déjà associée à la famille usages. */
.dsKpiTile--usage{ background:#5f6f96; }

/* Tuile lead (vue expanded) — plus grande */
.dsKpiTile--lead{
  grid-row:span 2;
}
.dsKpiTile--lead .dsKpiTile__num{
  font-size:clamp(2.4rem,3.4vw,3.6rem);
}

/* Bouton retour */
.dsKpiReturn{
  display:flex;
  justify-content:flex-start;
}
.dsKpiReturn:empty{ display:none; }
.dsKpiReturnBtn{
  border:1px solid var(--border-2,rgba(26,26,26,.18));
  background:var(--fnam-ivory,#fbf8f1);
  color:var(--fnam-bleu-roi,#326191);
  border-radius:var(--r-pill,999px);
  padding:9px 18px;
  font-family:var(--font-sans,'DM Sans',sans-serif);
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  transition:border-color var(--dur-fast,140ms) var(--ease-standard,cubic-bezier(.2,.6,.2,1)),
             transform var(--dur-fast,140ms) var(--ease-standard);
}
.dsKpiReturnBtn:hover{
  border-color:var(--fnam-bleu-roi,#326191);
  background:var(--fnam-bleu-roi-50,#f3f7fb);
}

/* Bloc détails (sticky) — dimensions verrouillées pour que le contenu
   variable (titre 1 ou 2 lignes, sources +/- longues) NE provoque PAS de
   reflow externe (donc pas de re-snap, pas de décalage de la mosaïque). */
.dsKpiDetails{
  position:sticky;
  top:18px;
  display:grid;
  /* Hauteur fixe pour la zone d'en-tête, ajustée pour accommoder le titre
     forcé sur 2 lignes (min-height) + kicker + sources + paddings + cadre
     E5 sans déborder dans la zone scroll. */
  grid-template-rows:208px minmax(0,1fr);
  /* Bordure bordeaux légère (E3) — clin d'œil charte sur tout le bloc. */
  border:1px solid rgba(190,60,63,.35);
  border-radius:var(--r-4,10px);
  /* Fond du bloc (= partie scrollable du bas, __scroll hérite de ce bg). */
  background:var(--fnam-ivory,#fbf8f1);
  box-shadow:var(--shadow-2,0 4px 10px rgba(28,58,89,.08));
  overflow:hidden;
  min-height:0;
  /* Isole les recalculs internes (re-render de contenu) de l'extérieur. */
  contain:layout style size;
}
/* Partie haute (header band) — fond paper-warm (D), séparation D6 :
   filet bordeaux 1px + petit décalage paper-edge via box-shadow. Style
   E5 : cadre paper-edge intérieur (border + radius + margin) pour
   accentuer la distinction visuelle avec le scroll en dessous. */
.dsKpiDetails__fixed{
  margin:6px 6px 4px;
  padding:14px 16px 12px;
  border:1px solid var(--fnam-paper-edge,#e6dcc6);
  border-bottom:1px solid var(--fnam-rouge-bordeaux,#be3c3f);
  border-radius:8px 8px 0 0;
  background:var(--fnam-paper-warm,#efe7d6);
  box-shadow:0 3px 0 0 var(--fnam-paper-warm,#efe7d6),0 4px 0 0 var(--fnam-paper-edge,#e6dcc6);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.dsKpiDetails__kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--fnam-bleu-roi-900,#1c3a59);
  margin-bottom:10px;
}
.dsKpiDetails__dot{
  width:8px;height:8px;border-radius:50%;
  background:currentColor;
  flex:0 0 8px;
}
.dsKpiDetails__title{
  /* Force le titre à occuper la place de 2 lignes même quand il en a une
     seule, pour que la position des sources Source/Année reste constante
     d'une tuile à l'autre. */
  min-height:2.4em;
  font-family:var(--font-display,'DM Sans',sans-serif);
  font-size:var(--fs-h3,24px);
  line-height:1.2;
  letter-spacing:-0.01em;
  font-weight:700;
  color:var(--fnam-bleu-roi-900,#1c3a59);
  margin:0 0 12px;
}
.dsKpiDetails__sources{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.dsKpiSourcePill{
  border-radius:var(--r-3,6px);
  padding:8px 10px;
  background:var(--fnam-bleu-roi-50,#f3f7fb);
  font-size:12px;
  line-height:1.3;
  color:var(--fnam-bleu-roi-900,#1c3a59);
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
/* Label (premier span : "Source", "Année") — style eyebrow discret,
   bien séparé du contenu pour qu'on distingue clairement le titre du
   contenu lui-même. */
.dsKpiSourcePill > span:first-child{
  display:block;
  font-size:10px;
  letter-spacing:0.10em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--fg-3,#7a7a7a);
  margin-bottom:6px;
}
/* Contenu (span avec data-slot) — typographie normale, plus prononcée
   pour bien le distinguer du label en majuscules au-dessus. */
.dsKpiSourcePill > span[data-slot]{
  display:block;
  font-size:13px;
  font-weight:600;
  letter-spacing:normal;
  text-transform:none;
  color:var(--fnam-bleu-roi-900,#1c3a59);
  line-height:1.3;
}
.dsKpiSourcePill a{
  color:var(--fnam-bleu-roi,#326191);
  font-weight:600;
  text-decoration:none;
}
.dsKpiSourcePill a:hover{ color:var(--fnam-bleu-roi-800,#244a72); }
.dsKpiDetails__scroll{
  padding:18px 24px 20px;
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:var(--fnam-bleu-roi,#326191) var(--fnam-bleu-roi-100,#e3ecf4);
  /* Réserve toujours la place de la scrollbar pour éviter un décalage de
     largeur quand on change de tuile (contenu + ou - long). */
  scrollbar-gutter:stable;
  min-height:0;
}
.dsKpiDetails__scroll::-webkit-scrollbar{ width:8px; }
.dsKpiDetails__scroll::-webkit-scrollbar-track{
  background:var(--fnam-bleu-roi-100,#e3ecf4);
  border-radius:999px;
}
.dsKpiDetails__scroll::-webkit-scrollbar-thumb{
  background:var(--fnam-bleu-roi,#326191);
  border-radius:999px;
}
.dsKpiDetails__intro{
  font-size:14px;
  line-height:1.5;
  color:var(--fg-2,#3d3d3d);
  margin:0 0 14px;
}
.dsKpiDetails__list{
  list-style:none;
  margin:0 0 16px;
  padding:0;
  display:grid;
  gap:10px;
}
.dsKpiDetails__list li{
  position:relative;
  padding-left:20px;
  font-size:13.5px;
  line-height:1.45;
  color:var(--fg-1,#1a1a1a);
}
.dsKpiDetails__list li::before{
  content:"";
  position:absolute;
  left:2px;
  top:7px;
  width:8px;height:8px;
  border-radius:50%;
  background:var(--fnam-rouge-bordeaux,#be3c3f);
}
.dsKpiDetails__ctaRow{
  margin-top:12px;
  display:flex;
  justify-content:center;
}
.dsKpiDetails__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  /* Calibré sur les pilules de filtre (.dsKpiPill) — même taille
     desktop et mobile : padding 8px 14px, font 13px, weight 600. */
  padding:8px 14px;
  font-size:13px;
  font-weight:600;
  letter-spacing:0.02em;
  min-height:0;
  line-height:1.2;
  border-radius:var(--r-pill,999px);
}
.dsKpiDetails__cta.is-disabled{
  background:var(--fnam-bleu-roi-100,#e3ecf4);
  color:var(--fnam-bleu-roi,#326191);
  border-color:transparent;
  cursor:default;
  pointer-events:none;
}

/* ---- Responsive ≤ 1080px (tablette : layout en colonne) ---- */
@media(max-width:1080px){
  .dsKpiSection{
    padding:48px 0 44px;
  }
  .dsKpiLayout{
    grid-template-columns:1fr;
    gap:var(--sp-4,16px);
  }
  .dsKpiDetails{
    position:relative;
    top:auto;
  }
  .dsKpiMosaic--overview{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:auto;
  }
  .dsKpiMosaic--expanded{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .dsKpiTile--lead{
    grid-row:span 1;
  }
  .dsKpiTile{ min-height:138px; }
}

/* ---- Responsive ≤ 760px (mobile) — alignement comportement v1 ----
   Logique :
   - Mode overview : pilules en haut, tuiles principales (1 par famille)
     empilées verticalement. Le bloc détails est MASQUÉ — l'utilisateur
     n'a pas encore choisi de famille.
   - Mode expanded (clic sur une pilule de famille ou une tuile principale) :
     toolbar sticky en haut, rangée de tuiles de la famille sticky juste en
     dessous (scroll horizontal entre les tuiles), bloc détails déroulant
     sous la rangée. Le bouton "Revenir à la synthèse" est placé APRÈS
     le bloc détails pour ne pas s'intercaler entre tuiles et chiffre. */
@media(max-width:760px){
  .dsKpiSection{
    padding:32px 0 28px;
  }
  .dsKpiSection__inner{
    width:min(100%,calc(100vw - 28px));
  }
  .dsKpiSection__head{
    margin-bottom:var(--sp-4,16px);
  }
  .dsKpiSection__head h2{
    font-size:clamp(22px,5.6vw,30px);
  }
  /* Layout mobile : la grille à 2 colonnes du desktop devient un flux block,
     pour permettre aux éléments sticky (toolbar + visual) de fonctionner
     sur le scroll de la page. On lève aussi overflow:hidden et contain
     car ils brisent le sticky positioning des descendants. !important
     nécessaire pour neutraliser les règles is-home plus spécifiques.
     Padding-top explicite de la section pour assurer un espace en début
     de section identique à la v1 (32px). */
  body.is-home #main > .home-snap-block--kpi,
  body.is-home #main > .home-snap-block--kpi > .dsKpiSection__inner,
  body.is-home #main > .home-snap-block--kpi .dsKpiLayout,
  body.is-home #main > .home-snap-block--kpi .dsKpiVisual,
  .dsKpiSection,
  .dsKpiSection__inner,
  .dsKpiLayout,
  .dsKpiVisual{
    overflow:visible!important;
    contain:none!important;
  }
  body.is-home #main > .home-snap-block--kpi{
    height:auto!important;
    min-height:0!important;
    padding-top:32px!important;
    padding-bottom:8px!important;
  }
  body.is-home #main > .home-snap-block--kpi > .dsKpiSection__inner{
    height:auto!important;
    padding:0 14px!important;
  }
  .dsKpiLayout{
    display:block;
  }
  .dsKpiVisual{
    gap:0;
    height:auto!important;
  }
  .dsKpiToolbar{
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    margin-inline:-14px;
    padding:4px 14px 10px;
  }
  .dsKpiToolbar::-webkit-scrollbar{ display:none; }
  .dsKpiPill{ white-space:nowrap; flex-shrink:0; }
  /* Mode overview : tuiles principales empilées (1 par famille) */
  .dsKpiMosaic--overview{
    grid-template-columns:1fr;
    grid-template-rows:auto;
  }
  /* En mode overview, le bloc détails est caché (l'utilisateur n'a pas
     encore choisi de famille — le clic sur une tuile principale fera
     basculer en mode expanded, qui affiche les détails). */
  .dsKpiSection--overview .dsKpiDetails{
    display:none;
  }
  /* Mode expanded — réorganisation du dsKpiLayout pour placer le bouton
     "Revenir" APRÈS le bloc détails. On utilise display:contents sur le
     dsKpiVisual pour que mosaïque et bouton retour deviennent enfants
     directs du layout, puis on les ordonne avec flex order. */
  .dsKpiSection--expanded .dsKpiLayout{
    display:flex;
    flex-direction:column;
    gap:0;
  }
  .dsKpiSection--expanded .dsKpiVisual{
    display:contents;
  }
  .dsKpiSection--expanded .dsKpiMosaic--expanded{ order:1; }
  .dsKpiSection--expanded .dsKpiDetails{ order:2; }
  .dsKpiSection--expanded .dsKpiReturn{ order:3; }
  /* Toolbar sticky en haut */
  .dsKpiSection--expanded .dsKpiToolbar{
    position:sticky;
    top:0;
    z-index:6;
    margin-inline:-14px;
    padding:10px 14px 8px;
    background:linear-gradient(180deg,rgba(251,247,241,.99),rgba(251,247,241,.94));
    border-bottom:1px solid rgba(112,180,190,.34);
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
  }
  /* La rangée de tuiles devient sticky elle-même (puisque visual est en
     display:contents). On lui applique le strip sticky qui était sur visual. */
  .dsKpiSection--expanded .dsKpiMosaic--expanded{
    position:sticky;
    top:55px;
    z-index:5;
    margin-inline:-14px;
    padding:8px 14px 10px;
    background:linear-gradient(180deg,rgba(251,247,241,.98),rgba(251,247,241,.92));
    border-bottom:1px solid rgba(112,180,190,.34);
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
    display:flex;
    flex-direction:row;
    gap:10px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
    grid-template-columns:none;
    grid-template-rows:none;
    -webkit-overflow-scrolling:touch;
  }
  .dsKpiMosaic--expanded .dsKpiTile{
    flex:0 0 min(78vw,280px);
    scroll-snap-align:start;
    min-height:132px;
  }
  .dsKpiMosaic--expanded .dsKpiTile--lead{
    grid-row:auto;
  }
  .dsKpiTile{
    min-height:120px;
    padding:18px 18px 14px;
  }
  .dsKpiTile__num{
    font-size:clamp(1.85rem,7vw,2.4rem);
  }
  .dsKpiTile__action{
    padding:8px 10px;
    font-size:11.5px;
  }
  /* Bloc détails (uniquement visible en mode expanded) — affiché en flux
     normal sous la rangée de tuiles, sans cadre externe ni hauteur fixée.
     Padding-top du __fixed augmenté pour aérer l'arrivée du chiffre/thème. */
  .dsKpiSection--expanded .dsKpiDetails{
    position:relative;
    top:auto;
    display:block;
    height:auto;
    min-height:0;
    max-height:none;
    margin-top:0;
    contain:none;
  }
  .dsKpiSection--expanded .dsKpiReturn{
    margin-top:8px;
    justify-content:stretch;
  }
  .dsKpiReturnBtn{
    width:100%;
  }
  .dsKpiDetails__fixed{ padding:28px 18px 16px; }
  .dsKpiDetails__scroll{ padding:14px 18px 18px; overflow:visible; }
  .dsKpiDetails__title{ font-size:20px; }
  .dsKpiDetails__sources{ grid-template-columns:1fr; }
  /* CTA "Consulter la source" : la taille est déjà calibrée sur les
     pilules au niveau global (.dsKpiDetails__cta), pas besoin d'override
     spécifique au mobile. */
}

.impactSection{
  position:relative;
  padding:72px 0 82px;
  color:#0B2A4A;
  background:#FBF7F1;
  overflow:hidden;
}
.impactSection:before{
  content:none;
}
.impactSection .container{
  width:min(1540px,calc(100% - 56px));
}
.ecosystemCard{
  position:relative;
  display:grid;
  gap:22px;
  padding:28px;
  border:1px solid rgba(112,180,190,.45);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,253,249,.92),rgba(255,255,255,.72));
  box-shadow:0 24px 64px rgba(50,97,145,.13);
  overflow:hidden;
}
.ecosystemStats{
  margin:0 0 22px;
}
.ecosystemCard:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 42% 56%,rgba(112,180,190,.14),transparent 31%),
    radial-gradient(circle at 88% 20%,rgba(80,146,182,.10),transparent 24%);
  pointer-events:none;
}
.ecosystemHeader,
.impactStack,
.ecosystemLayout{
  position:relative;
  z-index:1;
}
.ecosystemHeader{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,440px);
  gap:18px;
  align-items:end;
}
.ecosystemHeader h2{
  margin:0;
  color:#0B2A4A;
  font-size:clamp(2rem,3.2vw,3.7rem);
  line-height:1;
}
.ecosystemHeader p{
  margin:0;
  color:#3a6da0;
  font-size:1rem;
  line-height:1.45;
  font-weight:520;
}
.ecosystemLayout{
  display:grid;
  grid-template-columns:minmax(720px,1fr) minmax(330px,390px);
  gap:24px;
  align-items:stretch;
}
.impactStack{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.impactBlock{
  position:relative;
  min-height:118px;
  display:grid;
  align-content:center;
  gap:8px;
  padding:20px 22px 20px 26px;
  border:1px solid rgba(112,180,190,.45);
  border-radius:16px;
  background:rgba(255,255,255,.78);
  color:#0B2A4A;
  box-shadow:0 14px 30px rgba(50,97,145,.09);
  overflow:hidden;
}
.impactBlock:before{
  content:"";
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:5px;
  border-radius:0 999px 999px 0;
  background:#be3c3f;
}
.impactBlock:nth-child(2):before{background:#70b4be}
.impactBlock:nth-child(3):before{background:#5092b6}
.impactBlock:after{
  content:"";
  position:absolute;
  right:18px;
  top:18px;
  width:34px;
  height:34px;
  border:1px solid rgba(112,180,190,.38);
  border-radius:50%;
  opacity:.55;
}
.impactBlock strong{
  display:block;
  color:#326191;
  font-size:clamp(2.25rem,3.3vw,3.25rem);
  line-height:.96;
  letter-spacing:.01em;
  white-space:nowrap;
}
.impactBlock span{
  display:block;
  max-width:260px;
  color:#3a6da0;
  font-size:.88rem;
  line-height:1.22;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.orbitWrap{
  position:relative;
  height:720px;
  min-height:720px;
  border:1px solid rgba(112,180,190,.24);
  border-radius:18px;
  background:rgba(255,253,249,.62);
  overflow:hidden;
  isolation:isolate;
}
.orbitWrap:before,
.orbitWrap:after{
  content:none;
  position:absolute;
  left:50%;
  top:50%;
  width:68%;
  aspect-ratio:1;
  border:1px dashed rgba(80,146,182,.32);
  border-radius:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.orbitWrap:after{
  width:42%;
  border-style:solid;
  opacity:.72;
}
.ecosystemConnectors{
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  pointer-events:none;
}
.connector{
  stroke:#70b4be;
  stroke-width:1.35;
  opacity:.36;
  fill:none;
  vector-effect:non-scaling-stroke;
  transition:opacity .2s ease,stroke .2s ease,stroke-width .2s ease;
}
.connector.active{
  stroke:#326191;
  stroke-width:2.25;
  opacity:.95;
}
.orbitCenter{
  position:absolute;
  left:50%;
  top:50%;
  z-index:3;
  width:192px;
  height:192px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:7px;
  padding:26px;
  border-radius:50%;
  background:#FFFFFF;
  color:#0B2A4A;
  text-align:center;
  transform:translate(-50%,-50%);
  box-shadow:0 18px 48px rgba(50,97,145,.16);
  border:1px solid rgba(112,180,190,.34);
}
.orbitCenter:before{
  content:"";
  position:absolute;
  inset:-18px;
  z-index:-1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(112,180,190,.20),rgba(112,180,190,.08) 48%,transparent 72%);
  pointer-events:none;
}
.orbitCenter img{
  display:block;
  width:98px;
  height:auto;
  border-radius:0;
}
.orbitCenter strong{
  font-size:2.15rem;
  line-height:1;
  letter-spacing:.04em;
  color:#326191;
}
.orbitCenter span{
  max-width:144px;
  font-size:.68rem;
  font-weight:800;
  line-height:1.2;
  color:#0B2A4A;
}
.orbitCategory{
  position:relative;
  z-index:5;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 22px;
  border-radius:999px;
  background:#326191;
  color:#FFFFFF;
  font-size:.84rem;
  font-weight:950;
  line-height:1.15;
  letter-spacing:.05em;
  text-transform:uppercase;
  white-space:nowrap;
  text-align:center;
  box-shadow:0 12px 24px rgba(50,97,145,.18);
  transition:background .18s ease,color .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.orbitCategory.active{
  background:#be3c3f;
  color:#FFFFFF;
  box-shadow:0 16px 30px rgba(190,60,63,.22);
}
.familyCluster{
  position:absolute;
  z-index:4;
  display:grid;
  justify-items:center;
  gap:18px;
}
.familyCards{
  display:grid;
  gap:24px;
  justify-content:center;
}
.clusterExploitants{
  left:50%;
  top:28px;
  width:min(700px,calc(100% - 96px));
  transform:translateX(-50%);
}
.clusterExploitants .familyCards{
  grid-template-columns:repeat(4,132px);
}
.clusterInfrastructure{
  left:74px;
  top:472px;
  width:316px;
}
.clusterInfrastructure .orbitCategory{
  background:#70b4be;
  color:#0B2A4A;
}
.clusterInfrastructure .familyCards{
  grid-template-columns:repeat(2,132px);
}
.clusterAviation{
  right:64px;
  top:472px;
  width:220px;
}
.clusterAviation .orbitCategory{
  background:#5092b6;
}
.clusterAviation .familyCards{
  grid-template-columns:132px;
}
.familyCluster .orbitCategory.active{
  background:#be3c3f;
  color:#FFFFFF;
  box-shadow:0 16px 30px rgba(190,60,63,.22);
}
.orbitNodes{
  position:absolute;
  inset:0;
  z-index:4;
}
.orbitNode{
  position:relative;
  z-index:4;
  width:132px;
  height:172px;
  min-height:172px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:7px;
  padding:13px 12px;
  border:1px solid rgba(112,180,190,.34);
  border-radius:8px;
  background:#FFFFFF;
  color:#0B2A4A;
  cursor:pointer;
  box-shadow:0 14px 34px rgba(50,97,145,.10);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.orbitNode:hover{
  border-color:rgba(50,97,145,.56);
  box-shadow:0 16px 36px rgba(50,97,145,.13);
}
.orbitNode.active,
.orbitNode:focus{
  outline:none;
  border-color:#326191;
  box-shadow:0 0 0 4px rgba(112,180,190,.18),0 18px 40px rgba(50,97,145,.18);
  background:#FFFFFF;
}
.orbitNode:focus-visible{
  outline:3px solid rgba(190,60,63,.42);
  outline-offset:3px;
}
.orbitNode strong{
  font-size:.9rem;
  line-height:1.1;
  color:#0B2A4A;
  text-align:center;
}
.orbitNode span{
  display:block;
  max-width:112px;
  color:#326191;
  font-size:.74rem;
  line-height:1.35;
  font-weight:700;
  text-align:center;
  white-space:pre-line;
}
.groupLogo{
  display:block;
  width:92px;
  height:38px;
  object-fit:contain;
  border-radius:0;
  background:transparent;
}
.familyCluster .orbitNode{
  left:auto;
  right:auto;
  top:auto;
  bottom:auto;
}
.associateBadge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:19px;
  padding:3px 8px;
  border-radius:999px;
  background:#be3c3f;
  color:#FFFFFF;
  font-size:.54rem;
  font-style:normal;
  font-weight:950;
  letter-spacing:.055em;
  line-height:1;
  text-transform:uppercase;
}
.group-ebaa:after,.group-csta:after,.group-gipag:after,.group-sneh:after,.group-uaf:after,.group-csae:after,.group-gpma:after{
  content:none;
  position:absolute;
  left:50%;
  width:1px;
  background:rgba(80,146,182,.34);
  pointer-events:none;
}
.group-csta:after,.group-gpma:after,.group-ebaa:after,.group-sneh:after{
  top:100%;
  height:104px;
}
.group-uaf:after,.group-csae:after,.group-gipag:after{
  bottom:100%;
  height:104px;
}
.groupInfo{
  position:relative;
  top:auto;
  z-index:5;
  height:720px;
  min-height:720px;
  padding:30px 30px 26px;
  border:1px solid rgba(112,180,190,.45);
  border-radius:18px;
  background:rgba(255,255,255,.86);
  color:#0B2A4A;
  box-shadow:0 18px 44px rgba(50,97,145,.12);
  overflow:auto;
}
.groupInfo:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:5px;
  background:linear-gradient(90deg,#326191,#70b4be);
}
.groupInfo span{
  color:#326191;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.groupInfo h3{
  margin:14px 0 4px;
  color:#0B2A4A;
  font-size:1.6rem;
  line-height:1.1;
}
.groupInfo p{
  margin:0;
  color:#0B2A4A;
  line-height:1.55;
}
.groupInfo strong{
  display:block;
  margin:0 0 24px;
  color:#326191;
  font-size:1rem;
  line-height:1.25;
  font-weight:800;
}
.groupInfoLogo{
  display:block;
  width:190px;
  height:76px;
  object-fit:contain;
  margin:20px 0 6px;
}
.groupPresident{
  display:flex;
  align-items:center;
  gap:14px;
  margin:22px 0 4px;
  padding:14px;
  border:1px solid rgba(112,180,190,.42);
  border-radius:18px;
  background:rgba(251,247,241,.72);
}
.groupPresidentPhoto{
  width:82px;
  height:82px;
  flex:0 0 auto;
  border:3px solid rgba(112,180,190,.34);
  border-radius:999px;
  object-fit:cover;
  background:#fffdf9;
  box-shadow:0 12px 24px rgba(50,97,145,.12);
}
.groupPresidentInfo{
  min-width:0;
}
.groupPresidentInfo strong{
  margin:0 0 6px;
  color:#0B2A4A;
  font-size:1rem;
  line-height:1.15;
}
.groupPresidentInfo span{
  color:#3a6da0;
  font-size:.74rem;
  font-weight:950;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.groupInfoBlock{
  margin-top:24px;
  padding-top:22px;
  border-top:1px solid rgba(112,180,190,.32);
}
.groupInfoBlock h4{
  margin:0 0 12px;
  color:#326191;
  font-size:.82rem;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.groupInfoBlock ul{
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}
.groupInfoBlock li{
  position:relative;
  padding-left:20px;
  color:#0B2A4A;
  line-height:1.4;
}
.groupInfoBlock li:before{
  content:"";
  position:absolute;
  left:0;
  top:.58em;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#326191;
}
.groupLink{
  display:inline-flex;
  margin-top:14px;
  width:100%;
  min-height:46px;
  align-items:center;
  justify-content:center;
  padding:12px 16px;
  border:1px solid #326191;
  border-radius:999px;
  color:#FFFFFF;
  background:#326191;
  text-decoration:none;
  font-weight:900;
  font-size:.95rem;
}
.groupLink:hover{
  background:#3a6da0;
}
@media(max-width:1080px){
  .kpiLayout{grid-template-columns:1fr}
  .kpiMosaic{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto}
  .kpiTile{min-height:122px}
  .kpi-tile-main{grid-column:span 3;grid-row:auto;min-height:176px}
  .kpi-tile-wide{grid-column:span 2}
  .kpiDetails{position:relative;top:auto;height:auto;min-height:0}
  .ecosystemHeader{grid-template-columns:1fr}
  .ecosystemLayout{grid-template-columns:1fr}
  .impactStack{grid-template-columns:repeat(3,1fr)}
  .orbitWrap{height:720px;min-height:720px}
  .groupInfo{height:auto;min-height:auto}
}
@media(max-width:760px){
  .heroActionGrid{align-items:stretch}
  .spacePills .btn,.heroActionGrid>.btn{width:100%}
  .spaceBrace{display:none}
  .kpiSection{padding:34px 0 32px}
  .kpiSection .container{width:min(100% - 28px,1180px)}
  .kpiHeader h2{font-size:2.1rem}
  .kpiToolbar{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
  .kpiFilterButton{flex:0 0 auto;white-space:nowrap}
  .kpiLayout{gap:14px}
  .kpiMosaic{display:flex;flex-direction:column;gap:11px}
  .kpiTile,
  .kpi-tile-main,
  .kpi-tile-wide{
    min-height:118px;
    grid-column:auto;
    grid-row:auto;
    padding:17px;
  }
  .kpi-tile-main{min-height:158px}
  .kpiNumber{font-size:2.1rem}
  .kpi-tile-main .kpiNumber{font-size:3.1rem}
  .kpiLabel{font-size:.88rem}
  .kpiDetails{padding:20px;border-radius:18px}
  .kpiSourceGrid{grid-template-columns:1fr}
  .impactSection{padding:46px 0}
  .impactSection .container{width:min(100% - 28px,1180px)}
  .ecosystemCard{padding:18px;gap:16px;border-radius:18px}
  .ecosystemHeader h2{font-size:2rem}
  .ecosystemHeader p{font-size:.95rem}
  .impactStack{grid-template-columns:1fr}
  .impactBlock{min-height:132px}
  .orbitWrap{height:auto;min-height:auto;display:grid;gap:18px;padding:16px}
  .orbitWrap:before,.orbitWrap:after,.ecosystemConnectors{display:none}
  .orbitCenter{
    position:relative;
    left:auto;
    top:auto;
    width:100%;
    height:auto;
    min-height:150px;
    border-radius:16px;
    transform:none;
  }
  .orbitCenter:before{display:none}
  .orbitCategory{white-space:normal}
  .familyCluster{
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    width:100%;
    transform:none;
  }
  .familyCards{width:100%;grid-template-columns:1fr!important}
  .orbitNodes{position:static;display:grid;gap:12px}
  .orbitNode,.groupInfo{
    position:static;
    width:100%;
    height:auto;
    min-height:150px;
    transform:none;
  }
  .orbitNode:after{display:none}
  .groupInfo{opacity:1;pointer-events:auto;padding:24px;min-height:auto}
}

/* Page Qui sommes-nous */
.aboutPage{
  padding:52px 0 82px;
  background:linear-gradient(180deg,rgba(112,180,190,.10),#FBF7F1 220px);
}
.aboutPage .container{
  width:min(1540px,calc(100% - 56px));
}
.aboutLayout{
  display:grid;
  grid-template-columns:230px minmax(0,1fr);
  gap:28px;
  align-items:start;
}
.aboutSideNav{
  position:sticky;
  top:98px;
  display:grid;
  gap:6px;
  padding:16px;
  border:1px solid rgba(112,180,190,.42);
  border-radius:18px;
  background:rgba(255,253,249,.92);
  box-shadow:0 16px 36px rgba(50,97,145,.10);
}
.aboutSideNav strong{
  display:block;
  margin:0 0 8px;
  color:#0B2A4A;
  font-size:.82rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.aboutSideNav a{
  display:flex;
  align-items:center;
  min-height:40px;
  padding:9px 11px;
  border-radius:12px;
  color:#326191;
  text-decoration:none;
  font-weight:850;
  line-height:1.2;
}
.aboutSideNav a:hover,
.aboutSideNav a.active{
  background:rgba(112,180,190,.16);
  color:#0B2A4A;
}
.aboutSideNav a:focus-visible,
.aboutCommissionCard a:focus-visible{
  outline:3px solid rgba(190,60,63,.36);
  outline-offset:3px;
}
.aboutContent{
  min-width:0;
  display:grid;
  gap:26px;
}
.aboutIntro,
.aboutSection{
  scroll-margin-top:108px;
}
.aboutIntro{
  padding:32px 34px;
  border:1px solid rgba(112,180,190,.42);
  border-radius:22px;
  background:rgba(255,253,249,.88);
  box-shadow:0 18px 42px rgba(50,97,145,.10);
}
.aboutIntro h1{
  margin:8px 0 12px;
  color:#0B2A4A;
  font-size:clamp(2.2rem,4vw,4.7rem);
  line-height:1;
  letter-spacing:0;
}
.aboutIntro p{
  max-width:900px;
  margin:0;
  color:#326191;
  font-size:1.08rem;
  line-height:1.55;
  font-weight:520;
}
.aboutSection{
  padding:28px;
  border:1px solid rgba(112,180,190,.42);
  border-radius:22px;
  background:rgba(255,253,249,.72);
  box-shadow:0 18px 42px rgba(50,97,145,.08);
}
.sectionIntro{
  margin-bottom:22px;
}
.sectionIntro h2{
  margin:8px 0 10px;
  color:#0B2A4A;
  font-size:clamp(1.8rem,3vw,3.1rem);
  line-height:1.04;
  letter-spacing:0;
}
.sectionIntro p{
  max-width:930px;
  margin:0;
  color:#326191;
  font-size:1rem;
  line-height:1.55;
  font-weight:520;
}
.aboutNote{
  margin-top:16px!important;
  padding:16px 18px;
  border-left:4px solid #70b4be;
  border-radius:14px;
  background:rgba(112,180,190,.10);
  color:#0B2A4A!important;
}
.aboutGroupements .ecosystemCard{
  padding:24px;
  box-shadow:none;
}
.aboutGroupements .ecosystemLayout{
  grid-template-columns:minmax(700px,1fr) minmax(280px,320px);
  gap:20px;
}
.aboutGroupements .groupInfo{
  width:auto;
}
.aboutGovernanceLead,
.aboutCommissionCard,
.aboutTeamCard{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(112,180,190,.45);
  border-radius:16px;
  background:rgba(255,255,255,.78);
  box-shadow:0 12px 28px rgba(50,97,145,.07);
}
.aboutGovernanceLead{
  padding:22px 24px;
  margin-bottom:18px;
}
.aboutGovernanceLead:before,
.aboutCommissionCard:before,
.aboutTeamCard:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:4px;
  background:linear-gradient(90deg,#326191,#70b4be);
}
.aboutGovernanceLead h3,
.aboutCommissionCard h3,
.aboutTeamCard h3{
  margin:0 0 10px;
  color:#0B2A4A;
  font-size:1.24rem;
  line-height:1.15;
}
.aboutGovernanceLead p,
.aboutCommissionCard p,
.aboutTeamCard p{
  margin:0;
  color:#326191;
  line-height:1.5;
}
.aboutCommissionGrid,
.aboutTeamGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.aboutCommissionCard,
.aboutTeamCard{
  display:grid;
  gap:12px;
  align-content:start;
  padding:22px;
}
.aboutCommissionCard p strong{
  color:#0B2A4A;
}
.aboutCommissionCard .chip{
  justify-self:start;
  margin-top:4px;
}
.teamNames{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:4px;
}
.teamNames span{
  display:inline-flex;
  min-height:30px;
  align-items:center;
  padding:6px 10px;
  border:1px solid rgba(112,180,190,.42);
  border-radius:999px;
  background:rgba(112,180,190,.10);
  color:#0B2A4A;
  font-size:.86rem;
  font-weight:850;
  line-height:1.15;
}
.aboutActions{
  margin-top:18px;
}
.aboutGovernance .governanceBoard{
  margin-top:0;
}
.aboutGovernance .commissionsBlock{
  margin-top:34px;
}
.aboutGovernance .commissionsHead h2{
  font-size:clamp(1.7rem,2.4vw,2.6rem);
}
.aboutTeamPanel{
  padding:24px;
}
.aboutTeamHierarchy{
  display:grid;
  gap:18px;
}
.teamPoleBlock{
  position:relative;
  overflow:hidden;
  padding:22px;
  border:1px solid rgba(112,180,190,.45);
  border-radius:16px;
  background:rgba(255,255,255,.78);
  box-shadow:0 12px 28px rgba(50,97,145,.07);
}
.teamPoleBlock:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:4px;
  background:linear-gradient(90deg,#326191,#70b4be);
}
.teamPoleBlock h3{
  margin:0 0 18px;
  color:#326191;
  font-size:1.35rem;
  line-height:1.12;
}
.teamPolePeople{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
}
.aboutTeamPeople{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
@media(max-width:1260px){
  .aboutLayout{
    grid-template-columns:1fr;
  }
  .aboutSideNav{
    top:74px;
    z-index:8;
    grid-template-columns:auto repeat(4,max-content);
    align-items:center;
    overflow:auto;
    scrollbar-width:none;
  }
  .aboutSideNav::-webkit-scrollbar{display:none}
  .aboutSideNav strong{
    margin:0 8px 0 0;
    white-space:nowrap;
  }
  .aboutSideNav a{
    white-space:nowrap;
  }
  .aboutGroupements .ecosystemLayout{
    grid-template-columns:1fr;
  }
  .aboutGroupements .groupInfo{
    height:520px;
    min-height:520px;
    overflow:auto;
  }
  .aboutCommissionGrid,
  .aboutTeamGrid,
  .teamPolePeople,
  .teamPoleBlock:first-child .teamPolePeople,
  .aboutTeamPeople{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .aboutPage{
    padding:32px 0 58px;
  }
  .aboutPage .container{
    width:min(100% - 28px,1180px);
  }
  .aboutSideNav{
    top:74px;
    margin:0 -2px;
    padding:12px;
    border-radius:16px;
    grid-template-columns:1fr;
    gap:8px;
  }
  .aboutSideNav strong{
    margin:0;
  }
  .aboutSideNav a{
    min-height:36px;
  }
  .aboutIntro,
  .aboutSection{
    scroll-margin-top:160px;
  }
  .aboutIntro,
  .aboutSection{
    padding:22px;
    border-radius:18px;
  }
  .aboutIntro h1{
    font-size:clamp(2rem,10vw,2.7rem);
  }
  .aboutCommissionGrid,
  .aboutTeamGrid,
  .teamPolePeople,
  .teamPoleBlock:first-child .teamPolePeople,
  .aboutTeamPeople{
    grid-template-columns:1fr;
  }
  .aboutGroupements .ecosystemCard{
    padding:18px;
  }
  .aboutGroupements .groupInfo{
    height:460px;
    min-height:460px;
  }
  .groupPresident{
    align-items:flex-start;
    padding:12px;
  }
  .groupPresidentPhoto{
    width:66px;
    height:66px;
  }
}

/* Gouvernance & commissions */
.governanceSection{
  padding:80px 0 86px;
  background:linear-gradient(180deg,#FBF7F1,rgba(112,180,190,.10));
}
.governanceIntro{
  max-width:980px;
  margin-bottom:28px;
}
.governanceIntro h2,
.commissionsHead h2{
  margin:8px 0 0;
  color:#0B2A4A;
  font-size:clamp(2rem,3.8vw,4.2rem);
  line-height:1;
  letter-spacing:0;
}
.governanceIntro p{
  max-width:860px;
  margin:18px 0 0;
  color:#3a6da0;
  font-size:1.08rem;
  line-height:1.55;
  font-weight:420;
}
.governanceBoard{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  margin-top:28px;
}
.governanceCard,
.commissionCard{
  position:relative;
  overflow:hidden;
  padding:24px;
  border:1px solid rgba(112,180,190,.52);
  border-radius:26px;
  background:rgba(255,253,249,.88);
  box-shadow:0 18px 42px rgba(50,97,145,.12);
}
.governanceCard:before,
.commissionCard:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:5px;
  background:#70b4be;
}

/* Accueil — bloc immersif domaines */
.homeDomainsImmersive{
  position:relative;
  min-height:720px;
  isolation:isolate;
  overflow:hidden;
  background:#326191;
  color:#fff;
}
.homeDomainsVideo,
.homeDomainsPoster{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  z-index:-2;
}
.homeDomainsVideo{
  filter:saturate(.86) contrast(.98) brightness(.84);
}
.homeDomainsPoster{
  z-index:-3;
  background:url("../images/hero-fallback.jpg") center/cover no-repeat;
}
.homeDomainsOverlay{
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg,rgba(11,42,74,.96) 0%,rgba(50,97,145,.82) 38%,rgba(50,97,145,.36) 68%,rgba(11,42,74,.64) 100%),
    linear-gradient(180deg,rgba(11,42,74,.18) 0%,rgba(11,42,74,.16) 42%,rgba(11,42,74,.90) 100%);
}
.homeDomainsImmersive:after{
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  width:min(360px,42vw);
  height:130px;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(135deg,transparent 0%,rgba(11,42,74,.54) 58%,rgba(11,42,74,.90) 100%);
}
.homeDomainsContent{
  min-height:720px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:34px;
  padding:76px 0 38px;
  position:relative;
  z-index:1;
}
.homeDomainsCopy{
  max-width:850px;
}
.homeDomainsCopy .eyebrow{
  color:#70b4be;
}
.homeDomainsCopy h2{
  margin:14px 0 18px;
  color:#fff;
  font-size:clamp(3rem,6vw,6.2rem);
  line-height:.94;
  letter-spacing:0;
}
.homeDomainsCopy p{
  max-width:760px;
  margin:0;
  color:#FBF7F1;
  font-size:clamp(1.08rem,1.45vw,1.32rem);
  line-height:1.5;
}
.homeDomainsGrid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
.homeDomainCard{
  min-height:218px;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:20px;
  border:1px solid rgba(112,180,190,.72);
  border-radius:18px;
  background:rgba(11,42,74,.68);
  color:#fff;
  text-decoration:none;
  box-shadow:0 18px 38px rgba(7,28,51,.20);
  backdrop-filter:blur(10px);
  transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.homeDomainCard:hover,
.homeDomainCard:focus-visible{
  transform:translateY(-5px);
  border-color:#70b4be;
  background:rgba(50,97,145,.82);
  box-shadow:0 22px 44px rgba(7,28,51,.30);
  outline:none;
}
.homeDomainIndex{
  width:max-content;
  min-width:36px;
  min-height:36px;
  display:inline-grid;
  place-items:center;
  padding:6px 9px;
  border:1px solid rgba(112,180,190,.72);
  border-radius:999px;
  color:#FBF7F1;
  font-weight:950;
  font-size:.78rem;
  letter-spacing:.04em;
}
.homeDomainCard h3{
  margin:0;
  color:#fff;
  font-size:clamp(1rem,1.18vw,1.22rem);
  line-height:1.14;
  letter-spacing:0;
}
.homeDomainCard p{
  margin:0;
  color:rgba(251,247,241,.92);
  font-size:.93rem;
  line-height:1.42;
}
.homeDomainCta{
  margin-top:auto;
  color:#FBF7F1;
  font-weight:950;
  font-size:.82rem;
}
.homeDomainCta:after{
  content:" →";
}
.homeDomainsToggle{
  position:absolute;
  right:0;
  top:34px;
  min-height:42px;
  border:1px solid rgba(112,180,190,.72);
  border-radius:999px;
  background:rgba(11,42,74,.54);
  color:#FBF7F1;
  padding:10px 14px;
  font-weight:850;
  cursor:pointer;
  backdrop-filter:blur(10px);
}
.homeDomainsToggle:hover,
.homeDomainsToggle:focus-visible{
  outline:none;
  border-color:#FBF7F1;
  background:rgba(50,97,145,.82);
}
.homeDomainsImmersive.videoPaused .homeDomainsVideo{
  display:block;
}
@media(max-width:1180px){
  .homeDomainsGrid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:900px){
  .homeDomainsImmersive,
  .homeDomainsContent{
    min-height:auto;
  }
  .homeDomainsContent{
    padding:72px 0 34px;
  }
  .homeDomainsGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .homeDomainsToggle{
    position:relative;
    inset:auto;
    align-self:flex-start;
    order:3;
  }
}
@media(max-width:620px){
  .homeDomainsContent{
    padding:58px 0 28px;
  }
  .homeDomainsCopy h2{
    font-size:clamp(2.3rem,13vw,3.4rem);
  }
  .homeDomainsGrid{
    grid-template-columns:1fr;
  }
  .homeDomainCard{
    min-height:auto;
  }
}
@media(prefers-reduced-motion:reduce){
  .homeDomainsVideo{
    display:none!important;
  }
}
.governanceCardPrimary{
  border-color:rgba(190,60,63,.35);
}
.governanceCardPrimary:before{
  background:#be3c3f;
}
.governanceCard h3{
  margin:0 0 18px;
  color:#326191;
  font-size:1.35rem;
  line-height:1.12;
}
.governanceBureauList{
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:start;
}
.governanceBureauList .personCard{
  align-items:flex-start;
}
.personList,
.personStack{
  display:grid;
  gap:12px;
}
.personCard{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.personPhoto{
  width:62px;
  height:62px;
  flex:0 0 auto;
  overflow:hidden;
  display:grid;
  place-items:center;
  border:2px solid rgba(255,255,255,.82);
  border-radius:999px;
  background:linear-gradient(135deg,#326191,#5092b6);
  color:#FBF7F1;
  box-shadow:0 10px 24px rgba(50,97,145,.18);
}
.personPhoto.hasPhoto{
  background:#fffdf9;
}
.personPhoto span{
  color:#FBF7F1;
  font-size:.95rem;
  font-weight:950;
  letter-spacing:.04em;
}
.personPhoto img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:inherit;
}
.personInfo{
  flex:1 1 auto;
  min-width:0;
}
.personInfo strong{
  display:block;
  color:#0B2A4A;
  font-size:.98rem;
  line-height:1.15;
}
.personInfo span{
  display:block;
  margin-top:4px;
  color:#3a6da0;
  font-size:.9rem;
  line-height:1.28;
  font-weight:620;
}
.personMail{
  flex:0 0 auto;
  width:34px;
  height:34px;
  display:inline-grid;
  place-items:center;
  border:1px solid rgba(50,97,145,.24);
  border-radius:999px;
  color:#326191;
  background:rgba(255,255,255,.78);
  text-decoration:none;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.personMail svg{
  width:18px;
  height:18px;
  display:block;
  fill:currentColor;
}
.personMail:hover,
.personMail:focus-visible{
  color:#fff;
  background:#326191;
  border-color:#326191;
  transform:translateY(-1px);
  outline:none;
}
.governanceCallout{
  display:grid;
  gap:10px;
  min-height:168px;
  align-content:center;
  padding:22px;
  border:1px solid rgba(112,180,190,.36);
  border-radius:20px;
  background:rgba(112,180,190,.10);
}
.governanceCallout strong{
  color:#326191;
  font-size:1.2rem;
  line-height:1.15;
}
.governanceCallout span{
  color:#3a6da0;
  line-height:1.45;
  font-weight:620;
}
.commissionsBlock{
  margin-top:54px;
}
.commissionsHead{
  display:grid;
  gap:6px;
  margin-bottom:22px;
}
.commissionsGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.commissionCard{
  display:grid;
  gap:18px;
  align-content:start;
}
.commissionCard:before{
  background:#5092b6;
}
.commissionCard:nth-child(3n+1):before{background:#326191}
.commissionCard:nth-child(3n+2):before{background:#70b4be}
.commissionCard:nth-child(3n):before{background:#be3c3f}
.commissionHeader{
  display:grid;
  gap:6px;
}
.commissionKicker{
  display:inline-flex;
  color:#5092b6;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.10em;
  line-height:1;
  text-transform:uppercase;
}
.commissionHeader h3{
  margin:0;
  color:#326191;
  font-size:1.22rem;
  line-height:1.13;
}
.commissionPeople{
  display:grid;
  gap:16px;
}
.roleGroup h4{
  margin:0 0 10px;
  color:#3a6da0;
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.commissionDetails,
.commissionLinks{
  margin-top:2px;
  border-top:1px solid rgba(112,180,190,.28);
  padding-top:12px;
}
.commissionLinks{
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  align-items:center;
}
.commissionDetails summary{
  cursor:pointer;
  color:#326191;
  font-size:.9rem;
  font-weight:900;
}
.commissionDetails summary:focus-visible{
  outline:3px solid rgba(190,60,63,.35);
  outline-offset:4px;
  border-radius:8px;
}
.commissionDetails p{
  margin:10px 0 0;
  color:#3a6da0;
  line-height:1.45;
}
.commissionAgendaLink,
.commissionContentLink{
  width:max-content;
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:-4px;
  color:#326191;
  font-size:.9rem;
  font-weight:900;
  line-height:1.2;
  text-decoration:none;
}
.commissionContentLink span{
  font-size:.82em;
  line-height:1;
}
.commissionAgendaLink:before{
  content:"▸";
  color:currentColor;
  font-size:1.64em;
  line-height:1;
}
.commissionAgendaLink:hover,
.commissionAgendaLink:focus-visible,
.commissionContentLink:hover,
.commissionContentLink:focus-visible{
  color:#be3c3f;
  text-decoration:underline;
}
.commissionAgendaLink:focus-visible,
.commissionContentLink:focus-visible{
  outline:3px solid rgba(190,60,63,.28);
  outline-offset:4px;
  border-radius:8px;
}
.commissionsTimeline{
  position:relative;
  display:grid;
  gap:18px;
  padding-left:24px;
}
.commissionsTimeline:before{
  content:"";
  position:absolute;
  left:7px;
  top:8px;
  bottom:8px;
  width:2px;
  background:linear-gradient(180deg,#be3c3f,#326191);
}
.commissionTimelineItem{
  position:relative;
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:18px;
  min-width:0;
  padding:18px;
  border:1px solid rgba(50,97,145,.15);
  border-radius:16px;
  background:rgba(255,253,249,.92);
  box-shadow:0 12px 28px rgba(7,28,51,.06);
}
.commissionTimelineItem:before{
  content:"";
  position:absolute;
  left:-22px;
  top:31px;
  width:14px;
  height:14px;
  border:3px solid #fff;
  border-radius:999px;
  background:#be3c3f;
  box-shadow:0 0 0 1px rgba(190,60,63,.35);
}
.commissionStep{
  width:70px;
  height:70px;
  display:grid;
  place-items:center;
  border-radius:999px;
  color:#fff;
  background:#0b2a4a;
  font-size:1.18rem;
  font-weight:950;
}
.commissionTimelineBody{
  display:grid;
  gap:14px;
  min-width:0;
}
.commissionTimelineTop{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(520px,.96fr);
  gap:18px;
  align-items:start;
}
.commissionTimelineText h3{
  margin:0;
  color:#0B2A4A;
  font-size:clamp(1.28rem,1.7vw,1.7rem);
  line-height:1.08;
  letter-spacing:-.02em;
}
.commissionTimelineText p{
  margin:10px 0 0;
  color:#49677f;
  font-weight:650;
  line-height:1.46;
}
.commissionTimelinePeople{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:14px;
  align-items:start;
}
.commissionTimelinePeople .roleGroup{
  min-width:0;
  padding:14px;
  border-radius:12px;
  background:rgba(233,243,246,.62);
}
@media(max-width:1260px){
  .commissionTimelineTop{
    grid-template-columns:1fr;
  }
}

@media(max-width:1700px){
  body.is-about .commissionTimelinePeople{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:980px){
  .commissionsGrid{
    grid-template-columns:1fr 1fr;
  }
  .commissionTimelineTop,
  .commissionTimelinePeople{
    grid-template-columns:1fr;
  }
  .governanceBureauList{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .governanceCardPrimary{
    grid-column:1/-1;
  }
}
@media(max-width:680px){
  .governanceSection{
    padding:54px 0 62px;
  }
  .commissionsGrid,
  .governanceBureauList{
    grid-template-columns:1fr;
  }
  .governanceCardPrimary{
    grid-column:auto;
  }
  .governanceCard,
  .commissionCard{
    padding:20px;
    border-radius:22px;
  }
  .commissionsTimeline{
    padding-left:16px;
  }
  .commissionTimelineItem{
    grid-template-columns:1fr;
    gap:14px;
    padding:16px;
  }
  .commissionStep{
    width:54px;
    height:54px;
    font-size:1rem;
  }
  .personPhoto{
    width:52px;
    height:52px;
  }
  .personInfo strong{
    font-size:.94rem;
  }
  .personInfo span{
    font-size:.84rem;
  }
}

/* Accueil — cadrage final en 5 blocs équitables */
body.is-home{
  --home-header-height:84px;
  --home-block-height:clamp(640px, calc(100svh - var(--home-header-height)), 860px);
}
body.is-home #main > .home-snap-block{
  min-height:var(--home-block-height)!important;
  display:grid!important;
  align-items:center!important;
  padding-block:clamp(28px,4.2svh,52px)!important;
  scroll-snap-align:start;
  scroll-margin-top:var(--home-header-height);
}
body.is-home #main > .home-snap-block--hero{
  padding-top:0!important;
}
body.is-home .home-snap-block--hero .container{
  width:min(1360px,calc(100% - 72px))!important;
  padding-top:0!important;
}
body.is-home .home-snap-block--hero h1{
  max-width:1210px!important;
  font-size:clamp(4rem,6.95vw,7.5rem)!important;
  line-height:.92!important;
  margin-bottom:24px!important;
}
body.is-home .home-snap-block--hero .lead{
  max-width:980px!important;
  font-size:clamp(1.06rem,1.7vw,1.5rem)!important;
  line-height:1.42!important;
}
body.is-home .home-snap-block--hero .heroActionGrid{
  gap:16px!important;
  margin-top:28px!important;
}
body.is-home .home-snap-block--hero .btn{
  min-height:54px!important;
  padding:14px 24px!important;
  font-size:1.02rem!important;
}
body.is-home .home-snap-block--kpi{
  background:var(--fnam-paper-warm,#efe7d6);
  padding:0!important;
}
body.is-home .home-snap-block--groups{
  background:#FBF7F1;
}
body.is-home .home-snap-block--kpi .container,
body.is-home .home-snap-block--groups .container{
  width:min(1460px,calc(100% - 56px));
}
body.is-home .home-snap-block--kpi .kpiHeader{
  margin-bottom:12px;
}
body.is-home .home-snap-block--kpi .kpiHeader h2,
body.is-home .home-snap-block--groups .ecosystemHeader h2,
body.is-home .home-snap-block--domains .head h2,
body.is-home .home-snap-block--publications .head h2{
  font-size:clamp(2rem,3vw,3.35rem);
}
body.is-home .home-snap-block--kpi .kpiToolbar{
  margin-bottom:14px;
}
body.is-home .home-snap-block--kpi .kpiMosaic{
  grid-template-rows:118px 108px 100px 100px;
  gap:10px;
}
body.is-home .home-snap-block--kpi .kpiDetails{
  height:436px;
  min-height:436px;
  padding:22px;
}
body.is-home .home-snap-block--groups .ecosystemCard{
  gap:18px;
  padding:24px;
}
body.is-home .home-snap-block--groups .ecosystemHeader{
  grid-template-columns:minmax(0,1fr) minmax(260px,420px);
}
body.is-home .home-snap-block--groups .ecosystemLayout{
  grid-template-columns:minmax(660px,1fr) minmax(310px,360px);
  gap:20px;
}
body.is-home .home-snap-block--groups .orbitWrap,
body.is-home .home-snap-block--groups .groupInfo{
  height:560px;
  min-height:560px;
}
body.is-home .home-snap-block--groups .clusterExploitants{
  top:24px;
}
body.is-home .home-snap-block--groups .clusterInfrastructure,
body.is-home .home-snap-block--groups .clusterAviation{
  top:364px;
}
body.is-home .home-snap-block--groups .orbitCenter{
  width:166px;
  height:166px;
  padding:22px;
}
body.is-home .home-snap-block--groups .orbitCenter img{
  width:82px;
}
body.is-home .home-snap-block--groups .orbitCenter strong{
  font-size:1.78rem;
}
body.is-home .home-snap-block--groups .orbitNode{
  height:138px;
  min-height:138px;
  gap:5px;
  padding:10px;
}
body.is-home .home-snap-block--groups .groupLogo{
  width:84px;
  height:31px;
}
body.is-home .home-snap-block--groups .groupInfo{
  padding:24px;
}
body.is-home #main > .homeDomainsImmersive.home-snap-block--domains{
  padding-block:0!important;
  background:#326191;
}
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsContent{
  width:min(1260px,calc(100% - 72px));
  min-height:var(--home-block-height);
  height:var(--home-block-height);
  padding:clamp(58px,8svh,88px) 0 clamp(28px,4.5svh,44px);
}
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsCopy h2{
  font-size:clamp(3.45rem,5.35vw,6.15rem);
  line-height:.94;
}
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid{
  gap:16px;
}
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainCard{
  min-height:214px;
}
body.is-home .home-snap-block--domains .grid5{
  gap:16px;
}
body.is-home .home-snap-block--domains .domain{
  min-height:188px;
}
body.is-home .home-snap-block--publications .pubs{
  gap:18px;
}
body.is-home .home-snap-block--publications .feature{
  min-height:390px!important;
}
body.is-home .home-snap-block--publications .publist{
  gap:12px;
}
body.is-home .home-snap-block--publications .publist article:nth-of-type(n+3){
  display:none;
}
body.is-home .home-snap-block--publications .publist .card{
  padding:18px;
}
body.is-home .home-snap-block--publications .publist .card p{
  display:none;
}
body.is-home .home-snap-block--publications .feature h3{
  font-size:clamp(1.85rem,2.45vw,2.75rem);
}

@media(max-width:1280px){
  body.is-home{
    --home-block-height:clamp(650px, calc(100svh - var(--home-header-height)), 900px);
  }
  body.is-home .home-snap-block--groups .ecosystemLayout{
    grid-template-columns:1fr;
  }
  body.is-home .home-snap-block--groups .orbitWrap{
    height:570px;
    min-height:570px;
  }
  body.is-home .home-snap-block--groups .groupInfo{
    height:260px;
    min-height:260px;
  }
}

@media(max-width:1080px){
  body.is-home{
    --home-header-height:74px;
    --home-block-height:calc(100svh - var(--home-header-height));
  }
  html.is-home{
    scroll-snap-type:none;
  }
  body.is-home #main > .home-snap-block{
    min-height:var(--home-block-height)!important;
    height:var(--home-block-height)!important;
    overflow:hidden;
    padding-block:clamp(22px,3svh,34px)!important;
  }
  body.is-home #main > .home-snap-block:not(.home-snap-block--hero) > .container{
    max-height:calc(var(--home-block-height) - clamp(44px,6svh,68px));
    overflow:auto;
    padding-right:4px;
  }
  body.is-home #main > .homeDomainsImmersive.home-snap-block--domains > .homeDomainsContent{
    max-height:var(--home-block-height);
    overflow:auto;
    padding:clamp(34px,5svh,52px) 0;
  }
  body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsCopy h2{
    font-size:clamp(2.9rem,8vw,5.4rem);
  }
  body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainCard{
    min-height:190px;
  }
  body.is-home .home-snap-block--hero .container{
    width:min(1180px,calc(100vw - 40px))!important;
    max-width:calc(100vw - 40px)!important;
  }
  body.is-home .home-snap-block--hero h1{
    font-size:clamp(3.15rem,10vw,6.15rem)!important;
  }
  body.is-home .home-snap-block--kpi .kpiDetails{
    height:260px;
    min-height:260px;
    overflow:auto;
  }
  body.is-home .home-snap-block--kpi .kpiMosaic{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(172px,1fr);
    grid-template-columns:none;
    grid-template-rows:repeat(2,112px);
    gap:10px;
    overflow-x:auto;
    padding-bottom:4px;
    scrollbar-width:thin;
  }
  body.is-home .home-snap-block--kpi .kpiTile,
  body.is-home .home-snap-block--kpi .kpi-tile-main,
  body.is-home .home-snap-block--kpi .kpi-tile-wide{
    grid-column:auto;
    grid-row:auto;
    min-height:112px;
    padding:15px;
  }
  body.is-home .home-snap-block--groups .ecosystemHeader{
    grid-template-columns:1fr;
  }
  body.is-home .home-snap-block--groups .orbitWrap{
    height:540px;
    min-height:540px;
  }
  body.is-home .home-snap-block--groups .groupInfo{
    height:260px;
    min-height:260px;
    overflow:auto;
  }
  body.is-home .home-snap-block--publications .pubs{
    grid-template-columns:1fr;
  }
  body.is-home .home-snap-block--publications .feature{
    min-height:300px!important;
  }
}

@media(max-width:760px){
  body.is-home #main > .home-snap-block{
    padding-block:24px!important;
  }
  body.is-home .home-snap-block--hero{
    padding-top:0!important;
  }
  body.is-home .home-snap-block--hero .container,
  body.is-home .home-snap-block--kpi .container,
  body.is-home .home-snap-block--groups .container,
  body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsContent{
    width:min(1180px,calc(100vw - 28px))!important;
    max-width:calc(100vw - 28px)!important;
  }
  body.is-home .home-snap-block--hero h1{
    font-size:clamp(2.46rem,12.2vw,4.15rem)!important;
    margin-bottom:18px!important;
  }
  body.is-home .home-snap-block--hero .lead{
    font-size:.98rem!important;
    line-height:1.38!important;
  }
  body.is-home .home-snap-block--hero .heroActionGrid{
    gap:10px!important;
    margin-top:20px!important;
  }
  body.is-home .home-snap-block--hero .btn{
    min-height:46px!important;
    padding:11px 15px!important;
    font-size:.94rem!important;
  }
  body.is-home .home-snap-block--kpi .kpiMosaic{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(150px,1fr);
    grid-template-rows:repeat(2,104px);
    overflow-x:auto;
  }
  body.is-home .home-snap-block--kpi .kpiTile,
  body.is-home .home-snap-block--kpi .kpi-tile-main,
  body.is-home .home-snap-block--kpi .kpi-tile-wide{
    min-height:104px;
    padding:14px;
  }
  body.is-home .home-snap-block--kpi .kpiNumber,
  body.is-home .home-snap-block--kpi .kpi-tile-main .kpiNumber{
    font-size:2rem;
  }
  body.is-home .home-snap-block--kpi .kpiDetails{
    height:340px;
    min-height:340px;
  }
  body.is-home .home-snap-block--groups .ecosystemCard{
    max-height:none;
  }
  body.is-home .home-snap-block--groups .orbitNode,
  body.is-home .home-snap-block--groups .groupInfo{
    min-height:118px;
  }
  body.is-home .home-snap-block--groups .orbitWrap{
    max-height:620px;
    overflow:auto;
  }
  body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsContent{
    padding:34px 0 26px;
  }
  body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsCopy h2{
    font-size:clamp(2.35rem,12vw,3.8rem);
  }
  body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsCopy p{
    font-size:.98rem;
  }
  body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(220px,1fr);
    grid-template-columns:none;
    overflow-x:auto;
    padding-bottom:6px;
    scrollbar-width:thin;
  }
  body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainCard{
    min-height:260px;
  }
  body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsToggle{
    min-height:38px;
    padding:8px 12px;
    font-size:.82rem;
  }
  body.is-home .home-snap-block--domains .grid5{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(230px,1fr);
    grid-template-columns:none;
    overflow-x:auto;
    padding-bottom:6px;
    scrollbar-width:thin;
  }
  body.is-home .home-snap-block--domains .domain,
  body.is-home .home-snap-block--domains .domain:nth-child(4),
  body.is-home .home-snap-block--domains .domain:nth-child(5){
    grid-column:auto;
    min-height:300px;
  }
  body.is-home .home-snap-block--publications .pubs{
    gap:14px;
  }
  body.is-home .home-snap-block--publications .feature{
    min-height:260px!important;
    padding:22px;
  }
}

.kpiEmbedSection{
  padding:0!important;
  background:#FBF7F1;
  overflow:hidden;
}
.kpiEmbedShell{
  width:100%;
  min-height:100%;
}
.kpiEmbedFrame{
  display:block;
  width:100%;
  height:calc(100vh - 74px);
  min-height:760px;
  border:0;
  background:#FBF7F1;
}
body:not(.is-home) .kpiEmbedFrame{
  height:calc(100vh - 74px);
  min-height:880px;
}
@media(max-width:1180px){
  .kpiEmbedFrame{
    height:1180px;
    min-height:1180px;
  }
}
@media(max-width:760px){
  .kpiEmbedFrame{
    height:1500px;
    min-height:1500px;
  }
}

/* Accueil — alternance fonds blocs 3 / 4 / 5 */
body.is-home .home-snap-block--groups,
body.is-home .home-snap-block--publications{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(circle at 70% 30%, rgba(80,146,182,.16), transparent 36%),
    linear-gradient(135deg, #21384D 0%, #274B65 52%, #326191 100%);
  color:#FBF7F1;
}
body.is-home .home-snap-block--groups:before,
body.is-home .home-snap-block--publications:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.16;
  background-repeat:no-repeat;
  background-position:58% 18%;
  background-size:1180px auto;
  background-image:url("data:image/svg+xml,%3Csvg width='1400' height='720' viewBox='0 0 1400 720' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='rgba(255,255,255,0.55)' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M610 340 C760 250 925 160 1120 78 L1188 96 C1035 190 865 288 660 410 Z'/%3E%3Cpath d='M650 382 C820 303 980 212 1148 94' opacity='.65'/%3E%3Cpath d='M705 356 C845 293 986 220 1136 112' opacity='.48'/%3E%3Cpath d='M755 330 C870 282 1006 209 1110 130' opacity='.42'/%3E%3Cpath d='M720 390 L1094 118' opacity='.32'/%3E%3Cpath d='M775 402 L1160 118' opacity='.25'/%3E%3Cpath d='M690 420 C820 420 1010 390 1260 300' opacity='.25'/%3E%3Cpath d='M350 330 C540 280 765 240 1035 92' opacity='.26'/%3E%3Cpath d='M180 420 C440 328 720 300 1110 112' opacity='.18'/%3E%3Cpath d='M1015 80 L1118 78 L1070 142' opacity='.75'/%3E%3Cpath d='M815 176 L843 154 M865 151 L895 128 M914 128 L944 106 M964 105 L996 84' opacity='.35'/%3E%3Cpath d='M995 74 C1120 132 1220 210 1302 318' opacity='.18'/%3E%3Cpath d='M1045 55 C1190 123 1300 230 1370 370' opacity='.14'/%3E%3C/g%3E%3Cg fill='none' stroke='rgba(255,255,255,0.23)' stroke-width='.8'%3E%3Cpath d='M460 120 H1260' stroke-dasharray='5 13'/%3E%3Cpath d='M520 510 H1320' stroke-dasharray='5 13'/%3E%3Cpath d='M860 40 V650' stroke-dasharray='5 13'/%3E%3Cpath d='M1060 20 V640' stroke-dasharray='5 13'/%3E%3C/g%3E%3C/svg%3E");
}
body.is-home .home-snap-block--groups:after,
body.is-home .home-snap-block--publications:after{
  content:none;
}
body.is-home .home-snap-block--groups > .container,
body.is-home .home-snap-block--publications > .container{
  position:relative;
  z-index:1;
}
@media(max-width:900px){
  body.is-home .home-snap-block--groups:before,
  body.is-home .home-snap-block--publications:before{
    background-size:940px auto;
    background-position:46% 10%;
    opacity:.12;
  }
}
@media(max-width:640px){
  body.is-home .home-snap-block--groups:before,
  body.is-home .home-snap-block--publications:before{
    background-size:820px auto;
    background-position:40% 2%;
    opacity:.09;
  }
}
body.is-home .home-snap-block--groups .ecosystemCard{
  background:transparent;
  border-color:rgba(112,180,190,.38);
  box-shadow:none;
}
body.is-home .home-snap-block--groups .ecosystemCard:before{
  content:none;
}
body.is-home .home-snap-block--groups .ecosystemHeader h2,
body.is-home .home-snap-block--publications .head h2{
  color:#FFFFFF;
}
body.is-home .home-snap-block--groups .ecosystemHeader p,
body.is-home .home-snap-block--publications .head p{
  color:rgba(251,247,241,.88);
}
body.is-home .home-snap-block--groups .eyebrow,
body.is-home .home-snap-block--publications .eyebrow{
  color:#70b4be;
}
body.is-home .home-snap-block--groups .orbitWrap{
  background:rgba(255,253,249,.90);
  border-color:rgba(112,180,190,.55);
  box-shadow:0 24px 64px rgba(0,0,0,.24);
}
body.is-home .home-snap-block--groups .groupInfo,
body.is-home .home-snap-block--groups .orbitNode,
body.is-home .home-snap-block--groups .orbitCenter{
  box-shadow:0 22px 54px rgba(0,0,0,.18);
}

body.is-home #main > .homeDomainsImmersive.home-snap-block--domains{
  background:
    radial-gradient(circle at 12% 8%,rgba(112,180,190,.15),transparent 30%),
    linear-gradient(180deg,#FBF7F1 0%,#fffdf9 58%,rgba(112,180,190,.14) 100%);
  background-color:#FBF7F1;
  color:#0B2A4A;
}
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsVideo,
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsPoster,
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsOverlay,
body.is-home .homeDomainsImmersive.home-snap-block--domains:after,
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsToggle{
  display:none;
}
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsCopy .eyebrow{
  color:#326191;
}
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsCopy h2{
  color:#326191;
}
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsCopy p{
  color:#3a6da0;
}
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainCard{
  border-color:rgba(112,180,190,.58);
  background:rgba(255,255,255,.82);
  color:#0B2A4A;
  box-shadow:0 16px 36px rgba(50,97,145,.10);
  backdrop-filter:none;
}
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainCard:hover,
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainCard:focus-visible{
  border-color:#5092b6;
  background:#FFFFFF;
  box-shadow:0 22px 44px rgba(50,97,145,.16);
}
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainIndex{
  border-color:rgba(80,146,182,.46);
  color:#326191;
  background:rgba(112,180,190,.14);
}
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainCard h3{
  color:#326191;
}
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainCard p{
  color:#0B2A4A;
}
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainCta{
  color:#326191;
}

/* Accueil — corrections header, KPI et vidéo domaines */
.primaryNav{
  gap:4px;
}
.dropdown{
  min-width:250px;
  max-width:300px;
  padding:10px;
}
.dropdown .menuIntro,
.dropdown .menuSectionTitle{
  display:none!important;
}
.dropdown .menuGrid{
  display:grid;
  grid-template-columns:1fr!important;
  gap:4px!important;
}
.dropdown .menuGrid>div{
  display:contents;
}
.dropdown a{
  display:block;
  width:100%;
  padding:10px 12px;
  color:#0B2A4A;
  font-weight:850;
  line-height:1.2;
  white-space:normal;
}
.dropdown a.primaryItem{
  font-weight:950;
}
body.is-home .dropdown a,
body.is-home .primaryNav .dropdown a{
  color:#0B2A4A;
  text-shadow:none;
}
body.is-home .dropdown a:hover,
body.is-home .dropdown a:focus{
  color:#326191;
}
body.is-home #main > .homeDomainsImmersive.home-snap-block--domains{
  background:#FBF7F1;
  color:#0B2A4A;
}
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsVideo,
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsToggle{
  display:block;
}
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsOverlay,
body.is-home .homeDomainsImmersive.home-snap-block--domains:after{
  display:none;
}
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsVideo{
  filter:none;
}
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsCopy .eyebrow{
  color:#326191;
}
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsCopy h2{
  color:#0B2A4A;
}
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsCopy p{
  color:#0B2A4A;
  font-weight:640;
}
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainCard{
  border-color:rgba(112,180,190,.62);
  background:rgba(251,247,241,.86);
  color:#0B2A4A;
  box-shadow:0 18px 38px rgba(50,97,145,.16);
  backdrop-filter:blur(4px);
}
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainCard:hover,
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainCard:focus-visible{
  border-color:#326191;
  background:rgba(255,255,255,.94);
  box-shadow:0 22px 44px rgba(50,97,145,.22);
}
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainIndex{
  border-color:rgba(50,97,145,.42);
  color:#326191;
  background:rgba(112,180,190,.16);
}
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainCard h3,
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainCard p{
  color:#0B2A4A;
}
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainCta{
  color:#326191;
}
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsToggle{
  border-color:rgba(50,97,145,.42);
  background:rgba(251,247,241,.88);
  color:#0B2A4A;
}

body.is-home .home-snap-block--publications .head .btn{
  background:#FBF7F1;
  color:#326191;
  border-color:rgba(251,247,241,.42);
}
body.is-home .home-snap-block--publications .feature{
  border:1px solid rgba(112,180,190,.36);
  box-shadow:0 24px 62px rgba(0,0,0,.24);
}
body.is-home .home-snap-block--publications .publist .card{
  background:rgba(255,255,255,.92);
  border-color:rgba(112,180,190,.50);
  box-shadow:0 18px 42px rgba(0,0,0,.18);
}
body.is-home .home-snap-block--publications .publist .card h3{
  color:#0B2A4A;
}
body.is-home .home-snap-block--publications .publist .card p{
  color:#3a6da0;
}
body.is-home .home-snap-block--publications .publist .metaLine,
body.is-home .home-snap-block--publications .publist .metaLine span{
  color:#3a6da0;
}
body.is-home .home-snap-block--publications .publist .metaLine{
  display:flex;
  flex-wrap:wrap;
  gap:6px 10px;
}
body.is-home .home-snap-block--publications .homePublicationMeta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  margin:16px 0 0;
  color:rgba(251,247,241,.90);
  font-size:clamp(.92rem,1.1vw,1.05rem);
  font-weight:760;
}
body.is-home .home-snap-block--publications .homePublicationMeta span,
body.is-home .home-snap-block--publications .homePublicationMeta time{
  display:inline-flex;
  align-items:center;
}
body.is-home .home-snap-block--publications .homePublicationMeta span:before{
  content:"";
  width:5px;
  height:5px;
  margin-right:9px;
  border-radius:50%;
  background:#70b4be;
}
body.is-home .home-snap-block--publications .homePublicationTeaser{
  display:grid;
  align-content:start;
  gap:10px;
}
body.is-home .home-snap-block--publications .homePublicationTeaser .chip{
  width:max-content;
  margin-top:2px;
}
body.is-home .home-snap-block--publications .homeSocialLink{
  display:flex;
  align-items:center;
  width:100%;
  min-height:42px;
  padding-inline:16px;
}
.publicationTimelineCard.is-route-target{
  outline:4px solid rgba(190,60,63,.42);
  outline-offset:4px;
  box-shadow:0 18px 42px rgba(190,60,63,.20);
}

/* Header — dropdowns sobres et homogènes */
.primaryNav .dropdown a,
.primaryNav .dropdown a.primaryItem,
body.is-home .primaryNav .dropdown a,
body.is-home .primaryNav .dropdown a.primaryItem{
  color:#326191;
  font-weight:500;
  text-shadow:none;
}

.primaryNav .dropdown a:hover,
.primaryNav .dropdown a:focus,
body.is-home .primaryNav .dropdown a:hover,
body.is-home .primaryNav .dropdown a:focus{
  color:#326191;
  background:rgba(112,180,190,.16);
}

/* Groupements — connecteurs lisibles et fond de carte creme */
.orbitWrap,
body.is-home .home-snap-block--groups .orbitWrap{
  background:#FFFCEF;
}

.orbitNode,
.orbitNode.active,
.orbitNode:focus,
body.is-home .home-snap-block--groups .orbitNode,
body.is-home .home-snap-block--groups .orbitNode.active,
body.is-home .home-snap-block--groups .orbitNode:focus{
  background:#FFFFFF;
}

.orbitCenter{
  top:55%;
}

.connector{
  stroke:#70b4be;
  stroke-width:1.75;
  opacity:.64;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.connector.active{
  stroke:#326191;
  stroke-width:4.5;
  opacity:1;
}

body.is-home .home-snap-block--groups .connector{
  stroke-width:1.85;
  opacity:.68;
}

body.is-home .home-snap-block--groups .connector.active{
  stroke-width:4.8;
  opacity:1;
}

body.is-home .home-snap-block--groups .orbitCenter{
  top:55%;
}

/* Accueil — cadrage viewport final : chaque section occupe une frame stable. */
html.is-home{
  scroll-snap-type:y mandatory;
  scroll-padding-top:0;
  overflow-x:clip;
  overflow-y:visible;
}

body.is-home{
  --home-fixed-header:104px;
  --home-frame:100svh;
  overflow-x:clip;
  overflow-y:visible;
}

body.is-home #main > .home-snap-block{
  min-height:var(--home-frame)!important;
  height:var(--home-frame)!important;
  padding-block:0!important;
  display:grid!important;
  align-items:stretch!important;
  overflow:hidden;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  scroll-margin-top:0;
}

body.is-home #main > .home-snap-block--hero,
body.is-home .hero.heroPhoto{
  min-height:100svh!important;
  height:100svh!important;
  padding-top:0!important;
}

body.is-home .heroVideoReal{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.045);
  transform-origin:center center;
}

@media(max-width:760px){
  body.is-home .heroVideoReal{
    width:100%!important;
    max-width:100%!important;
    transform:none!important;
  }
}

body.is-home .hero.heroPhoto .container{
  width:min(1360px,calc(100vw - clamp(32px,7vw,96px)))!important;
  height:100%;
  display:grid;
  align-content:center;
  padding-top:calc(var(--home-fixed-header) + clamp(4px,1svh,18px))!important;
  padding-bottom:clamp(22px,4svh,56px)!important;
}

body.is-home .home-snap-block--hero h1{
  max-width:1180px!important;
  font-size:clamp(3rem,min(6.85vw,11svh),7.15rem)!important;
  line-height:.91!important;
  margin:clamp(10px,1.5svh,18px) 0 clamp(12px,2.3svh,24px)!important;
}

body.is-home .home-snap-block--hero .lead{
  max-width:980px!important;
  font-size:clamp(.98rem,min(1.55vw,2.45svh),1.42rem)!important;
  line-height:1.36!important;
  margin:0!important;
}

body.is-home .home-snap-block--hero .heroActionGrid{
  gap:clamp(10px,1.4vw,16px)!important;
  margin-top:clamp(16px,3svh,30px)!important;
}

body.is-home .home-snap-block--hero .btn{
  min-height:clamp(44px,5svh,54px)!important;
  padding:clamp(10px,1.5svh,14px) clamp(16px,1.8vw,24px)!important;
  font-size:clamp(.9rem,min(1.05vw,2svh),1.02rem)!important;
}

body.is-home #main > .home-snap-block--kpi{
  background:var(--fnam-paper-warm,#efe7d6);
  padding-top:var(--home-fixed-header)!important;
}

body.is-home #main > .home-snap-block--kpi > .dsKpiSection__inner{
  width:min(1440px,calc(100vw - clamp(36px,7vw,112px)));
  height:100%;
  min-height:0;
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr);
  margin:0 auto;
  padding:clamp(10px,1.4svh,18px) var(--container-pad,24px) clamp(12px,1.6svh,20px);
  overflow:hidden;
}

/* En mode immersive, on réserve davantage de marge basse sous la mosaïque
   pour aérer la section. Conséquence : les tuiles perdent ~15% de hauteur. */
body[data-responsive-mode="immersive"].is-home #main > .home-snap-block--kpi > .dsKpiSection__inner{
  padding-bottom:clamp(70px,12svh,110px);
}

body.is-home #main > .home-snap-block--kpi .dsKpiSection__head{
  margin-bottom:clamp(4px,0.8svh,10px);
}

body.is-home #main > .home-snap-block--kpi .dsKpiToolbar{
  margin-bottom:clamp(6px,1svh,12px);
}

body.is-home #main > .home-snap-block--kpi .dsKpiLayout{
  height:100%;
  min-height:0;
  overflow:hidden;
  align-items:stretch;
}

body.is-home #main > .home-snap-block--kpi .dsKpiVisual{
  height:100%;
  min-height:0;
}

body.is-home #main > .home-snap-block--kpi .dsKpiMosaic{
  height:100%;
  min-height:0;
}

body.is-home #main > .home-snap-block--kpi .dsKpiDetails{
  position:relative;
  top:auto;
  height:100%;
  min-height:0;
  max-height:none;
}

body.is-home #main > .home-snap-block--groups > .container,
body.is-home #main > .home-snap-block--publications > .container,
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsContent{
  width:min(1440px,calc(100vw - clamp(36px,7vw,112px)))!important;
  height:100%;
  max-height:100%;
  min-height:0!important;
  margin-inline:auto;
  padding-top:calc(var(--home-fixed-header) + clamp(8px,2svh,24px))!important;
  padding-bottom:clamp(18px,3svh,34px)!important;
  overflow:hidden;
}

body.is-home #main > .home-snap-block--groups > .container,
body.is-home #main > .home-snap-block--publications > .container{
  display:grid;
  align-items:center;
}

body.is-home .home-snap-block--groups .ecosystemCard{
  height:calc(100svh - var(--home-fixed-header) - clamp(36px,5.6svh,58px));
  max-height:760px;
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  gap:clamp(12px,1.8svh,18px);
  padding:clamp(16px,2.2svh,24px);
  overflow:hidden;
}

body.is-home .home-snap-block--groups .ecosystemHeader{
  grid-template-columns:1fr!important;
  margin:0;
}

body.is-home .home-snap-block--groups .ecosystemHeader h2,
body.is-home .home-snap-block--publications .head h2{
  font-size:clamp(2.15rem,min(4vw,6.8svh),4rem);
  line-height:.96;
}

body.is-home .home-snap-block--groups .ecosystemLayout{
  min-height:0;
  height:100%;
  grid-template-columns:minmax(640px,1fr) minmax(300px,360px);
  gap:clamp(14px,1.6vw,22px);
}

body.is-home .home-snap-block--groups .orbitWrap,
body.is-home .home-snap-block--groups .groupInfo{
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
}

body.is-home .home-snap-block--groups .orbitWrap{
  padding:0;
}

body.is-home .home-snap-block--groups .clusterExploitants{
  top:4%!important;
}

body.is-home .home-snap-block--groups .clusterInfrastructure,
body.is-home .home-snap-block--groups .clusterAviation{
  top:auto!important;
  bottom:2.5%!important;
}

body.is-home .home-snap-block--groups .orbitCenter{
  width:clamp(142px,15svh,172px);
  height:clamp(142px,15svh,172px);
  padding:clamp(18px,2.5svh,24px);
}

body.is-home .home-snap-block--groups .orbitNode{
  height:clamp(118px,14.2svh,142px);
  min-height:0;
  padding:clamp(8px,1.25svh,12px);
}

body.is-home .home-snap-block--groups .groupLogo{
  width:clamp(72px,8.8svh,88px);
  height:clamp(27px,3.6svh,34px);
}

body.is-home .home-snap-block--groups .groupInfo{
  padding:clamp(18px,2.5svh,24px);
  overflow:auto;
  scrollbar-width:thin;
}

body.is-home #main > .homeDomainsImmersive.home-snap-block--domains{
  min-height:100svh!important;
  height:100svh!important;
  padding-block:0!important;
}

body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsVideo{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transform:scale(1.045);
  transform-origin:center center;
}

body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsContent{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  align-content:stretch;
  gap:clamp(16px,2.6svh,30px);
}

body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsCopy h2{
  font-size:clamp(3rem,min(5.3vw,9svh),6rem);
  margin:clamp(8px,1.4svh,14px) 0 clamp(10px,1.6svh,18px);
}

body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsCopy p{
  font-size:clamp(.98rem,min(1.28vw,2.2svh),1.24rem);
  max-width:760px;
}

body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid{
  align-self:end;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:clamp(12px,1.4vw,16px);
}

body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainCard{
  min-height:clamp(188px,25svh,240px);
  padding:clamp(16px,2svh,20px);
  gap:clamp(8px,1.1svh,12px);
  background:rgba(251,247,241,.70);
}

body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainCard h3{
  font-size:clamp(.98rem,min(1.18vw,2.15svh),1.22rem);
}

body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainCard p{
  font-size:clamp(.82rem,min(.95vw,1.75svh),.93rem);
  line-height:1.35;
}

body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsToggle{
  top:calc(var(--home-fixed-header) + clamp(12px,2svh,28px));
  right:clamp(24px,7vw,92px);
}

body.is-home .pause,
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsToggle{
  display:none!important;
}

body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainCard:hover,
body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainCard:focus-visible{
  background:rgba(255,255,255,.78);
}

body.is-home .home-snap-block--publications .head{
  margin-bottom:clamp(16px,2.4svh,26px);
}

body.is-home .home-snap-block--publications .head p{
  font-size:clamp(.94rem,1.8svh,1.05rem);
}

body.is-home .home-snap-block--publications .pubs{
  min-height:0;
  grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);
  gap:clamp(16px,1.8vw,22px);
  align-items:stretch;
}

body.is-home .home-snap-block--publications .feature{
  min-height:clamp(320px,49svh,520px)!important;
  padding:clamp(24px,3svh,32px);
}

body.is-home .home-snap-block--publications .feature h3{
  font-size:clamp(2rem,min(3vw,5.7svh),3.2rem);
}

body.is-home .home-snap-block--publications .publist{
  gap:clamp(10px,1.7svh,16px);
  align-content:start;
}

body.is-home .home-snap-block--publications .publist .card{
  padding:clamp(16px,2.1svh,22px);
}

body.is-home .home-snap-block--publications .publist .card h3{
  font-size:clamp(1.12rem,min(1.45vw,2.7svh),1.46rem);
  line-height:1.12;
}

@media(max-width:1280px){
  body.is-home{
    --home-fixed-header:96px;
  }

  body.is-home .home-snap-block--groups .ecosystemLayout{
    grid-template-columns:minmax(0,1fr) minmax(280px,330px);
  }

  body.is-home .home-snap-block--groups .clusterExploitants .familyCards{
    grid-template-columns:repeat(4,118px);
  }

  body.is-home .home-snap-block--groups .clusterInfrastructure .familyCards{
    grid-template-columns:repeat(2,118px);
  }

  body.is-home .home-snap-block--groups .familyCluster{
    width:auto;
  }

  body.is-home .home-snap-block--groups .orbitNode{
    width:118px;
  }
}

@media(max-width:1080px){
  html.is-home{
    scroll-snap-type:none;
  }

  body.is-home{
    --home-fixed-header:82px;
  }

  body.is-home #main > .home-snap-block{
    min-height:100svh!important;
    height:auto!important;
    overflow:visible;
  }

  body.is-home #main > .home-snap-block--hero,
  body.is-home .hero.heroPhoto,
  body.is-home #main > .home-snap-block--kpi,
  body.is-home #main > .homeDomainsImmersive.home-snap-block--domains{
    height:100svh!important;
    overflow:hidden;
  }

  body.is-home #main > .home-snap-block--groups > .container,
  body.is-home #main > .home-snap-block--publications > .container,
  body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsContent{
    width:min(1180px,calc(100vw - 40px))!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  body.is-home .home-snap-block--groups .ecosystemCard{
    height:auto;
    max-height:none;
    overflow:visible;
  }

  body.is-home .home-snap-block--groups .ecosystemLayout,
  body.is-home .home-snap-block--publications .pubs{
    grid-template-columns:1fr;
  }

  body.is-home .home-snap-block--groups .orbitWrap{
    height:540px!important;
  }

  body.is-home .home-snap-block--groups .groupInfo{
    height:280px!important;
  }

  body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:760px){
  body.is-home{
    --home-fixed-header:74px;
  }

  body.is-home .hero.heroPhoto .container,
  body.is-home #main > .home-snap-block--groups > .container,
  body.is-home #main > .home-snap-block--publications > .container,
  body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsContent{
    width:min(1180px,calc(100vw - 28px))!important;
    padding-top:calc(var(--home-fixed-header) + 18px)!important;
    padding-bottom:24px!important;
  }

  body.is-home .home-snap-block--hero h1{
    font-size:clamp(2.35rem,min(12vw,8.4svh),4.15rem)!important;
  }

  body.is-home .home-snap-block--hero .heroActionGrid{
    grid-template-columns:1fr;
  }

  body.is-home .home-snap-block--groups .orbitWrap{
    height:auto!important;
    max-height:none!important;
  }

  body.is-home .home-snap-block--groups .groupInfo{
    height:auto!important;
  }

  body.is-home .homeDomainsImmersive.home-snap-block--domains{
    height:auto!important;
    min-height:100svh!important;
  }

  body.is-home #main > .home-snap-block--kpi{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }

  body.is-home #main > .home-snap-block--kpi > .dsKpiSection__inner{
    width:min(100%,calc(100vw - 28px))!important;
    height:auto!important;
    min-height:0!important;
    padding:24px 0!important;
    display:block!important;
    overflow:visible!important;
  }

  body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsContent{
    height:auto;
    overflow:visible;
  }

  body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(220px,1fr);
    grid-template-columns:none;
    overflow-x:auto;
    padding-bottom:6px;
  }

  body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsToggle{
    position:relative;
    inset:auto;
    justify-self:start;
  }
}

/* Accueil — bandeau institutionnel du hero */
body.is-home .home-snap-block--hero .heroInstitutionalBand{
  --hero-band-side:clamp(24px,2.8vw,48px);
  position:absolute;
  left:var(--hero-band-side);
  right:var(--hero-band-side);
  top:clamp(150px,25svh,240px);
  z-index:4;
  display:grid;
  gap:clamp(9px,1svh,14px);
  padding:clamp(8px,1svh,14px) 0;
  background:linear-gradient(90deg,rgba(8,22,34,0) 0%,rgba(8,22,34,.14) 12%,rgba(8,22,34,.22) 50%,rgba(8,22,34,.14) 88%,rgba(8,22,34,0) 100%);
  pointer-events:none;
}
body.is-home .home-snap-block--hero .heroInstitutionalBand:before{
  content:"";
  display:block;
  height:1px;
  background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.16) 10%,rgba(255,255,255,.38) 24%,rgba(255,255,255,.52) 50%,rgba(255,255,255,.38) 76%,rgba(255,255,255,.16) 90%,rgba(255,255,255,0) 100%);
}
body.is-home .home-snap-block--hero .heroInstitutionalBand:after{
  content:"";
  display:block;
  height:1.4px;
  background:rgba(255,255,255,.42);
}
body.is-home .home-snap-block--hero .heroInstitutionalText{
  display:block;
  width:100%;
  white-space:nowrap;
  overflow:hidden;
  color:rgba(255,255,255,.92);
  font-size:clamp(16px,1.35vw,25px);
  font-weight:420;
  line-height:1;
  text-transform:uppercase;
  text-align:center;
  letter-spacing:.28em;
  text-shadow:0 2px 12px rgba(0,0,0,.45);
}
body.is-home .home-snap-block--hero .container{
  display:grid!important;
  align-content:stretch!important;
  grid-template-rows:minmax(clamp(220px,30svh,330px),auto) auto auto minmax(18px,1fr) auto!important;
  padding-top:0!important;
  padding-bottom:clamp(38px,5svh,60px)!important;
}
body.is-home .home-snap-block--hero .heroTitle{grid-row:2}
body.is-home .home-snap-block--hero .lead{grid-row:3}
body.is-home .home-snap-block--hero .heroActionGrid{
  grid-row:5;
  align-self:end;
  margin-top:0!important;
}
@media(max-width:900px){
  body.is-home .home-snap-block--hero .heroInstitutionalBand{
    --hero-band-side:clamp(18px,4vw,32px);
    top:clamp(120px,20svh,180px);
  }
  body.is-home .home-snap-block--hero .heroInstitutionalText{
    font-size:clamp(12px,1.8vw,17px);
    letter-spacing:.18em;
  }
  body.is-home .home-snap-block--hero .container{
    grid-template-rows:minmax(clamp(205px,30svh,300px),auto) auto auto minmax(18px,1fr) auto!important;
  }
}
@media(max-width:640px){
  body.is-home .home-snap-block--hero .heroInstitutionalBand{display:none}
  body.is-home #main > .home-snap-block--hero,
  body.is-home .hero.heroPhoto{
    height:auto!important;
    min-height:100svh!important;
  }
  body.is-home .home-snap-block--hero .container{
    grid-template-rows:minmax(clamp(150px,24svh,220px),auto) auto auto minmax(18px,1fr) auto!important;
    height:auto!important;
    min-height:100svh!important;
  }
}

/* Accueil — grande carte publication à la une */
body.is-home .home-snap-block--publications .homePublicationFeature{
  background:#FFFCEF!important;
  color:#0B2A4A!important;
}
body.is-home .home-snap-block--publications .homePublicationFeature h3,
body.is-home .home-snap-block--publications .homePublicationFeature .homePublicationMeta,
body.is-home .home-snap-block--publications .homePublicationFeature .homePublicationMeta span,
body.is-home .home-snap-block--publications .homePublicationFeature .homePublicationMeta time{
  color:#0B2A4A!important;
}
body.is-home .home-snap-block--publications .homePublicationFeature .secondary{
  background:#326191!important;
  color:#FFFCEF!important;
}
body.is-home .home-snap-block--publications .homePublicationFeature .ghost{
  background:transparent!important;
  border-color:rgba(50,97,145,.42)!important;
  color:#326191!important;
}

/* Accueil — corrections finales annotations 1-5 */
body.is-home .home-snap-block--hero .heroInstitutionalBand{
  top:clamp(112px,calc(25svh - 38px),202px)!important;
}
body.is-home .home-snap-block--hero .container{
  grid-template-rows:minmax(clamp(182px,calc(30svh - 38px),292px),auto) auto auto minmax(18px,1fr) auto!important;
}
@media(max-width:900px){
  body.is-home .home-snap-block--hero .heroInstitutionalBand{
    top:clamp(82px,calc(20svh - 38px),142px)!important;
  }
  body.is-home .home-snap-block--hero .container{
    grid-template-rows:minmax(clamp(167px,calc(30svh - 38px),262px),auto) auto auto minmax(18px,1fr) auto!important;
  }
}
body.is-home .home-snap-block--publications .homePublicationFeature{
  background:#C77165!important;
  color:#FFFCEF!important;
}
body.is-home .home-snap-block--publications .homePublicationFeature h3,
body.is-home .home-snap-block--publications .homePublicationFeature .homePublicationMeta,
body.is-home .home-snap-block--publications .homePublicationFeature .homePublicationMeta span,
body.is-home .home-snap-block--publications .homePublicationFeature .homePublicationMeta time{
  color:#FFFCEF!important;
}
body.is-home .home-snap-block--publications .homePublicationFeature .secondary{
  background:#FFFCEF!important;
  color:#326191!important;
}
body.is-home .home-snap-block--publications .homePublicationFeature .ghost{
  background:transparent!important;
  border-color:rgba(255,252,239,.56)!important;
  color:#FFFCEF!important;
}
body.is-home .home-snap-block--publications .homePublicationTags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
body.is-home .home-snap-block--publications .homeDomainPill{
  background:#FFFCEF;
  border:1px solid rgba(112,180,190,.65);
  color:#326191;
}
body.is-home .home-snap-block--publications .homePublicationFeature .homeDomainPill{
  background:rgba(255,252,239,.92);
  border-color:rgba(255,252,239,.76);
  color:#326191;
}
body.is-home .home-snap-block--publications .publist{
  height:100%;
  grid-template-rows:repeat(2,minmax(0,1fr));
  align-content:stretch!important;
}
body.is-home .home-snap-block--publications .publist .homePublicationTeaser{
  height:100%;
  min-height:0;
  background:#FFFCEF!important;
  display:flex;
  flex-direction:column;
}
body.is-home .home-snap-block--publications .publist .homePublicationTeaser .chip{
  margin-top:auto;
}
body.is-home .home-snap-block--publications .homeSocialLink{
  display:none!important;
}

/* Groupements — finition premium finale */
.ecosystemLayout{
  position:relative;
}
.orbitWrap,
body.is-home .home-snap-block--groups .orbitWrap{
  background:#FFFCEF!important;
  background-image:none!important;
  background-color:#FFFCEF!important;
  border-color:rgba(255,255,255,.72)!important;
  box-shadow:
    0 24px 70px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.88)!important;
}
.orbitNode.active,
.orbitNode:focus,
body.is-home .home-snap-block--groups .orbitNode.active,
body.is-home .home-snap-block--groups .orbitNode:focus{
  border-color:#326191!important;
  box-shadow:
    0 0 0 2px rgba(50,97,145,.14),
    0 0 0 6px rgba(112,180,190,.12),
    0 14px 32px rgba(50,97,145,.22)!important;
}
.connector{
  stroke:rgba(112,180,190,.58)!important;
  stroke-width:1.4!important;
  opacity:.82!important;
}
.connector.active,
body.is-home .home-snap-block--groups .connector.active{
  stroke:#326191!important;
  stroke-width:3.4!important;
  opacity:1!important;
  filter:drop-shadow(0 0 8px rgba(112,180,190,.35));
}
.groupInfo,
body.is-home .home-snap-block--groups .groupInfo{
  position:relative;
  overflow:auto;
  box-sizing:border-box;
  align-self:center;
  height:calc(100% - 18px)!important;
  min-height:0!important;
  max-height:100%;
  background:
    radial-gradient(circle at 20% 0%,rgba(112,180,190,.18),transparent 34%),
    radial-gradient(circle at 96% 18%,rgba(50,97,145,.10),transparent 26%),
    linear-gradient(145deg,#FFFFFF 0%,#F7FBFD 42%,#EAF3F8 100%)!important;
  border:1px solid rgba(112,180,190,.42)!important;
  border-top:4px solid #70b4be!important;
  border-left:4px solid #326191!important;
  border-radius:22px!important;
  box-shadow:
    0 24px 70px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.9)!important;
  transform:perspective(1200px) rotateY(-3deg) scaleY(.97);
  transform-origin:left center;
  scrollbar-width:thin;
}
.groupInfo:before{
  content:none!important;
}
.groupInfo > span{
  color:#326191!important;
}
.groupInfo h3{
  color:#326191!important;
  font-size:1.82rem;
}
.groupInfo strong,
.groupInfoBlock h4,
.groupPresidentInfo span{
  color:#326191!important;
}
.groupPresident{
  background:rgba(255,255,255,.82)!important;
  border:1px solid rgba(80,146,182,.24)!important;
  box-shadow:0 12px 28px rgba(50,97,145,.10);
}
.groupInfoBlock{
  border-top:0!important;
  position:relative;
}
.groupInfoBlock:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg,rgba(50,97,145,0),rgba(50,97,145,.22),rgba(50,97,145,0));
}
.groupInfoBlock li:before{
  background:#326191!important;
  box-shadow:0 0 0 4px rgba(112,180,190,.12);
}
.groupDetailConnector{
  position:absolute;
  z-index:4;
  height:8px;
  pointer-events:none;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(112,180,190,.18) 0%,rgba(112,180,190,.42) 40%,rgba(255,255,255,.58) 100%);
  box-shadow:
    0 0 10px rgba(112,180,190,.22),
    inset 0 1px 0 rgba(255,255,255,.45);
  transform:translateY(-50%);
}
.groupDetailConnector:after{
  content:"";
  position:absolute;
  right:-7px;
  top:50%;
  width:15px;
  height:15px;
  transform:translateY(-50%);
  border-radius:50%;
  background:#F7FBFD;
  border:2px solid rgba(112,180,190,.9);
  box-shadow:
    0 0 0 4px rgba(112,180,190,.12),
    0 0 12px rgba(112,180,190,.35);
}
.aboutGroupements .ecosystemLayout{
  height:720px;
  min-height:0;
}
@media(max-width:1260px){
  .aboutGroupements .ecosystemLayout{
    height:auto;
  }
  .groupInfo,
  body.is-home .home-snap-block--groups .groupInfo{
    transform:none;
    height:auto!important;
  }
  .groupDetailConnector{
    display:none!important;
  }
}

/* Groupements — fond et pilule Exploitants validés */
.orbitWrap,
body.is-home .home-snap-block--groups .orbitWrap{
  background:#C77165!important;
  background-image:none!important;
  background-color:#C77165!important;
}

.clusterExploitants .orbitCategory,
body.is-home .home-snap-block--groups .clusterExploitants .orbitCategory{
  background:#FFFCEF!important;
  color:#326191!important;
  border:1px solid rgba(255,252,239,.86)!important;
  box-shadow:0 16px 34px rgba(11,42,74,.16)!important;
}

/* Page Qui sommes-nous — bloc groupements compact */
.aboutGroupements{
  padding-top:clamp(10px,2vw,22px);
}

.aboutGroupements .ecosystemCard{
  padding-top:clamp(18px,2vw,24px);
}

.aboutGroupements .ecosystemHeader.aboutGroupementsHeader{
  grid-template-columns:minmax(0,max-content) minmax(280px,520px);
  align-items:start;
  gap:clamp(18px,2.4vw,34px);
  margin-bottom:18px;
}

.aboutGroupements .ecosystemHeader.aboutGroupementsHeader h2{
  white-space:nowrap;
  font-size:clamp(2rem,2.6vw,3.1rem);
  line-height:1;
}

.aboutGroupements .ecosystemHeader.aboutGroupementsHeader .eyebrow{
  margin-bottom:8px;
}

.aboutGroupementsNote{
  justify-self:end;
  max-width:520px;
  margin:0;
  padding:12px 14px 12px 16px;
  border:1px solid rgba(199,113,101,.30);
  border-left:4px solid #C77165;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(255,252,239,.96),rgba(251,247,241,.9));
  color:#326191;
  font-size:.82rem;
  line-height:1.38;
  font-weight:620;
  box-shadow:0 12px 28px rgba(50,97,145,.08);
}

@media(max-width:1100px){
  .aboutGroupements .ecosystemHeader.aboutGroupementsHeader{
    grid-template-columns:1fr;
  }
  .aboutGroupements .ecosystemHeader.aboutGroupementsHeader h2{
    white-space:normal;
  }
  .aboutGroupementsNote{
    justify-self:stretch;
    max-width:none;
  }
}

@media(max-width:760px){
  .aboutGroupementsNote{
    padding:11px 12px;
    font-size:.78rem;
  }
}

/* Footer adaptatif v2 — couleurs uniquement, contenu et structure conserves */
.footer{
  --footer-bg:var(--fnam-bleu-roi-900,#1c3a59);
  --footer-fg:var(--fnam-ivory,#fbf8f1);
  --footer-muted:rgba(251,248,241,.82);
  --footer-heading:var(--fnam-cyan-pale,#70b4be);
  --footer-link:var(--fnam-ivory,#fbf8f1);
  --footer-rule:rgba(112,180,190,.32);
  --footer-top-rule:var(--fnam-cyan-pale,#70b4be);
  background:var(--footer-bg)!important;
  color:var(--footer-fg)!important;
  border-top:4px solid var(--footer-top-rule);
  font-family:var(--font-body);
}

.footer--after-blue,
body.is-about .footer{
  --footer-bg:linear-gradient(180deg,var(--fnam-ivory,#fbf8f1) 0%,var(--fnam-bleu-roi-50,#f3f7fb) 100%);
  --footer-fg:var(--fnam-bleu-roi-900,#1c3a59);
  --footer-muted:var(--fnam-bleu-roi,#326191);
  --footer-heading:var(--fnam-rouge-bordeaux,#be3c3f);
  --footer-link:var(--fnam-bleu-roi-900,#1c3a59);
  --footer-rule:var(--fnam-paper-edge,#e6dcc6);
}

.footer .brand{
  color:var(--footer-fg)!important;
}

.footer .brandLogo{
  content:url("../images/logo-fnam-white-text.png");
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
}

.footer--after-blue .brandLogo,
body.is-about .footer .brandLogo{
  content:url("../images/logo-fnam-transparent.png");
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
}

.footer h3{
  color:var(--footer-heading)!important;
  font-family:var(--font-display);
}

.footer a{
  color:var(--footer-link)!important;
}

.footer a:hover{
  color:var(--footer-heading)!important;
}

.footerLock{
  display:inline-block;
  margin-left:.22em;
  font-size:.86em;
  line-height:1;
  vertical-align:.02em;
}

.footer .bottom{
  border-top-color:var(--footer-rule)!important;
  color:var(--footer-muted)!important;
}

/* Accueil — groupements directement sur le fond bleu */
body.is-home .home-snap-block--groups .orbitWrap{
  background:transparent!important;
  background-image:none!important;
  background-color:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  overflow:visible;
}

body.is-home .home-snap-block--groups .orbitWrap:before,
body.is-home .home-snap-block--groups .orbitWrap:after{
  content:none!important;
}

body.is-home .home-snap-block--groups .ecosystemConnectors{
  z-index:3;
  overflow:visible;
}

body.is-home .home-snap-block--groups .connector{
  stroke:rgba(255,255,255,.72)!important;
  stroke-width:1.65!important;
  opacity:.7!important;
  filter:drop-shadow(0 0 5px rgba(255,255,255,.14));
}

body.is-home .home-snap-block--groups .connector.active{
  stroke:#FFFFFF!important;
  stroke-width:4!important;
  opacity:1!important;
  filter:
    drop-shadow(0 0 8px rgba(255,255,255,.72))
    drop-shadow(0 0 16px rgba(112,180,190,.45));
}

body.is-home .home-snap-block--groups .orbitCenter,
body.is-home .home-snap-block--groups .orbitCategory,
body.is-home .home-snap-block--groups .orbitNode{
  z-index:6;
}

body.is-home .home-snap-block--groups .orbitCategory{
  border:1px solid rgba(255,255,255,.76)!important;
  box-shadow:0 14px 28px rgba(7,28,51,.22)!important;
}

body.is-home .home-snap-block--groups .orbitCategory.active{
  border-color:#FFFFFF!important;
  box-shadow:
    0 0 0 3px rgba(255,255,255,.18),
    0 0 22px rgba(255,255,255,.34),
    0 16px 34px rgba(7,28,51,.24)!important;
}

body.is-home .home-snap-block--groups .orbitNode{
  box-shadow:0 18px 42px rgba(7,28,51,.28)!important;
}

body.is-home .home-snap-block--groups .orbitNode.active,
body.is-home .home-snap-block--groups .orbitNode:focus{
  border-color:#FFFFFF!important;
  box-shadow:
    0 0 0 3px rgba(255,255,255,.36),
    0 0 22px rgba(255,255,255,.26),
    0 20px 46px rgba(7,28,51,.32)!important;
}

body.is-home .home-snap-block--groups .groupDetailConnector{
  display:none!important;
}

body.is-home .home-snap-block--groups .groupInfo{
  transform:none!important;
}

/* Groupements — section partagee accueil / page A propos */
.fnamGroupementsShared{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(circle at 70% 30%,rgba(80,146,182,.16),transparent 36%),
    linear-gradient(135deg,#21384D 0%,#274B65 52%,#326191 100%)!important;
  color:#FBF7F1;
}

.fnamGroupementsShared:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.16;
  background-repeat:no-repeat;
  background-position:58% 18%;
  background-size:1180px auto;
  background-image:url("data:image/svg+xml,%3Csvg width='1400' height='720' viewBox='0 0 1400 720' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='rgba(255,255,255,0.55)' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M610 340 C760 250 925 160 1120 78 L1188 96 C1035 190 865 288 660 410 Z'/%3E%3Cpath d='M650 382 C820 303 980 212 1148 94' opacity='.65'/%3E%3Cpath d='M705 356 C845 293 986 220 1136 112' opacity='.48'/%3E%3Cpath d='M755 330 C870 282 1006 209 1110 130' opacity='.42'/%3E%3Cpath d='M720 390 L1094 118' opacity='.32'/%3E%3Cpath d='M775 402 L1160 118' opacity='.25'/%3E%3Cpath d='M690 420 C820 420 1010 390 1260 300' opacity='.25'/%3E%3Cpath d='M350 330 C540 280 765 240 1035 92' opacity='.26'/%3E%3Cpath d='M180 420 C440 328 720 300 1110 112' opacity='.18'/%3E%3Cpath d='M1015 80 L1118 78 L1070 142' opacity='.75'/%3E%3Cpath d='M815 176 L843 154 M865 151 L895 128 M914 128 L944 106 M964 105 L996 84' opacity='.35'/%3E%3Cpath d='M995 74 C1120 132 1220 210 1302 318' opacity='.18'/%3E%3Cpath d='M1045 55 C1190 123 1300 230 1370 370' opacity='.14'/%3E%3C/g%3E%3Cg fill='none' stroke='rgba(255,255,255,0.23)' stroke-width='.8'%3E%3Cpath d='M460 120 H1260' stroke-dasharray='5 13'/%3E%3Cpath d='M520 510 H1320' stroke-dasharray='5 13'/%3E%3Cpath d='M860 40 V650' stroke-dasharray='5 13'/%3E%3Cpath d='M1060 20 V640' stroke-dasharray='5 13'/%3E%3C/g%3E%3C/svg%3E");
}

.fnamGroupementsShared > .container,
.fnamGroupementsShared > .ecosystemCard{
  position:relative;
  z-index:1;
}

.fnamGroupementsShared .ecosystemCard{
  background:transparent!important;
  border-color:rgba(112,180,190,.38)!important;
  box-shadow:none!important;
}

.fnamGroupementsShared .ecosystemCard:before{
  content:none!important;
}

.fnamGroupementsShared .ecosystemHeader h2{
  color:#FFFFFF!important;
}

.fnamGroupementsShared .ecosystemHeader p{
  color:rgba(251,247,241,.88)!important;
}

.fnamGroupementsShared .eyebrow{
  color:#70b4be!important;
}

.fnamGroupementsShared .orbitWrap{
  background:transparent!important;
  background-image:none!important;
  background-color:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  overflow:visible;
}

.fnamGroupementsShared .orbitWrap:before,
.fnamGroupementsShared .orbitWrap:after{
  content:none!important;
}

.fnamGroupementsShared .ecosystemConnectors{
  z-index:3;
  overflow:visible;
}

.fnamGroupementsShared .connector{
  stroke:rgba(255,255,255,.72)!important;
  stroke-width:1.65!important;
  opacity:.7!important;
  filter:drop-shadow(0 0 5px rgba(255,255,255,.14));
}

.fnamGroupementsShared .connector.active{
  stroke:#FFFFFF!important;
  stroke-width:4!important;
  opacity:1!important;
  filter:
    drop-shadow(0 0 8px rgba(255,255,255,.72))
    drop-shadow(0 0 16px rgba(112,180,190,.45));
}

.fnamGroupementsShared .orbitCenter,
.fnamGroupementsShared .orbitCategory,
.fnamGroupementsShared .orbitNode{
  z-index:6;
}

.fnamGroupementsShared .orbitCategory{
  border:1px solid rgba(255,255,255,.76)!important;
  box-shadow:0 14px 28px rgba(7,28,51,.22)!important;
}

.fnamGroupementsShared .orbitCategory.active{
  border-color:#FFFFFF!important;
  box-shadow:
    0 0 0 3px rgba(255,255,255,.18),
    0 0 22px rgba(255,255,255,.34),
    0 16px 34px rgba(7,28,51,.24)!important;
}

.fnamGroupementsShared .orbitNode{
  box-shadow:0 18px 42px rgba(7,28,51,.28)!important;
}

.fnamGroupementsShared .orbitNode.active,
.fnamGroupementsShared .orbitNode:focus{
  border-color:#FFFFFF!important;
  box-shadow:
    0 0 0 3px rgba(255,255,255,.36),
    0 0 22px rgba(255,255,255,.26),
    0 20px 46px rgba(7,28,51,.32)!important;
}

.fnamGroupementsShared .groupDetailConnector{
  display:none!important;
}

.fnamGroupementsShared .groupInfo{
  transform:none!important;
}

.aboutGroupements.fnamGroupementsShared{
  padding:clamp(18px,2.2vw,28px);
  --about-orbit-height:clamp(580px,54vw,720px);
  --about-detail-top:28px;
  --about-detail-bottom:18px;
}

.aboutGroupements.fnamGroupementsShared .ecosystemCard{
  padding:0;
  border:0;
  border-radius:0;
}

.aboutGroupements.fnamGroupementsShared .ecosystemLayout{
  grid-template-columns:minmax(650px,1fr) minmax(280px,320px);
  gap:clamp(16px,1.8vw,22px);
}

.aboutGroupements.fnamGroupementsShared .orbitWrap,
.aboutGroupements.fnamGroupementsShared .groupInfo{
  height:var(--about-orbit-height)!important;
  min-height:580px!important;
}

.aboutGroupements.fnamGroupementsShared .groupInfo{
  align-self:start;
  margin-top:var(--about-detail-top);
  height:calc(var(--about-orbit-height) - var(--about-detail-top) - var(--about-detail-bottom))!important;
  min-height:0!important;
  max-height:calc(var(--about-orbit-height) - var(--about-detail-top) - var(--about-detail-bottom));
}

.aboutGroupements.fnamGroupementsShared .ecosystemHeader{
  grid-template-columns:1fr;
  align-items:end;
  margin-bottom:18px;
}

.aboutGroupements.fnamGroupementsShared .ecosystemHeader h2{
  white-space:nowrap;
  font-size:clamp(2rem,2.6vw,3.1rem);
}

@media(max-width:1260px){
  .aboutGroupements.fnamGroupementsShared .ecosystemLayout{
    grid-template-columns:1fr;
  }

  .aboutGroupements.fnamGroupementsShared .orbitWrap,
  .aboutGroupements.fnamGroupementsShared .groupInfo{
    height:auto!important;
    min-height:0!important;
  }

  .aboutGroupements.fnamGroupementsShared .groupInfo{
    margin-top:14px;
    height:min(540px,calc(100vh - 190px))!important;
    max-height:min(540px,calc(100vh - 190px));
  }
}

@media(max-width:900px){
  .fnamGroupementsShared:before{
    background-size:940px auto;
    background-position:46% 10%;
    opacity:.12;
  }
}

@media(max-width:760px){
  .aboutGroupements.fnamGroupementsShared{
    padding:18px;
  }

  .aboutGroupements.fnamGroupementsShared .groupInfo{
    height:min(480px,calc(100vh - 170px))!important;
    max-height:min(480px,calc(100vh - 170px));
  }

  .aboutGroupements.fnamGroupementsShared .ecosystemHeader{
    grid-template-columns:1fr;
  }

  .aboutGroupements.fnamGroupementsShared .ecosystemHeader h2{
    white-space:normal;
  }
}

@media(max-width:640px){
  .fnamGroupementsShared:before{
    background-size:820px auto;
    background-position:40% 2%;
    opacity:.09;
  }
}

/* Espace adhérents */
.memberHero{
  position:relative;
  overflow:hidden;
  padding:clamp(56px,7vw,92px) 0;
  color:var(--fond);
  background:
    linear-gradient(135deg,rgba(50,97,145,.96),rgba(58,109,160,.92)),
    var(--bleu-fonce);
}
@media(min-width:1081px){
  body.is-member .memberHero{
    min-height:calc(100svh - var(--header-height,104px));
    display:grid;
    align-items:center;
    padding:clamp(42px,5svh,74px) 0;
  }
}
.memberHero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(251,247,241,.08) 1px,transparent 1px),
    linear-gradient(rgba(251,247,241,.06) 1px,transparent 1px);
  background-size:72px 72px;
  opacity:.52;
  pointer-events:none;
}
.memberHero .container{
  position:relative;
  z-index:1;
}
.memberHeroLayout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,430px);
  gap:clamp(24px,4vw,58px);
  align-items:center;
}
.memberHero h1{
  max-width:820px;
  color:var(--fond);
  font-size:clamp(2.8rem,5.4vw,5.6rem);
}
.memberHero p{
  max-width:740px;
  color:rgba(251,247,241,.92);
  font-size:1.13rem;
}
.memberHeroStats{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}
.memberHeroStats span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid rgba(251,247,241,.26);
  border-radius:999px;
  padding:8px 11px;
  background:rgba(251,247,241,.10);
  color:var(--fond);
  font-weight:800;
  line-height:1.2;
}
.memberHeroStats strong{
  color:var(--turquoise);
}
.memberLoginCard{
  background:rgba(251,247,241,.96);
  color:var(--bleu-fonce);
  border:1px solid rgba(112,180,190,.8);
  border-radius:24px;
  padding:clamp(22px,3vw,30px);
  box-shadow:0 24px 60px rgba(7,28,51,.26);
}
.memberMobileHold{
  display:none;
}
.memberLoginForm,
.memberSessionCard{
  display:grid;
  gap:14px;
}
.memberLoginForm h2,
.memberSessionCard h2{
  margin:0;
  color:var(--bleu-fonce);
  font-size:1.55rem;
  line-height:1.1;
}
.memberLoginForm p,
.memberSessionCard p{
  margin:0;
  color:var(--bleu-soutenu);
  font-size:.98rem;
}
.memberLockIcon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:rgba(112,180,190,.18);
  color:var(--rouge);
  font-weight:950;
}
.memberLoginForm label{
  color:var(--bleu-fonce);
  font-size:.82rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.memberPasswordRow{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
}
.memberPasswordRow input,
.memberSearch input{
  min-height:48px;
}
.memberPasswordRow input{
  width:100%;
  border:1px solid rgba(112,180,190,.78);
  border-radius:999px;
  padding:12px 16px;
  color:var(--bleu-fonce);
  background:var(--fond);
  font:inherit;
  font-weight:800;
}
.memberPasswordRow input:focus-visible,
.memberSearch input:focus-visible{
  outline:3px solid rgba(190,60,63,.28);
  outline-offset:2px;
}
.memberLoginError{
  min-height:1.35em;
  color:var(--rouge)!important;
  font-weight:900;
}
.memberControls{
  display:grid;
  gap:18px;
  margin-bottom:18px;
  padding:18px;
  border:1px solid rgba(112,180,190,.46);
  border-radius:22px;
  background:rgba(251,247,241,.72);
}
.memberControls .publicationFilterRows{
  gap:10px;
}
.memberControls .publicationFilterRow{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  align-items:stretch;
  overflow:visible;
  padding-bottom:0;
}
.memberControls .publicationFilterRow .filterLabel{
  width:auto;
  flex:auto;
  grid-column:1/-1;
  margin:0 0 2px;
}
.memberControls .publicationFilterRow .filter{
  width:100%;
  min-width:0;
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:8px 10px;
  text-align:center;
  white-space:normal;
  line-height:1.08;
}
.memberFilter span{
  margin-left:4px;
  opacity:.72;
}
.memberWorkspace{
  width:min(1540px,calc(100% - 40px));
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(22px,3vw,34px);
  align-items:start;
}
.memberAgendaPanel{
  position:sticky;
  top:calc(var(--header-height,104px) + 18px);
  overflow:visible;
  padding:18px;
  border:1px solid rgba(112,180,190,.58);
  border-radius:26px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.34),rgba(251,247,241,.92)),
    var(--fond);
  box-shadow:0 18px 45px rgba(7,28,51,.10);
}
.memberAgendaHead{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:start;
  margin-bottom:10px;
}
.memberAgendaHead h2{
  margin:5px 0 0;
  color:var(--bleu-fonce);
  font-size:clamp(2rem,3.1vw,3.35rem);
  line-height:.92;
  letter-spacing:0;
}
.memberYearNav{
  display:flex;
  gap:8px;
}
.memberYearNav .iconBtn{
  width:42px;
  height:42px;
  border-radius:999px;
}
.memberYearNav .iconBtn:disabled,
.memberYearButton:disabled{
  opacity:.35;
  cursor:not-allowed;
}
.memberYearSwitch{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:10px;
}
.memberYearButton{
  min-height:32px;
  padding:6px 11px;
  border:1px solid rgba(112,180,190,.58);
  border-radius:999px;
  background:rgba(251,247,241,.84);
  color:var(--bleu-soutenu);
  font-weight:900;
  cursor:pointer;
}
.memberYearButton.active{
  background:var(--bleu-fonce);
  border-color:var(--bleu-fonce);
  color:var(--fond);
}
.memberAgendaLegend{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:12px;
}
.agendaLegendItem{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:5px 8px;
  border:1px solid rgba(112,180,190,.34);
  border-radius:999px;
  background:rgba(251,247,241,.88);
  color:var(--bleu-soutenu);
  font-size:.74rem;
  font-weight:900;
  line-height:1.15;
}
.agendaLegendItem i{
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--agenda-color,var(--bleu-moyen));
  box-shadow:0 0 0 3px color-mix(in srgb,var(--agenda-color,var(--bleu-moyen)) 18%,transparent);
}
.memberYearGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.memberMonthCell{
  appearance:none;
  width:100%;
  min-height:96px;
  display:grid;
  grid-template-rows:auto 1fr;
  gap:7px;
  padding:10px;
  border:1px solid rgba(112,180,190,.42);
  border-radius:16px;
  background:rgba(255,255,255,.40);
  color:inherit;
  cursor:pointer;
  font:inherit;
  text-align:left;
}
.memberMonthCell:hover,
.memberMonthCell:focus-visible{
  border-color:rgba(50,97,145,.72);
  background:rgba(255,255,255,.68);
}
.memberMonthCell:focus-visible{
  outline:3px solid rgba(190,60,63,.24);
  outline-offset:2px;
}
.memberMonthCell.active{
  border-color:var(--rouge);
  box-shadow:0 0 0 3px rgba(190,60,63,.14),0 14px 30px rgba(7,28,51,.10);
  background:rgba(255,255,255,.88);
}
.memberMonthHeader{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.memberMonthHeader h3{
  margin:0;
  color:var(--bleu-fonce);
  font-size:.92rem;
  line-height:1.05;
}
.memberMonthHeader span{
  min-width:22px;
  min-height:22px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  background:rgba(112,180,190,.16);
  color:var(--bleu-soutenu);
  font-size:.72rem;
  font-weight:950;
}
.memberMonthEvents{
  display:flex;
  flex-wrap:wrap;
  align-content:flex-start;
  gap:5px;
}
.memberMonthEmpty{
  align-self:end;
  color:rgba(58,109,160,.58);
  font-size:.72rem;
  font-weight:850;
}
.memberAgendaPill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  max-width:100%;
  min-height:25px;
  padding:4px 8px 4px 5px;
  border-radius:11px;
  background:var(--agenda-color,var(--bleu-moyen));
  color:#fff;
  font-size:.71rem;
  font-weight:950;
  line-height:1.05;
  box-shadow:0 5px 12px color-mix(in srgb,var(--agenda-color,var(--bleu-moyen)) 24%,transparent);
}
.memberAgendaPill strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  place-items:center;
  min-width:38px;
  min-height:17px;
  padding:0 5px;
  border-radius:999px;
  background:rgba(255,255,255,.22);
  color:#fff;
  font-size:.66rem;
  white-space:nowrap;
}
.memberAgendaPill em{
  font-style:normal;
  white-space:nowrap;
}
.agenda-comex{--agenda-color:#326191}
.agenda-technique{--agenda-color:#0099A8}
.agenda-durable{--agenda-color:#5B946E}
.agenda-economie{--agenda-color:#BE3C3F}
.agenda-outremer{--agenda-color:#B8872C}
.memberDocumentGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.memberDocumentCard{
  position:relative;
  overflow:hidden;
  min-height:230px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:22px;
  padding:22px;
  border:1px solid rgba(112,180,190,.58);
  border-radius:22px;
  background:rgba(251,247,241,.95);
  box-shadow:0 12px 30px rgba(7,28,51,.08);
}
.memberDocumentCard:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:var(--bleu-moyen);
}
.memberDocumentCard.domain-comex:before{background:var(--bleu-fonce)}
.memberDocumentCard.domain-technique:before{background:var(--turquoise)}
.memberDocumentCard.domain-durable:before{background:#5d9f91}
.memberDocumentCard.domain-economie:before{background:var(--rouge)}
.memberDocumentCard.domain-outremer:before{background:#B8872C}
.memberDocumentCard time{
  display:block;
  margin:14px 0 8px;
  color:var(--bleu-soutenu);
  font-size:.9rem;
  font-weight:900;
}
.memberDocumentCard h3{
  margin:0;
  color:var(--bleu-fonce);
  font-size:1.16rem;
  line-height:1.18;
}
.memberDocumentCard .actions{
  margin-top:0;
}
body.is-member .footer{
  margin-top:0;
  --footer-bg:linear-gradient(180deg,var(--fnam-ivory,#fbf8f1) 0%,var(--fnam-bleu-roi-50,#f3f7fb) 100%);
  --footer-fg:var(--fnam-bleu-roi-900,#1c3a59);
  --footer-muted:var(--fnam-bleu-roi,#326191);
  --footer-heading:var(--fnam-rouge-bordeaux,#be3c3f);
  --footer-link:var(--fnam-bleu-roi-900,#1c3a59);
  --footer-rule:var(--fnam-paper-edge,#e6dcc6);
}
body.is-member .footer .brandLogo{
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
}
.aboutAgendaWorkspace{
  width:100%;
  grid-template-columns:minmax(360px,.86fr) minmax(0,1.14fr);
}
.aboutAgendaPanel{
  position:relative;
  top:auto;
}
.aboutAgendaYearGrid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.aboutAgendaMonthCell{
  min-height:112px;
  cursor:default;
}
.aboutAgendaMonthCell:hover{
  border-color:rgba(112,180,190,.42);
  background:rgba(255,255,255,.40);
}
.aboutAgendaMonthCell .memberAgendaPill{
  padding:5px 9px;
}
.aboutAgenda .memberLibraryPanel .compactHead{
  align-items:start;
}
.aboutAgenda .memberLibraryPanel .btn span{
  margin-right:4px;
}
@media(max-width:1080px){
  .memberHeroLayout{
    grid-template-columns:1fr;
  }
  .memberWorkspace{
    grid-template-columns:1fr;
  }
  .memberAgendaPanel{
    position:relative;
    top:auto;
    max-height:none;
  }
  .memberDocumentGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .aboutAgendaWorkspace{
    grid-template-columns:1fr;
  }
}
@media(max-width:680px){
  .memberHero{
    padding:46px 0 54px;
  }
  .memberPasswordRow{
    grid-template-columns:1fr;
  }
  .memberPasswordRow .btn{
    width:100%;
  }
  .memberAgendaPanel{
    padding:16px;
    border-radius:22px;
  }
  .memberAgendaHead{
    align-items:center;
  }
  .memberControls .publicationFilterRow{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .memberYearGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .memberMonthCell{
    min-height:104px;
  }
  .memberDocumentGrid{
    grid-template-columns:1fr;
  }
  .memberDocumentCard{
    min-height:0;
  }
  .aboutAgendaYearGrid{
    grid-template-columns:1fr;
  }
}

/* Mobile V3 - Espace adherents : attente reservee, sans outil complet */
@media(max-width:640px){
  html:has(body.is-member),
  body.is-member{
    background:#17324d!important;
    overflow-y:auto!important;
    overscroll-behavior-y:auto!important;
  }

  body.is-member{
    --mobile-section-title-gap:6px;
    --mobile-section-title-top:calc(var(--header-height,78px) + var(--mobile-section-title-gap));
  }

  

  

  

  body.is-member .memberHero{
    min-height:var(--mobile-vh,100svh)!important;
    height:var(--mobile-vh,100svh)!important;
    padding:var(--mobile-section-title-top) 18px 28px!important;
    display:flex!important;
    align-items:stretch!important;
    background:
      linear-gradient(180deg,rgba(11,42,74,.98),rgba(50,97,145,.94)),
      linear-gradient(135deg,#17324d,#326191)!important;
  }

  body.is-member .memberHero:before{
    background:
      linear-gradient(90deg,rgba(251,247,241,.06) 1px,transparent 1px),
      linear-gradient(rgba(251,247,241,.05) 1px,transparent 1px)!important;
    background-size:54px 54px!important;
    opacity:.28!important;
  }

  body.is-member .memberHero .container{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }

  body.is-member .memberHeroLayout{
    min-height:100%!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    gap:0!important;
  }

  body.is-member .memberHeroLayout > div:first-child{
    min-height:100%!important;
    display:flex!important;
    flex-direction:column!important;
    min-width:0!important;
  }

  body.is-member .memberHero .eyebrow{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    margin:0 0 23.9px!important;
    color:#87d7e7!important;
    font-size:.68rem!important;
    line-height:1!important;
    letter-spacing:.16em!important;
  }

  body.is-member .memberHero .eyebrow:before{
    width:28px!important;
    height:2px!important;
    background:#c83f44!important;
  }

  body.is-member .memberHero h1{
    max-width:100%!important;
    margin:0!important;
    padding-bottom:16px!important;
    color:#FBF8F1!important;
    border-bottom:4px solid #c83f44!important;
    font-size:clamp(2rem,9vw,2.45rem)!important;
    line-height:1.04!important;
    letter-spacing:0!important;
  }

  body.is-member .memberHero p{
    max-width:100%!important;
    margin:18px 0 0!important;
    color:rgba(251,248,241,.92)!important;
    font-size:.98rem!important;
    line-height:1.42!important;
    font-weight:760!important;
  }

  body.is-member .memberLoginCard,
  body.is-member .memberLibrary,
  body.is-member .footer{
    display:none!important;
  }

  body.is-member .memberHeroStats{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin:14px 0 0!important;
    position:relative!important;
    z-index:1!important;
    transform:translateY(var(--member-stats-y,0px))!important;
  }

  body.is-member .memberHeroStats span{
    min-height:34px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    margin:0!important;
    padding:6px 7px!important;
    border:1px solid rgba(251,248,241,.26)!important;
    border-radius:var(--r-4,10px)!important;
    background:rgba(251,248,241,.08)!important;
    color:#FBF8F1!important;
    font-size:.66rem!important;
    line-height:1.05!important;
    font-weight:850!important;
    text-align:center!important;
  }

  body.is-member .memberHeroStats span:nth-child(2){
    order:3!important;
    grid-column:1 / -1!important;
  }

  body.is-member .memberHeroStats span:nth-child(3){
    order:2!important;
  }

  body.is-member .memberHeroStats strong{
    color:#87d7e7!important;
    font-size:1rem!important;
    line-height:1!important;
  }

  body.is-member .memberMobileHold{
    flex:1 1 auto!important;
    min-height:0!important;
    width:100%!important;
    display:grid!important;
    grid-template-rows:1fr auto!important;
    gap:9px!important;
    margin-top:0!important;
    margin-bottom:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#17324d!important;
    box-shadow:none!important;
  }

  body.is-member .memberMobileCard{
    display:grid!important;
    gap:9px!important;
    align-self:center!important;
    width:100%!important;
    padding:14px!important;
    border:1px solid rgba(112,180,190,.42)!important;
    border-radius:var(--r-4,10px)!important;
    background:#FBF8F1!important;
    color:#17324d!important;
    box-shadow:0 20px 44px rgba(3,18,31,.22)!important;
  }

  body.is-member .memberMobileHoldIcon{
    display:none!important;
    width:0!important;
    height:0!important;
    place-items:center!important;
    border-radius:var(--r-4,10px)!important;
    background:rgba(190,60,63,.12)!important;
    color:#be3c3f!important;
    font-size:1.2rem!important;
  }

  body.is-member .memberMobileHold h2{
    margin:0!important;
    color:#17324d!important;
    font-size:1.35rem!important;
    line-height:1.08!important;
    letter-spacing:0!important;
  }

  body.is-member .memberMobileHold p{
    margin:0!important;
    color:#294866!important;
    font-size:.92rem!important;
    line-height:1.36!important;
    font-weight:650!important;
  }

  body.is-member .memberMobileLoginForm{
    display:grid!important;
    gap:9px!important;
    margin:0!important;
  }

  body.is-member .memberMobileLoginForm label{
    margin:0!important;
    color:#6a7687!important;
    font-size:.68rem!important;
    font-weight:850!important;
    letter-spacing:.12em!important;
    line-height:1!important;
    text-transform:uppercase!important;
  }

  body.is-member .memberMobilePasswordRow{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
  }

  body.is-member .memberMobilePasswordRow input{
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    padding:10px 11px!important;
    border:1px solid rgba(50,97,145,.24)!important;
    border-radius:var(--r-4,10px)!important;
    background:#fff!important;
    color:#17324d!important;
    font-size:.9rem!important;
    font-weight:700!important;
  }

  body.is-member .memberMobilePasswordRow .btn{
    min-height:44px!important;
    padding:0 13px!important;
    border-radius:var(--r-4,10px)!important;
    background:#be3c3f!important;
    color:#fff!important;
    box-shadow:none!important;
  }

  body.is-member .memberMobileHold .memberLoginError{
    min-height:0!important;
    margin:0!important;
    color:#be3c3f!important;
    font-size:.72rem!important;
    line-height:1.15!important;
    font-weight:800!important;
  }

  body.is-member .memberMobileHold .memberLoginError:empty{
    display:none!important;
  }

  body.is-member .memberMobileHoldCta{
    width:100%!important;
    min-height:44px!important;
    margin-top:0!important;
    border-radius:var(--r-4,10px)!important;
    background:#be3c3f!important;
    color:#fff!important;
    box-shadow:none!important;
  }

  body.is-member .memberMobileLogout{
    width:100%!important;
    min-height:40px!important;
    border-radius:var(--r-4,10px)!important;
    background:#efe7d8!important;
    color:#17324d!important;
    box-shadow:none!important;
  }
}

@media(max-width:640px) and (max-height:700px){
  body.is-member .memberHero{
    padding-bottom:20px!important;
  }

  body.is-member .memberHero .eyebrow{
    margin-bottom:18px!important;
  }

  body.is-member .memberHero h1{
    font-size:clamp(1.82rem,8vw,2.15rem)!important;
    padding-bottom:12px!important;
  }

  body.is-member .memberHero p{
    margin-top:14px!important;
    font-size:.88rem!important;
    line-height:1.34!important;
  }

  body.is-member .memberMobileHold{
    padding:0!important;
    gap:9px!important;
  }

  body.is-member .memberMobileCard{
    padding:14px!important;
    gap:9px!important;
  }

  body.is-member .memberMobileHold p{
    margin:0!important;
    font-size:.84rem!important;
    line-height:1.3!important;
  }

  body.is-member .memberHeroStats{
    margin-top:10px!important;
    gap:6px!important;
  }

  body.is-member .memberHeroStats span{
    min-height:31px!important;
    padding:5px!important;
    font-size:.62rem!important;
  }

  body.is-member .memberHeroStats strong{
    font-size:.94rem!important;
  }

  body.is-member .memberMobileLoginForm{
    gap:7px!important;
  }

  body.is-member .memberMobilePasswordRow input,
  body.is-member .memberMobilePasswordRow .btn{
    min-height:40px!important;
  }
}

/* Domaines — page detaillee avec sections aimantees */
html.is-domaines{
  scroll-snap-type:y mandatory;
  scroll-padding-top:0;
}
body.is-domaines{
  --domaines-fixed-header:104px;
  --domaines-frame:100svh;
  background:#071c33;
}
body.is-domaines .footer{
  scroll-snap-align:start;
}
body.is-domaines #main > .domainesSnapBlock{
  min-height:var(--domaines-frame)!important;
  height:var(--domaines-frame)!important;
  padding-block:0!important;
  display:grid!important;
  align-items:stretch!important;
  overflow:hidden;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  scroll-margin-top:0;
}
.domainesHero{
  color:#FBF7F1;
  background:
    linear-gradient(135deg,rgba(7,28,51,.92),rgba(50,97,145,.84)),
    url("../images/hero-fallback.jpg") center/cover no-repeat;
}
.domainesHeroInner{
  width:min(1440px,calc(100vw - clamp(36px,7vw,112px)))!important;
  height:100%;
  min-height:0;
  display:grid;
  align-content:center;
  gap:clamp(16px,2.4svh,28px);
  padding-top:calc(var(--domaines-fixed-header) + clamp(4px,1.4svh,18px));
  padding-bottom:clamp(22px,4svh,46px);
}
.domainesHero .eyebrow{
  color:#70b4be;
}
.domainesHero h1{
  max-width:1080px;
  margin:0;
  color:#FBF7F1;
  font-size:clamp(2.6rem,min(6vw,10svh),6.2rem);
  line-height:.94;
}
.domainesHero p{
  max-width:920px;
  margin:0;
  color:rgba(251,247,241,.9)!important;
  font-size:clamp(1rem,1.55vw,1.28rem);
}
.domainesNav{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:clamp(10px,1.2vw,14px);
  margin-top:clamp(6px,1.4svh,16px);
}
.domainesNav a{
  display:grid;
  align-content:space-between;
  min-height:clamp(150px,20svh,210px);
  padding:clamp(12px,1.5svh,16px);
  text-decoration:none;
  color:#FBF7F1;
  border:1px solid rgba(112,180,190,.58);
  border-radius:18px;
  background:rgba(251,247,241,.10);
  backdrop-filter:blur(10px);
  font-weight:900;
  line-height:1.18;
}
.domainesNav a span,
.domainesNavIndex{
  color:#70b4be;
  font-size:.78rem;
  letter-spacing:.12em;
}
.domainesNav a strong{
  display:block;
  margin-top:clamp(8px,1svh,12px);
  color:inherit;
  font-size:clamp(1rem,1.12vw,1.22rem);
  line-height:1.12;
  letter-spacing:0;
  font-weight:900;
}
.domainesNav a p{
  margin:clamp(8px,1.2svh,12px) 0 0;
  color:rgba(251,248,241,.86);
  font-size:clamp(.72rem,.74vw,.82rem);
  line-height:1.28;
  font-weight:540;
}
.domainesNav a em{
  display:block;
  margin-top:clamp(12px,1.6svh,18px);
  color:#FBF7F1;
  font-style:normal;
  font-size:.82rem;
  line-height:1;
  font-weight:900;
}
.domainesNav a em:after{
  content:" →";
}
.domainesNav a:hover,
.domainesNav a:focus-visible,
.domainesNav a.active{
  background:rgba(251,247,241,.9);
  color:#326191;
  outline:none;
}
.domainesDetail{
  --domain-accent:#70b4be;
  position:relative;
  overflow:hidden;
  color:#FBF7F1;
  background:#071c33;
}
.domaines-social{--domain-accent:#be3c3f}
.domaines-developpement-durable{--domain-accent:#5d9f91}
.domaines-technique{--domain-accent:#70b4be}
.domaines-economie{--domain-accent:#326191}
.domaines-outremer{--domain-accent:#B8872C}
.domainesVideo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transform:scale(1.035);
  filter:saturate(.98) contrast(1.04);
}
.domainesShade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(7,28,51,.78) 0%,rgba(7,28,51,.56) 34%,rgba(7,28,51,.18) 70%,rgba(7,28,51,.30) 100%),
    radial-gradient(circle at 18% 28%,rgba(112,180,190,.24),transparent 34%);
}
.domaines-social .domainesShade{background:linear-gradient(90deg,rgba(7,28,51,.78) 0%,rgba(7,28,51,.56) 34%,rgba(7,28,51,.18) 70%,rgba(7,28,51,.30) 100%),radial-gradient(circle at 18% 28%,rgba(190,60,63,.24),transparent 34%)}
.domaines-developpement-durable .domainesShade{background:linear-gradient(90deg,rgba(7,28,51,.78) 0%,rgba(7,28,51,.56) 34%,rgba(7,28,51,.18) 70%,rgba(7,28,51,.30) 100%),radial-gradient(circle at 18% 28%,rgba(93,159,145,.26),transparent 34%)}
.domaines-technique .domainesShade{background:linear-gradient(90deg,rgba(7,28,51,.78) 0%,rgba(7,28,51,.56) 34%,rgba(7,28,51,.18) 70%,rgba(7,28,51,.30) 100%),radial-gradient(circle at 18% 28%,rgba(112,180,190,.26),transparent 34%)}
.domaines-economie .domainesShade{background:linear-gradient(90deg,rgba(7,28,51,.78) 0%,rgba(7,28,51,.56) 34%,rgba(7,28,51,.18) 70%,rgba(7,28,51,.30) 100%),radial-gradient(circle at 18% 28%,rgba(50,97,145,.28),transparent 34%)}
.domaines-outremer .domainesShade{background:linear-gradient(90deg,rgba(7,28,51,.78) 0%,rgba(7,28,51,.56) 34%,rgba(7,28,51,.18) 70%,rgba(7,28,51,.30) 100%),radial-gradient(circle at 18% 28%,rgba(184,135,44,.26),transparent 34%)}
.domainesSectionLayout{
  position:relative;
  z-index:2;
  width:min(1480px,calc(100vw - clamp(36px,7vw,112px)))!important;
  height:100%;
  max-height:100%;
  min-height:0;
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(190px,260px) minmax(0,760px) minmax(220px,1fr);
  gap:clamp(22px,2.4vw,40px);
  align-items:center;
  padding-top:calc(var(--domaines-fixed-header) + clamp(10px,2svh,24px));
  padding-bottom:clamp(18px,3svh,36px);
}
.domainesSectionIndex{
  align-self:center;
  color:rgba(251,247,241,.58);
  font-size:clamp(4.8rem,min(9.2vw,15svh),9rem);
  font-weight:900;
  line-height:.78;
  text-align:right;
  letter-spacing:0;
  pointer-events:none;
}
.domainesCopy{
  max-width:760px;
  max-height:calc(100svh - var(--domaines-fixed-header) - clamp(52px,7svh,78px));
  padding:clamp(20px,2.3vw,30px);
  border:1px solid rgba(251,247,241,.38);
  border-left:5px solid var(--domain-accent);
  border-radius:22px;
  background:rgba(251,247,241,.82);
  color:#326191;
  box-shadow:0 28px 80px rgba(0,0,0,.24);
  backdrop-filter:blur(16px);
}
.domainesCopy .eyebrow{
  color:#326191;
}
.domainesCopy .eyebrow:before{
  background:var(--domain-accent);
}
.domainesCopy h2{
  max-width:700px;
  margin:8px 0 10px;
  color:#0B2A4A;
  font-size:clamp(1.86rem,min(3.15vw,5.6svh),3.3rem);
  line-height:1;
  letter-spacing:0;
}
.domainesLead{
  max-width:700px;
  margin:0 0 14px;
  color:#326191;
  font-size:clamp(.94rem,min(1.08vw,2svh),1.08rem);
  font-weight:800;
  line-height:1.35;
}
.domainesText{
  display:grid;
  gap:7px;
}
.domainesText p{
  margin:0;
  color:#3a6da0;
  font-size:clamp(.84rem,min(.9vw,1.68svh),.96rem);
  line-height:1.42;
}
.domainesBottom{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:10px;
  margin-top:14px;
  align-items:start;
}
.domainesFocus{
  padding:13px 15px;
  border-radius:16px;
  background:rgba(112,180,190,.16);
}
.domainesFocus h3{
  margin:0 0 6px;
  color:#0B2A4A;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.domainesFocus ul{
  margin:0;
  padding-left:18px;
  color:#326191;
  columns:2;
  column-gap:24px;
  font-size:clamp(.82rem,min(.86vw,1.55svh),.92rem);
  line-height:1.32;
}
.domainesFocus li+li{
  margin-top:3px;
}
.domainesNote{
  margin:0;
  padding:13px 15px;
  border-left:4px solid var(--domain-accent);
  border-radius:14px;
  background:rgba(251,247,241,.74);
  color:#326191;
  font-weight:700;
  font-size:clamp(.82rem,min(.86vw,1.55svh),.92rem);
  line-height:1.36;
}
.domaines-developpement-durable .domainesCopy{
  padding:clamp(18px,2.05vw,26px);
}
.domaines-developpement-durable .domainesCopy h2{
  font-size:clamp(1.72rem,min(2.85vw,5.05svh),3rem);
  margin-bottom:8px;
}
.domaines-developpement-durable .domainesLead{
  margin-bottom:12px;
}
.domaines-developpement-durable .domainesText{
  gap:6px;
}
.domaines-developpement-durable .domainesText p{
  line-height:1.36;
}
.domaines-developpement-durable .domainesBottom{
  gap:8px;
  margin-top:12px;
}
.domaines-developpement-durable .domainesFocus,
.domaines-developpement-durable .domainesNote{
  padding:11px 14px;
}
@media(max-width:1180px){
  .domainesNav{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .domainesSectionLayout{
    grid-template-columns:minmax(170px,210px) minmax(0,680px) minmax(80px,1fr);
  }
  .domainesSectionIndex{font-size:clamp(4rem,8.2vw,7rem)}
}
@media(max-width:900px){
  html.is-domaines{
    scroll-snap-type:none;
  }
  body.is-domaines{
    --domaines-fixed-header:82px;
  }
  body.is-domaines #main > .domainesSnapBlock{
    min-height:auto;
    height:auto!important;
    overflow:visible;
    scroll-snap-align:none;
  }
  body.is-domaines #main > .domainesDetail{
    overflow:hidden;
  }
  .domainesHero{
    min-height:calc(100svh - var(--header-height,104px));
  }
  .domainesNav,
  .domainesBottom{
    grid-template-columns:1fr;
  }
  .domainesSectionLayout{
    grid-template-columns:1fr;
    height:auto;
    padding-block:42px;
  }
  .domainesSectionIndex{
    font-size:3rem;
    text-align:left;
  }
  .domainesCopy{
    max-width:none;
    max-height:none;
    padding:22px;
  }
}
@media(max-width:620px){
  .domainesHero h1{
    font-size:clamp(2.3rem,13vw,3.5rem);
  }
  .domainesNav a{
    min-height:0;
  }
  .domainesDetail{
    padding:34px 0;
  }
  .domainesCopy h2{
    font-size:clamp(1.8rem,10vw,2.7rem);
  }
}

/* Publications — cadrage viewport final et frise stabilisee */
html.is-publications{
  scroll-snap-type:y mandatory;
  scroll-padding-top:0;
}
body.is-publications{
  --publications-fixed-header:78px;
  --publications-frame:100svh;
  background:#FBF7F1;
}
body.is-publications .footer{
  scroll-snap-align:start;
}
body.is-publications #main > .publicationSection{
  --pub-panel-h:clamp(480px,calc(100svh - var(--publications-fixed-header) - 252px),720px);
  --pub-card-w:clamp(176px,10.7vw,214px);
  --pub-card-h:clamp(168px,18.2svh,206px);
  --pub-band-h:clamp(52px,6.2svh,68px);
  --pub-card-offset:clamp(16px,2.1svh,24px);
  --pub-track-y-inset:clamp(22px,3svh,32px);
  min-height:var(--publications-frame)!important;
  height:var(--publications-frame)!important;
  padding-block:0!important;
  display:grid!important;
  align-items:stretch!important;
  overflow:hidden;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  scroll-margin-top:0;
}
body.is-publications .publicationSection > .container{
  width:min(1640px,calc(100vw - clamp(34px,5vw,78px)))!important;
  height:100%;
  max-height:100%;
  min-height:0;
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr);
  gap:clamp(10px,1.4svh,16px);
  padding-top:calc(var(--publications-fixed-header) + clamp(10px,1.7svh,20px));
  padding-bottom:clamp(16px,2.5svh,28px);
  overflow:hidden;
}
body.is-publications .compactHead{
  margin:0;
}
body.is-publications .compactHead h1,
body.is-publications .compactHead h2{
  margin:clamp(4px,.8svh,8px) 0 0;
  font-size:clamp(2.1rem,min(4.1vw,7.2svh),4.5rem);
  line-height:.95;
  letter-spacing:0;
}
body.is-publications .compactHead .eyebrow{
  font-size:clamp(.66rem,.78vw,.78rem);
}
body.is-publications .publicationControls{
  position:relative;
  top:auto;
  z-index:3;
  display:grid;
  grid-template-columns:minmax(880px,1.55fr) minmax(340px,.65fr);
  gap:clamp(12px,1.8vw,24px);
  align-items:end;
  margin:0;
  padding:0 0 clamp(8px,1svh,12px);
  border-bottom:1px solid rgba(112,180,190,.35);
  background:transparent;
  backdrop-filter:none;
}
body.is-publications .publicationFilterPanel{
  grid-template-columns:minmax(880px,1.55fr) minmax(340px,.65fr);
}
body.is-publications .publicationFilterRows{
  gap:clamp(4px,.7svh,7px);
  min-width:0;
}
body.is-publications .publicationFilterRow{
  gap:clamp(6px,.7vw,10px);
  padding-bottom:0;
}
body.is-publications .publicationFilterRow .filterLabel{
  width:74px;
  flex-basis:74px;
  font-size:clamp(.72rem,.78vw,.84rem);
  letter-spacing:.1em;
}
body.is-publications .publicationFilterRow .filter{
  min-height:clamp(28px,3.2svh,34px);
  padding:clamp(4px,.6svh,7px) clamp(8px,.8vw,12px);
  font-size:clamp(.68rem,.72vw,.82rem);
  border-width:1.5px;
}
body.is-publications .publicationUtilityRow{
  align-self:stretch;
  display:grid;
  grid-template-rows:1fr auto;
  align-content:end;
  justify-items:end;
  gap:clamp(8px,1svh,12px);
  margin:0;
}
body.is-publications .publicationUtilityRow .searchBox{
  width:min(100%,560px);
  min-height:clamp(42px,5svh,52px);
  flex:0 1 auto;
}
body.is-publications .publicationPdfSummary{
  font-size:clamp(.78rem,.86vw,.94rem);
  min-height:0;
}
body.is-publications .publicationTimelinePanel{
  height:var(--pub-panel-h)!important;
  min-height:0;
  align-self:stretch;
  margin-top:0;
  border-radius:clamp(16px,1.6vw,24px);
}
body.is-publications .publicationTimelineScroll{
  height:100%;
  padding:clamp(4px,.7svh,8px) clamp(48px,4.8vw,70px) clamp(14px,2svh,24px);
}
body.is-publications .publicationTimelineHeader .iconBtn{
  width:clamp(46px,4.2vw,64px);
  height:clamp(46px,4.2vw,64px);
  font-size:clamp(1.45rem,2vw,2rem);
}
body.is-publications .publicationMonthBand span{
  font-size:clamp(.84rem,.95vw,1rem);
}
body.is-publications .publicationMonthBand strong{
  min-width:clamp(24px,2vw,28px);
  height:clamp(24px,2vw,28px);
}
body.is-publications .publicationMonthCards{
  gap:clamp(8px,.8vw,12px);
  padding-inline:clamp(8px,.85vw,12px);
}
body.is-publications .cardTypeBand{
  min-height:clamp(28px,3.2svh,34px);
  padding:clamp(6px,.8svh,8px) clamp(10px,.9vw,16px);
  font-size:clamp(.54rem,.62vw,.64rem);
}
body.is-publications .publicationCardBody{
  height:calc(100% - clamp(28px,3.2svh,34px));
  gap:clamp(6px,.75svh,10px);
  padding:clamp(9px,1.1svh,12px);
}
body.is-publications .publicationTimelineCard h3{
  font-size:clamp(.66rem,.78vw,.84rem);
  line-height:1.12;
  -webkit-line-clamp:4;
}
body.is-publications .domainBadge{
  min-height:clamp(22px,2.6svh,26px);
  padding:clamp(4px,.55svh,6px) clamp(7px,.7vw,10px);
  font-size:clamp(.52rem,.58vw,.62rem);
}
body.is-publications .docAction{
  min-height:clamp(26px,3svh,30px);
  font-size:clamp(.62rem,.66vw,.72rem);
}
@media(max-width:1180px){
  body.is-publications{
    --publications-fixed-header:82px;
  }
  body.is-publications .publicationFilterPanel,
  body.is-publications .publicationControls{
    grid-template-columns:1fr;
  }
  body.is-publications .publicationUtilityRow{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:auto;
    align-items:center;
    justify-items:stretch;
  }
  body.is-publications .publicationUtilityRow .searchBox{
    width:100%;
  }
}
@media(min-width:901px) and (max-height:820px){
  body.is-publications #main > .publicationSection{
    --pub-panel-h:clamp(390px,calc(100svh - var(--publications-fixed-header) - 235px),480px);
    --pub-card-w:clamp(158px,10vw,188px);
    --pub-card-h:clamp(140px,19svh,160px);
    --pub-band-h:clamp(42px,5.8svh,50px);
    --pub-card-offset:clamp(10px,1.6svh,14px);
    --pub-track-y-inset:18px;
  }
  body.is-publications .publicationSection > .container{
    gap:8px;
    padding-top:calc(var(--publications-fixed-header) + 8px);
    padding-bottom:12px;
  }
  body.is-publications .compactHead h1,
  body.is-publications .compactHead h2{
    font-size:clamp(1.85rem,min(4vw,6.7svh),3.25rem);
  }
  body.is-publications .publicationControls{
    gap:12px;
    padding-bottom:6px;
  }
  body.is-publications .publicationFilterRows{
    gap:3px;
  }
  body.is-publications .publicationFilterRow .filterLabel{
    width:68px;
    flex-basis:68px;
    font-size:.68rem;
  }
  body.is-publications .publicationFilterRow .filter{
    min-height:26px;
    padding:3px 8px;
    font-size:.66rem;
  }
  body.is-publications .publicationUtilityRow .searchBox{
    min-height:38px;
  }
  body.is-publications .publicationTimelineScroll{
    padding-inline:44px;
  }
}
@media(max-width:900px){
  html.is-publications{
    scroll-snap-type:none;
  }
  body.is-publications #main > .publicationSection{
    height:auto!important;
    min-height:auto!important;
    overflow:visible;
    scroll-snap-align:none;
  }
  body.is-publications .publicationSection > .container{
    height:auto;
    overflow:visible;
    padding-block:42px 34px;
  }
  body.is-publications .publicationTimelinePanel{
    height:auto!important;
    min-height:560px;
  }
}
@media(max-width:760px){
  body.is-publications .publicationSection > .container{
    width:min(100% - 28px,1180px)!important;
  }
  body.is-publications .publicationControls,
  body.is-publications .publicationFilterPanel{
    display:grid;
    grid-template-columns:1fr;
  }
  body.is-publications .publicationUtilityRow{
    grid-template-columns:1fr;
    justify-items:stretch;
  }
  body.is-publications .publicationPdfSummary{
    text-align:left;
  }
}

:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{
  outline:3px solid rgba(190,60,63,.72)!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 5px rgba(251,247,241,.92)!important;
}

.header :where(a,button):focus-visible,
.footer :where(a,button):focus-visible,
.hero :where(a,button):focus-visible,
.domainesDetail :where(a,button,summary):focus-visible,
.homeDomainsImmersive :where(a,button):focus-visible{
  box-shadow:0 0 0 5px rgba(7,28,51,.36)!important;
}

/* Qui sommes-nous — cadrage desktop stabilise et section Groupements aimantee.
   26/09/2026 : scroll-snap-type etait en "mandatory" ici alors que plusieurs
   sections (.aboutSection, .aboutGroupements) sont en height:auto et peuvent
   depasser la hauteur de l'ecran (ex. "Groupements", tres longue). Combine a
   scroll-snap-stop:always (voir plus bas), "mandatory" force Chrome a
   recoller le haut de la section a chaque tentative de scroll a la molette
   des qu'elle depasse un ecran, ce qui bloquait le scroll (rapporte par
   l'utilisateur : "ca scrolle en cliquant sur le menu de gauche mais pas a
   la molette" -- le clic dans le menu fait un scrollIntoView direct vers la
   section suivante, qui contourne le blocage, contrairement a la molette).
   Passe en "proximity" : la page ne s'aimante que quand on est deja pres
   d'un point d'ancrage, sans jamais empecher un scroll normal. A la
   difference de /nos-domaines-daction/, dont les sections ont une hauteur
   FIXE (toujours egale a un ecran), donc "mandatory" y reste sans risque. */
html.is-about{
  scroll-snap-type:y proximity;
  scroll-padding-top:0;
}

body.is-about{
  --about-fixed-header:104px;
  --about-frame:100svh;
  background:#FBF7F1;
}

body.is-home .footer,
body.is-about .footer{
  scroll-snap-align:start;
  scroll-margin-top:0;
}

body.is-about .aboutPage{
  padding:0 0 clamp(28px,4svh,54px);
}

body.is-about .aboutPage > .container{
  width:min(1700px,calc(100vw - clamp(32px,5vw,82px)));
}

body.is-about .aboutLayout{
  min-height:calc(var(--about-frame) - var(--about-fixed-header));
  padding-top:clamp(16px,2svh,24px);
  align-items:start;
}

body.is-about .aboutSideNav{
  top:calc(var(--about-fixed-header) + clamp(14px,2svh,22px));
}

body.is-about .aboutIntro,
body.is-about .aboutSection{
  scroll-snap-align:start;
  scroll-snap-stop:always;
  scroll-margin-top:calc(var(--about-fixed-header) + clamp(14px,2svh,22px));
}

body.is-about .aboutGroupements.fnamGroupementsShared{
  --about-group-frame:calc(100svh - var(--about-fixed-header) - clamp(46px,6svh,72px));
  --about-orbit-height:clamp(600px,calc(var(--about-group-frame) - clamp(108px,12svh,142px)),780px);
  min-height:var(--about-group-frame);
  height:var(--about-group-frame);
  display:grid;
  align-content:stretch;
  overflow:hidden;
}

body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemCard{
  height:100%;
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
}

body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemHeader{
  margin-bottom:clamp(10px,1.4svh,18px);
}

body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemLayout{
  min-height:0;
  height:100%;
  grid-template-columns:minmax(0,1fr) minmax(280px,320px);
  align-items:stretch;
}

body.is-about .aboutGroupements.fnamGroupementsShared .orbitWrap{
  height:100%!important;
  min-height:0!important;
  overflow:visible;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupInfo{
  height:calc(100% - var(--about-detail-top) - var(--about-detail-bottom))!important;
  max-height:calc(100% - var(--about-detail-top) - var(--about-detail-bottom))!important;
  min-height:0!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .orbitCenter{
  top:53%!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .clusterInfrastructure,
body.is-about .aboutGroupements.fnamGroupementsShared .clusterAviation{
  top:clamp(348px,62%,410px);
}

body.is-about .aboutGroupements.fnamGroupementsShared .clusterExploitants{
  top:clamp(10px,2%,18px);
}

body.is-about .aboutGroupements.fnamGroupementsShared .familyCluster{
  gap:12px;
}

body.is-about .aboutGroupements.fnamGroupementsShared .familyCards{
  gap:18px;
}

body.is-about .aboutGroupements.fnamGroupementsShared .orbitCategory{
  min-height:36px;
  padding:7px 18px;
}

@media(max-height:900px) and (min-width:1261px){
  body.is-about .aboutGroupements.fnamGroupementsShared .orbitCenter{
    width:150px;
    height:150px;
    padding:18px;
  }
  body.is-about .aboutGroupements.fnamGroupementsShared .orbitCenter img{
    width:76px;
  }
  body.is-about .aboutGroupements.fnamGroupementsShared .orbitCenter span{
    max-width:116px;
    font-size:.58rem;
  }
  body.is-about .aboutGroupements.fnamGroupementsShared .orbitNode{
    width:108px;
    height:132px;
    min-height:132px;
    padding:9px 8px;
  }
  body.is-about .aboutGroupements.fnamGroupementsShared .orbitNode strong{
    font-size:.8rem;
  }
  body.is-about .aboutGroupements.fnamGroupementsShared .orbitNode span{
    font-size:.62rem;
    line-height:1.25;
  }
  body.is-about .aboutGroupements.fnamGroupementsShared .groupLogo{
    width:74px;
    height:30px;
  }
  body.is-about .aboutGroupements.fnamGroupementsShared .clusterExploitants .familyCards{
    grid-template-columns:repeat(4,108px);
  }
  body.is-about .aboutGroupements.fnamGroupementsShared .clusterInfrastructure .familyCards{
    grid-template-columns:repeat(2,108px);
  }
  body.is-about .aboutGroupements.fnamGroupementsShared .clusterAviation .familyCards{
    grid-template-columns:108px;
  }
}

@media(max-width:1260px){
  html.is-about{
    scroll-snap-type:none;
  }
  body.is-about .aboutPage{
    padding:32px 0 58px;
  }
  body.is-about .aboutLayout{
    min-height:0;
    padding-top:0;
  }
  body.is-about .aboutIntro,
  body.is-about .aboutSection{
    scroll-snap-align:none;
    scroll-snap-stop:normal;
  }
  body.is-about .aboutGroupements.fnamGroupementsShared{
    height:auto;
    min-height:0;
    overflow:visible;
  }
  body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemCard{
    height:auto;
  }
  body.is-about .aboutGroupements.fnamGroupementsShared .orbitWrap{
    height:auto!important;
  }
}

@media(min-width:761px) and (max-width:1260px){
  body.is-about .aboutLayout{
    grid-template-columns:minmax(200px,230px) minmax(0,1fr)!important;
    gap:clamp(18px,2.4vw,28px)!important;
    align-items:start!important;
  }

  body.is-about .aboutContent{
    display:contents!important;
  }

  body.is-about .aboutSideNav{
    position:sticky!important;
    top:calc(var(--header-height,104px) + 16px)!important;
    z-index:3!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
    align-items:stretch!important;
    overflow:visible!important;
  }

  body.is-about .aboutSideNav strong{
    margin:0 0 8px!important;
    white-space:normal!important;
  }

  body.is-about .aboutSideNav a{
    white-space:normal!important;
  }

  body.is-about .aboutIntro{
    grid-column:2!important;
    grid-row:1!important;
    align-self:start!important;
  }

  body.is-about .aboutContent > .aboutSection,
  body.is-about .aboutContent > .fnamGroupementsShared{
    grid-column:1/-1!important;
  }
}

@media(min-width:761px){
  body.is-about .aboutSideNav{
    top:calc(var(--about-fixed-header,104px) - 4px)!important;
  }
}

/* Responsive : mode immersif seulement si le viewport le permet */
html[data-responsive-mode="compact"].is-home,
html[data-responsive-mode="compact"].is-domaines,
html[data-responsive-mode="compact"].is-about,
html[data-responsive-mode="compact"].is-publications,
html[data-responsive-mode="mobile"].is-home,
html[data-responsive-mode="mobile"].is-domaines,
html[data-responsive-mode="mobile"].is-about,
html[data-responsive-mode="mobile"].is-publications{
  scroll-snap-type:none!important;
  scroll-padding-top:var(--header-height,104px)!important;
}

body[data-responsive-mode="compact"].is-home #main > .home-snap-block,
body[data-responsive-mode="mobile"].is-home #main > .home-snap-block,
body[data-responsive-mode="compact"].is-domaines #main > .domainesSnapBlock,
body[data-responsive-mode="mobile"].is-domaines #main > .domainesSnapBlock,
body[data-responsive-mode="compact"].is-publications #main > .publicationSection,
body[data-responsive-mode="mobile"].is-publications #main > .publicationSection{
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  scroll-snap-align:none!important;
  scroll-snap-stop:normal!important;
}

body[data-responsive-mode="compact"].is-home #main > .home-snap-block,
body[data-responsive-mode="mobile"].is-home #main > .home-snap-block{
  align-items:start!important;
  padding-block:clamp(44px,6vw,76px)!important;
}

body[data-responsive-mode="compact"].is-home #main > .home-snap-block--hero,
body[data-responsive-mode="mobile"].is-home #main > .home-snap-block--hero,
body[data-responsive-mode="compact"].is-home .hero.heroPhoto,
body[data-responsive-mode="mobile"].is-home .hero.heroPhoto{
  height:auto!important;
  min-height:100svh!important;
  overflow:hidden!important;
  padding-block:0!important;
}

body[data-responsive-mode="compact"].is-home .hero.heroPhoto .container,
body[data-responsive-mode="mobile"].is-home .hero.heroPhoto .container{
  height:auto!important;
  min-height:100svh!important;
}

body[data-responsive-mode="compact"].is-home #main > .home-snap-block--kpi,
body[data-responsive-mode="mobile"].is-home #main > .home-snap-block--kpi{
  padding-top:var(--home-fixed-header,84px)!important;
}

body[data-responsive-mode="compact"].is-home .kpiEmbedShell,
body[data-responsive-mode="mobile"].is-home .kpiEmbedShell{
  height:calc(100svh - var(--home-fixed-header,74px))!important;
  min-height:0!important;
}

body[data-responsive-mode="compact"].is-home .kpiEmbedFrame{
  height:clamp(760px,calc(100svh - 74px),980px)!important;
  min-height:760px!important;
}

body[data-responsive-mode="mobile"].is-home .kpiEmbedFrame{
  height:100%!important;
  min-height:0!important;
}

body[data-responsive-mode="compact"].is-home #main > .home-snap-block--groups > .container,
body[data-responsive-mode="compact"].is-home #main > .home-snap-block--publications > .container,
body[data-responsive-mode="compact"].is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsContent,
body[data-responsive-mode="mobile"].is-home #main > .home-snap-block--groups > .container,
body[data-responsive-mode="mobile"].is-home #main > .home-snap-block--publications > .container,
body[data-responsive-mode="mobile"].is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsContent{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}

body[data-responsive-mode="compact"].is-home .home-snap-block--groups .ecosystemCard,
body[data-responsive-mode="compact"].is-home .home-snap-block--publications .pubs,
body[data-responsive-mode="mobile"].is-home .home-snap-block--groups .ecosystemCard,
body[data-responsive-mode="mobile"].is-home .home-snap-block--publications .pubs{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}

body[data-responsive-mode="compact"].is-home #main > .homeDomainsImmersive.home-snap-block--domains,
body[data-responsive-mode="mobile"].is-home #main > .homeDomainsImmersive.home-snap-block--domains{
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
}

body[data-responsive-mode="compact"] .heroVideoReal,
body[data-responsive-mode="compact"] .homeDomainsVideo,
body[data-responsive-mode="compact"] .domainesVideo,
body[data-responsive-mode="mobile"] .heroVideoReal,
body[data-responsive-mode="mobile"] .homeDomainsVideo,
body[data-responsive-mode="mobile"] .domainesVideo{
  transform:none!important;
}

body[data-responsive-mode="compact"].is-domaines #main > .domainesDetail,
body[data-responsive-mode="mobile"].is-domaines #main > .domainesDetail{
  overflow:hidden!important;
}

body[data-responsive-mode="compact"].is-domaines .domainesHeroInner,
body[data-responsive-mode="mobile"].is-domaines .domainesHeroInner{
  height:auto!important;
  min-height:calc(100svh - var(--header-height,104px))!important;
}

body[data-responsive-mode="compact"].is-domaines .domainesSectionLayout,
body[data-responsive-mode="mobile"].is-domaines .domainesSectionLayout{
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  padding-top:calc(var(--domaines-fixed-header,104px) + clamp(24px,4vw,44px))!important;
  padding-bottom:clamp(42px,6vw,72px)!important;
}

body[data-responsive-mode="compact"].is-domaines .domainesCopy,
body[data-responsive-mode="mobile"].is-domaines .domainesCopy{
  max-height:none!important;
  overflow:visible!important;
}

body[data-responsive-mode="compact"].is-publications .publicationSection > .container,
body[data-responsive-mode="mobile"].is-publications .publicationSection > .container{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  padding-block:clamp(38px,5vw,64px)!important;
}

body[data-responsive-mode="compact"].is-publications .publicationTimelinePanel,
body[data-responsive-mode="mobile"].is-publications .publicationTimelinePanel{
  height:auto!important;
  min-height:560px;
}

body[data-responsive-mode="compact"].is-about .aboutLayout,
body[data-responsive-mode="mobile"].is-about .aboutLayout{
  min-height:0!important;
}

body[data-responsive-mode="compact"].is-about .aboutIntro,
body[data-responsive-mode="compact"].is-about .aboutSection,
body[data-responsive-mode="mobile"].is-about .aboutIntro,
body[data-responsive-mode="mobile"].is-about .aboutSection{
  scroll-snap-align:none!important;
  scroll-snap-stop:normal!important;
}

body[data-responsive-mode="compact"].is-about .aboutGroupements.fnamGroupementsShared,
body[data-responsive-mode="mobile"].is-about .aboutGroupements.fnamGroupementsShared{
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}

body[data-responsive-mode="compact"].is-about .aboutGroupements.fnamGroupementsShared .ecosystemCard,
body[data-responsive-mode="mobile"].is-about .aboutGroupements.fnamGroupementsShared .ecosystemCard{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}

body[data-responsive-mode="compact"].is-about .aboutGroupements.fnamGroupementsShared .ecosystemLayout{
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  align-items:start!important;
  grid-template-columns:minmax(0,1fr) minmax(280px,320px)!important;
}

body[data-responsive-mode="compact"].is-about .aboutGroupements.fnamGroupementsShared .orbitWrap{
  height:clamp(560px,62svh,680px)!important;
  min-height:560px!important;
}

body[data-responsive-mode="compact"].is-about .aboutGroupements.fnamGroupementsShared .groupInfo{
  height:clamp(500px,58svh,640px)!important;
  max-height:none!important;
}

@media(max-width:1260px){
  body[data-responsive-mode="compact"].is-about .aboutSideNav,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav{
    position:relative!important;
    top:auto!important;
    z-index:1!important;
  }

  body[data-responsive-mode="compact"].is-about .aboutGroupements.fnamGroupementsShared .ecosystemLayout,
  body[data-responsive-mode="mobile"].is-about .aboutGroupements.fnamGroupementsShared .ecosystemLayout{
    grid-template-columns:1fr!important;
  }

  body[data-responsive-mode="compact"].is-about .aboutGroupements.fnamGroupementsShared .orbitWrap,
  body[data-responsive-mode="compact"].is-about .aboutGroupements.fnamGroupementsShared .groupInfo{
    height:auto!important;
    min-height:0!important;
  }

  body[data-responsive-mode="compact"] .fnamGroupementsShared .ecosystemLayout{
    display:block!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    overflow:visible!important;
  }

  body[data-responsive-mode="compact"] .fnamGroupementsShared .orbitWrap{
    display:grid!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    gap:14px!important;
    padding:clamp(16px,2vw,22px)!important;
    overflow:visible!important;
  }

  body[data-responsive-mode="compact"] .fnamGroupementsShared .ecosystemConnectors,
  body[data-responsive-mode="compact"] .fnamGroupementsShared .groupDetailConnector,
  body[data-responsive-mode="compact"] .fnamGroupementsShared .orbitWrap:before,
  body[data-responsive-mode="compact"] .fnamGroupementsShared .orbitWrap:after{
    display:none!important;
  }

  body[data-responsive-mode="compact"] .fnamGroupementsShared .orbitCenter,
  body[data-responsive-mode="compact"] .fnamGroupementsShared .familyCluster,
  body[data-responsive-mode="compact"] .fnamGroupementsShared .orbitNode{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    width:100%!important;
    height:auto!important;
    max-width:none!important;
    min-height:0!important;
    transform:none!important;
  }

  body[data-responsive-mode="compact"].is-about .aboutGroupements.fnamGroupementsShared .orbitCenter,
  body[data-responsive-mode="compact"].is-about .aboutGroupements.fnamGroupementsShared .familyCluster,
  body[data-responsive-mode="compact"].is-about .aboutGroupements.fnamGroupementsShared .orbitNode{
    inset:auto!important;
    position:relative!important;
    transform:none!important;
  }

  body[data-responsive-mode="compact"] .fnamGroupementsShared .orbitCenter{
    min-height:132px!important;
    border-radius:18px!important;
  }

  body[data-responsive-mode="compact"] .fnamGroupementsShared .familyCluster{
    display:grid!important;
    gap:10px!important;
    margin-top:10px!important;
    justify-items:stretch!important;
  }

  body[data-responsive-mode="compact"] .fnamGroupementsShared .familyCards{
    width:100%!important;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
    gap:10px!important;
  }

  body[data-responsive-mode="compact"] .fnamGroupementsShared .orbitNode{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr);
    justify-items:start!important;
    align-items:center!important;
    padding:12px!important;
    text-align:left!important;
  }

  body[data-responsive-mode="compact"] .fnamGroupementsShared .orbitNode span,
  body[data-responsive-mode="compact"] .fnamGroupementsShared .orbitNode strong{
    max-width:none!important;
    text-align:left!important;
  }

  body[data-responsive-mode="compact"] .fnamGroupementsShared .groupLogo{
    grid-row:span 2;
  }

  body[data-responsive-mode="compact"] .fnamGroupementsShared .groupInfo{
    position:relative!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    margin:16px 0 0!important;
    overflow:visible!important;
  }
}

@media(max-width:1360px){
  body.is-about .aboutGroupements.fnamGroupementsShared,
  body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemCard{
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    overflow:visible!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemLayout{
    display:block!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    overflow:visible!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .orbitWrap{
    display:grid!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    gap:14px!important;
    padding:clamp(16px,2vw,22px)!important;
    overflow:visible!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemConnectors,
  body.is-about .aboutGroupements.fnamGroupementsShared .groupDetailConnector,
  body.is-about .aboutGroupements.fnamGroupementsShared .orbitWrap:before,
  body.is-about .aboutGroupements.fnamGroupementsShared .orbitWrap:after{
    display:none!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .orbitCenter,
  body.is-about .aboutGroupements.fnamGroupementsShared .familyCluster,
  body.is-about .aboutGroupements.fnamGroupementsShared .orbitNode{
    inset:auto!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    width:100%!important;
    height:auto!important;
    max-width:none!important;
    min-height:0!important;
    transform:none!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .orbitCenter{
    min-height:132px!important;
    border-radius:18px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .familyCluster{
    display:grid!important;
    gap:10px!important;
    margin-top:10px!important;
    justify-items:stretch!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .familyCards{
    width:100%!important;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
    gap:10px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .orbitNode{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr);
    justify-items:start!important;
    align-items:center!important;
    padding:12px!important;
    text-align:left!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .orbitNode span,
  body.is-about .aboutGroupements.fnamGroupementsShared .orbitNode strong{
    max-width:none!important;
    text-align:left!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupLogo{
    grid-row:span 2;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupInfo{
    position:relative!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    margin:16px 0 0!important;
    overflow:visible!important;
  }

  body[data-responsive-mode].is-about .aboutGroupements.fnamGroupementsShared,
  body[data-responsive-mode].is-about .aboutGroupements.fnamGroupementsShared .ecosystemCard,
  body[data-responsive-mode].is-about .aboutGroupements.fnamGroupementsShared .ecosystemLayout,
  body[data-responsive-mode].is-about .aboutGroupements.fnamGroupementsShared .orbitWrap,
  body[data-responsive-mode].is-about .aboutGroupements.fnamGroupementsShared .familyCluster,
  body[data-responsive-mode].is-about .aboutGroupements.fnamGroupementsShared .groupInfo{
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    overflow:visible!important;
  }
}

body[data-responsive-mode="mobile"] .fnamGroupementsShared .ecosystemLayout{
  display:block!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  overflow:visible!important;
}

body[data-responsive-mode="mobile"] .fnamGroupementsShared,
body[data-responsive-mode="mobile"] .fnamGroupementsShared .ecosystemCard{
  display:block!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  overflow:visible!important;
}

body[data-responsive-mode="mobile"] .fnamGroupementsShared .orbitWrap{
  display:grid!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  gap:14px!important;
  padding:16px!important;
  overflow:visible!important;
}

body[data-responsive-mode="mobile"] .fnamGroupementsShared .ecosystemConnectors,
body[data-responsive-mode="mobile"] .fnamGroupementsShared .groupDetailConnector,
body[data-responsive-mode="mobile"] .fnamGroupementsShared .orbitWrap:before,
body[data-responsive-mode="mobile"] .fnamGroupementsShared .orbitWrap:after{
  display:none!important;
}

body[data-responsive-mode="mobile"] .fnamGroupementsShared .orbitCenter,
body[data-responsive-mode="mobile"] .fnamGroupementsShared .familyCluster,
body[data-responsive-mode="mobile"] .fnamGroupementsShared .orbitNode{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  min-height:0!important;
  transform:none!important;
}

body[data-responsive-mode="mobile"] .fnamGroupementsShared .orbitCenter{
  min-height:118px!important;
  border-radius:16px!important;
}

body[data-responsive-mode="mobile"] .fnamGroupementsShared .familyCluster{
  display:grid!important;
  gap:10px!important;
  margin-top:10px!important;
  justify-items:stretch!important;
}

body[data-responsive-mode="mobile"] .fnamGroupementsShared .familyCards{
  width:100%!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}

body[data-responsive-mode="mobile"] .fnamGroupementsShared .orbitNode{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr);
  justify-items:start!important;
  align-items:center!important;
  padding:12px!important;
  text-align:left!important;
}

body[data-responsive-mode="mobile"] .fnamGroupementsShared .orbitNode span,
body[data-responsive-mode="mobile"] .fnamGroupementsShared .orbitNode strong{
  max-width:none!important;
  text-align:left!important;
}

body[data-responsive-mode="mobile"] .fnamGroupementsShared .groupLogo{
  grid-row:span 2;
}

body[data-responsive-mode="mobile"] .fnamGroupementsShared .groupInfo{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  margin:16px 0 0!important;
  overflow:visible!important;
}

body[data-responsive-mode="mobile"].is-about .aboutSideNav{
  position:relative!important;
  top:auto!important;
  grid-template-columns:1fr!important;
  overflow:visible!important;
}

/* Groupements : tableau responsive avec détail proche */
.fnamGroupementsShared .groupementsBoard{
  gap:clamp(18px,2vw,26px)!important;
  overflow:visible!important;
}

.fnamGroupementsShared .groupementsFederation{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  min-height:clamp(104px,12vw,134px);
  padding:18px;
  border:1px solid rgba(112,180,190,.42);
  border-radius:18px;
  background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(244,252,253,.88),rgba(255,255,255,.94));
  color:#326191;
  text-align:center;
  box-shadow:0 18px 38px rgba(7,28,51,.12);
}

.fnamGroupementsShared .groupementsFederation img{
  width:clamp(94px,10vw,132px);
  height:auto;
  margin-bottom:6px;
}

.fnamGroupementsShared .groupementsFederation span{
  max-width:280px;
  color:#326191;
  font-size:clamp(.76rem,.9vw,.92rem);
  font-weight:900;
  line-height:1.15;
}

.fnamGroupementsShared .groupementsTwoPane{
  display:grid!important;
  grid-template-columns:minmax(0,1.45fr) minmax(330px,.82fr)!important;
  gap:clamp(18px,2.6vw,32px)!important;
  align-items:start!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  overflow:visible!important;
}

.fnamGroupementsShared .groupementsFamilies{
  display:grid!important;
  gap:clamp(14px,2vw,22px)!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  padding:0!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
}

.fnamGroupementsShared .groupementsFamilies .ecosystemConnectors,
.fnamGroupementsShared .groupementsFamilies .groupDetailConnector,
.fnamGroupementsShared .groupementsFamilies:before,
.fnamGroupementsShared .groupementsFamilies:after,
.fnamGroupementsShared .groupementsFamilies .orbitNode:after{
  content:none!important;
  display:none!important;
}

.fnamGroupementsShared .groupementsFamilies .familyCluster{
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  min-height:0!important;
  display:grid!important;
  gap:10px!important;
  transform:none!important;
  justify-items:stretch!important;
}

.fnamGroupementsShared .groupementsFamilies .orbitCategory{
  width:100%;
  min-height:clamp(44px,5vw,56px)!important;
  padding:10px 18px!important;
  border-radius:999px!important;
  background:#FBF7F1!important;
  color:#326191!important;
  font-size:clamp(.94rem,1.2vw,1.18rem)!important;
  letter-spacing:.16em!important;
}

.fnamGroupementsShared .groupementsFamilies .clusterInfrastructure .orbitCategory{
  background:#70b4be!important;
  color:#0B2A4A!important;
}

.fnamGroupementsShared .groupementsFamilies .clusterAviation .orbitCategory{
  background:#5092b6!important;
  color:#FFFFFF!important;
}

.fnamGroupementsShared .groupementsFamilies .familyCards{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  justify-content:stretch!important;
}

.fnamGroupementsShared .groupementsFamilies .clusterAviation .familyCards{
  grid-template-columns:minmax(220px,320px)!important;
  justify-content:center!important;
}

.fnamGroupementsShared .groupementsFamilies .orbitNode{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:clamp(104px,9vw,132px)!important;
  display:grid!important;
  grid-template-columns:minmax(78px,116px) minmax(0,1fr);
  place-items:center start!important;
  align-content:center!important;
  gap:10px 14px!important;
  padding:14px!important;
  border-radius:8px!important;
  text-align:left!important;
  transform:none!important;
}

.fnamGroupementsShared .groupementsFamilies .orbitNode strong,
.fnamGroupementsShared .groupementsFamilies .orbitNode span{
  max-width:none!important;
  text-align:left!important;
}

.fnamGroupementsShared .groupementsFamilies .orbitNode strong{
  align-self:end;
  font-size:clamp(.96rem,1.12vw,1.12rem)!important;
}

.fnamGroupementsShared .groupementsFamilies .orbitNode span{
  align-self:start;
  font-size:clamp(.74rem,.9vw,.9rem)!important;
}

.fnamGroupementsShared .groupementsFamilies .groupLogo{
  grid-row:span 2;
  width:min(112px,100%)!important;
  height:54px!important;
}

.fnamGroupementsShared .groupDetailColumn{
  position:relative;
  min-width:0;
}

.fnamGroupementsShared .groupInfo{
  position:sticky!important;
  top:calc(var(--header-height,104px) + 18px)!important;
  scroll-margin-top:calc(var(--header-height,104px) + 14px);
  width:100%!important;
  height:auto!important;
  max-height:calc(100svh - var(--header-height,104px) - 36px)!important;
  min-height:0!important;
  margin:0!important;
  padding:clamp(22px,2.6vw,34px)!important;
  overflow:auto!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(237,249,251,.9))!important;
}

.fnamGroupementsShared .familyCards > .groupInfo{
  grid-column:1/-1;
  position:relative!important;
  top:auto!important;
  max-height:none!important;
  overflow:visible!important;
  margin:4px 0 8px!important;
}

.fnamGroupementsShared .groupInfoLogo{
  width:clamp(150px,18vw,230px);
  height:clamp(70px,8vw,100px);
  margin:8px auto 18px;
}

.fnamGroupementsShared .groupInfo > strong{
  font-size:clamp(1.3rem,2vw,2rem);
  line-height:1.14;
}

@media(max-width:1180px){
  .fnamGroupementsShared .groupementsTwoPane{
    grid-template-columns:minmax(0,1.35fr) minmax(310px,.8fr)!important;
  }
  .fnamGroupementsShared .groupementsFamilies .familyCards{
    grid-template-columns:1fr!important;
  }
  .fnamGroupementsShared .groupementsFamilies .clusterInfrastructure .familyCards{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:900px){
  .fnamGroupementsShared .groupementsTwoPane{
    grid-template-columns:1fr!important;
  }
  .fnamGroupementsShared .groupDetailColumn{
    display:block;
  }
  .fnamGroupementsShared .groupementsFamilies .familyCards,
  .fnamGroupementsShared .groupementsFamilies .clusterInfrastructure .familyCards{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:560px){
  .fnamGroupementsShared .groupementsFederation{
    min-height:118px;
  }
  .fnamGroupementsShared .groupementsFamilies .orbitNode{
    grid-template-columns:minmax(78px,96px) minmax(0,1fr);
    padding:12px!important;
  }
  .fnamGroupementsShared .groupPresident{
    align-items:flex-start;
  }
  .fnamGroupementsShared .groupPresidentPhoto{
    width:68px;
    height:68px;
  }
}

/* Groupements : stabilisation des breakpoints */
body.is-about .aboutGroupements.fnamGroupementsShared,
body.is-home #main > .home-snap-block--groups.fnamGroupementsShared,
body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemCard.groupementsBoard,
body.is-home .home-snap-block--groups.fnamGroupementsShared .ecosystemCard.groupementsBoard,
body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemLayout.groupementsTwoPane,
body.is-home .home-snap-block--groups.fnamGroupementsShared .ecosystemLayout.groupementsTwoPane,
body.is-about .aboutGroupements.fnamGroupementsShared .orbitWrap.groupementsFamilies,
body.is-home .home-snap-block--groups.fnamGroupementsShared .orbitWrap.groupementsFamilies{
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  overflow:visible!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemLayout.groupementsTwoPane,
body.is-home .home-snap-block--groups.fnamGroupementsShared .ecosystemLayout.groupementsTwoPane{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(310px,.82fr)!important;
  gap:clamp(18px,2.6vw,32px)!important;
  align-items:start!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .orbitWrap.groupementsFamilies,
body.is-home .home-snap-block--groups.fnamGroupementsShared .orbitWrap.groupementsFamilies{
  display:grid!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupInfo,
body.is-home .home-snap-block--groups.fnamGroupementsShared .groupInfo{
  position:sticky!important;
  top:calc(var(--header-height,104px) + 18px)!important;
  height:auto!important;
  min-height:0!important;
  max-height:calc(100svh - var(--header-height,104px) - 36px)!important;
  margin:0!important;
  overflow:auto!important;
}

@media(max-width:900px){
  body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemLayout.groupementsTwoPane,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .ecosystemLayout.groupementsTwoPane{
    grid-template-columns:1fr!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .familyCards > .groupInfo,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .familyCards > .groupInfo{
    position:relative!important;
    top:auto!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    margin:4px 0 8px!important;
    overflow:visible!important;
  }
}

/* Groupements : version compacte, détail fixe et logos */
.fnamGroupementsShared .groupementsBoard{
  gap:12px!important;
}

.fnamGroupementsShared .groupementsBoard .ecosystemHeader{
  margin-bottom:0!important;
}

.fnamGroupementsShared .groupementsFederation{
  min-height:clamp(64px,7vw,82px)!important;
  padding:9px 16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(12px,1.6vw,20px)!important;
  text-align:left!important;
}

.fnamGroupementsShared .groupementsFederation img{
  flex:0 0 auto!important;
  width:clamp(58px,6.2vw,86px)!important;
  height:auto!important;
  margin:0!important;
  object-fit:contain!important;
  background:transparent!important;
}

.fnamGroupementsShared .groupementsFederation span{
  max-width:none!important;
  font-size:clamp(.88rem,1.05vw,1.08rem)!important;
  line-height:1!important;
  text-align:left!important;
  white-space:nowrap!important;
}

@media(max-width:900px){
  .fnamGroupementsShared .groupementsFederation{
    gap:10px!important;
    padding-inline:12px!important;
  }
  .fnamGroupementsShared .groupementsFederation img{
    width:clamp(52px,7vw,64px)!important;
  }
  .fnamGroupementsShared .groupementsFederation span{
    font-size:clamp(.76rem,2.2vw,.95rem)!important;
  }
}

@media(max-width:520px){
  .fnamGroupementsShared .groupementsFederation{
    gap:8px!important;
    padding-inline:10px!important;
  }
  .fnamGroupementsShared .groupementsFederation img{
    width:46px!important;
  }
  .fnamGroupementsShared .groupementsFederation span{
    font-size:clamp(.56rem,2.45vw,.7rem)!important;
  }
}

.fnamGroupementsShared .groupementsTwoPane{
  grid-template-columns:minmax(0,1.5fr) minmax(320px,.78fr)!important;
  gap:clamp(34px,4vw,56px)!important;
  align-items:stretch!important;
}

.fnamGroupementsShared .groupementsFamilies{
  gap:10px!important;
}

.fnamGroupementsShared .groupementsFamilies .familyCluster{
  gap:7px!important;
}

.fnamGroupementsShared .groupementsFamilies .orbitCategory{
  min-height:clamp(31px,3.2vw,38px)!important;
  padding:6px 14px!important;
  font-size:clamp(.76rem,.88vw,.94rem)!important;
  letter-spacing:.14em!important;
}

.fnamGroupementsShared .groupementsFamilies .familyCards{
  gap:8px!important;
}

.fnamGroupementsShared .groupementsFamilies .orbitNode{
  min-height:clamp(74px,6.1vw,88px)!important;
  grid-template-columns:minmax(70px,100px) minmax(0,1fr)!important;
  gap:6px 10px!important;
  padding:9px 12px!important;
}

.fnamGroupementsShared .groupementsFamilies .orbitNode strong{
  font-size:clamp(.86rem,.95vw,1rem)!important;
  line-height:1.1!important;
}

.fnamGroupementsShared .groupementsFamilies .orbitNode span{
  font-size:clamp(.64rem,.75vw,.78rem)!important;
  line-height:1.16!important;
}

.fnamGroupementsShared .groupementsFamilies .groupLogo{
  width:min(100px,100%)!important;
  height:40px!important;
  object-fit:contain!important;
  background:transparent!important;
}

.fnamGroupementsShared .groupDetailColumn{
  display:grid!important;
  align-self:stretch!important;
  min-height:0!important;
}

.fnamGroupementsShared .groupInfo{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  gap:0!important;
  padding:0!important;
  overflow:hidden!important;
}

.fnamGroupementsShared .groupDetailHero{
  position:sticky;
  top:0;
  z-index:3;
  display:grid;
  grid-template-columns:minmax(92px,120px) minmax(0,1fr);
  grid-template-areas:"logo title";
  align-items:center;
  gap:9px 13px;
  padding:clamp(18px,2vw,24px) clamp(20px,2.6vw,30px) 12px;
  border-radius:22px 22px 0 0;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(241,250,252,.94));
}

.fnamGroupementsShared .groupDetailBody{
  min-height:0;
  overflow-y:scroll;
  scrollbar-gutter:stable;
  scrollbar-width:auto;
  scrollbar-color:#326191 rgba(112,180,190,.18);
  padding:0 clamp(20px,2.6vw,30px) clamp(18px,2.4vw,26px);
  display:grid;
  gap:12px;
  border-top:1px solid rgba(112,180,190,.24);
  background:
    linear-gradient(90deg,transparent calc(100% - 10px),rgba(50,97,145,.14) calc(100% - 10px),rgba(50,97,145,.14) calc(100% - 6px),transparent calc(100% - 6px)),
    linear-gradient(180deg,rgba(50,97,145,.08),transparent 18px) top/100% 22px no-repeat,
    linear-gradient(0deg,rgba(50,97,145,.08),transparent 20px) bottom/100% 24px no-repeat;
}

.fnamGroupementsShared .groupDetailBody::-webkit-scrollbar{
  width:12px;
}

.fnamGroupementsShared .groupDetailBody::-webkit-scrollbar-track{
  background:rgba(112,180,190,.18);
  border-radius:999px;
}

.fnamGroupementsShared .groupDetailBody::-webkit-scrollbar-thumb{
  background:#326191;
  border:3px solid rgba(251,247,241,.92);
  border-radius:999px;
}

.fnamGroupementsShared .groupInfoLogo{
  grid-area:logo;
  width:clamp(96px,9vw,126px)!important;
  height:clamp(40px,4.8vw,54px)!important;
  margin:0!important;
  justify-self:center;
  object-fit:contain!important;
  background:transparent!important;
}

.fnamGroupementsShared .groupDetailTitle,
.fnamGroupementsShared .groupInfo > strong{
  grid-area:title;
  display:block;
  color:#326191;
  font-size:clamp(.96rem,1.2vw,1.24rem)!important;
  line-height:1.08!important;
  text-align:left;
}

.fnamGroupementsShared .groupPresident{
  margin:0!important;
  padding:9px 11px!important;
  gap:11px!important;
}

.fnamGroupementsShared .groupDetailBody .groupPresident{
  grid-area:auto!important;
  margin:0 0 4px!important;
}

.fnamGroupementsShared .groupPresidentPhoto{
  width:clamp(58px,6vw,72px)!important;
  height:clamp(58px,6vw,72px)!important;
}

.fnamGroupementsShared .groupPresidentInfo strong{
  font-size:clamp(.9rem,1vw,1.04rem)!important;
}

.fnamGroupementsShared .groupPresidentInfo span{
  font-size:.72rem!important;
}

.fnamGroupementsShared .groupInfoBlock{
  margin:0!important;
  padding-top:12px!important;
}

.fnamGroupementsShared .groupInfoBlock h4{
  font-size:.72rem!important;
  margin-bottom:8px!important;
}

.fnamGroupementsShared .groupInfoBlock p,
.fnamGroupementsShared .groupInfoBlock li{
  font-size:clamp(.82rem,.88vw,.95rem)!important;
  line-height:1.36!important;
}

@media(min-width:901px){
  .fnamGroupementsShared .groupementsFamilies,
  .fnamGroupementsShared .groupDetailColumn{
    height:clamp(490px,58svh,560px)!important;
    max-height:clamp(490px,58svh,560px)!important;
  }

  .fnamGroupementsShared .groupInfo{
    width:100%!important;
    height:100%!important;
    max-height:100%!important;
    min-height:0!important;
  }

  .fnamGroupementsShared .groupementsFamilies .familyCards,
  .fnamGroupementsShared .groupementsFamilies .clusterInfrastructure .familyCards{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .fnamGroupementsShared .groupementsFamilies .clusterAviation .familyCards{
    grid-template-columns:minmax(200px,280px)!important;
    justify-content:center!important;
  }
}

@media(max-width:900px){
  .fnamGroupementsShared .groupInfo{
    display:block!important;
    height:auto!important;
    max-height:none!important;
    padding:18px!important;
    overflow:visible!important;
  }

  .fnamGroupementsShared .groupDetailHero{
    position:relative;
    display:grid;
    grid-template-columns:minmax(96px,140px) minmax(0,1fr);
    grid-template-areas:"logo title";
    align-items:center;
    gap:7px 14px;
    padding:0;
    border-radius:0;
    background:transparent;
  }

  .fnamGroupementsShared .groupDetailHero .groupInfoLogo{
    grid-area:logo;
    width:clamp(88px,18vw,126px)!important;
    height:clamp(38px,8vw,52px)!important;
    margin:0!important;
    align-self:center;
    justify-self:center;
  }

  .fnamGroupementsShared .groupDetailHero .groupDetailTitle{
    grid-area:title;
    margin:0!important;
    font-size:clamp(1rem,3.2vw,1.28rem)!important;
    line-height:1.08!important;
  }

  .fnamGroupementsShared .groupDetailBody{
    overflow:visible;
    padding:0;
    border:0;
    background:transparent;
    display:block;
  }
}

@media(min-width:901px){
  body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemLayout.groupementsTwoPane,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .ecosystemLayout.groupementsTwoPane{
    align-items:stretch!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .orbitWrap.groupementsFamilies,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .orbitWrap.groupementsFamilies,
  body.is-about .aboutGroupements.fnamGroupementsShared .groupDetailColumn,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailColumn{
    height:clamp(490px,58svh,560px)!important;
    max-height:clamp(490px,58svh,560px)!important;
    min-height:0!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupInfo,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupInfo{
    display:grid!important;
    grid-template-rows:auto auto!important;
    width:100%!important;
    height:100%!important;
    max-height:100%!important;
    min-height:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
}

@media(max-width:900px){
  body.is-about .aboutGroupements.fnamGroupementsShared .groupInfo,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupInfo{
    display:block!important;
    height:auto!important;
    max-height:none!important;
    padding:18px!important;
    overflow:visible!important;
  }
}

@media(min-width:901px){
  .fnamGroupementsShared{
    --groupements-panel-height:clamp(520px,62svh,560px);
  }

  .fnamGroupementsShared .groupementsFamilies{
    grid-template-rows:none!important;
    grid-auto-rows:max-content!important;
    align-content:space-between!important;
  }

  body[data-responsive-mode].is-about .aboutGroupements.fnamGroupementsShared .ecosystemLayout.groupementsTwoPane,
  body[data-responsive-mode].is-home .home-snap-block--groups.fnamGroupementsShared .ecosystemLayout.groupementsTwoPane,
  body[data-responsive-mode="compact"] .fnamGroupementsShared .ecosystemLayout.groupementsTwoPane{
    display:grid!important;
    grid-template-columns:minmax(0,1.5fr) minmax(320px,.78fr)!important;
    gap:clamp(34px,4vw,56px)!important;
    align-items:stretch!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  body[data-responsive-mode].is-about .aboutGroupements.fnamGroupementsShared .orbitWrap.groupementsFamilies,
  body[data-responsive-mode].is-home .home-snap-block--groups.fnamGroupementsShared .orbitWrap.groupementsFamilies,
  body[data-responsive-mode="compact"] .fnamGroupementsShared .orbitWrap.groupementsFamilies,
  body[data-responsive-mode].is-about .aboutGroupements.fnamGroupementsShared .groupDetailColumn,
  body[data-responsive-mode].is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailColumn,
  body[data-responsive-mode="compact"] .fnamGroupementsShared .groupDetailColumn{
    height:var(--groupements-panel-height)!important;
    max-height:var(--groupements-panel-height)!important;
    min-height:0!important;
  }

  body[data-responsive-mode].is-about .aboutGroupements.fnamGroupementsShared .orbitWrap.groupementsFamilies,
  body[data-responsive-mode].is-home .home-snap-block--groups.fnamGroupementsShared .orbitWrap.groupementsFamilies,
  body[data-responsive-mode="compact"] .fnamGroupementsShared .orbitWrap.groupementsFamilies{
    grid-template-rows:none!important;
    grid-auto-rows:max-content!important;
    align-content:space-between!important;
    padding:0!important;
    gap:10px!important;
  }

  body[data-responsive-mode].is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies .familyCluster,
  body[data-responsive-mode].is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .familyCluster,
  body[data-responsive-mode="compact"] .fnamGroupementsShared .groupementsFamilies .familyCluster{
    margin-top:0!important;
  }

  body[data-responsive-mode].is-about .aboutGroupements.fnamGroupementsShared .groupInfo,
  body[data-responsive-mode].is-home .home-snap-block--groups.fnamGroupementsShared .groupInfo,
  body[data-responsive-mode="compact"] .fnamGroupementsShared .groupInfo{
    position:sticky!important;
    top:calc(var(--header-height,104px) + 18px)!important;
    display:grid!important;
    grid-template-rows:auto auto!important;
    width:100%!important;
    height:100%!important;
    max-height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
}

/* Groupements — ajustement visuel final */
.fnamGroupementsShared{
  --fnam-cream:#FBF7F1;
  --fnam-blue:#326191;
  --fnam-blue-medium:#3A6DA0;
  --fnam-blue-grey:#5092B6;
  --fnam-cyan:#70B4BE;
  --fnam-ink:#143653;
  --fnam-white:#FFFFFF;
}

.fnamGroupementsShared .ecosystemCard.groupementsBoard{
  border:1px solid rgba(112,180,190,.28)!important;
  border-radius:26px!important;
}

.fnamGroupementsShared .eyebrow{
  color:var(--fnam-cyan)!important;
  font-size:clamp(.75rem,.86vw,.88rem)!important;
  font-weight:700!important;
  letter-spacing:.16em!important;
}

.fnamGroupementsShared .eyebrow:before{
  background:var(--fnam-cyan)!important;
}

.fnamGroupementsShared .ecosystemHeader h2{
  color:var(--fnam-white)!important;
  font-weight:800!important;
  line-height:1.04!important;
  text-shadow:0 2px 8px rgba(0,0,0,.18);
}

.fnamGroupementsShared .groupementsFederation{
  background:linear-gradient(180deg,var(--fnam-white) 0%,var(--fnam-cream) 100%)!important;
  border:1px solid rgba(255,255,255,.65)!important;
  border-radius:16px!important;
  box-shadow:0 14px 30px rgba(8,34,57,.18)!important;
  color:var(--fnam-blue)!important;
}

.fnamGroupementsShared .groupementsFederation span{
  color:var(--fnam-blue)!important;
}

.fnamGroupementsShared .groupementsFamilies .familyCluster{
  padding:8px!important;
  border:1px solid rgba(255,255,255,.58)!important;
  border-radius:18px!important;
  background:rgba(251,247,241,.94)!important;
  box-shadow:0 12px 28px rgba(8,34,57,.12)!important;
}

.fnamGroupementsShared .groupementsFamilies .orbitCategory,
.fnamGroupementsShared .groupementsFamilies .clusterInfrastructure .orbitCategory,
.fnamGroupementsShared .groupementsFamilies .clusterAviation .orbitCategory,
.fnamGroupementsShared .groupementsFamilies .orbitCategory.active{
  background:var(--fnam-cream)!important;
  color:var(--fnam-blue)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-bottom-color:rgba(50,97,145,.18)!important;
  border-radius:999px!important;
  box-shadow:0 8px 18px rgba(8,34,57,.12)!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
}

.fnamGroupementsShared .groupementsFamilies .orbitNode{
  background:linear-gradient(180deg,var(--fnam-white) 0%,#F8FBFC 100%)!important;
  border:1px solid rgba(50,97,145,.18)!important;
  border-radius:12px!important;
  box-shadow:0 14px 30px rgba(8,34,57,.18)!important;
  color:var(--fnam-ink)!important;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background-color .18s ease!important;
}

.fnamGroupementsShared .groupementsFamilies .orbitNode:before,
.fnamGroupementsShared .groupementsFamilies .orbitNode:after{
  content:none!important;
  display:none!important;
}

.fnamGroupementsShared .groupementsFamilies .orbitNode:hover{
  border-color:rgba(80,146,182,.45)!important;
  box-shadow:0 16px 34px rgba(8,34,57,.22)!important;
  transform:translateY(-1px)!important;
}

.fnamGroupementsShared .groupementsFamilies .orbitNode.active,
.fnamGroupementsShared .groupementsFamilies .orbitNode:focus{
  border-color:rgba(80,146,182,.58)!important;
  background:linear-gradient(180deg,var(--fnam-white) 0%,#F7FBFD 100%)!important;
  box-shadow:0 18px 36px rgba(8,34,57,.24)!important;
}

.fnamGroupementsShared .groupementsFamilies .orbitNode:focus-visible{
  outline:3px solid rgba(112,180,190,.85)!important;
  outline-offset:3px!important;
}

.fnamGroupementsShared .groupementsFamilies .orbitNode strong{
  color:var(--fnam-blue)!important;
  font-weight:800!important;
}

.fnamGroupementsShared .groupementsFamilies .orbitNode span{
  color:var(--fnam-ink)!important;
  font-weight:600!important;
  line-height:1.32!important;
}

.fnamGroupementsShared .groupementsFamilies .groupLogo{
  object-fit:contain!important;
}

.fnamGroupementsShared .associateBadge{
  background:var(--fnam-blue)!important;
  color:var(--fnam-white)!important;
  border-radius:999px!important;
  font-weight:700!important;
  letter-spacing:.06em!important;
}

.fnamGroupementsShared .groupInfo{
  color:var(--fnam-ink)!important;
  background:linear-gradient(180deg,var(--fnam-white) 0%,var(--fnam-cream) 100%)!important;
  border:1px solid rgba(112,180,190,.35)!important;
  border-radius:22px!important;
  box-shadow:0 18px 40px rgba(8,34,57,.20)!important;
}

.fnamGroupementsShared .groupDetailHero{
  background:linear-gradient(180deg,var(--fnam-white) 0%,var(--fnam-cream) 100%)!important;
}

.fnamGroupementsShared .groupDetailTitle,
.fnamGroupementsShared .groupInfo > strong{
  color:var(--fnam-blue)!important;
  font-weight:800!important;
  line-height:1.16!important;
}

.fnamGroupementsShared .groupDetailBody{
  border-top:1px solid rgba(50,97,145,.16)!important;
  background:var(--fnam-cream)!important;
  scrollbar-color:var(--fnam-blue) rgba(112,180,190,.18)!important;
}

.fnamGroupementsShared .groupDetailBody::-webkit-scrollbar-thumb{
  background:var(--fnam-blue)!important;
}

.fnamGroupementsShared .groupPresident{
  background:var(--fnam-white)!important;
  border:1px solid rgba(50,97,145,.12)!important;
  border-radius:16px!important;
  box-shadow:0 12px 28px rgba(8,34,57,.14)!important;
}

.fnamGroupementsShared .groupPresidentInfo strong,
.fnamGroupementsShared .groupInfoBlock p,
.fnamGroupementsShared .groupInfoBlock li{
  color:var(--fnam-ink)!important;
}

.fnamGroupementsShared .groupPresidentInfo span,
.fnamGroupementsShared .groupInfoBlock h4{
  color:var(--fnam-blue)!important;
  font-weight:800!important;
  letter-spacing:.1em!important;
}

.fnamGroupementsShared .groupInfoBlock{
  border-top:1px solid rgba(50,97,145,.16)!important;
}

.fnamGroupementsShared .groupInfoBlock li:before{
  background:var(--fnam-blue)!important;
}

@media(max-width:900px){
  .fnamGroupementsShared .groupDetailHero,
  .fnamGroupementsShared .groupDetailBody{
    background:transparent!important;
  }
}

/* Groupements — rapprochement version cible */
.fnamGroupementsShared .groupementsBoard{
  gap:clamp(18px,2vw,26px)!important;
}

.fnamGroupementsShared .groupementsTwoPane,
body[data-responsive-mode].is-about .aboutGroupements.fnamGroupementsShared .ecosystemLayout.groupementsTwoPane,
body[data-responsive-mode].is-home .home-snap-block--groups.fnamGroupementsShared .ecosystemLayout.groupementsTwoPane,
body[data-responsive-mode="compact"] .fnamGroupementsShared .ecosystemLayout.groupementsTwoPane{
  grid-template-columns:minmax(0,1.48fr) minmax(360px,.72fr)!important;
  gap:clamp(20px,2.1vw,30px)!important;
}

.fnamGroupementsShared .groupementsFederation{
  min-height:clamp(92px,8.5vw,118px)!important;
  justify-content:center!important;
  gap:clamp(26px,3vw,44px)!important;
  padding:18px clamp(24px,4vw,52px)!important;
}

.fnamGroupementsShared .groupementsFederation img{
  width:clamp(158px,13vw,224px)!important;
}

.fnamGroupementsShared .groupementsFederation span{
  max-width:520px!important;
  white-space:normal!important;
  font-size:clamp(1.08rem,1.45vw,1.42rem)!important;
  line-height:1.14!important;
  font-weight:800!important;
}

.fnamGroupementsShared .groupementsFamilies{
  gap:clamp(14px,1.7vw,22px)!important;
}

.fnamGroupementsShared .groupementsFamilies .familyCluster{
  gap:0!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,var(--fnam-white) 0%,var(--fnam-cream) 100%)!important;
}

.fnamGroupementsShared .groupementsFamilies .orbitCategory,
.fnamGroupementsShared .groupementsFamilies .clusterInfrastructure .orbitCategory,
.fnamGroupementsShared .groupementsFamilies .clusterAviation .orbitCategory,
.fnamGroupementsShared .groupementsFamilies .orbitCategory.active{
  justify-content:flex-start!important;
  min-height:58px!important;
  padding:14px 24px!important;
  border-width:0 0 1px!important;
  border-radius:0!important;
  background:linear-gradient(180deg,var(--fnam-white) 0%,var(--fnam-cream) 100%)!important;
  box-shadow:none!important;
  gap:16px!important;
}

.fnamGroupementsShared .groupementsFamilies .orbitCategory:before{
  content:"";
  display:inline-block;
  flex:0 0 auto;
  width:30px;
  height:30px;
  background:var(--fnam-blue);
  -webkit-mask:center/contain no-repeat;
  mask:center/contain no-repeat;
}

.fnamGroupementsShared .groupementsFamilies .clusterExploitants .orbitCategory:before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 16.5 21 3l1 2-8 8 5.5 3-.8 1.6-7.2-1.6-4.4 4.4-1.6-.8 2.6-5.6-5.6-1.2L2 16.5Z' fill='black'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 16.5 21 3l1 2-8 8 5.5 3-.8 1.6-7.2-1.6-4.4 4.4-1.6-.8 2.6-5.6-5.6-1.2L2 16.5Z' fill='black'/%3E%3C/svg%3E");
}

.fnamGroupementsShared .groupementsFamilies .clusterInfrastructure .orbitCategory:before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 21V8l5-3 5 3v13H3Zm2-2h2v-3h4v3h0V9L8 7.2 5 9v10Zm10 2V5l3-2 3 2v16h-6Zm2-2h2V6l-1-.7-1 .7v13ZM6 11h2v2H6v-2Zm3 0h2v2H9v-2Z' fill='black'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 21V8l5-3 5 3v13H3Zm2-2h2v-3h4v3h0V9L8 7.2 5 9v10Zm10 2V5l3-2 3 2v16h-6Zm2-2h2V6l-1-.7-1 .7v13ZM6 11h2v2H6v-2Zm3 0h2v2H9v-2Z' fill='black'/%3E%3C/svg%3E");
}

.fnamGroupementsShared .groupementsFamilies .clusterAviation .orbitCategory:before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2a3 3 0 0 1 1.2 5.75l1.42 4.2 4.28-1.02A3 3 0 1 1 20 13.1l-4.67 1.1 2.92 4.05-1.8 1.3L12 15.25l-4.45 4.3-1.8-1.3 2.92-4.05L4 13.1a3 3 0 1 1 1.1-2.17l4.28 1.02 1.42-4.2A3 3 0 0 1 12 2Zm0 2a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM3 12a1 1 0 1 0 2 0 1 1 0 0 0-2 0Zm16 0a1 1 0 1 0 2 0 1 1 0 0 0-2 0Z' fill='black'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2a3 3 0 0 1 1.2 5.75l1.42 4.2 4.28-1.02A3 3 0 1 1 20 13.1l-4.67 1.1 2.92 4.05-1.8 1.3L12 15.25l-4.45 4.3-1.8-1.3 2.92-4.05L4 13.1a3 3 0 1 1 1.1-2.17l4.28 1.02 1.42-4.2A3 3 0 0 1 12 2Zm0 2a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM3 12a1 1 0 1 0 2 0 1 1 0 0 0-2 0Zm16 0a1 1 0 1 0 2 0 1 1 0 0 0-2 0Z' fill='black'/%3E%3C/svg%3E");
}

.fnamGroupementsShared .groupementsFamilies .familyCards{
  padding:16px 18px 18px!important;
  gap:16px!important;
}

.fnamGroupementsShared .groupementsFamilies .orbitNode{
  min-height:clamp(108px,8.4vw,132px)!important;
  grid-template-columns:minmax(128px,178px) minmax(0,1fr)!important;
  gap:8px 18px!important;
  padding:18px 22px!important;
  border-color:rgba(50,97,145,.12)!important;
  box-shadow:0 10px 24px rgba(8,34,57,.12)!important;
}

.fnamGroupementsShared .groupementsFamilies .orbitNode:hover{
  border-color:rgba(80,146,182,.28)!important;
  box-shadow:0 14px 30px rgba(8,34,57,.16)!important;
}

.fnamGroupementsShared .groupementsFamilies .orbitNode.active,
.fnamGroupementsShared .groupementsFamilies .orbitNode:focus{
  border-color:rgba(80,146,182,.34)!important;
  box-shadow:0 16px 34px rgba(8,34,57,.18)!important;
}

.fnamGroupementsShared .groupementsFamilies .groupLogo{
  width:min(150px,100%)!important;
  height:58px!important;
}

.fnamGroupementsShared .groupementsFamilies .orbitNode strong{
  font-size:clamp(1.06rem,1.15vw,1.26rem)!important;
}

.fnamGroupementsShared .groupementsFamilies .orbitNode span{
  font-size:clamp(.88rem,.98vw,1.02rem)!important;
  line-height:1.34!important;
}

.fnamGroupementsShared .groupementsFamilies .clusterAviation .familyCards{
  grid-template-columns:1fr!important;
  justify-content:stretch!important;
}

.fnamGroupementsShared .groupementsFamilies .clusterAviation .orbitNode{
  max-width:none!important;
  width:100%!important;
}

.fnamGroupementsShared .groupInfo{
  border-radius:18px!important;
  box-shadow:0 16px 36px rgba(8,34,57,.18)!important;
  overflow:hidden!important;
}

.fnamGroupementsShared .groupDetailHero{
  position:relative!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-areas:"logo" "title"!important;
  justify-items:center!important;
  align-items:start!important;
  gap:26px!important;
  padding:clamp(26px,3vw,42px) clamp(26px,3vw,44px) clamp(18px,2vw,28px)!important;
  border-radius:18px 18px 0 0!important;
  text-align:left!important;
}

.fnamGroupementsShared .groupDetailHero .groupInfoLogo{
  width:clamp(190px,16vw,265px)!important;
  height:clamp(84px,8vw,118px)!important;
  justify-self:center!important;
}

.fnamGroupementsShared .groupDetailTitle{
  justify-self:start!important;
  width:100%!important;
  font-size:clamp(1.75rem,2.25vw,2.55rem)!important;
  line-height:1.1!important;
}

.fnamGroupementsShared .groupDetailBody{
  padding:clamp(22px,2.6vw,34px) clamp(26px,3vw,44px) clamp(26px,3vw,42px)!important;
  gap:20px!important;
  overflow-y:auto!important;
  scrollbar-width:none!important;
}

.fnamGroupementsShared .groupDetailBody::-webkit-scrollbar{
  width:0!important;
}

.fnamGroupementsShared .groupDetailBody .groupPresident{
  margin:0 0 18px!important;
  padding:20px 24px!important;
}

.fnamGroupementsShared .groupPresidentPhoto{
  width:clamp(78px,6.4vw,96px)!important;
  height:clamp(78px,6.4vw,96px)!important;
}

.fnamGroupementsShared .groupPresidentInfo strong{
  font-size:clamp(1.1rem,1.35vw,1.45rem)!important;
}

.fnamGroupementsShared .groupPresidentInfo span{
  font-size:.86rem!important;
}

.fnamGroupementsShared .groupInfoBlock{
  padding-top:20px!important;
}

.fnamGroupementsShared .groupInfoBlock h4{
  font-size:.84rem!important;
  letter-spacing:.12em!important;
}

.fnamGroupementsShared .groupInfoBlock p,
.fnamGroupementsShared .groupInfoBlock li{
  font-size:clamp(1rem,1.15vw,1.24rem)!important;
  line-height:1.42!important;
}

.fnamGroupementsShared .groupInfoBlock li{
  padding-left:26px!important;
}

.fnamGroupementsShared .groupInfoBlock li:before{
  top:.55em!important;
  width:9px!important;
  height:9px!important;
  box-shadow:0 0 0 6px rgba(80,146,182,.12);
}

@media(min-width:901px){
  .fnamGroupementsShared{
    --groupements-panel-height:clamp(700px,76svh,820px);
  }

  .fnamGroupementsShared .groupementsFamilies,
  .fnamGroupementsShared .groupDetailColumn,
  body.is-about .aboutGroupements.fnamGroupementsShared .orbitWrap.groupementsFamilies,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .orbitWrap.groupementsFamilies,
  body.is-about .aboutGroupements.fnamGroupementsShared .groupDetailColumn,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailColumn,
  body[data-responsive-mode].is-about .aboutGroupements.fnamGroupementsShared .orbitWrap.groupementsFamilies,
  body[data-responsive-mode].is-home .home-snap-block--groups.fnamGroupementsShared .orbitWrap.groupementsFamilies,
  body[data-responsive-mode="compact"] .fnamGroupementsShared .orbitWrap.groupementsFamilies,
  body[data-responsive-mode].is-about .aboutGroupements.fnamGroupementsShared .groupDetailColumn,
  body[data-responsive-mode].is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailColumn,
  body[data-responsive-mode="compact"] .fnamGroupementsShared .groupDetailColumn{
    height:var(--groupements-panel-height)!important;
    max-height:var(--groupements-panel-height)!important;
  }

  .fnamGroupementsShared .groupementsFamilies{
    align-content:stretch!important;
  }
}

@media(max-width:1180px){
  .fnamGroupementsShared .groupementsTwoPane,
  body[data-responsive-mode].is-about .aboutGroupements.fnamGroupementsShared .ecosystemLayout.groupementsTwoPane,
  body[data-responsive-mode].is-home .home-snap-block--groups.fnamGroupementsShared .ecosystemLayout.groupementsTwoPane,
  body[data-responsive-mode="compact"] .fnamGroupementsShared .ecosystemLayout.groupementsTwoPane{
    grid-template-columns:minmax(0,1.24fr) minmax(330px,.76fr)!important;
  }

  .fnamGroupementsShared .groupementsFamilies .orbitNode{
    grid-template-columns:minmax(104px,136px) minmax(0,1fr)!important;
  }
}

@media(max-width:900px){
  .fnamGroupementsShared .groupementsTwoPane,
  body[data-responsive-mode].is-about .aboutGroupements.fnamGroupementsShared .ecosystemLayout.groupementsTwoPane,
  body[data-responsive-mode].is-home .home-snap-block--groups.fnamGroupementsShared .ecosystemLayout.groupementsTwoPane,
  body[data-responsive-mode="compact"] .fnamGroupementsShared .ecosystemLayout.groupementsTwoPane{
    grid-template-columns:1fr!important;
  }

  .fnamGroupementsShared .groupementsFamilies .orbitCategory{
    min-height:52px!important;
    padding:12px 18px!important;
  }

  .fnamGroupementsShared .groupementsFamilies .orbitNode{
    grid-template-columns:minmax(92px,126px) minmax(0,1fr)!important;
    min-height:104px!important;
  }

  .fnamGroupementsShared .groupDetailHero{
    gap:14px!important;
    padding:0 0 18px!important;
    background:transparent!important;
  }

  .fnamGroupementsShared .groupDetailHero .groupInfoLogo{
    width:clamp(150px,44vw,220px)!important;
    height:clamp(72px,20vw,104px)!important;
  }

  .fnamGroupementsShared .groupDetailBody{
    padding:0!important;
    background:transparent!important;
  }
}

/* Logo : fond blanc uniquement sur zones sombres */
.header .brandLogo{
  background:#FBF7F1;
  box-shadow:0 10px 24px rgba(7,28,51,.10);
  transition:background-color .18s ease, box-shadow .18s ease, filter .18s ease;
}

.header.logo-over-light .brandLogo{
  background:transparent;
  box-shadow:none;
}

body.is-domaines .header .brandLogo{
  background:transparent;
  box-shadow:none;
}

body.is-tools .header .brandLogo{
  background:transparent!important;
  box-shadow:none!important;
}

body.is-home .header.logo-over-light .brandLogo{
  filter:drop-shadow(0 8px 22px rgba(3,18,31,.20));
}

.mobileMenu .brandLogoCompact{
  background:transparent;
}

/* Page A propos : alignement sommaire / sections */
body.is-about{
  --about-rail-gap:clamp(16px,2svh,22px);
  --about-rail-top:calc(var(--header-height,104px) - 3px);
}

html.is-about{
  scroll-snap-type:none!important;
  scroll-padding-top:var(--about-rail-top)!important;
}

body.is-about .aboutPage{
  padding:var(--about-rail-gap) 0 clamp(54px,8svh,92px)!important;
}

body.is-about .aboutPage > .container{
  width:min(1660px,calc(100vw - clamp(32px,5vw,82px)))!important;
}

body.is-about .aboutLayout{
  grid-template-columns:minmax(210px,230px) minmax(0,1fr)!important;
  gap:clamp(24px,2.4vw,36px)!important;
  align-items:start!important;
  min-height:0!important;
  padding-top:0!important;
}

body.is-about .aboutSideNav{
  position:sticky!important;
  top:var(--about-rail-top)!important;
  align-self:start!important;
  z-index:4!important;
}

body.is-about .aboutContent{
  display:grid!important;
  gap:clamp(24px,3svh,34px)!important;
  min-width:0!important;
}

body.is-about .aboutIntro,
body.is-about .aboutSection{
  scroll-snap-align:none!important;
  scroll-snap-stop:normal!important;
  scroll-margin-top:var(--about-rail-top)!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared{
  overflow:hidden!important;
}

@media(min-width:901px){
  body.is-about .aboutIntro,
  body.is-about .aboutSection{
    margin-top:0!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupDetailColumn{
    position:relative!important;
    overflow:visible!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupInfo{
    position:relative!important;
    top:auto!important;
    height:100%!important;
    max-height:100%!important;
    margin:0!important;
  }
}

@media(max-width:1260px){
  body.is-about{
    --about-rail-gap:18px;
    --about-rail-top:calc(var(--header-height,78px) + 12px);
  }

  body.is-about .aboutPage{
    padding:24px 0 58px!important;
  }

  body.is-about .aboutPage > .container{
    width:min(1180px,calc(100% - 32px))!important;
  }

  body.is-about .aboutLayout{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }

  body.is-about .aboutSideNav{
    position:sticky!important;
    top:calc(var(--header-height,78px) + 8px)!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:auto!important;
    scrollbar-width:none!important;
  }

  body[data-responsive-mode="compact"].is-about .aboutSideNav,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav{
    position:sticky!important;
    top:calc(var(--header-height,78px) + 8px)!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  body.is-about .aboutSideNav::-webkit-scrollbar{
    display:none;
  }

  body.is-about .aboutSideNav strong,
  body.is-about .aboutSideNav a{
    white-space:nowrap!important;
    flex:0 0 auto!important;
  }
}

@media(max-width:760px){
  body.is-about .aboutPage > .container{
    width:min(100% - 28px,1180px)!important;
  }

  body.is-about .aboutSideNav{
    margin:0!important;
    padding:12px!important;
  }

  body.is-about .aboutSideNav strong{
    display:none!important;
  }
}

/* Design System — section Groupements de l'accueil */
body.is-home .home-snap-block--groups.fnamGroupementsShared{
  --fnam-cream:var(--fnam-ivory,#fbf8f1);
  --fnam-blue:var(--fnam-bleu-roi,#326191);
  --fnam-blue-medium:var(--fnam-bleu-moyen,#3a6da0);
  --fnam-blue-grey:var(--fnam-bleu-gris,#5092b6);
  --fnam-cyan:var(--fnam-cyan-pale,#70b4be);
  --fnam-ink:var(--fg-1,#1a1a1a);
  --fnam-white:#fff;
  padding:var(--sp-6,24px) 0!important;
  min-height:calc(100svh - var(--header-height,104px))!important;
  display:grid!important;
  align-items:center!important;
  background:var(--fnam-paper,#f6f1e7)!important;
  color:var(--fg-1,#1a1a1a)!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .container{
  width:min(var(--container-max,1240px),calc(100% - 48px))!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .ecosystemCard.groupementsBoard{
  padding:var(--sp-5,20px)!important;
  gap:var(--sp-4,16px)!important;
  border:1px solid var(--border-1,rgba(26,26,26,.10))!important;
  border-radius:var(--r-4,10px)!important;
  background:var(--bg-elevated,#fbf8f1)!important;
  box-shadow:var(--shadow-1,0 1px 2px rgba(28,58,89,.06))!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .ecosystemCard.groupementsBoard:before{
  content:none!important;
  display:none!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .ecosystemHeader{
  grid-template-columns:1fr!important;
  align-items:end!important;
  gap:var(--sp-5,20px)!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .eyebrow{
  display:block!important;
  margin:0 0 var(--sp-2,8px)!important;
  color:var(--fnam-rouge-bordeaux,#be3c3f)!important;
  font-family:var(--font-sans,"DM Sans",system-ui,sans-serif)!important;
  font-size:var(--fs-eyebrow,12px)!important;
  line-height:var(--lh-eyebrow,1.2)!important;
  letter-spacing:var(--tk-eyebrow,.16em)!important;
  font-weight:600!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .eyebrow:before{
  content:none!important;
  display:none!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .ecosystemHeader h2{
  display:inline-block!important;
  margin:0!important;
  padding-bottom:var(--sp-2,8px)!important;
  border-bottom:2px solid var(--fnam-rouge-bordeaux,#be3c3f)!important;
  color:var(--fnam-bleu-roi-900,#1c3a59)!important;
  font-family:var(--font-display,"Marianne","DM Sans",system-ui,sans-serif)!important;
  font-size:clamp(28px,2.2vw,var(--fs-h2,32px))!important;
  line-height:var(--lh-h2,1.18)!important;
  letter-spacing:var(--tk-h2,0)!important;
  font-weight:600!important;
  text-shadow:none!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsIntro{
  max-width:40ch;
  margin:0!important;
  color:var(--fg-2,#3d3d3d)!important;
  font-size:var(--fs-small,15px)!important;
  line-height:1.45!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFederation,
body.is-home .home-snap-block--groups.fnamGroupementsShared .familyCluster,
body.is-home .home-snap-block--groups.fnamGroupementsShared .orbitNode,
body.is-home .home-snap-block--groups.fnamGroupementsShared .groupInfo,
body.is-home .home-snap-block--groups.fnamGroupementsShared .groupPresident{
  min-width:0!important;
  max-width:100%!important;
  border-color:var(--border-1,rgba(26,26,26,.10))!important;
  border-radius:var(--r-2,4px)!important;
  background:var(--fnam-white,#fff)!important;
  box-shadow:var(--shadow-1,0 1px 2px rgba(28,58,89,.06))!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFederation{
  min-height:68px!important;
  max-height:74px!important;
  padding:var(--sp-2,8px) var(--sp-5,20px)!important;
  color:var(--fnam-bleu-roi,#326191)!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFederation img{
  width:clamp(104px,8vw,128px)!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFederation span{
  color:var(--fnam-bleu-roi-900,#1c3a59)!important;
  font-family:var(--font-display,"Marianne","DM Sans",system-ui,sans-serif)!important;
  font-size:clamp(16px,1.25vw,var(--fs-h4,20px))!important;
  line-height:1.16!important;
  font-weight:600!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .familyCluster{
  overflow:hidden!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .orbitCategory,
body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .clusterInfrastructure .orbitCategory,
body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .clusterAviation .orbitCategory,
body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .orbitCategory.active{
  min-height:auto!important;
  min-height:38px!important;
  padding:var(--sp-2,8px) var(--sp-4,16px)!important;
  border:0!important;
  border-bottom:1px solid var(--border-1,rgba(26,26,26,.10))!important;
  border-radius:0!important;
  background:var(--fnam-paper-warm,#efe7d6)!important;
  color:var(--fnam-bleu-roi-900,#1c3a59)!important;
  box-shadow:none!important;
  font-family:var(--font-sans,"DM Sans",system-ui,sans-serif)!important;
  font-size:var(--fs-meta,13px)!important;
  line-height:var(--lh-meta,1.45)!important;
  letter-spacing:var(--tk-meta,.02em)!important;
  font-weight:700!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .orbitCategory:before{
  width:18px!important;
  height:18px!important;
  background:var(--fnam-rouge-bordeaux,#be3c3f)!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .familyCards{
  padding:var(--sp-2,8px) var(--sp-3,12px)!important;
  gap:var(--sp-2,8px)!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .orbitNode{
  min-height:72px!important;
  height:72px!important;
  padding:var(--sp-2,8px) var(--sp-3,12px)!important;
  border:1px solid var(--border-1,rgba(26,26,26,.10))!important;
  color:var(--fg-1,#1a1a1a)!important;
  transition:box-shadow var(--dur-base,220ms) var(--ease-standard,ease),border-color var(--dur-fast,140ms) var(--ease-standard,ease),transform var(--dur-base,220ms) var(--ease-standard,ease)!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .groupTileText{
  display:grid!important;
  align-content:center!important;
  gap:var(--sp-1,4px)!important;
  min-width:0!important;
  max-width:100%!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .groupTileTitle{
  display:flex!important;
  align-items:center!important;
  gap:var(--sp-2,8px)!important;
  min-width:0!important;
  max-width:100%!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .groupTileShort{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .orbitNode:hover{
  border-color:var(--border-2,rgba(26,26,26,.18))!important;
  box-shadow:var(--shadow-2,0 4px 10px rgba(28,58,89,.08))!important;
  transform:translateY(-2px)!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .orbitNode.active,
body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .orbitNode:focus{
  border-color:var(--fnam-bleu-roi,#326191)!important;
  box-shadow:var(--shadow-2,0 4px 10px rgba(28,58,89,.08))!important;
  background:var(--fnam-bleu-roi-50,#f3f7fb)!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .orbitNode:focus-visible{
  outline:none!important;
  box-shadow:var(--shadow-focus,0 0 0 3px rgba(50,97,145,.28)),var(--shadow-2,0 4px 10px rgba(28,58,89,.08))!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .orbitNode strong,
body.is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailTitle{
  color:var(--fnam-bleu-roi-900,#1c3a59)!important;
  font-family:var(--font-display,"Marianne","DM Sans",system-ui,sans-serif)!important;
  font-weight:600!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .orbitNode span,
body.is-home .home-snap-block--groups.fnamGroupementsShared .groupInfoBlock p,
body.is-home .home-snap-block--groups.fnamGroupementsShared .groupInfoBlock li{
  color:var(--fg-2,#3d3d3d)!important;
  font-family:var(--font-sans,"DM Sans",system-ui,sans-serif)!important;
  font-weight:400!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .associateBadge{
  flex:0 0 auto!important;
  border-radius:var(--r-2,4px)!important;
  background:var(--fnam-bleu-roi-50,#f3f7fb)!important;
  color:var(--fnam-bleu-roi,#326191)!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupInfo{
  overflow:hidden!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailHero,
body.is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailBody{
  background:var(--fnam-white,#fff)!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailHero{
  border-radius:var(--r-2,4px) var(--r-2,4px) 0 0!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailBody{
  border-top:1px solid var(--border-1,rgba(26,26,26,.10))!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupInfoBlock{
  border-top:1px solid var(--border-1,rgba(26,26,26,.10))!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupMembersBlock{
  display:none!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupInfoBlock h4{
  color:var(--fnam-rouge-bordeaux,#be3c3f)!important;
  font-family:var(--font-sans,"DM Sans",system-ui,sans-serif)!important;
  font-size:var(--fs-eyebrow,12px)!important;
  line-height:var(--lh-eyebrow,1.2)!important;
  letter-spacing:var(--tk-eyebrow,.16em)!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupInfoBlock li:before{
  background:var(--fnam-rouge-bordeaux,#be3c3f)!important;
  box-shadow:none!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupLink{
  background:var(--fnam-bleu-roi,#326191)!important;
  border:1px solid var(--fnam-bleu-roi,#326191)!important;
  border-bottom-color:var(--fnam-bleu-roi,#326191)!important;
  color:var(--fg-on-accent,#fff)!important;
  font-weight:600!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupLink:hover{
  background:var(--fnam-bleu-roi-800,#244a72)!important;
  border-color:var(--fnam-bleu-roi-800,#244a72)!important;
  color:var(--fg-on-accent,#fff)!important;
}

@media(min-width:901px){
  body.is-home .home-snap-block--groups.fnamGroupementsShared{
    --groupements-panel-height:clamp(500px,calc(100svh - var(--header-height,104px) - 262px),548px);
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsTwoPane,
  body[data-responsive-mode].is-home .home-snap-block--groups.fnamGroupementsShared .ecosystemLayout.groupementsTwoPane,
  body[data-responsive-mode="compact"] .home-snap-block--groups.fnamGroupementsShared .ecosystemLayout.groupementsTwoPane{
    align-items:stretch!important;
    gap:var(--sp-5,20px)!important;
    grid-template-columns:minmax(0,1.5fr) minmax(330px,.74fr)!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailColumn,
  body[data-responsive-mode].is-home .home-snap-block--groups.fnamGroupementsShared .orbitWrap.groupementsFamilies,
  body[data-responsive-mode].is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailColumn,
  body[data-responsive-mode="compact"] .home-snap-block--groups.fnamGroupementsShared .orbitWrap.groupementsFamilies,
  body[data-responsive-mode="compact"] .home-snap-block--groups.fnamGroupementsShared .groupDetailColumn{
    height:var(--groupements-panel-height)!important;
    max-height:var(--groupements-panel-height)!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies{
    gap:var(--sp-2,8px)!important;
    align-content:stretch!important;
    grid-template-rows:auto auto auto!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .familyCluster{
    min-height:0!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .clusterExploitants{
    align-self:start!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .clusterInfrastructure,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .clusterAviation{
    align-self:start!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .orbitNode{
    grid-template-columns:minmax(92px,128px) minmax(0,1fr)!important;
    gap:var(--sp-2,8px) var(--sp-3,12px)!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .familyCards{
    grid-auto-rows:72px!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .groupLogo{
    width:min(98px,100%)!important;
    height:32px!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .orbitNode strong{
    font-size:clamp(13px,.96vw,15px)!important;
    line-height:1.12!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .orbitNode span{
    font-size:clamp(11px,.82vw,13px)!important;
    line-height:1.18!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .groupTileText,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .groupTileTitle{
    font-size:inherit!important;
    line-height:inherit!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .groupTileShort{
    white-space:nowrap!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .group-uaf .groupTileTitle{
    flex-wrap:nowrap!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailHero{
    grid-template-columns:minmax(92px,132px) minmax(0,1fr)!important;
    grid-template-areas:"logo title"!important;
    justify-items:start!important;
    align-items:center!important;
    gap:var(--sp-4,16px)!important;
    padding:var(--sp-5,20px)!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailHero .groupInfoLogo{
    width:clamp(100px,9vw,132px)!important;
    height:48px!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailTitle{
    font-size:clamp(20px,1.55vw,26px)!important;
    line-height:1.12!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailBody{
    padding:var(--sp-4,16px) var(--sp-5,20px) var(--sp-5,20px)!important;
    gap:var(--sp-3,12px)!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailBody .groupPresident{
    margin:0 0 var(--sp-2,8px)!important;
    padding:var(--sp-3,12px)!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupPresidentPhoto{
    width:64px!important;
    height:64px!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupPresidentInfo strong{
    font-size:16px!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupInfoBlock{
    padding-top:var(--sp-3,12px)!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupInfoBlock h4{
    margin-bottom:var(--sp-2,8px)!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupInfoBlock p,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupInfoBlock li{
    font-size:14px!important;
    line-height:1.34!important;
  }
}

@media(max-width:900px){
  body.is-home .home-snap-block--groups.fnamGroupementsShared{
    padding:var(--sp-9,56px) 0 var(--sp-10,72px)!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .container{
    width:min(100% - 32px,var(--container-max,1240px))!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .ecosystemCard.groupementsBoard{
    padding:var(--sp-5,20px)!important;
    max-width:100%!important;
    min-width:0!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .ecosystemHeader{
    grid-template-columns:1fr!important;
    gap:var(--sp-4,16px)!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailHero{
    display:grid!important;
    grid-template-columns:minmax(150px,190px) minmax(0,1fr)!important;
    grid-template-areas:"logo title"!important;
    align-items:center!important;
    justify-items:stretch!important;
    gap:var(--sp-5,20px)!important;
    min-height:124px!important;
    max-height:124px!important;
    padding:var(--sp-5,20px) var(--sp-6,24px)!important;
    border-radius:var(--r-2,4px) var(--r-2,4px) 0 0!important;
    background:var(--fnam-white,#fff)!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailHero .groupInfoLogo{
    grid-area:logo!important;
    width:100%!important;
    max-width:190px!important;
    height:72px!important;
    margin:0!important;
    justify-self:center!important;
    align-self:center!important;
    object-fit:contain!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailHero .groupDetailTitle{
    grid-area:title!important;
    align-self:center!important;
    justify-self:start!important;
    width:100%!important;
    margin:0!important;
    font-size:clamp(24px,3.2vw,32px)!important;
    line-height:1.08!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailBody{
    background:var(--fnam-white,#fff)!important;
  }
}

@media(max-width:560px){
  body.is-home .home-snap-block--groups.fnamGroupementsShared .container{
    width:min(100% - 28px,var(--container-max,1240px))!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .ecosystemCard.groupementsBoard{
    padding:var(--sp-4,16px)!important;
    overflow:hidden!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFederation{
    flex-direction:column!important;
    gap:var(--sp-4,16px)!important;
    padding:var(--sp-6,24px) var(--sp-4,16px)!important;
    text-align:center!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFederation img{
    width:clamp(148px,52vw,220px)!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFederation span{
    max-width:24ch!important;
    text-align:center!important;
    font-size:18px!important;
    line-height:1.22!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .familyCluster{
    overflow:hidden!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .familyCards{
    padding:var(--sp-4,16px)!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .orbitNode{
    grid-template-columns:minmax(86px,42%) minmax(0,1fr)!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupPresidentInfo,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupPresidentInfo strong{
    min-width:0!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailBody .groupPresident{
    padding:var(--sp-4,16px)!important;
    gap:var(--sp-3,12px)!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupPresidentPhoto{
    width:72px!important;
    height:72px!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupPresidentInfo strong{
    font-size:18px!important;
    line-height:1.15!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupPresidentInfo span{
    font-size:12px!important;
    line-height:1.2!important;
    letter-spacing:.08em!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailHero{
    grid-template-columns:minmax(104px,132px) minmax(0,1fr)!important;
    gap:var(--sp-3,12px)!important;
    min-height:108px!important;
    max-height:108px!important;
    padding:var(--sp-4,16px)!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailHero .groupInfoLogo{
    max-width:132px!important;
    height:58px!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailHero .groupDetailTitle{
    font-size:clamp(20px,5.4vw,26px)!important;
  }
}

/* Groupements : garder l’en-tête droit compact */
body.is-home .home-snap-block--groups.fnamGroupementsShared .groupInfo .groupDetailHero{
  display:grid!important;
  grid-template-columns:minmax(84px,108px) minmax(0,1fr)!important;
  grid-template-areas:"logo title"!important;
  align-items:center!important;
  justify-items:stretch!important;
  gap:var(--sp-3,12px)!important;
  min-height:96px!important;
  height:96px!important;
  max-height:96px!important;
  padding:var(--sp-3,12px) var(--sp-4,16px)!important;
  background:var(--fnam-white,#fff)!important;
  border-radius:var(--r-2,4px) var(--r-2,4px) 0 0!important;
  overflow:hidden!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupInfo .groupDetailHero .groupInfoLogo{
  grid-area:logo!important;
  width:100%!important;
  max-width:108px!important;
  height:44px!important;
  max-height:44px!important;
  margin:0!important;
  object-fit:contain!important;
  justify-self:center!important;
  align-self:center!important;
}

body.is-home .home-snap-block--groups.fnamGroupementsShared .groupInfo .groupDetailHero .groupDetailTitle{
  grid-area:title!important;
  width:100%!important;
  margin:0!important;
  justify-self:start!important;
  align-self:center!important;
  font-size:clamp(17px,1.9vw,23px)!important;
  line-height:1.08!important;
  letter-spacing:0!important;
}

@media(max-width:560px){
  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupInfo .groupDetailHero{
    grid-template-columns:minmax(68px,76px) minmax(0,1fr)!important;
    gap:var(--sp-3,12px)!important;
    min-height:84px!important;
    height:84px!important;
    max-height:84px!important;
    padding:var(--sp-3,12px)!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupInfo .groupDetailHero .groupInfoLogo{
    max-width:76px!important;
    height:34px!important;
    max-height:34px!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupInfo .groupDetailHero .groupDetailTitle{
    font-size:clamp(16px,4.2vw,20px)!important;
  }
}

/* Design System — section Groupements de la page A propos */
body.is-about .aboutGroupements.fnamGroupementsShared{
  --about-group-panel-height:clamp(486px,calc(100svh - var(--header-height,104px) - 290px),548px);
  width:100%!important;
  max-width:none!important;
  padding:var(--sp-5,20px)!important;
  overflow:visible!important;
  background:var(--fnam-paper,#fbf7f1)!important;
  border:1px solid var(--border-1,rgba(26,26,26,.10))!important;
  border-radius:var(--r-3,8px)!important;
  box-shadow:var(--shadow-2,0 4px 10px rgba(28,58,89,.08))!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemCard.groupementsBoard{
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  padding:var(--sp-5,20px)!important;
  gap:var(--sp-4,16px)!important;
  overflow:visible!important;
  background:var(--fnam-paper,#fbf7f1)!important;
  border:0!important;
  border-radius:var(--r-2,4px)!important;
  box-shadow:none!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemCard.groupementsBoard:before{
  content:none!important;
  display:none!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemHeader{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:var(--sp-2,8px)!important;
  margin:0!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemHeader > div{
  display:grid!important;
  justify-items:start!important;
  gap:var(--sp-2,8px)!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .eyebrow{
  display:flex!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0!important;
  align-items:center!important;
  gap:var(--sp-3,12px)!important;
  color:#5092b6!important;
  font-family:var(--font-sans,"DM Sans",system-ui,sans-serif)!important;
  font-size:.75rem!important;
  line-height:var(--lh-eyebrow,1.2)!important;
  letter-spacing:.12em!important;
  font-weight:700!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .eyebrow:before{
  content:""!important;
  display:inline-block!important;
  flex:0 0 auto!important;
  width:56px!important;
  height:3px!important;
  background:var(--fnam-rouge-bordeaux,#be3c3f)!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemHeader h2{
  display:block!important;
  width:fit-content!important;
  max-width:100%!important;
  margin:0!important;
  padding-bottom:var(--sp-2,8px)!important;
  color:var(--fnam-bleu-roi-900,#1c3a59)!important;
  font-family:var(--font-display,"Marianne","DM Sans",system-ui,sans-serif)!important;
  font-size:clamp(28px,3.2vw,42px)!important;
  line-height:var(--lh-heading,1.08)!important;
  font-weight:600!important;
  letter-spacing:0!important;
  text-shadow:none!important;
  border-bottom:3px solid var(--fnam-rouge-bordeaux,#be3c3f)!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFederation,
body.is-about .aboutGroupements.fnamGroupementsShared .familyCluster,
body.is-about .aboutGroupements.fnamGroupementsShared .orbitNode,
body.is-about .aboutGroupements.fnamGroupementsShared .groupInfo,
body.is-about .aboutGroupements.fnamGroupementsShared .groupPresident{
  background:var(--fnam-white,#fff)!important;
  border:1px solid var(--border-1,rgba(26,26,26,.10))!important;
  border-radius:var(--r-2,4px)!important;
  box-shadow:var(--shadow-1,0 1px 3px rgba(28,58,89,.08))!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFederation{
  display:flex!important;
  min-height:68px!important;
  max-height:74px!important;
  padding:var(--sp-2,8px) var(--sp-5,20px)!important;
  align-items:center!important;
  justify-content:center!important;
  gap:var(--sp-5,20px)!important;
  text-align:left!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFederation img{
  width:clamp(104px,8vw,128px)!important;
  height:auto!important;
  margin:0!important;
  object-fit:contain!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFederation span{
  max-width:42ch!important;
  color:var(--fnam-bleu-roi-900,#1c3a59)!important;
  font-family:var(--font-display,"Marianne","DM Sans",system-ui,sans-serif)!important;
  font-size:clamp(16px,1.25vw,var(--fs-h4,20px))!important;
  line-height:1.16!important;
  font-weight:600!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsTwoPane{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:var(--sp-5,20px)!important;
  align-items:start!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  overflow:visible!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies{
  display:grid!important;
  gap:var(--sp-3,12px)!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  padding:0!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies .familyCluster{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  display:grid!important;
  gap:0!important;
  padding:0!important;
  overflow:hidden!important;
  transform:none!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies .orbitCategory,
body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies .clusterInfrastructure .orbitCategory,
body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies .clusterAviation .orbitCategory,
body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies .orbitCategory.active{
  min-height:38px!important;
  padding:var(--sp-2,8px) var(--sp-4,16px)!important;
  border:0!important;
  border-bottom:1px solid var(--border-1,rgba(26,26,26,.10))!important;
  border-radius:0!important;
  background:var(--fnam-paper-warm,#efe7d6)!important;
  color:var(--fnam-bleu-roi-900,#1c3a59)!important;
  box-shadow:none!important;
  font-family:var(--font-sans,"DM Sans",system-ui,sans-serif)!important;
  font-size:var(--fs-meta,13px)!important;
  line-height:var(--lh-meta,1.45)!important;
  letter-spacing:var(--tk-meta,.02em)!important;
  font-weight:700!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies .orbitCategory:before{
  width:18px!important;
  height:18px!important;
  background:var(--fnam-rouge-bordeaux,#be3c3f)!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies .familyCards{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-auto-rows:76px!important;
  gap:var(--sp-2,8px)!important;
  padding:var(--sp-3,12px)!important;
  justify-content:stretch!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies .orbitNode{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  min-height:76px!important;
  height:76px!important;
  display:grid!important;
  grid-template-columns:minmax(82px,118px) minmax(0,1fr)!important;
  align-items:center!important;
  justify-items:start!important;
  gap:var(--sp-2,8px) var(--sp-3,12px)!important;
  padding:var(--sp-2,8px) var(--sp-3,12px)!important;
  color:var(--fg-1,#1a1a1a)!important;
  text-align:left!important;
  transform:none!important;
  transition:box-shadow var(--dur-base,220ms) var(--ease-standard,ease),border-color var(--dur-fast,140ms) var(--ease-standard,ease),transform var(--dur-base,220ms) var(--ease-standard,ease)!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies .orbitNode:hover{
  border-color:var(--border-2,rgba(26,26,26,.18))!important;
  box-shadow:var(--shadow-2,0 4px 10px rgba(28,58,89,.08))!important;
  transform:translateY(-2px)!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies .orbitNode.active,
body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies .orbitNode:focus{
  border-color:var(--fnam-bleu-roi,#326191)!important;
  background:var(--fnam-bleu-roi-50,#f3f7fb)!important;
  box-shadow:var(--shadow-2,0 4px 10px rgba(28,58,89,.08))!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies .orbitNode:focus-visible{
  outline:none!important;
  box-shadow:var(--shadow-focus,0 0 0 3px rgba(50,97,145,.28)),var(--shadow-2,0 4px 10px rgba(28,58,89,.08))!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies .groupLogo{
  grid-row:span 2!important;
  width:min(98px,100%)!important;
  height:34px!important;
  object-fit:contain!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies .groupTileText{
  display:grid!important;
  align-content:center!important;
  gap:var(--sp-1,4px)!important;
  min-width:0!important;
  max-width:100%!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies .groupTileTitle{
  display:flex!important;
  align-items:center!important;
  gap:var(--sp-2,8px)!important;
  min-width:0!important;
  max-width:100%!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies .orbitNode strong{
  color:var(--fnam-bleu-roi-900,#1c3a59)!important;
  font-family:var(--font-display,"Marianne","DM Sans",system-ui,sans-serif)!important;
  font-size:clamp(13px,.98vw,15px)!important;
  line-height:1.12!important;
  font-weight:600!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies .orbitNode span{
  color:var(--fg-2,#3d3d3d)!important;
  font-family:var(--font-sans,"DM Sans",system-ui,sans-serif)!important;
  font-size:clamp(11px,.84vw,13px)!important;
  line-height:1.18!important;
  font-weight:400!important;
  text-align:left!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .associateBadge{
  flex:0 0 auto!important;
  border-radius:var(--r-2,4px)!important;
  background:var(--fnam-bleu-roi-50,#f3f7fb)!important;
  color:var(--fnam-bleu-roi,#326191)!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupInfo{
  position:relative!important;
  top:auto!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  color:var(--fg-1,#1a1a1a)!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupDetailHero,
body.is-about .aboutGroupements.fnamGroupementsShared .groupDetailBody{
  background:var(--fnam-white,#fff)!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupDetailHero{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(84px,108px) minmax(0,1fr)!important;
  grid-template-areas:"logo title"!important;
  align-items:center!important;
  justify-items:stretch!important;
  gap:var(--sp-3,12px)!important;
  min-height:96px!important;
  height:96px!important;
  max-height:96px!important;
  padding:var(--sp-3,12px) var(--sp-4,16px)!important;
  border-radius:var(--r-2,4px) var(--r-2,4px) 0 0!important;
  overflow:hidden!important;
  text-align:left!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupDetailHero .groupInfoLogo{
  grid-area:logo!important;
  width:100%!important;
  max-width:108px!important;
  height:44px!important;
  max-height:44px!important;
  margin:0!important;
  object-fit:contain!important;
  justify-self:center!important;
  align-self:center!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupDetailTitle{
  grid-area:title!important;
  width:100%!important;
  margin:0!important;
  justify-self:start!important;
  align-self:center!important;
  color:var(--fnam-bleu-roi-900,#1c3a59)!important;
  font-family:var(--font-display,"Marianne","DM Sans",system-ui,sans-serif)!important;
  font-size:clamp(17px,1.9vw,23px)!important;
  line-height:1.08!important;
  letter-spacing:0!important;
  font-weight:600!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupDetailBody{
  min-height:0!important;
  padding:var(--sp-4,16px) var(--sp-5,20px) var(--sp-5,20px)!important;
  display:grid!important;
  gap:var(--sp-3,12px)!important;
  overflow:auto!important;
  border-top:1px solid var(--border-1,rgba(26,26,26,.10))!important;
  scrollbar-color:var(--fnam-bleu-roi,#326191) rgba(112,180,190,.18)!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupPresident{
  margin:0 0 var(--sp-2,8px)!important;
  padding:var(--sp-3,12px)!important;
  gap:var(--sp-3,12px)!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupPresidentPhoto{
  width:64px!important;
  height:64px!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupPresidentInfo strong{
  color:var(--fg-1,#1a1a1a)!important;
  font-size:16px!important;
  line-height:1.16!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupPresidentInfo span{
  color:var(--fnam-bleu-roi,#326191)!important;
  font-size:12px!important;
  line-height:1.2!important;
  letter-spacing:.08em!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupInfoBlock{
  margin:0!important;
  padding-top:var(--sp-3,12px)!important;
  border-top:1px solid var(--border-1,rgba(26,26,26,.10))!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupInfoBlock h4{
  margin-bottom:var(--sp-2,8px)!important;
  color:var(--fnam-rouge-bordeaux,#be3c3f)!important;
  font-family:var(--font-sans,"DM Sans",system-ui,sans-serif)!important;
  font-size:var(--fs-eyebrow,12px)!important;
  line-height:var(--lh-eyebrow,1.2)!important;
  letter-spacing:var(--tk-eyebrow,.16em)!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupInfoBlock p,
body.is-about .aboutGroupements.fnamGroupementsShared .groupInfoBlock li{
  color:var(--fg-2,#3d3d3d)!important;
  font-family:var(--font-sans,"DM Sans",system-ui,sans-serif)!important;
  font-size:14px!important;
  line-height:1.34!important;
  font-weight:400!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupInfoBlock li{
  padding-left:22px!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupInfoBlock li:before{
  top:.55em!important;
  width:8px!important;
  height:8px!important;
  background:var(--fnam-rouge-bordeaux,#be3c3f)!important;
  box-shadow:none!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupLink{
  background:var(--fnam-bleu-roi,#326191)!important;
  border:1px solid var(--fnam-bleu-roi,#326191)!important;
  color:var(--fg-on-accent,#fff)!important;
  font-weight:600!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupLink:hover{
  background:var(--fnam-bleu-roi-800,#244a72)!important;
  border-color:var(--fnam-bleu-roi-800,#244a72)!important;
  color:var(--fg-on-accent,#fff)!important;
}

@media(min-width:761px){
  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsTwoPane{
    grid-template-columns:minmax(0,1.42fr) minmax(320px,.76fr)!important;
    align-items:stretch!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies,
  body.is-about .aboutGroupements.fnamGroupementsShared .groupDetailColumn{
    height:var(--about-group-panel-height)!important;
    max-height:var(--about-group-panel-height)!important;
    min-height:0!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupInfo{
    height:100%!important;
    max-height:100%!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies{
    align-content:stretch!important;
    grid-template-rows:auto auto auto!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies .familyCards{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:76px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies .clusterAviation .familyCards{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:1260px){
  body.is-about .aboutGroupements.fnamGroupementsShared{
    height:auto!important;
    min-height:0!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemCard.groupementsBoard{
    padding:var(--sp-4,16px)!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupDetailColumn{
    height:auto!important;
    max-height:none!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupDetailBody{
    overflow:visible!important;
  }
}

@media(max-width:900px){
  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFederation{
    min-height:68px!important;
    padding:var(--sp-3,12px) var(--sp-4,16px)!important;
    gap:var(--sp-3,12px)!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFederation img{
    width:clamp(92px,22vw,132px)!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFederation span{
    font-size:clamp(14px,2.4vw,18px)!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies .familyCards{
    grid-auto-rows:72px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies .orbitNode{
    min-height:72px!important;
    height:72px!important;
    grid-template-columns:minmax(78px,106px) minmax(0,1fr)!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .familyCards > .groupInfo{
    position:relative!important;
    top:auto!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    margin:var(--sp-2,8px) 0!important;
    overflow:hidden!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupDetailBody{
    display:grid!important;
    overflow:visible!important;
  }
}

@media(max-width:560px){
  body.is-about .aboutGroupements.fnamGroupementsShared{
    padding:var(--sp-4,16px)!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemCard.groupementsBoard{
    padding:0!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemHeader h2{
    width:100%!important;
    font-size:clamp(24px,8vw,32px)!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFederation{
    flex-direction:column!important;
    text-align:center!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFederation img{
    width:clamp(136px,50vw,190px)!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFederation span{
    max-width:24ch!important;
    text-align:center!important;
    line-height:1.22!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies .orbitNode{
    grid-template-columns:minmax(76px,34%) minmax(0,1fr)!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupDetailHero{
    grid-template-columns:minmax(68px,76px) minmax(0,1fr)!important;
    min-height:84px!important;
    height:84px!important;
    max-height:84px!important;
    padding:var(--sp-3,12px)!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupDetailHero .groupInfoLogo{
    max-width:76px!important;
    height:34px!important;
    max-height:34px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupDetailTitle{
    font-size:clamp(16px,4.2vw,20px)!important;
  }
}

/* Page A propos — verrou responsive distinct de l'accueil */
body.is-about .aboutGroupements.fnamGroupementsShared{
  --about-group-panel-height:clamp(500px,calc(100svh - var(--header-height,104px) - 275px),540px)!important;
}

@media(min-width:1261px){
  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies,
  body.is-about .aboutGroupements.fnamGroupementsShared .groupDetailColumn,
  body[data-responsive-mode].is-about .aboutGroupements.fnamGroupementsShared .orbitWrap.groupementsFamilies,
  body[data-responsive-mode].is-about .aboutGroupements.fnamGroupementsShared .groupDetailColumn,
  body[data-responsive-mode="compact"].is-about .aboutGroupements.fnamGroupementsShared .orbitWrap.groupementsFamilies,
  body[data-responsive-mode="compact"].is-about .aboutGroupements.fnamGroupementsShared .groupDetailColumn{
    height:var(--about-group-panel-height)!important;
    max-height:var(--about-group-panel-height)!important;
    min-height:0!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupInfo,
  body[data-responsive-mode].is-about .aboutGroupements.fnamGroupementsShared .groupInfo,
  body[data-responsive-mode="compact"].is-about .aboutGroupements.fnamGroupementsShared .groupInfo{
    height:100%!important;
    max-height:100%!important;
    min-height:0!important;
  }
}

@media(max-width:1260px){
  body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemLayout.groupementsTwoPane,
  body[data-responsive-mode].is-about .aboutGroupements.fnamGroupementsShared .ecosystemLayout.groupementsTwoPane,
  body[data-responsive-mode="compact"].is-about .aboutGroupements.fnamGroupementsShared .ecosystemLayout.groupementsTwoPane,
  body[data-responsive-mode="mobile"].is-about .aboutGroupements.fnamGroupementsShared .ecosystemLayout.groupementsTwoPane{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:var(--sp-5,20px)!important;
    align-items:start!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .orbitWrap.groupementsFamilies,
  body.is-about .aboutGroupements.fnamGroupementsShared .groupDetailColumn,
  body[data-responsive-mode].is-about .aboutGroupements.fnamGroupementsShared .orbitWrap.groupementsFamilies,
  body[data-responsive-mode].is-about .aboutGroupements.fnamGroupementsShared .groupDetailColumn,
  body[data-responsive-mode="compact"].is-about .aboutGroupements.fnamGroupementsShared .orbitWrap.groupementsFamilies,
  body[data-responsive-mode="compact"].is-about .aboutGroupements.fnamGroupementsShared .groupDetailColumn,
  body[data-responsive-mode="mobile"].is-about .aboutGroupements.fnamGroupementsShared .orbitWrap.groupementsFamilies,
  body[data-responsive-mode="mobile"].is-about .aboutGroupements.fnamGroupementsShared .groupDetailColumn{
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupInfo,
  body[data-responsive-mode].is-about .aboutGroupements.fnamGroupementsShared .groupInfo,
  body[data-responsive-mode="compact"].is-about .aboutGroupements.fnamGroupementsShared .groupInfo,
  body[data-responsive-mode="mobile"].is-about .aboutGroupements.fnamGroupementsShared .groupInfo{
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
  }
}

/* Page A propos — snap propre des sections */
html.is-about,
html[data-responsive-mode="compact"].is-about{
  --about-snap-top:var(--about-rail-top,calc(var(--header-height,104px) - 3px));
  --about-snap-gap:clamp(16px,2svh,22px);
  scroll-snap-type:y proximity!important;
  scroll-padding-top:var(--about-snap-top)!important;
}

html.is-about.about-scroll-lock{
  scroll-snap-type:none!important;
}

body.is-about{
  --about-snap-top:var(--about-rail-top,calc(var(--header-height,104px) - 3px));
  --about-snap-gap:clamp(16px,2svh,22px);
  --about-snap-height:calc(100svh - var(--about-snap-top) - var(--about-snap-gap));
}

body.is-about .aboutPage{
  padding:var(--about-snap-gap) 0 clamp(54px,8svh,92px)!important;
}

body.is-about .aboutContent{
  gap:var(--about-snap-gap)!important;
}

body.is-about .aboutIntro{
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  display:block!important;
  align-content:normal!important;
  overflow:visible!important;
  scroll-snap-align:start!important;
  scroll-snap-stop:always!important;
  scroll-margin-top:0!important;
}

body[data-responsive-mode].is-about .aboutIntro,
body[data-responsive-mode="compact"].is-about .aboutIntro,
body[data-responsive-mode="mobile"].is-about .aboutIntro{
  scroll-snap-align:start!important;
  scroll-snap-stop:always!important;
}

body.is-about.about-has-section .aboutIntro{
  display:none!important;
}

body.is-about .aboutSection,
body[data-responsive-mode].is-about .aboutSection,
body[data-responsive-mode="compact"].is-about .aboutSection{
  min-height:var(--about-snap-height)!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  scroll-snap-align:start!important;
  scroll-snap-stop:always!important;
  scroll-margin-top:0!important;
}

body.is-about .aboutSection:not(.aboutGroupements){
  display:block!important;
  align-content:normal!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared{
  min-height:var(--about-snap-height)!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}

body[data-responsive-mode].is-about .aboutGroupements.fnamGroupementsShared,
body[data-responsive-mode="compact"].is-about .aboutGroupements.fnamGroupementsShared,
body[data-responsive-mode="mobile"].is-about .aboutGroupements.fnamGroupementsShared{
  min-height:var(--about-snap-height)!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemCard.groupementsBoard{
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  grid-template-rows:none!important;
}

@media(max-width:1260px){
  html.is-about,
  html[data-responsive-mode="compact"].is-about{
    --about-snap-top:calc(var(--header-height,78px) + 59px);
  }

  body.is-about{
    --about-snap-top:calc(var(--header-height,78px) + 59px);
    --about-snap-height:calc(100svh - var(--about-snap-top) - var(--about-snap-gap));
  }

  body.is-about .aboutSideNav,
  body[data-responsive-mode].is-about .aboutSideNav,
  body[data-responsive-mode="compact"].is-about .aboutSideNav,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav{
    top:calc(var(--header-height,78px) - 21px)!important;
    isolation:isolate!important;
    z-index:12!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }

  body.is-about .aboutSideNav:before,
  body[data-responsive-mode].is-about .aboutSideNav:before,
  body[data-responsive-mode="compact"].is-about .aboutSideNav:before,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav:before{
    content:""!important;
    position:absolute!important;
    inset:-34px -1px -1px!important;
    z-index:1!important;
    pointer-events:none!important;
    border:1px solid rgba(112,180,190,.42)!important;
    border-radius:18px!important;
    background:#fffdf9!important;
    box-shadow:0 16px 36px rgba(50,97,145,.10)!important;
  }

  body.is-about .aboutSideNav > *,
  body[data-responsive-mode].is-about .aboutSideNav > *,
  body[data-responsive-mode="compact"].is-about .aboutSideNav > *,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav > *{
    position:relative!important;
    z-index:2!important;
  }

  body.is-about .aboutContent,
  body[data-responsive-mode].is-about .aboutContent,
  body[data-responsive-mode="compact"].is-about .aboutContent,
  body[data-responsive-mode="mobile"].is-about .aboutContent{
    display:grid!important;
    grid-column:auto!important;
    grid-row:auto!important;
  }

  body.is-about .aboutIntro,
  body.is-about .aboutSection,
  body[data-responsive-mode].is-about .aboutIntro,
  body[data-responsive-mode].is-about .aboutSection,
  body[data-responsive-mode="compact"].is-about .aboutIntro,
  body[data-responsive-mode="compact"].is-about .aboutSection,
  body[data-responsive-mode="mobile"].is-about .aboutIntro,
  body[data-responsive-mode="mobile"].is-about .aboutSection{
    grid-column:auto!important;
    grid-row:auto!important;
  }
}

@media(max-width:760px){
  html.is-about,
  html[data-responsive-mode="mobile"].is-about{
    scroll-snap-type:y proximity!important;
    scroll-padding-top:calc(var(--header-height,78px) + 8px)!important;
  }

  body.is-about .aboutSideNav,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav{
    top:calc(var(--header-height,78px) + 8px)!important;
  }

  body.is-about .aboutSection,
  body[data-responsive-mode="mobile"].is-about .aboutSection{
    scroll-snap-stop:normal!important;
  }
}

/* Mobile : panneau, rails et frise */
.mobilePanel{
  z-index:120!important;
}
.mobilePanel.open{
  isolation:isolate;
}
.mobileMenu{
  position:relative;
  z-index:121;
}
.menuBtn,
.close{
  min-height:44px;
}

@media(max-width:760px){
  html.is-about,
  body.is-about{
    overflow-x:hidden!important;
  }

  body.is-about .aboutSideNav,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav{
    max-width:100%!important;
    overflow-x:auto!important;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    contain:paint;
  }

  .mobileMenu summary,
  .mobileMenu a,
  .brand,
  body.is-about .aboutSideNav a,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav a,
  .chip,
  .filter,
  .filter.small,
  body.is-publications .publicationFilterRow .filter,
  body[data-responsive-mode="mobile"].is-publications .publicationFilterRow .filter{
    min-height:44px!important;
  }

  body.is-publications .publicationMonth,
  body[data-responsive-mode="mobile"].is-publications .publicationMonth{
    display:grid!important;
    height:auto!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  body.is-publications .publicationMonthCards,
  body[data-responsive-mode="mobile"].is-publications .publicationMonthCards{
    position:static!important;
    height:auto!important;
    min-height:0!important;
  }

  body.is-publications .publicationTimelineCard,
  body[data-responsive-mode="mobile"].is-publications .publicationTimelineCard{
    width:100%!important;
  }

  .fnamGroupementsShared .groupementsFederation,
  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFederation,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFederation{
    display:grid!important;
    justify-items:center!important;
    min-height:174px!important;
    height:auto!important;
    padding:18px 16px!important;
    gap:12px!important;
  }

  .fnamGroupementsShared .groupementsFederation img,
  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFederation img,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFederation img{
    width:clamp(132px,42vw,156px)!important;
    margin:0!important;
    transform:none!important;
  }

  .fnamGroupementsShared .groupementsFederation span,
  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFederation span,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFederation span{
    margin:0!important;
    text-align:center!important;
  }

  .fnamGroupementsShared .groupementsFamilies .familyCluster,
  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies .familyCluster,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .familyCluster{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .fnamGroupementsShared .groupementsFamilies .familyCards,
  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsFamilies .familyCards,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .familyCards{
    grid-auto-rows:auto!important;
  }

  .fnamGroupementsShared .familyCards > .groupInfo,
  body.is-about .aboutGroupements.fnamGroupementsShared .familyCards > .groupInfo,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .familyCards > .groupInfo{
    height:auto!important;
    max-height:min(52svh,430px)!important;
    margin:10px 0 14px!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    border-color:rgba(112,180,190,.72)!important;
    box-shadow:0 16px 34px rgba(50,97,145,.14)!important;
  }

  .fnamGroupementsShared .familyCards > .groupInfo .groupDetailHero,
  body.is-about .aboutGroupements.fnamGroupementsShared .familyCards > .groupInfo .groupDetailHero,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .familyCards > .groupInfo .groupDetailHero{
    position:sticky!important;
    top:0!important;
    z-index:2!important;
    background:#fffdf9!important;
    border-bottom:1px solid rgba(112,180,190,.34)!important;
  }

  .fnamGroupementsShared .familyCards > .groupInfo .groupDetailBody,
  body.is-about .aboutGroupements.fnamGroupementsShared .familyCards > .groupInfo .groupDetailBody,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .familyCards > .groupInfo .groupDetailBody{
    overflow:visible!important;
    padding-bottom:14px!important;
  }

  .fnamGroupementsShared .familyCards > .groupInfo .groupInfoBlock,
  body.is-about .aboutGroupements.fnamGroupementsShared .familyCards > .groupInfo .groupInfoBlock,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .familyCards > .groupInfo .groupInfoBlock{
    padding:14px!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .ecosystemLayout.groupementsTwoPane{
    display:block!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .orbitWrap.groupementsFamilies,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies{
    position:sticky!important;
    top:0!important;
    z-index:6!important;
    display:flex!important;
    gap:12px!important;
    width:auto!important;
    max-width:none!important;
    margin:0 -16px 14px!important;
    padding:10px 16px 12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
    background:linear-gradient(180deg,rgba(251,247,241,.99),rgba(251,247,241,.94))!important;
    border-bottom:1px solid rgba(112,180,190,.34)!important;
    backdrop-filter:blur(12px);
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .orbitWrap.groupementsFamilies .familyCluster,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .familyCluster{
    flex:0 0 min(86vw,360px)!important;
    display:grid!important;
    gap:8px!important;
    scroll-snap-align:start;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .orbitCategory,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .clusterInfrastructure .orbitCategory,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .clusterAviation .orbitCategory{
    position:static!important;
    width:max-content!important;
    min-height:28px!important;
    padding:6px 10px!important;
    transform:none!important;
    font-size:11px!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .orbitWrap.groupementsFamilies .familyCards,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .familyCards{
    display:flex!important;
    grid-template-columns:none!important;
    grid-auto-rows:auto!important;
    gap:8px!important;
    overflow-x:auto!important;
    padding-bottom:2px!important;
    scrollbar-width:thin;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .orbitNode{
    flex:0 0 218px!important;
    width:auto!important;
    min-height:88px!important;
    grid-template-columns:76px minmax(0,1fr)!important;
    padding:10px!important;
    scroll-snap-align:start;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailColumn{
    display:block!important;
    min-height:0!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailColumn > .groupInfo{
    position:relative!important;
    top:auto!important;
    height:auto!important;
    max-height:calc(100svh - 220px)!important;
    margin:0!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailColumn > .groupInfo .groupDetailHero{
    position:sticky!important;
    top:0!important;
    z-index:2!important;
    background:#fffdf9!important;
    border-bottom:1px solid rgba(112,180,190,.34)!important;
  }
}

/* À propos mobile : rail de pilules persistant */
@media(max-width:900px){
  html.is-about,
  html[data-responsive-mode="compact"].is-about,
  html[data-responsive-mode="mobile"].is-about{
    scroll-snap-type:none!important;
    scroll-padding-top:calc(var(--header-height,78px) + 94px)!important;
  }

  body.is-about .aboutLayout,
  body[data-responsive-mode].is-about .aboutLayout,
  body[data-responsive-mode="compact"].is-about .aboutLayout,
  body[data-responsive-mode="mobile"].is-about .aboutLayout{
    gap:16px!important;
    padding-top:78px!important;
    overflow:visible!important;
  }

  body.is-about .aboutSideNav,
  body[data-responsive-mode].is-about .aboutSideNav,
  body[data-responsive-mode="compact"].is-about .aboutSideNav,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav{
    position:fixed!important;
    top:8px!important;
    left:14px!important;
    right:14px!important;
    z-index:82!important;
    display:flex!important;
    grid-template-columns:none!important;
    align-items:center!important;
    gap:8px!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:10px 12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    white-space:nowrap!important;
    contain:none!important;
    isolation:isolate!important;
    border:1px solid rgba(112,180,190,.44)!important;
    border-radius:18px!important;
    background:linear-gradient(180deg,rgba(251,247,241,.98),rgba(251,247,241,.94))!important;
    box-shadow:0 14px 34px rgba(50,97,145,.14)!important;
    backdrop-filter:blur(12px);
    transition:top 220ms ease, transform 220ms ease!important;
    scrollbar-width:none;
  }

  body.is-about .aboutSideNav::-webkit-scrollbar,
  body[data-responsive-mode].is-about .aboutSideNav::-webkit-scrollbar,
  body[data-responsive-mode="compact"].is-about .aboutSideNav::-webkit-scrollbar,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav::-webkit-scrollbar{
    display:none!important;
  }

  body.is-about .aboutSideNav:before,
  body[data-responsive-mode].is-about .aboutSideNav:before,
  body[data-responsive-mode="compact"].is-about .aboutSideNav:before,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav:before{
    content:none!important;
    display:none!important;
  }

  body.is-about .aboutSideNav strong,
  body[data-responsive-mode].is-about .aboutSideNav strong,
  body[data-responsive-mode="compact"].is-about .aboutSideNav strong,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav strong{
    flex:0 0 auto!important;
    margin:0 4px 0 0!important;
    color:#326191!important;
    font-size:11px!important;
    line-height:1!important;
  }

  body.is-about .aboutSideNav a,
  body[data-responsive-mode].is-about .aboutSideNav a,
  body[data-responsive-mode="compact"].is-about .aboutSideNav a,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav a{
    flex:0 0 auto!important;
    min-height:44px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 14px!important;
    border:1px solid rgba(112,180,190,.58)!important;
    border-radius:var(--r-4,10px)!important;
    background:#fffdf9!important;
    color:#326191!important;
    box-shadow:0 8px 18px rgba(50,97,145,.08)!important;
  }

  body.is-about .aboutSideNav a:hover,
  body.is-about .aboutSideNav a.active,
  body[data-responsive-mode].is-about .aboutSideNav a:hover,
  body[data-responsive-mode].is-about .aboutSideNav a.active,
  body[data-responsive-mode="compact"].is-about .aboutSideNav a:hover,
  body[data-responsive-mode="compact"].is-about .aboutSideNav a.active,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav a:hover,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav a.active{
    border-color:#326191!important;
    background:#326191!important;
    color:#fffdf9!important;
  }

  body.is-about .aboutIntro,
  body.is-about .aboutSection,
  body[data-responsive-mode].is-about .aboutIntro,
  body[data-responsive-mode].is-about .aboutSection,
  body[data-responsive-mode="compact"].is-about .aboutIntro,
  body[data-responsive-mode="compact"].is-about .aboutSection,
  body[data-responsive-mode="mobile"].is-about .aboutIntro,
  body[data-responsive-mode="mobile"].is-about .aboutSection{
    scroll-snap-align:none!important;
    scroll-snap-stop:normal!important;
    scroll-margin-top:calc(var(--header-height,78px) + 94px)!important;
  }
}

@media(max-width:760px){
  body.is-about .aboutSideNav,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav{
    margin-inline:-2px!important;
    padding-inline:10px!important;
  }

  body.is-about .aboutSideNav strong,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav strong{
    display:none!important;
  }
}

/* Accueil mobile : rail groupements et header masquable */
@media(max-width:900px){
  body.is-home .header{
    transform:translateY(calc(-100% - 10px))!important;
    opacity:0!important;
    pointer-events:none!important;
    transition:transform 220ms ease, opacity 220ms ease!important;
    will-change:transform;
  }

  body.is-home.mobile-header-revealed .header{
    transform:translateY(0)!important;
    opacity:1!important;
    pointer-events:auto!important;
  }

  body.is-about .header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:80!important;
    transform:translateY(calc(-100% - 10px))!important;
    opacity:0!important;
    pointer-events:none!important;
    transition:transform 220ms ease, opacity 220ms ease!important;
    will-change:transform;
  }

  body.is-about.mobile-header-revealed .header{
    transform:translateY(0)!important;
    opacity:1!important;
    pointer-events:auto!important;
  }

  body.is-about.mobile-header-revealed .aboutSideNav,
  body[data-responsive-mode].is-about.mobile-header-revealed .aboutSideNav,
  body[data-responsive-mode="compact"].is-about.mobile-header-revealed .aboutSideNav,
  body[data-responsive-mode="mobile"].is-about.mobile-header-revealed .aboutSideNav{
    top:calc(var(--header-height,78px) + 8px)!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .orbitWrap.groupementsFamilies,
  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies{
    top:0!important;
    z-index:48!important;
    align-items:stretch!important;
    padding-top:10px!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .ecosystemCard.groupementsBoard{
    overflow:visible!important;
  }

  body.is-home.mobile-header-revealed .home-snap-block--groups.fnamGroupementsShared .orbitWrap.groupementsFamilies,
  body.is-home.mobile-header-revealed .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies{
    top:calc(var(--header-height,78px) + 6px)!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .orbitNode{
    flex:0 0 min(74vw,276px)!important;
    height:auto!important;
    min-height:126px!important;
    grid-template-columns:74px minmax(0,1fr)!important;
    align-items:center!important;
    gap:10px!important;
    padding:12px!important;
    overflow:hidden!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .groupLogo{
    width:70px!important;
    max-width:70px!important;
    height:54px!important;
    max-height:54px!important;
    object-fit:contain!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .groupTileText{
    align-content:center!important;
    gap:4px!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .groupTileTitle{
    display:grid!important;
    align-items:center!important;
    gap:3px!important;
    min-width:0!important;
    overflow:hidden!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .orbitNode strong{
    display:block!important;
    font-size:clamp(18px,4.65vw,22px)!important;
    line-height:1.04!important;
    overflow-wrap:anywhere!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .associateBadge{
    width:max-content!important;
    max-width:100%!important;
    padding:4px 7px!important;
    font-size:10px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupementsFamilies .groupTileShort{
    display:-webkit-box!important;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden!important;
    white-space:normal!important;
    font-size:clamp(13px,3.55vw,15px)!important;
    line-height:1.22!important;
  }

  body.is-home .home-snap-block--groups.fnamGroupementsShared .groupDetailColumn > .groupInfo{
    max-height:calc(100svh - 244px)!important;
  }
}

/* Accueil mobile : sections compactes et ancrage souple */
@media(max-width:900px){
  html.is-home,
  body.is-home{
    scroll-snap-type:y proximity!important;
    scroll-padding-top:0!important;
  }

  html.is-home body.is-home #main > .home-snap-block,
  html.is-home body[data-responsive-mode].is-home #main > .home-snap-block,
  html.is-home body[data-responsive-mode="compact"].is-home #main > .home-snap-block,
  html.is-home body[data-responsive-mode="mobile"].is-home #main > .home-snap-block{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    align-items:start!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:normal!important;
    scroll-margin-top:0!important;
  }

  html.is-home body.is-home #main > .home-snap-block--hero,
  html.is-home body[data-responsive-mode].is-home #main > .home-snap-block--hero{
    min-height:100svh!important;
    padding-block:0!important;
    align-items:center!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi,
  html.is-home body[data-responsive-mode].is-home #main > .home-snap-block--kpi,
  html.is-home body[data-responsive-mode="compact"].is-home #main > .home-snap-block--kpi,
  html.is-home body[data-responsive-mode="mobile"].is-home #main > .home-snap-block--kpi{
    padding-top:32px!important;
    padding-bottom:32px!important;
  }

  body.is-home .kpiEmbedShell,
  body[data-responsive-mode="compact"].is-home .kpiEmbedShell,
  body[data-responsive-mode="mobile"].is-home .kpiEmbedShell{
    height:100svh!important;
    min-height:0!important;
  }

  html.is-home body.is-home #main > .home-snap-block:not(.home-snap-block--hero) > .container,
  html.is-home body[data-responsive-mode].is-home #main > .home-snap-block:not(.home-snap-block--hero) > .container,
  body[data-responsive-mode="compact"].is-home #main > .home-snap-block:not(.home-snap-block--hero) > .container,
  body[data-responsive-mode="mobile"].is-home #main > .home-snap-block:not(.home-snap-block--hero) > .container{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups,
  html.is-home body[data-responsive-mode].is-home #main > .home-snap-block--groups,
  html.is-home body[data-responsive-mode="compact"].is-home #main > .home-snap-block--groups,
  html.is-home body[data-responsive-mode="mobile"].is-home #main > .home-snap-block--groups{
    padding-top:8px!important;
    padding-bottom:12px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared,
  html.is-home body[data-responsive-mode].is-home #main > .home-snap-block--groups.fnamGroupementsShared{
    min-height:0!important;
  }

  html.is-home body.is-home #main > .homeDomainsImmersive.home-snap-block--domains,
  html.is-home body[data-responsive-mode].is-home #main > .homeDomainsImmersive.home-snap-block--domains{
    height:auto!important;
    min-height:0!important;
    overflow:hidden!important;
    padding-block:0!important;
  }

  body.is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsContent,
  body[data-responsive-mode="compact"].is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsContent,
  body[data-responsive-mode="mobile"].is-home .homeDomainsImmersive.home-snap-block--domains .homeDomainsContent{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    padding:22px 0!important;
  }

  html.is-home body.is-home #main > .home-snap-block--publications,
  html.is-home body[data-responsive-mode].is-home #main > .home-snap-block--publications,
  html.is-home body[data-responsive-mode="compact"].is-home #main > .home-snap-block--publications,
  html.is-home body[data-responsive-mode="mobile"].is-home #main > .home-snap-block--publications{
    padding-top:14px!important;
    padding-bottom:18px!important;
  }
}

/* Design System — page d'accueil, section 1 hero */
html.is-home body.is-home #main > .home-snap-block--hero,
html.is-home body.is-home .hero.heroPhoto{
  --font-display:"Marianne","DM Sans","Helvetica Neue",Arial,sans-serif;
  --font-sans:"DM Sans","Helvetica Neue",Arial,sans-serif;
  background:var(--bg-inverse)!important;
}

html.is-home body.is-home .heroVideoReal{
  filter:saturate(1.02) contrast(1.01) brightness(1.02)!important;
}

html.is-home body.is-home .hero.heroPhoto.hasRealVideo:after{
  background:
    linear-gradient(90deg,
      rgba(3,18,31,.76) 0%,
      rgba(3,18,31,.62) 28%,
      rgba(3,18,31,.32) 48%,
      rgba(3,18,31,.10) 68%,
      rgba(3,18,31,.02) 100%),
    linear-gradient(180deg,
      rgba(3,18,31,.24) 0%,
      rgba(3,18,31,.03) 42%,
      rgba(3,18,31,.16) 100%)!important;
}

html.is-home body.is-home .home-snap-block--hero .heroInstitutionalBand{
  --hero-content-margin:max(
    calc((100vw - 1360px) / 2),
    calc(clamp(32px,7vw,96px) / 2)
  );
  left:var(--hero-content-margin)!important;
  right:var(--hero-content-margin)!important;
  background:transparent!important;
  border-top:1px solid color-mix(in srgb,var(--fnam-ivory) 52%,transparent)!important;
  border-bottom:1px solid color-mix(in srgb,var(--fnam-ivory) 44%,transparent)!important;
}

html.is-home body.is-home .home-snap-block--hero .heroInstitutionalBand:before,
html.is-home body.is-home .home-snap-block--hero .heroInstitutionalBand:after{
  content:none!important;
}

html.is-home body.is-home .home-snap-block--hero .heroInstitutionalText{
  color:color-mix(in srgb,var(--fnam-ivory) 94%,transparent)!important;
  font-family:var(--font-sans)!important;
  font-size:clamp(var(--fs-meta),1.22vw,var(--fs-h3))!important;
  font-weight:600!important;
  letter-spacing:var(--tk-eyebrow);
  text-shadow:0 2px 12px color-mix(in srgb,var(--bg-inverse) 64%,transparent)!important;
}

html.is-home body.is-home .home-snap-block--hero h1{
  color:var(--fnam-ivory)!important;
  font-family:var(--font-display)!important;
  font-weight:700!important;
  letter-spacing:var(--tk-display)!important;
  text-shadow:0 10px 32px color-mix(in srgb,var(--bg-inverse) 56%,transparent)!important;
  text-wrap:balance;
}

html.is-home body.is-home .home-snap-block--hero .lead{
  color:color-mix(in srgb,var(--fnam-ivory) 92%,transparent)!important;
  font-family:var(--font-sans)!important;
  font-weight:500!important;
  text-shadow:0 6px 24px color-mix(in srgb,var(--bg-inverse) 58%,transparent)!important;
}

html.is-home body.is-home .home-snap-block--hero .btn{
  border-radius:var(--r-3)!important;
  font-family:var(--font-sans)!important;
  font-weight:600!important;
  letter-spacing:0!important;
  box-shadow:var(--shadow-2)!important;
  transition:
    background-color var(--dur-fast) var(--ease-standard),
    border-color var(--dur-fast) var(--ease-standard),
    color var(--dur-fast) var(--ease-standard),
    transform var(--dur-fast) var(--ease-standard),
    box-shadow var(--dur-base) var(--ease-standard)!important;
}

html.is-home body.is-home .home-snap-block--hero .btn:hover{
  transform:translateY(-1px);
  box-shadow:var(--shadow-3)!important;
}

html.is-home body.is-home .home-snap-block--hero .btn:active{
  transform:scale(.99);
}

html.is-home body.is-home .home-snap-block--hero .primary,
html.is-home body.is-home .hero.heroPhoto.hasRealVideo .primary{
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  color:var(--fg-on-accent)!important;
}

html.is-home body.is-home .home-snap-block--hero .primary:hover{
  background:var(--fnam-bleu-roi-800)!important;
  border-color:var(--fnam-bleu-roi-800)!important;
}

html.is-home body.is-home .home-snap-block--hero .secondary,
html.is-home body.is-home .hero.heroPhoto.hasRealVideo .secondary{
  background:var(--fnam-ivory)!important;
  border-color:color-mix(in srgb,var(--fnam-ivory) 80%,transparent)!important;
  color:var(--fnam-bleu-roi-900)!important;
}

html.is-home body.is-home .home-snap-block--hero .ghost,
html.is-home body.is-home .hero.heroPhoto.hasRealVideo .ghost{
  background:color-mix(in srgb,var(--bg-inverse) 34%,transparent)!important;
  border-color:color-mix(in srgb,var(--fnam-ivory) 42%,transparent)!important;
  color:var(--fnam-ivory)!important;
  backdrop-filter:none!important;
}

html.is-home body.is-home .home-snap-block--hero .spaceAccess>span{
  color:color-mix(in srgb,var(--fnam-ivory) 86%,transparent)!important;
  font-family:var(--font-sans)!important;
  font-size:var(--fs-meta)!important;
  font-weight:600!important;
  letter-spacing:var(--tk-eyebrow)!important;
}

html.is-home body.is-home .home-snap-block--hero .spaceBrace{
  border-color:color-mix(in srgb,var(--fnam-ivory) 58%,transparent)!important;
  border-radius:var(--r-4) var(--r-4) 0 0!important;
}

html.is-home body.is-home .home-snap-block--hero .spacePills .btn{
  box-shadow:var(--shadow-1)!important;
}

@media(max-width:640px){
  html.is-home body.is-home .home-snap-block--hero .heroActionGrid{
    align-items:stretch;
  }

  html.is-home body.is-home .home-snap-block--hero .spacePills{
    gap:var(--sp-3);
  }
}

/* Bandeau institutionnel — script V1 conserve, police design system */
html.is-home body.is-home .home-snap-block--hero .heroInstitutionalBand{
  --hero-band-side:clamp(24px,2.8vw,48px)!important;
  position:absolute!important;
  left:var(--hero-band-side)!important;
  right:var(--hero-band-side)!important;
  top:clamp(112px,calc(25svh - 38px),202px)!important;
  z-index:4!important;
  display:grid!important;
  gap:clamp(9px,1svh,14px)!important;
  padding:clamp(8px,1svh,14px) 0!important;
  background:linear-gradient(90deg,rgba(8,22,34,0) 0%,rgba(8,22,34,.14) 12%,rgba(8,22,34,.22) 50%,rgba(8,22,34,.14) 88%,rgba(8,22,34,0) 100%)!important;
  border:0!important;
  pointer-events:none!important;
}

html.is-home body.is-home .home-snap-block--hero .heroInstitutionalBand:before{
  content:""!important;
  display:block!important;
  height:1px!important;
  background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.16) 10%,rgba(255,255,255,.38) 24%,rgba(255,255,255,.52) 50%,rgba(255,255,255,.38) 76%,rgba(255,255,255,.16) 90%,rgba(255,255,255,0) 100%)!important;
}

html.is-home body.is-home .home-snap-block--hero .heroInstitutionalBand:after{
  content:""!important;
  display:block!important;
  height:1.4px!important;
  background:rgba(255,255,255,.42)!important;
}

html.is-home body.is-home .home-snap-block--hero .heroInstitutionalText{
  display:block!important;
  width:100%;
  white-space:nowrap!important;
  overflow:hidden!important;
  color:rgba(255,255,255,.92)!important;
  font-family:var(--font-sans)!important;
  font-size:clamp(16px,1.35vw,25px)!important;
  font-weight:420!important;
  line-height:1!important;
  text-transform:uppercase!important;
  text-align:center!important;
  letter-spacing:13.2px;
  transform:none!important;
  text-shadow:0 2px 12px rgba(0,0,0,.45)!important;
}

@media(max-width:900px){
  html.is-home body.is-home .home-snap-block--hero .heroInstitutionalBand{
    --hero-band-side:clamp(18px,4vw,32px)!important;
    top:clamp(82px,calc(20svh - 38px),142px)!important;
  }

  html.is-home body.is-home .home-snap-block--hero .heroInstitutionalText{
    font-size:clamp(12px,1.8vw,17px)!important;
    letter-spacing:.18em;
  }
}

@media(max-width:640px){
  html.is-home body.is-home .home-snap-block--hero .heroInstitutionalBand{
    display:none!important;
  }
}

/* Design System — header et menus déroulants */
.primaryNav{
  gap:var(--sp-2)!important;
  font-family:var(--font-sans)!important;
}

.links .topLink,
body.is-home .links .topLink{
  position:relative;
  border-radius:var(--r-2)!important;
  padding:10px var(--sp-3)!important;
  font-family:var(--font-sans)!important;
  font-size:var(--fs-small)!important;
  font-weight:600!important;
  letter-spacing:0!important;
  background:transparent!important;
  transition:
    color var(--dur-fast) var(--ease-standard),
    background-color var(--dur-fast) var(--ease-standard)!important;
}

.links .topLink:before,
body.is-home .links .topLink:before{
  content:"";
  position:absolute;
  left:var(--sp-3);
  right:var(--sp-3);
  bottom:4px;
  height:2px;
  background:var(--fnam-rouge-bordeaux);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform var(--dur-base) var(--ease-standard);
}

.navItem:hover .topLink:before,
.navItem:focus-within .topLink:before,
.links .topLink.active:before{
  transform:scaleX(1);
}

.navItem:hover .topLink,
.navItem:focus-within .topLink,
.links .topLink.active,
body.is-home .navItem:hover .topLink,
body.is-home .navItem:focus-within .topLink,
body.is-home .links .topLink.active{
  background:transparent!important;
}

.dropdown,
body.is-home .dropdown{
  min-width:280px!important;
  max-width:360px!important;
  padding:var(--sp-2)!important;
  background:var(--bg-elevated)!important;
  border:1px solid var(--border-1)!important;
  border-radius:var(--r-4)!important;
  box-shadow:var(--shadow-2)!important;
  backdrop-filter:none!important;
}

.dropdown .menuGrid{
  gap:var(--sp-1)!important;
}

.primaryNav .dropdown a,
.primaryNav .dropdown a.primaryItem,
body.is-home .primaryNav .dropdown a,
body.is-home .primaryNav .dropdown a.primaryItem{
  position:relative;
  min-height:40px;
  padding:10px var(--sp-3)!important;
  border-radius:var(--r-2)!important;
  border-bottom:0!important;
  color:var(--fg-1)!important;
  font-family:var(--font-sans)!important;
  font-size:var(--fs-small)!important;
  font-weight:500!important;
  line-height:1.25!important;
  text-shadow:none!important;
}

.primaryNav .dropdown a.primaryItem,
body.is-home .primaryNav .dropdown a.primaryItem{
  color:var(--fnam-bleu-roi-900)!important;
  font-weight:600!important;
}

.primaryNav .dropdown a.primaryItem:before,
body.is-home .primaryNav .dropdown a.primaryItem:before{
  content:"";
  position:absolute;
  left:0;
  top:10px;
  bottom:10px;
  width:2px;
  background:var(--fnam-rouge-bordeaux);
  border-radius:var(--r-pill);
}

.primaryNav .dropdown a:hover,
.primaryNav .dropdown a:focus,
body.is-home .primaryNav .dropdown a:hover,
body.is-home .primaryNav .dropdown a:focus{
  background:var(--fnam-bleu-roi-50)!important;
  color:var(--link-hover)!important;
  outline:none!important;
  box-shadow:none!important;
}

@media(max-width:1180px){
  .links .topLink,
  body.is-home .links .topLink{
    padding:9px 10px!important;
    font-size:var(--fs-meta)!important;
  }

  .dropdown,
  body.is-home .dropdown{
    min-width:255px!important;
    max-width:320px!important;
  }
}

/* Bandeau institutionnel — V1 strict, seule la police change */
html.is-home body.is-home .home-snap-block--hero .heroInstitutionalBand{
  --hero-band-side:clamp(24px,2.8vw,48px)!important;
  position:absolute!important;
  left:var(--hero-band-side)!important;
  right:var(--hero-band-side)!important;
  top:clamp(112px,calc(25svh - 38px),202px)!important;
  z-index:4!important;
  display:grid!important;
  gap:clamp(9px,1svh,14px)!important;
  padding:clamp(8px,1svh,14px) 0!important;
  background:linear-gradient(90deg,rgba(8,22,34,0) 0%,rgba(8,22,34,.14) 12%,rgba(8,22,34,.22) 50%,rgba(8,22,34,.14) 88%,rgba(8,22,34,0) 100%)!important;
  border:0!important;
  overflow:visible!important;
  pointer-events:none!important;
}

html.is-home body.is-home .home-snap-block--hero .heroInstitutionalBand:before{
  content:""!important;
  display:block!important;
  height:1px!important;
  background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.16) 10%,rgba(255,255,255,.38) 24%,rgba(255,255,255,.52) 50%,rgba(255,255,255,.38) 76%,rgba(255,255,255,.16) 90%,rgba(255,255,255,0) 100%)!important;
}

html.is-home body.is-home .home-snap-block--hero .heroInstitutionalBand:after{
  content:""!important;
  display:block!important;
  height:1.4px!important;
  background:rgba(255,255,255,.42)!important;
}

html.is-home body.is-home .home-snap-block--hero .heroInstitutionalText{
  display:block!important;
  width:100%;
  white-space:nowrap!important;
  overflow:hidden!important;
  color:rgba(255,255,255,.92)!important;
  font-family:var(--font-sans)!important;
  font-size:clamp(16px,1.35vw,25px)!important;
  font-weight:420!important;
  line-height:1!important;
  text-transform:uppercase!important;
  text-align:center!important;
  letter-spacing:.28em;
  transform:none!important;
  text-shadow:0 2px 12px rgba(0,0,0,.45)!important;
}

html.is-home body.is-home .home-snap-block--hero .container{
  display:grid!important;
  align-content:stretch!important;
  grid-template-rows:minmax(clamp(182px,calc(30svh - 38px),292px),auto) auto auto minmax(18px,1fr) auto!important;
  padding-top:0!important;
  padding-bottom:clamp(38px,5svh,60px)!important;
}

html.is-home body.is-home .home-snap-block--hero .heroTitle{grid-row:2}
html.is-home body.is-home .home-snap-block--hero .lead{grid-row:3}
html.is-home body.is-home .home-snap-block--hero .heroActionGrid{
  grid-row:5;
  align-self:end;
  margin-top:0!important;
}

@media(max-width:900px){
  html.is-home body.is-home .home-snap-block--hero .heroInstitutionalBand{
    --hero-band-side:clamp(18px,4vw,32px)!important;
    top:clamp(82px,calc(20svh - 38px),142px)!important;
  }

  html.is-home body.is-home .home-snap-block--hero .heroInstitutionalText{
    font-size:clamp(12px,1.8vw,17px)!important;
    letter-spacing:.18em;
  }

  html.is-home body.is-home .home-snap-block--hero .container{
    grid-template-rows:minmax(clamp(167px,calc(30svh - 38px),262px),auto) auto auto minmax(18px,1fr) auto!important;
  }
}

@media(max-width:640px){
  html.is-home body.is-home .home-snap-block--hero .heroInstitutionalBand{display:none!important}
}

/* =====================================================================
   SECTION 3 — GROUPEMENTS (HOME) · DESIGN FNAM FOND BLEU · OVERRIDE FINAL
   Tokens FNAM stricts, fond Bleu Roi 900 → Bleu Roi, filet bordeaux H2,
   cartes ivory, contrastes max. Spécificité maximale pour battre toutes
   les règles précédentes.
   ===================================================================== */

html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared{
  /* Fond bleu nuit dégradé — DS token --bg-section-night
     (référence canonique pour toutes les sections bleues du site). */
  background: var(--bg-section-night) !important;
  background-color: var(--fnam-bleu-nuit, #21384D) !important;
  color: var(--fnam-paper, #FBF7F1) !important;
}

/* Eyebrow GROUPEMENTS — Cyan pâle */
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .eyebrow{
  color: #70b4be !important;
  font-family: 'DM Sans','Inter',sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .eyebrow:before{
  background: #70b4be !important;
}

/* H2 — Ivory + filet bordeaux signature FNAM */
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .ecosystemHeader h2{
  color: #fbf8f1 !important;
  font-family: 'DM Sans','Inter',sans-serif !important;
  font-weight: 700 !important;
  text-shadow: none !important;
  position: relative;
  padding-bottom: 14px;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .ecosystemHeader h2:after{
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 60px;
  height: 2px;
  background: #be3c3f;
  border-radius: 2px;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .ecosystemHeader p{
  color: rgba(251,248,241,.88) !important;
  font-family: 'DM Sans','Inter',sans-serif !important;
}

/* Card racine — transparente, le fond bleu de la section transparait */
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .ecosystemCard.groupementsBoard{
  background: transparent !important;
  border: 1px solid rgba(112,180,190,.22) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .ecosystemCard:before{
  content: none !important;
}

/* Bandeau Fédération — ivory dense, texte Bleu Roi 900 */
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsFederation{
  background: linear-gradient(180deg, #fbf8f1 0%, #f6f1e7 100%) !important;
  border: 1px solid rgba(112,180,190,.42) !important;
  border-radius: 10px !important;
  box-shadow: 0 14px 28px rgba(8,22,34,.22) !important;
  color: #1c3a59 !important;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsFederation span{
  color: #1c3a59 !important;
  font-family: 'DM Sans','Inter',sans-serif !important;
  font-weight: 700 !important;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsFederation img{
  background: transparent !important;
  filter: none !important;
}

/* Famille (cluster) — surface translucide ivory, texte clair */
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .familyCluster{
  background: rgba(251,248,241,.06) !important;
  border: 1px solid rgba(112,180,190,.20) !important;
  border-radius: 10px !important;
  padding: 12px !important;
  box-shadow: none !important;
}

/* Tuile thème famille (EXPLOITANTS / INFRASTRUCTURES & SERVICES / AVIATION GÉNÉRALE)
   Tuile pleine largeur, radius DS modéré (--r-4 10px), pas pill */
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .orbitCategory,
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .clusterExploitants .orbitCategory,
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .clusterInfrastructure .orbitCategory,
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .clusterAviation .orbitCategory{
  background: #fbf8f1 !important;
  color: #326191 !important;
  border: 1px solid rgba(255,255,255,.55) !important;
  border-radius: 10px !important;
  box-shadow: 0 6px 14px rgba(8,22,34,.18) !important;
  font-family: 'DM Sans','Inter',sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
  justify-self: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 30px !important;
  padding: 6px 14px !important;
  font-size: 13px !important;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .orbitCategory.active{
  background: #C77165 !important;
  color: #fbf8f1 !important;
  border-color: #C77165 !important;
  box-shadow: 0 8px 20px rgba(199,113,101,.32) !important;
}

/* OrbitNode (carte groupement) — ivory, contraste max sur bleu */
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .orbitNode{
  background: #fbf8f1 !important;
  background-image: none !important;
  border: 1px solid rgba(112,180,190,.22) !important;
  border-radius: 10px !important;
  color: #1c3a59 !important;
  box-shadow: 0 10px 22px rgba(8,22,34,.32) !important;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease, background 160ms ease !important;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .orbitNode:hover{
  border-color: rgba(80,146,182,.55) !important;
  box-shadow: 0 14px 28px rgba(8,22,34,.40) !important;
  transform: translateY(-1px);
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .orbitNode.active,
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .orbitNode:focus{
  border-color: #be3c3f !important;
  box-shadow: 0 0 0 2px rgba(190,60,63,.30), 0 16px 32px rgba(8,22,34,.46) !important;
  outline: none !important;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .orbitNode:focus-visible{
  outline: 3px solid rgba(190,60,63,.42) !important;
  outline-offset: 3px !important;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .orbitNode strong{
  color: #1c3a59 !important;
  font-family: 'DM Sans','Inter',sans-serif !important;
  font-weight: 800 !important;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .orbitNode span{
  color: #326191 !important;
  font-family: 'DM Sans','Inter',sans-serif !important;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .orbitNode .groupLogo{
  background: transparent !important;
  filter: none !important;
}

/* Badge "MEMBRE ASSOCIÉ" — bordeaux + ivory */
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .associateBadge{
  background: #be3c3f !important;
  color: #fbf8f1 !important;
  border-radius: 999px !important;
  font-family: 'DM Sans','Inter',sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: .055em !important;
}

/* Panel détail (groupInfo) — ivory dense, texte Bleu Roi 900 */
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupInfo{
  background: linear-gradient(180deg, #fbf8f1 0%, #f6f1e7 100%) !important;
  background-image: linear-gradient(180deg, #fbf8f1 0%, #f6f1e7 100%) !important;
  border: 1px solid rgba(112,180,190,.30) !important;
  border-radius: 10px !important;
  color: #1c3a59 !important;
  box-shadow: 0 18px 40px rgba(8,22,34,.40) !important;
  transform: none !important;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupInfo:before{
  content: none !important;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupDetailHero{
  background: rgba(251,248,241,.96) !important;
  border-bottom: 1px solid rgba(112,180,190,.22) !important;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupDetailTitle{
  color: #1c3a59 !important;
  font-family: 'DM Sans','Inter',sans-serif !important;
  font-weight: 700 !important;
  /* Évite que les titres longs (ex: "Groupement des Industriels et
     Professionnels de l'Aviation Générale") débordent le hero sticky.
     Taille adaptée à la colonne ~268 px disponible. */
  font-size: clamp(.95rem, 1.05vw, 1.08rem) !important;
  line-height: 1.22 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: auto !important;
  -webkit-hyphens: auto !important;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupInfoLogo{
  background: transparent !important;
}

/* Carte président — ivory translucide */
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupPresident{
  background: rgba(255,255,255,.78) !important;
  border: 1px solid rgba(112,180,190,.28) !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 18px rgba(8,22,34,.10) !important;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupPresidentInfo strong{
  color: #1c3a59 !important;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupPresidentInfo span{
  color: #326191 !important;
  font-family: 'DM Sans','Inter',sans-serif !important;
  font-weight: 800 !important;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupPresidentPhoto{
  border: 3px solid rgba(112,180,190,.32) !important;
  background: #fbf8f1 !important;
}

/* Blocs Rôle / Actions / Membres */
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupInfoBlock h4{
  color: #be3c3f !important;
  font-family: 'DM Sans','Inter',sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupInfoBlock p,
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupInfoBlock li{
  color: #1c3a59 !important;
  font-family: 'DM Sans','Inter',sans-serif !important;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupInfoBlock li:before{
  background: #be3c3f !important;
  box-shadow: none !important;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupInfoBlock:before{
  background: linear-gradient(90deg, rgba(190,60,63,0), rgba(190,60,63,.32), rgba(190,60,63,0)) !important;
}

/* Lien "Voir le site dédié" — bouton bordeaux pill */
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupLink{
  background: #326191 !important;
  border-color: #326191 !important;
  color: #fbf8f1 !important;
  border-radius: 999px !important;
  font-family: 'DM Sans','Inter',sans-serif !important;
  font-weight: 800 !important;
  transition: background 160ms ease, transform 160ms ease !important;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupLink:hover{
  background: #3a6da0 !important;
  border-color: #3a6da0 !important;
  transform: translateY(-1px);
}

/* Connecteurs SVG entre orbite et détail */
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .connector{
  stroke: rgba(251,248,241,.52) !important;
  stroke-width: 1.4 !important;
  opacity: .7 !important;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .connector.active{
  stroke: #fbf8f1 !important;
  stroke-width: 2.4 !important;
  opacity: 1 !important;
  filter: drop-shadow(0 0 6px rgba(251,248,241,.55));
}

/* Mobile : forcer ordre + lisibilité */
@media(max-width:900px){
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .ecosystemHeader h2{
    font-size: clamp(1.6rem, 6vw, 2.2rem) !important;
  }
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .orbitCategory{
    font-size: .68rem !important;
    letter-spacing: .12em !important;
  }
}
@media(max-width:640px){
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .ecosystemHeader h2{
    padding-bottom: 12px;
  }
}

/* =====================================================================
   SECTION 4 — DOMAINES (HOME) · DESIGN SYSTEM FNAM · OVERRIDE FINAL
   Contraintes respectées : on ne touche PAS au fond vidéo/halo,
   ni à la taille / l'emplacement / le hover des tuiles, ni aux blocs
   de texte ni à leur position. Seule typo + couleurs + filet bordeaux
   + radius des tuiles ajustés sur la charte FNAM.
   ===================================================================== */

/* Eyebrow Domaines — DM Sans, Bleu Roi, letter-spacing 0.16em */
html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainsCopy .eyebrow{
  font-family: 'DM Sans','Inter',sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  color: #326191 !important;
}

/* H2 Nos domaines d'action — DM Sans, Bleu Roi 900, filet bordeaux signature */
html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainsCopy h2{
  font-family: 'DM Sans','Inter',sans-serif !important;
  font-weight: 700 !important;
  color: #1c3a59 !important;
  position: relative;
  padding-bottom: 14px;
}
html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainsCopy h2:after{
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 60px;
  height: 2px;
  background: #be3c3f;
  border-radius: 2px;
}

/* Paragraphe d'intro — DM Sans, Bleu Roi 900 */
html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainsCopy p{
  font-family: 'DM Sans','Inter',sans-serif !important;
  color: #1c3a59 !important;
}

/* Tuiles — typo DM Sans, couleur Bleu Roi 900, radius DS --r-4 (10px) */
html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainCard{
  border-radius: 10px !important;
  font-family: 'DM Sans','Inter',sans-serif !important;
}
html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainCard h3{
  font-family: 'DM Sans','Inter',sans-serif !important;
  font-weight: 700 !important;
  color: #1c3a59 !important;
}
html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainCard p{
  font-family: 'DM Sans','Inter',sans-serif !important;
  color: #1c3a59 !important;
}

/* CTA "En savoir +" — DM Sans, Bleu Roi, font-weight 800 (limite DS) */
html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainCard .homeDomainCta{
  font-family: 'DM Sans','Inter',sans-serif !important;
  font-weight: 800 !important;
  color: #326191 !important;
}

/* =====================================================================
   ACCENT TERRACOTTA — étiquettes/tuiles d'accent secondaire chaleureux
   (--fnam-terracotta #C77165). Réservé aux composants non-danger.
   Bordeaux conservé pour : filets H2 signature, danger, accents forts.
   ===================================================================== */

/* CTA "Consulter la source" (panel KPI) — terracotta au lieu du bordeaux */
.dsKpiDetails__cta.btn.primary,
.dsKpiDetails__cta.primary{
  background: var(--fnam-terracotta,#C77165) !important;
  border-color: var(--fnam-terracotta,#C77165) !important;
  color: var(--fnam-ivory,#fbf8f1) !important;
}
.dsKpiDetails__cta.btn.primary:hover,
.dsKpiDetails__cta.primary:hover{
  background: #b45f54 !important;
  border-color: #b45f54 !important;
}

/* =====================================================================
   SECTION 5 — PUBLICATIONS (HOME) · DESIGN SYSTEM FNAM · OVERRIDE FINAL
   Contraintes respectées : on NE TOUCHE PAS à la disposition, aux
   tailles ni aux positions des 3 blocs (À la une, teaser presse,
   teaser décryptage). On NE TOUCHE PAS au logo "À la Une"
   (.homeFeaturedMark / .homeFeaturedMarkIcon). Les liens des
   publications restent fonctionnels (pas de modif du markup ni du JS).
   Seul le DS est appliqué : fond bleu, typo DM Sans, filet bordeaux H2,
   couleurs FNAM strictes.
   ===================================================================== */

/* Fond bleu nuit dégradé — DS token --bg-section-night
   (référence canonique pour toutes les sections bleues du site). */
html.is-home body.is-home #main > .home-snap-block--publications{
  background: var(--bg-section-night) !important;
  background-color: var(--fnam-bleu-nuit, #21384D) !important;
  color: var(--fnam-paper, #FBF7F1) !important;
}

/* Eyebrow PUBLICATIONS — DM Sans, Cyan pâle, 0.16em */
html.is-home body.is-home #main > .home-snap-block--publications .head .eyebrow{
  font-family: 'DM Sans','Inter',sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  color: #70b4be !important;
}
html.is-home body.is-home #main > .home-snap-block--publications .head .eyebrow:before{
  background: #70b4be !important;
}

/* H2 Positions, communiqués et décryptages — DM Sans 700 + filet bordeaux signature */
html.is-home body.is-home #main > .home-snap-block--publications .head h2{
  font-family: 'DM Sans','Inter',sans-serif !important;
  font-weight: 700 !important;
  color: #fbf8f1 !important;
  position: relative;
  padding-bottom: 14px;
}
html.is-home body.is-home #main > .home-snap-block--publications .head h2:after{
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 60px;
  height: 2px;
  background: #be3c3f;
  border-radius: 2px;
}
html.is-home body.is-home #main > .home-snap-block--publications .head p{
  font-family: 'DM Sans','Inter',sans-serif !important;
  color: rgba(251,248,241,.88) !important;
}

/* Compteur et lien "Voir toutes les publications" en haut */
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationHeadActions{
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  align-self: end !important;
  gap: 10px !important;
  min-width: 0 !important;
  padding-bottom: 9px !important;
}
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationCount{
  display: flex !important;
  align-items: baseline !important;
  gap: 10px !important;
  min-width: 0 !important;
  color: var(--fnam-paper,#FBF7F1) !important;
  white-space: nowrap !important;
}
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationCount strong{
  display: inline-block !important;
  width: 3.25ch !important;
  color: var(--fnam-paper,#FBF7F1) !important;
  font-family: var(--font-display,'PP Fraktion Sans','Inter',system-ui,sans-serif) !important;
  font-size: clamp(2.5rem,3.15vw,4rem) !important;
  font-variant-numeric: tabular-nums !important;
  font-feature-settings: "tnum" 1 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: .9 !important;
  text-align: right !important;
}
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationCount span{
  color: rgba(251,248,241,.9) !important;
  font-family: 'DM Sans','Inter',sans-serif !important;
  font-size: clamp(1rem,1.12vw,1.18rem) !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  max-width: none !important;
  white-space: nowrap !important;
}
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationCount em{
  display: inline !important;
  color: rgba(251,248,241,.9) !important;
  font-style: normal !important;
  transition: opacity .18s ease, transform .18s ease !important;
}
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationHeadActions .btn{
  min-height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--fnam-paper,#FBF7F1) !important;
  box-shadow: none !important;
}
@media(min-width:1280px){
  html.is-home body.is-home #main > .home-snap-block--publications .homePublicationHeadActions{
    transform: translateY(clamp(34px,1.95vw,40px)) !important;
  }
}
@media(max-width:760px){
  html.is-home body.is-home #main > .home-snap-block--publications .homePublicationHeadActions{
    justify-content: flex-start !important;
    align-self: start !important;
    padding-bottom: 0 !important;
  }
  html.is-home body.is-home #main > .home-snap-block--publications .homePublicationCount{
    min-width: 0 !important;
  }
  html.is-home body.is-home #main > .home-snap-block--publications .homePublicationCount strong{
    font-size: clamp(2.15rem,12vw,3.2rem) !important;
  }
}
html.is-home body.is-home #main > .home-snap-block--publications .head .btn{
  font-family: 'DM Sans','Inter',sans-serif !important;
  font-weight: 800 !important;
}

/* ---- Bloc À la une (gauche) — fond conservé (terracotta), typo DM Sans ---- */
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature{
  font-family: 'DM Sans','Inter',sans-serif !important;
}
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature h3{
  font-family: 'DM Sans','Inter',sans-serif !important;
  font-weight: 700 !important;
  color: #fbf8f1 !important;
}
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature .homePublicationMeta,
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature .homePublicationMeta time{
  font-family: 'DM Sans','Inter',sans-serif !important;
  color: rgba(251,248,241,.88) !important;
}
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature .btn{
  font-family: 'DM Sans','Inter',sans-serif !important;
  font-weight: 800 !important;
}

/* ---- Teasers (droite) — typo DM Sans, h3 bleu-roi 900 ---- */
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser{
  font-family: 'DM Sans','Inter',sans-serif !important;
}
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser h3{
  font-family: 'DM Sans','Inter',sans-serif !important;
  font-weight: 700 !important;
  color: #1c3a59 !important;
}
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser .metaLine,
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser .metaLine time{
  font-family: 'DM Sans','Inter',sans-serif !important;
  color: #326191 !important;
}
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser .chip{
  font-family: 'DM Sans','Inter',sans-serif !important;
  font-weight: 800 !important;
  color: #326191 !important;
}

/* Teaser ivory : ajuster textes pour contraste bleu sur ivory */
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser:nth-child(1) h3{
  color: #1c3a59 !important;
}
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser:nth-child(1) .metaLine,
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser:nth-child(1) .metaLine time{
  color: #326191 !important;
}

/* Teaser cyan-pale : textes en bleu-roi 900 (contraste max) */
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser:nth-child(2) h3{
  color: #1c3a59 !important;
}
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser:nth-child(2) .metaLine,
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser:nth-child(2) .metaLine time{
  color: #1c3a59 !important;
}

/* Tags type/domaine — variante D : étiquette plate à droite + méta discrète
   Type = étiquette plate rectangulaire (--r-2 4 px), claire mais clairement
   distincte d'une pilule cliquable (qui reste pill 999 px).
   Domaine = méta discrète sans fond (juste du texte). */

/* Conteneur tags : flex aligné à droite (les teasers n'ont pas le mark "À la Une") */
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser .homePublicationTags{
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
/* Bloc "À la Une" : le logo reste à gauche, le type est poussé à droite */
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature .homePublicationTags{
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature .homePublicationTags .homeTypePill{
  margin-left: auto !important;
}

/* Étiquette type — tag plat rectangulaire 4 px, fond translucide */
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser .homeTypePill,
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser .tag:not(.homeDomainPill),
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature .homeTypePill{
  background: rgba(50,97,145,.10) !important;
  border: 1px solid rgba(50,97,145,.18) !important;
  color: #326191 !important;
  border-radius: 4px !important;
  padding: 5px 10px !important;
  font-family: 'DM Sans','Inter',sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
}

/* Sur les fonds clairs (teaser ivory) — texte/contour plus marqué */
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser:nth-child(1) .homeTypePill,
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser:nth-child(1) .tag:not(.homeDomainPill){
  background: rgba(50,97,145,.10) !important;
  color: #326191 !important;
}
/* Sur fond cyan-pâle teaser 2 — contraste plus profond */
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser:nth-child(2) .homeTypePill,
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser:nth-child(2) .tag:not(.homeDomainPill){
  background: rgba(28,58,89,.14) !important;
  border-color: rgba(28,58,89,.22) !important;
  color: #1c3a59 !important;
}
/* Sur fond terracotta (À la Une) — contraste ivory */
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature .homeTypePill{
  background: rgba(251,248,241,.18) !important;
  border-color: rgba(251,248,241,.45) !important;
  color: #fbf8f1 !important;
}

/* Domaine — méta plate, plus discrète, sans fond ni bordure */
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser .homeDomainPill,
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature .homeDomainPill{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  font-family: 'DM Sans','Inter',sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  text-transform: none !important;
  border-radius: 0 !important;
  line-height: 1.2 !important;
}
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser:nth-child(1) .homeDomainPill{
  color: rgba(28,58,89,.55) !important;
}
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser:nth-child(2) .homeDomainPill{
  color: rgba(28,58,89,.62) !important;
}
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature .homeDomainPill{
  color: rgba(251,248,241,.72) !important;
}

/* Mark "À la Une" — typo seulement, on NE touche PAS au SVG ni au layout */
html.is-home body.is-home #main > .home-snap-block--publications .homeFeaturedMarkText{
  font-family: 'DM Sans','Inter',sans-serif !important;
  font-weight: 800 !important;
}




/* =====================================================================
   KPI & Groupements en mode compact (≤1080px) :
   Libérer la hauteur des panels détail = hauteur naturelle du contenu.
   Le grid interne `auto minmax(0,1fr)` collapsait le scroll body à 0
   en mode 1-col (grid layout parent). Solution : panel en display:block
   en compact → chaque enfant contribue normalement à la hauteur.
   ===================================================================== */
@media(max-width:1080px){
  /* Layout parent KPI : casser le grid 2-rows pour passer en flex column.
     Les enfants prennent leur hauteur naturelle complète. */
  body[data-responsive-mode="compact"].is-home #main > .home-snap-block--kpi .dsKpiLayout,
  body[data-responsive-mode="mobile"].is-home #main > .home-snap-block--kpi .dsKpiLayout{
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    height: auto !important;
    max-height: none !important;
    grid-template-rows: none !important;
    grid-template-columns: none !important;
    gap: 16px !important;
  }
  /* Panel KPI en mode block. Min-height 500px = somme approximative du
     contenu (header + intro + bullets + sources + cta). Au-delà,
     le panel grandit avec son contenu. */
  body[data-responsive-mode="compact"].is-home #main > .home-snap-block--kpi .dsKpiDetails,
  body[data-responsive-mode="mobile"].is-home #main > .home-snap-block--kpi .dsKpiDetails{
    display: block !important;
    height: auto !important;
    min-height: 500px !important;
    max-height: none !important;
    overflow: visible !important;
    flex: 0 0 auto !important;
  }
  body[data-responsive-mode="compact"].is-home #main > .home-snap-block--kpi .dsKpiDetails__scroll,
  body[data-responsive-mode="mobile"].is-home #main > .home-snap-block--kpi .dsKpiDetails__scroll{
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  /* Visual KPI hauteur naturelle */
  body[data-responsive-mode="compact"].is-home #main > .home-snap-block--kpi .dsKpiVisual,
  body[data-responsive-mode="mobile"].is-home #main > .home-snap-block--kpi .dsKpiVisual{
    height: auto !important;
    max-height: none !important;
    flex: 0 0 auto !important;
  }
  /* Groupements idem : hauteur libre = contenu */
  body[data-responsive-mode="compact"].is-home #main > .home-snap-block--groups .groupInfo,
  body[data-responsive-mode="mobile"].is-home #main > .home-snap-block--groups .groupInfo{
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

/* Expérimentation Presse : offsets finaux au-dessus des règles about tardives */
html.has-press-context{
  scroll-padding-top:calc(var(--press-context-top,74px) + var(--press-context-height,0px) + 16px)!important;
}
html.has-press-context.is-about{
  scroll-snap-type:none!important;
}
body.has-press-context.is-about .aboutPage{
  padding-top:calc(var(--press-context-height,0px) + var(--about-snap-gap,16px))!important;
}
body.has-press-context.is-about .aboutSideNav,
body[data-responsive-mode].has-press-context.is-about .aboutSideNav,
body[data-responsive-mode="compact"].has-press-context.is-about .aboutSideNav{
  top:calc(var(--press-context-top,74px) + var(--press-context-height,0px) + 12px)!important;
}
body.has-press-context.is-about .aboutIntro,
body.has-press-context.is-about .aboutSection,
body[data-responsive-mode].has-press-context.is-about .aboutIntro,
body[data-responsive-mode].has-press-context.is-about .aboutSection,
body[data-responsive-mode="compact"].has-press-context.is-about .aboutIntro,
body[data-responsive-mode="compact"].has-press-context.is-about .aboutSection,
body[data-responsive-mode="mobile"].has-press-context.is-about .aboutIntro,
body[data-responsive-mode="mobile"].has-press-context.is-about .aboutSection{
  scroll-snap-align:none!important;
  scroll-snap-stop:normal!important;
  scroll-margin-top:calc(var(--press-context-top,74px) + var(--press-context-height,0px) + 16px)!important;
}
@media(min-width:901px){
  body.has-press-context.is-publications #main > .publicationSection{
    --pub-panel-h:clamp(400px,calc(100svh - var(--press-context-top,74px) - var(--press-context-height,0px) - 278px),640px);
  }
  body.has-press-context.is-publications .publicationSection > .container{
    padding-top:calc(var(--press-context-top,74px) + var(--press-context-height,0px) + 4px)!important;
  }
  body.has-press-context.is-publications .compactHead .eyebrow{
    display:none!important;
  }
  body.has-press-context.is-publications .compactHead h1{
    margin:0!important;
  }
}
@media(min-width:901px) and (max-height:860px){
  body[data-responsive-mode="compact"].has-press-context.is-publications #main > .publicationSection{
    --pub-panel-h:clamp(360px,calc(100svh - var(--press-context-top,74px) - var(--press-context-height,0px) - 300px),460px);
    height:100svh!important;
    min-height:100svh!important;
    overflow:hidden!important;
  }
  body[data-responsive-mode="compact"].has-press-context.is-publications .publicationSection > .container{
    height:100%!important;
    max-height:100%!important;
    overflow:hidden!important;
    gap:8px!important;
    padding-top:calc(var(--press-context-top,74px) + var(--press-context-height,0px) + 4px)!important;
    padding-bottom:12px!important;
  }
  body[data-responsive-mode="compact"].has-press-context.is-publications .publicationTimelinePanel{
    height:var(--pub-panel-h)!important;
    min-height:0!important;
  }
}
@media(max-width:900px){
  .pressPathContext{
    position:fixed;
    top:8px!important;
    left:0;
    right:0;
  }
  body.has-press-context.is-about .aboutSideNav,
  body[data-responsive-mode].has-press-context.is-about .aboutSideNav,
  body[data-responsive-mode="mobile"].has-press-context.is-about .aboutSideNav{
    top:calc(var(--press-context-height,0px) + 16px)!important;
  }
  html.has-press-context.is-about,
  html[data-responsive-mode="mobile"].has-press-context.is-about{
    scroll-padding-top:calc(var(--press-context-height,0px) + 92px)!important;
  }
}

/* Convention collective — tableau de bord documentaire */
body.is-convention .header{
  border-bottom-color:rgba(112,180,190,.46);
}
.conventionPage{
  background:var(--bg-section-night);
}
.conventionHero{
  padding:28px 0 24px;
  border-bottom:1px solid rgba(112,180,190,.38);
  background:
    linear-gradient(135deg,rgba(112,180,190,.20),rgba(251,247,241,.96) 42%,rgba(50,97,145,.12)),
    var(--fond);
}
.conventionHero__inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:20px;
  align-items:start;
}
.conventionHero h1{
  color:var(--ink);
  max-width:900px;
  margin:8px 0 0;
  font-size:clamp(2.25rem,4.1vw,4.35rem);
  line-height:.98;
  letter-spacing:-.035em;
}
.conventionLead{
  max-width:820px;
  margin:12px 0 0;
  color:var(--muted);
  font-size:1rem;
}
.conventionVersionNotice{
  display:inline-flex;
  margin:16px 0 0;
  padding:10px 14px;
  border:1px solid rgba(199,113,101,.42);
  border-radius:14px;
  background:rgba(199,113,101,.11);
  color:#944d45;
  font-weight:800;
}
.conventionStatusPanel{
  background:var(--fond);
  border:1px solid rgba(112,180,190,.55);
  border-radius:14px;
  margin-top:34px;
  padding:14px;
  box-shadow:0 16px 36px rgba(50,97,145,.10);
}
.conventionStatusPanel p{
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin:0;
  padding:9px 0;
  border-bottom:1px solid rgba(112,180,190,.28);
  color:var(--muted);
}
.conventionStatusPanel p:first-child{padding-top:0}
.conventionStatusPanel p strong{color:var(--ink)}
.conventionStatusPanel p span{text-align:right}
.conventionHeroActions{
  display:grid;
  gap:8px;
  margin-top:12px;
}
.conventionHeroActions .btn{
  width:100%;
}
#conventionLegifranceHero{
  background:var(--fnam-terracotta,#C77165);
  border-color:var(--fnam-terracotta,#C77165);
  color:var(--fond);
}
#conventionLegifranceHero:hover{
  background:#b45f54;
  border-color:#b45f54;
}
#conventionSignalHero{
  background:var(--pale);
  border-color:rgba(112,180,190,.58);
  color:var(--bleu-soutenu);
}
#conventionSignalHero:hover{
  background:rgba(112,180,190,.18);
  border-color:rgba(112,180,190,.74);
}
.conventionDashboard{
  padding-top:34px;
  padding-bottom:54px;
}
.conventionToolPanel{
  position:sticky;
  top:86px;
  z-index:4;
  background:
    linear-gradient(135deg,var(--fnam-bleu-roi-100,#e3ecf4),var(--fnam-section-cool-soft,#f3f7fb) 58%,rgba(112,180,190,.22)),
    var(--fnam-section-cool,#e3ecf4);
  backdrop-filter:blur(16px);
  border:1px solid rgba(112,180,190,.72);
  border-radius:16px;
  padding:14px;
  box-shadow:0 18px 40px rgba(7,28,51,.24),inset 0 1px 0 rgba(251,247,241,.74);
  margin-bottom:24px;
}
.conventionSearch{
  width:100%;
  margin-bottom:12px;
}
.conventionFilterRows{
  display:grid;
  gap:10px;
}
.conventionFilterRow,
.conventionQuickAccess{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}
.conventionFilterRows .filterLabel{
  min-width:52px;
  color:var(--bleu-fonce);
}
.conventionToolPanel .filter{
  background:rgba(251,247,241,.94);
  border-color:rgba(112,180,190,.66);
  color:var(--ink);
}
.conventionToolPanel .filter.active{
  background:var(--bleu-soutenu);
  border-color:var(--bleu-moyen);
  color:var(--fond);
}
.conventionJumpFilter{
  text-decoration:none;
  border-color:rgba(112,180,190,.66);
  color:var(--bleu-soutenu);
  background:rgba(251,247,241,.88);
}
.conventionAnchorFilter{
  text-decoration:none;
  border-color:rgba(199,113,101,.34);
  color:var(--fnam-terracotta,#C77165);
  background:rgba(251,247,241,.88);
}
.conventionToolPanel .conventionAnchorFilter{
  color:var(--fnam-terracotta,#C77165);
}
.conventionApp{
  display:grid;
  gap:28px;
}
.conventionSectionHead{
  margin-bottom:16px;
}
.conventionSectionHead h2{
  font-size:clamp(1.7rem,2.5vw,2.65rem);
  line-height:1.05;
  letter-spacing:-.035em;
  margin:8px 0 0;
}
.conventionSectionHead p{
  max-width:760px;
  color:var(--muted);
  margin:8px 0 0;
}
.conventionCorpusHead{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:end;
  margin-bottom:20px;
}
.conventionCorpusHead h2{
  font-size:clamp(1.55rem,2.2vw,2.35rem);
}
.conventionLatest,
.conventionCorpus,
.conventionLegifrance,
.conventionUnderstand,
.conventionRelated,
.conventionSources{
  --block-accent:var(--bleu-moyen);
  position:relative;
  overflow:hidden;
  background:var(--fond);
  border:1px solid rgba(251,247,241,.38);
  border-radius:16px;
  padding:22px;
  box-shadow:0 16px 38px rgba(7,28,51,.20);
}
.conventionCorpus{
  --block-accent:var(--rouge);
  border-color:rgba(190,60,63,.36);
  box-shadow:0 24px 56px rgba(7,28,51,.24);
}
.conventionLatest{
  --block-accent:var(--turquoise);
}
.conventionLegifrance{
  --block-accent:var(--bleu-moyen);
}
.conventionUnderstand{
  --block-accent:var(--fnam-terracotta,#C77165);
  border-color:color-mix(in srgb,var(--fnam-terracotta,#C77165) 38%,transparent);
}
.conventionRelated{
  --block-accent:var(--bleu-soutenu);
}
.conventionSources{
  --block-accent:var(--bleu-fonce);
}
.conventionLatest:before,
.conventionCorpus:before,
.conventionLegifrance:before,
.conventionUnderstand:before,
.conventionRelated:before,
.conventionSources:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:5px;
  background:var(--block-accent);
}
.conventionLatest .eyebrow,
.conventionCorpus .eyebrow,
.conventionLegifrance .eyebrow,
.conventionUnderstand .eyebrow,
.conventionRelated .eyebrow{
  color:var(--block-accent);
}
.conventionLatest .eyebrow:before,
.conventionCorpus .eyebrow:before,
.conventionLegifrance .eyebrow:before,
.conventionUnderstand .eyebrow:before,
.conventionRelated .eyebrow:before{
  background:var(--block-accent);
}
.conventionCorpusIntro{
  margin-top:8px;
  color:var(--muted);
}
.conventionCorpusMetrics{
  display:grid;
  gap:6px;
  justify-items:end;
  align-self:end;
  max-width:420px;
}
#conventionResultSummary{
  display:grid;
  gap:4px;
  justify-self:end;
  max-width:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--muted);
  font-size:.9rem;
  font-weight:650;
  text-align:right;
}
#conventionResultSummary span{
  display:block;
}
#conventionResultSummary strong{
  color:var(--bleu-fonce);
  font-weight:900;
}
.conventionThemeBaseBlock{
  margin:18px 0;
  padding:16px;
  border:1px solid rgba(112,180,190,.34);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(112,180,190,.14),rgba(251,247,241,.78));
}
.conventionThemeBlockHead{
  margin-bottom:12px;
}
.conventionThemeBlockHead h3,
.conventionThemeDocsHead h3{
  margin:6px 0 0;
  color:var(--fnam-bleu-roi-900,var(--bleu-fonce));
  font-size:1.08rem;
  line-height:1.18;
  letter-spacing:-.015em;
}
.conventionThemeBlockHead p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:.94rem;
}
.conventionFoundationSections{
  display:grid;
  gap:16px;
}
.conventionFoundationPart{
  display:grid;
  gap:10px;
  padding-top:14px;
  border-top:1px solid rgba(112,180,190,.28);
}
.conventionFoundationPart:first-child{
  padding-top:0;
  border-top:0;
}
.conventionFoundationPartHead{
  display:grid;
  gap:4px;
}
.conventionFoundationPartHead h4{
  margin:0;
  color:var(--bleu-fonce);
  font-size:.9rem;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1.2;
  text-transform:uppercase;
}
.conventionFoundationPartHead p{
  margin:0;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.35;
}
.conventionFoundationDocs{
  gap:12px;
}
.conventionFoundationAnnexItem{
  display:grid;
  gap:10px;
}
.conventionFoundationRelation{
  margin:0;
  padding:0 4px;
  color:var(--bleu-soutenu);
  font-size:.88rem;
  font-weight:750;
}
.conventionAnnexTimeline{
  margin-left:8px;
  padding:12px 14px;
  border-left:3px solid rgba(199,113,101,.48);
  border-radius:0 10px 10px 0;
  background:rgba(199,113,101,.07);
}
.conventionAnnexTimeline h5{
  margin:0 0 8px;
  color:var(--fnam-terracotta,#C77165);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1.2;
  text-transform:uppercase;
}
.conventionAnnexTimeline ul{
  display:grid;
  gap:6px;
  margin:0;
  padding:0;
  list-style:none;
}
.conventionAnnexTimeline li{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:baseline;
  color:var(--muted);
  font-size:.88rem;
  line-height:1.35;
}
.conventionAnnexTimeline li span{
  color:var(--bleu-fonce);
  font-weight:850;
}
.conventionAnnexTimeline li a{
  color:var(--bleu-soutenu);
  font-weight:850;
  text-decoration:none;
}
.conventionAnnexTimeline li a:hover{
  text-decoration:underline;
}
.conventionAnnexTimeline time{
  color:var(--muted);
  font-weight:750;
}
.conventionThemeDocsHead{
  margin:18px 0 10px;
  padding-top:4px;
}
.conventionThemeDocsHead--attached{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid rgba(112,180,190,.28);
}
.conventionLatestDisclosure{
  padding:0;
  overflow:hidden;
}
.conventionLatestSummary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  padding:23px 22px 18px;
  cursor:pointer;
  list-style:none;
}
.conventionLatestSummary::-webkit-details-marker{
  display:none;
}
.conventionLatestSummaryText{
  min-width:0;
}
.conventionLatestTitle{
  display:block;
  margin-top:6px;
  color:var(--fg);
  font-size:clamp(1.15rem,1.7vw,1.45rem);
  font-weight:850;
  line-height:1.08;
  letter-spacing:-.02em;
}
.conventionLatestMeta{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:.95rem;
  line-height:1.35;
}
.conventionLatestAction{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 14px;
  border:1px solid rgba(50,97,145,.24);
  border-radius:999px;
  color:var(--accent);
  background:rgba(255,255,255,.52);
  font-weight:850;
  white-space:nowrap;
}
.conventionLatestAction .isOpen,
.conventionLatestDisclosure[open] .conventionLatestAction .isClosed{
  display:none;
}
.conventionLatestDisclosure[open] .conventionLatestAction .isOpen{
  display:inline;
}
.conventionLatestPanel{
  border-top:1px solid rgba(112,180,190,.24);
  padding:0 22px 22px;
}
.conventionLatestPanel>p{
  max-width:760px;
  margin:16px 0;
  color:var(--muted);
}
.conventionLatestGrid,
.conventionRelatedGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.conventionLatestList{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.conventionLatestRow{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  min-height:92px;
  padding:14px;
  border:1px solid rgba(112,180,190,.38);
  border-radius:12px;
  background:rgba(255,255,255,.34);
}
.conventionLatestRow h3{
  margin:7px 0 0;
  font-size:1rem;
  line-height:1.2;
  letter-spacing:-.015em;
}
.conventionLatestRow p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:.9rem;
}
.conventionCorpusGroup{
  border-top:1px solid rgba(112,180,190,.38);
  padding-top:18px;
  margin-top:18px;
}
.conventionCorpusGroup:first-child{
  border-top:0;
  padding-top:0;
  margin-top:0;
}
.conventionSubGroup{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:18px;
  align-items:start;
  padding:14px 0;
  border-top:1px solid rgba(112,180,190,.22);
}
.conventionSubGroup:first-of-type{border-top:0}
.conventionSubGroup h4{
  margin:7px 0 0;
  color:var(--bleu-fonce);
  font-size:.95rem;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.conventionDocList{
  display:grid;
  gap:10px;
}
.conventionResultsList{
  display:grid;
  gap:16px;
}
.conventionResultRow{
  display:block;
}
.conventionReadingGrid{
  display:grid;
  grid-template-columns:1fr 1.15fr 1fr;
  gap:9px;
  margin:12px 0 14px;
}
.conventionReadingGrid div{
  min-width:0;
  border:1px solid rgba(112,180,190,.24);
  border-radius:10px;
  padding:9px 10px;
  background:rgba(251,247,241,.68);
}
.conventionReadingGrid dt{
  margin:0 0 5px;
  color:var(--fnam-terracotta,#C77165);
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.conventionReadingGrid dd{
  margin:0;
  color:var(--fnam-bleu-roi-800,var(--bleu-fonce));
  font-size:.9rem;
  font-weight:780;
  line-height:1.28;
}
.conventionDocCard{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(251,247,241,.88));
  border:1px solid rgba(112,180,190,.34);
  border-radius:12px;
  padding:17px 18px 16px;
  box-shadow:0 10px 24px rgba(7,28,51,.06);
}
.conventionDocCard:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:var(--turquoise);
}
.conventionResultRow:nth-child(even) .conventionDocCard{
  background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(112,180,190,.08));
}
.conventionDocMain{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:start;
}
.conventionDocCard h3{
  margin:7px 0 0;
  color:var(--fnam-bleu-roi-900,var(--bleu-fonce));
  font-size:1.12rem;
  line-height:1.18;
  letter-spacing:-.015em;
  font-weight:900;
}
.conventionDocCard p{
  margin:0;
  color:var(--muted);
  font-size:.94rem;
  font-weight:430;
  line-height:1.45;
}
.conventionDocMeta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  font-size:.78rem;
  font-weight:820;
  color:var(--bleu-soutenu);
}
.conventionBadge{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  border-radius:999px;
  background:rgba(112,180,190,.18);
  border:1px solid rgba(112,180,190,.48);
  color:var(--bleu-fonce);
  font-size:.72rem;
  font-weight:850;
}
.conventionBadge.warning{
  background:rgba(190,60,63,.09);
  border-color:rgba(190,60,63,.32);
  color:var(--rouge);
}
.conventionPdfBtn{
  min-height:38px;
  padding:9px 13px;
  border-radius:10px;
  box-shadow:none;
}
.conventionDocDetails{
  margin-top:13px;
  border-top:1px solid rgba(112,180,190,.18);
  padding-top:11px;
}
.conventionDocDetails summary{
  cursor:pointer;
  color:var(--bleu-soutenu);
  font-size:.92rem;
  font-weight:820;
}
.conventionDocDetails dl{
  display:grid;
  gap:8px;
  margin:12px 0 0;
}
.conventionDocDetails dl div{
  display:grid;
  grid-template-columns:140px minmax(0,1fr);
  gap:12px;
}
.conventionDocDetails dt{
  color:var(--bleu-fonce);
  font-weight:850;
}
.conventionDocDetails dd{
  margin:0;
  color:var(--muted);
}
.conventionEmpty{
  border:1px dashed rgba(112,180,190,.65);
  border-radius:14px;
  padding:22px;
}
.conventionLegifranceActions{
  margin-bottom:14px;
}
.conventionLegifranceActions .btn{
  background:var(--fnam-terracotta,#C77165);
  border-color:var(--fnam-terracotta,#C77165);
  color:var(--fond);
}
.conventionLegifranceActions .btn:hover{
  background:#b45f54;
  border-color:#b45f54;
}
.conventionArticleFilterHint{
  margin:0 0 12px;
  color:var(--muted);
  font-size:.94rem;
}
.conventionArticlesDetails{
  border:1px solid rgba(112,180,190,.38);
  border-radius:14px;
  padding:14px;
  background:rgba(255,255,255,.28);
}
.conventionArticlesDetails summary{
  cursor:pointer;
  font-weight:900;
}
.conventionArticleGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:14px;
}
.conventionArticleGrid a{
  display:grid;
  gap:3px;
  min-height:72px;
  padding:12px;
  border:1px solid rgba(112,180,190,.32);
  border-radius:10px;
  text-decoration:none;
  background:rgba(251,247,241,.72);
}
.conventionArticleGrid a strong{
  color:var(--bleu-fonce);
}
.conventionArticleGrid a span{
  color:var(--muted);
  font-size:.92rem;
}
.conventionArticleEmpty{
  grid-column:1/-1;
  border:1px dashed rgba(112,180,190,.58);
  border-radius:10px;
  padding:14px;
  color:var(--muted);
  background:rgba(251,247,241,.54);
}
.conventionUnderstandGrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.conventionUnderstandGrid article{
  border:1px solid color-mix(in srgb,var(--fnam-terracotta,#C77165) 34%,transparent);
  border-radius:12px;
  padding:16px;
  background:color-mix(in srgb,var(--fnam-terracotta,#C77165) 6%,rgba(255,255,255,.28));
}
.conventionUnderstandGrid h3{
  margin:0 0 8px;
  font-size:1.05rem;
}
.conventionUnderstandGrid p{
  margin:0;
  color:var(--muted);
}
.conventionRelatedFeature{
  margin-top:16px;
}
.conventionSources{
  background:var(--fond);
  color:var(--ink);
}
.conventionSources h2{
  margin:0 0 10px;
  font-size:1.55rem;
}
.conventionSources p{
  color:var(--muted);
  max-width:900px;
}
.conventionSources dl{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:18px 0;
}
.conventionSources dl div{
  border:1px solid rgba(112,180,190,.35);
  border-radius:12px;
  padding:12px;
}
.conventionSources dt{
  color:var(--bleu-fonce);
  font-weight:850;
}
.conventionSources dd{
  margin:5px 0 0;
}
.conventionSources .btn{
  background:var(--fnam-terracotta,#C77165);
  border-color:var(--fnam-terracotta,#C77165);
  color:var(--fond);
}
.conventionSources .btn:hover{
  background:#b45f54;
  border-color:#b45f54;
}
@media(max-width:980px){
  .conventionHero__inner,
  .conventionCorpusHead,
  .conventionLatestGrid,
  .conventionLatestList,
  .conventionRelatedGrid,
  .conventionUnderstandGrid,
  .conventionSources dl{
    grid-template-columns:1fr;
  }
  .conventionToolPanel{
    position:static;
  }
  .conventionStatusPanel{
    margin-top:0;
  }
  .conventionSubGroup{
    grid-template-columns:1fr;
    gap:8px;
  }
  .conventionResultRow{
    display:block;
  }
  .conventionSubGroup h4{
    margin:0;
  }
  #conventionResultSummary{
    justify-self:start;
    white-space:normal;
    text-align:left;
  }
  .conventionCorpusMetrics{
    justify-items:start;
    max-width:none;
  }
}
@media(max-width:680px){
  .conventionHero{
    padding:24px 0 18px;
  }
  .conventionHero h1{
    font-size:clamp(1.85rem,9vw,2.65rem);
  }
  .conventionLead{
    font-size:.98rem;
    margin-top:12px;
  }
  .conventionStatusPanel{
    padding:14px;
  }
  .conventionStatusPanel p{
    padding:8px 0;
  }
  .conventionDashboard{
    padding-top:22px;
  }
  .conventionFilterRow,
  .conventionQuickAccess{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:4px;
  }
  .conventionFilterRows .filterLabel{
    flex:0 0 auto;
    min-width:auto;
  }
  .conventionFilterRow .filter,
  .conventionQuickAccess .filter{
    flex:0 0 auto;
  }
  .conventionLatest,
  .conventionCorpus,
  .conventionLegifrance,
  .conventionUnderstand,
  .conventionRelated,
  .conventionSources{
    padding:16px;
    border-radius:12px;
  }
  .conventionLatestDisclosure{
    padding:0;
  }
  .conventionLatestSummary{
    grid-template-columns:1fr;
    gap:12px;
    padding:16px;
  }
  .conventionLatestAction{
    width:max-content;
    min-height:36px;
  }
  .conventionLatestPanel{
    padding:0 16px 16px;
  }
  .conventionDocMain{
    grid-template-columns:1fr;
  }
  .conventionReadingGrid{
    grid-template-columns:1fr;
  }
  .conventionPdfBtn{
    width:max-content;
  }
  .conventionLatestRow{
    min-height:0;
    align-items:start;
  }
  .conventionLatestRow:nth-child(n+5){
    display:none;
  }
  .conventionLatestRow p{
    display:none;
  }
  .conventionDocDetails dl div{
    grid-template-columns:1fr;
    gap:2px;
  }
  .conventionArticleGrid{
    grid-template-columns:1fr;
  }
}

/* Qui sommes-nous - video de presentation */
body.is-about .aboutIntro.aboutIntro--withVideo,
body[data-responsive-mode].is-about .aboutIntro.aboutIntro--withVideo,
body[data-responsive-mode="compact"].is-about .aboutIntro.aboutIntro--withVideo,
body[data-responsive-mode="mobile"].is-about .aboutIntro.aboutIntro--withVideo{
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(420px,1fr)!important;
  gap:clamp(20px,3vw,34px)!important;
  align-items:center!important;
}

.aboutIntroText{
  min-width:0;
}

.aboutIntro.aboutIntro--withVideo .aboutIntroText p{
  max-width:760px;
}

.aboutVideoBlock{
  min-width:0;
  margin:0;
}

.aboutVideoBlock--mobile{
  display:none;
}

.aboutVideo{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  border:1px solid rgba(112,180,190,.46);
  border-radius:18px;
  background:#0B2A4A;
  box-shadow:0 18px 42px rgba(50,97,145,.14);
}

.aboutVideoBlock figcaption{
  margin-top:10px;
  color:#326191;
  font-size:.9rem;
  font-weight:850;
}

@media(max-width:1180px){
  body.is-about .aboutIntro.aboutIntro--withVideo,
  body[data-responsive-mode].is-about .aboutIntro.aboutIntro--withVideo,
  body[data-responsive-mode="compact"].is-about .aboutIntro.aboutIntro--withVideo,
  body[data-responsive-mode="mobile"].is-about .aboutIntro.aboutIntro--withVideo{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:900px){
  .aboutIntro.aboutIntro--withVideo .aboutIntroText{
    padding-top:76px;
  }
}

@media(max-width:760px){
  body.is-about .aboutIntro.aboutIntro--withVideo,
  body[data-responsive-mode].is-about .aboutIntro.aboutIntro--withVideo,
  body[data-responsive-mode="compact"].is-about .aboutIntro.aboutIntro--withVideo,
  body[data-responsive-mode="mobile"].is-about .aboutIntro.aboutIntro--withVideo{
    gap:18px!important;
  }

  .aboutVideo{
    border-radius:14px;
  }
}

/* Page A propos : application du design system */
body.is-about{
  --about-rail-top:calc(var(--header-height,104px) + var(--sp-5));
  --about-section-gap:clamp(var(--sp-8),6vw,var(--sp-10));
  background:var(--bg)!important;
}

html.is-about{
  scroll-snap-type:none!important;
  scroll-padding-top:var(--about-rail-top)!important;
}

body.is-about .aboutPage{
  padding:var(--sp-8) 0 var(--sp-11)!important;
  background:var(--bg)!important;
}

body.has-press-context.is-about .aboutPage{
  padding-top:calc(var(--press-context-height,0px) + var(--sp-6))!important;
}

body.is-about .aboutPage > .container,
body.is-about .aboutPage .container{
  width:calc(100vw - 100px)!important;
  max-width:none!important;
  margin-inline:auto!important;
}

/* Bug: le selecteur ".aboutPage .container" ci-dessus (sans ">") visait le
   conteneur racine de la page, mais matche aussi le conteneur du widget
   "Groupements adherents" (.aboutGroupsHomeClone), imbrique plus profond
   dans ".aboutContent". Force a ~100vw, ce conteneur imbrique deborde de
   sa colonne (649px dispo a 1024px de large) jusqu'a ~924px, provoquant un
   scroll horizontal sur toute la page. Ce debordement etait invisible tant
   que .wrapper_inner avait "overflow:hidden" (avant le correctif du menu
   lateral sticky) ; on le neutralise ici en le recalant sur la largeur
   reellement disponible dans la colonne de contenu. Cible precisement ce
   widget (et non tout ".container" de ".aboutContent") car un essai plus
   large a casse d'autres conteneurs (ex. la video d'intro) a 1400px. */
body.is-about .aboutContent .container.aboutGroupsHomeClone.fnamGroupementsShared{
  width:100%!important;
  max-width:100%!important;
  margin-inline:0!important;
}

body.is-about .aboutLayout,
body[data-responsive-mode].is-about .aboutLayout,
body[data-responsive-mode="compact"].is-about .aboutLayout,
body[data-responsive-mode="mobile"].is-about .aboutLayout{
  display:grid!important;
  grid-template-columns:minmax(208px,244px) minmax(0,1fr)!important;
  gap:clamp(var(--sp-6),3vw,var(--sp-8))!important;
  align-items:start!important;
  min-height:0!important;
  padding-top:0!important;
  overflow:visible!important;
}

body.is-about .aboutContent,
body[data-responsive-mode].is-about .aboutContent,
body[data-responsive-mode="compact"].is-about .aboutContent,
body[data-responsive-mode="mobile"].is-about .aboutContent{
  display:grid!important;
  gap:var(--about-section-gap)!important;
  min-width:0!important;
}

body.is-about .aboutSideNav,
body[data-responsive-mode].is-about .aboutSideNav,
body[data-responsive-mode="compact"].is-about .aboutSideNav,
body[data-responsive-mode="mobile"].is-about .aboutSideNav{
  position:sticky!important;
  top:var(--about-rail-top)!important;
  z-index:6!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:var(--sp-2)!important;
  align-self:start!important;
  padding:var(--sp-4)!important;
  border:1px solid var(--border-on-paper)!important;
  border-radius:var(--r-2)!important;
  background:var(--bg-elevated)!important;
  box-shadow:var(--shadow-1)!important;
  backdrop-filter:none!important;
  overflow:visible!important;
  contain:layout paint!important;
}

body.is-about .aboutSideNav:before,
body[data-responsive-mode].is-about .aboutSideNav:before,
body[data-responsive-mode="compact"].is-about .aboutSideNav:before,
body[data-responsive-mode="mobile"].is-about .aboutSideNav:before{
  content:none!important;
  display:none!important;
}

body.is-about .aboutSideNav strong,
body[data-responsive-mode].is-about .aboutSideNav strong,
body[data-responsive-mode="compact"].is-about .aboutSideNav strong,
body[data-responsive-mode="mobile"].is-about .aboutSideNav strong{
  margin:0 0 var(--sp-2)!important;
  color:var(--fg-3)!important;
  font-size:var(--fs-eyebrow)!important;
  line-height:var(--lh-eyebrow)!important;
  letter-spacing:var(--tk-eyebrow)!important;
  font-weight:600!important;
  text-transform:uppercase!important;
  white-space:normal!important;
}

body.is-about .aboutSideNav a,
body[data-responsive-mode].is-about .aboutSideNav a,
body[data-responsive-mode="compact"].is-about .aboutSideNav a,
body[data-responsive-mode="mobile"].is-about .aboutSideNav a{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-height:44px!important;
  padding:var(--sp-3) var(--sp-4)!important;
  border:1px solid transparent!important;
  border-radius:var(--r-3)!important;
  background:transparent!important;
  color:var(--fnam-bleu-roi)!important;
  box-shadow:none!important;
  font-size:15px!important;
  font-weight:600!important;
  line-height:1.2!important;
  text-decoration:none!important;
  white-space:normal!important;
  transition:
    background-color var(--dur-fast) var(--ease-standard),
    border-color var(--dur-fast) var(--ease-standard),
    color var(--dur-fast) var(--ease-standard)!important;
}

body.is-about .aboutSideNav a:hover,
body.is-about .aboutSideNav a.active,
body[data-responsive-mode].is-about .aboutSideNav a:hover,
body[data-responsive-mode].is-about .aboutSideNav a.active,
body[data-responsive-mode="compact"].is-about .aboutSideNav a:hover,
body[data-responsive-mode="compact"].is-about .aboutSideNav a.active,
body[data-responsive-mode="mobile"].is-about .aboutSideNav a:hover,
body[data-responsive-mode="mobile"].is-about .aboutSideNav a.active{
  border-color:color-mix(in srgb,var(--fnam-bleu-roi) 24%,transparent)!important;
  background:var(--fnam-bleu-roi-50)!important;
  color:var(--fnam-bleu-roi-900)!important;
}

body.is-about .aboutSideNav a:focus-visible,
body.is-about .aboutIntro :where(a,button,video):focus-visible,
body.is-about .aboutSection :where(a,button,summary):focus-visible{
  outline:none!important;
  box-shadow:var(--shadow-focus)!important;
}

body.is-about .aboutIntro,
body.is-about .aboutSection,
body[data-responsive-mode].is-about .aboutIntro,
body[data-responsive-mode].is-about .aboutSection,
body[data-responsive-mode="compact"].is-about .aboutIntro,
body[data-responsive-mode="compact"].is-about .aboutSection{
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  scroll-snap-align:start!important;
  scroll-snap-stop:always!important;
  scroll-margin-top:0!important;
}

body[data-responsive-mode="mobile"].is-about .aboutIntro,
body[data-responsive-mode="mobile"].is-about .aboutSection{
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  scroll-snap-align:none!important;
  scroll-snap-stop:normal!important;
  scroll-margin-top:0!important;
}

body.is-about.about-has-section .aboutIntro{
  display:none!important;
}

body.is-about .aboutIntro{
  padding:clamp(var(--sp-7),5vw,var(--sp-10))!important;
  border:1px solid var(--border-on-paper)!important;
  border-radius:var(--r-4)!important;
  background:var(--bg-section-cool)!important;
  box-shadow:none!important;
}

body.is-about .aboutIntro.aboutIntro--withVideo,
body[data-responsive-mode].is-about .aboutIntro.aboutIntro--withVideo,
body[data-responsive-mode="compact"].is-about .aboutIntro.aboutIntro--withVideo,
body[data-responsive-mode="mobile"].is-about .aboutIntro.aboutIntro--withVideo{
  display:grid!important;
  grid-template-columns:minmax(0,.84fr) minmax(380px,1fr)!important;
  gap:clamp(var(--sp-6),4vw,var(--sp-9))!important;
  align-items:center!important;
}

body.is-about .aboutIntroText{
  min-width:0!important;
  padding-top:0!important;
}

body.is-about .aboutIntro h1{
  max-width:12ch!important;
  margin:var(--sp-2) 0 var(--sp-5)!important;
  color:var(--fnam-bleu-roi-900)!important;
  font-family:var(--font-display)!important;
  font-size:clamp(44px,6vw,72px)!important;
  line-height:1.04!important;
  letter-spacing:0!important;
  font-weight:700!important;
  text-wrap:balance!important;
}

body.is-about .aboutIntro p,
body.is-about .aboutIntro.aboutIntro--withVideo .aboutIntroText p{
  max-width:58ch!important;
  margin:0!important;
  color:var(--fg-2)!important;
  font-size:var(--fs-lead)!important;
  line-height:var(--lh-lead)!important;
  font-weight:400!important;
}

body.is-about .aboutVideoBlock{
  min-width:0!important;
  margin:0!important;
}

body.is-about .aboutVideo{
  display:block!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  object-fit:cover!important;
  border:1px solid color-mix(in srgb,var(--fnam-bleu-roi) 22%,transparent)!important;
  border-radius:var(--r-2)!important;
  background:var(--bg-inverse)!important;
  box-shadow:var(--shadow-2)!important;
}

body.is-about .aboutVideoBlock figcaption{
  margin-top:var(--sp-3)!important;
  color:var(--fg-3)!important;
  font-size:var(--fs-meta)!important;
  line-height:var(--lh-meta)!important;
  font-weight:600!important;
}

body.is-about .aboutSection{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

body.is-about .aboutSection:not(.aboutGroupements){
  display:block!important;
  align-content:normal!important;
}

body.is-about .sectionIntro,
body.is-about .commissionsHead,
body.is-about .compactHead{
  margin-bottom:var(--sp-7)!important;
}

body.is-about .aboutIntro .eyebrow,
body.is-about .sectionIntro .eyebrow,
body.is-about .commissionsHead .eyebrow,
body.is-about .compactHead .eyebrow,
body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemHeader .eyebrow{
  display:flex!important;
  width:max-content!important;
}

body.is-about .sectionIntro h2,
body.is-about .commissionsHead h2,
body.is-about .compactHead h2{
  display:inline-block!important;
  position:relative!important;
  margin:var(--sp-1) 0 0!important;
  padding-bottom:var(--sp-2)!important;
  border-bottom:0!important;
  color:var(--fnam-bleu-roi-900)!important;
  font-family:var(--font-display)!important;
  font-size:var(--fs-h2)!important;
  line-height:var(--lh-h2)!important;
  letter-spacing:0!important;
  font-weight:600!important;
}

body.is-about .sectionIntro h2::after,
body.is-about .commissionsHead h2::after,
body.is-about .compactHead h2::after,
body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemHeader h2::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:60px!important;
  height:2px!important;
  background:var(--fnam-rouge-bordeaux)!important;
}

body.is-about .sectionIntro p,
body.is-about .compactHead p{
  max-width:66ch!important;
  margin:var(--sp-5) 0 0!important;
  color:var(--fg-2)!important;
  font-size:var(--fs-body)!important;
  line-height:var(--lh-body)!important;
  font-weight:400!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared{
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemCard.groupementsBoard{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:clamp(var(--sp-6),3vw,var(--sp-8))!important;
  border:1px solid var(--border-on-paper)!important;
  border-radius:var(--r-4)!important;
  background:var(--bg-elevated)!important;
  box-shadow:var(--shadow-1)!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemHeader h2{
  display:inline-block!important;
  position:relative!important;
  padding-bottom:var(--sp-2)!important;
  border-bottom:0!important;
  letter-spacing:0!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemLayout{
  min-height:0!important;
  height:auto!important;
  grid-template-columns:minmax(0,1fr) minmax(284px,340px)!important;
  gap:clamp(var(--sp-5),3vw,var(--sp-8))!important;
  align-items:stretch!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .orbitWrap{
  height:auto!important;
  min-height:560px!important;
  overflow:visible!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupInfo,
body.is-about .aboutGroupements.fnamGroupementsShared .groupDetailColumn > .groupInfo{
  position:relative!important;
  top:auto!important;
  height:auto!important;
  min-height:100%!important;
  max-height:none!important;
  margin:0!important;
}

body.is-about .governanceCard,
body.is-about .commissionCard,
body.is-about .teamPoleBlock,
body.is-about .memberAgendaPanel,
body.is-about .memberLibraryPanel,
body.is-about .memberDocumentCard{
  border:1px solid var(--border-1)!important;
  border-radius:var(--r-2)!important;
  background:var(--bg-elevated)!important;
  box-shadow:var(--shadow-1)!important;
}

body.is-about .governanceCard:before,
body.is-about .commissionCard:before,
body.is-about .teamPoleBlock:before{
  content:none!important;
  display:none!important;
}

body.is-about .governanceCard h3,
body.is-about .commissionCard h3,
body.is-about .teamPoleBlock h3,
body.is-about .memberDocumentCard h3{
  color:var(--fnam-bleu-roi-900)!important;
  letter-spacing:0!important;
}

body.is-about .commissionKicker,
body.is-about .tag{
  border-radius:var(--r-2)!important;
}

body.is-about .governanceBoard,
body.is-about .aboutTeamHierarchy,
body.is-about .memberWorkspace{
  gap:var(--sp-5)!important;
}

body.is-about .aboutTeamHierarchy{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

body.is-about .aboutTeam .sectionIntro{
  margin-bottom:var(--sp-5)!important;
}

body.is-about .aboutTeam .teamPoleBlock{
  padding:var(--sp-5)!important;
}

body.is-about .aboutTeam .teamPolePeople{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:var(--sp-4)!important;
}

body.is-about .aboutTeam .personCard{
  display:grid!important;
  grid-template-columns:124px minmax(0,1fr) 42px!important;
  gap:18px!important;
  align-items:center!important;
  min-width:0!important;
  padding:18px!important;
  border:1px solid rgba(50,97,145,.14)!important;
  border-radius:var(--r-2)!important;
  background:linear-gradient(135deg,#ffffff 0%,#fbf7f1 100%)!important;
}

body.is-about .aboutTeam .personPhoto{
  width:124px!important;
  height:124px!important;
  border-width:4px!important;
  box-shadow:0 14px 30px rgba(50,97,145,.20)!important;
}

body.is-about .aboutTeam .personPhoto span{
  font-size:1.58rem!important;
}

body.is-about .aboutTeam .personInfo strong{
  font-size:clamp(1.08rem,1.35vw,1.28rem)!important;
  line-height:1.08!important;
  letter-spacing:-.01em!important;
}

body.is-about .aboutTeam .personInfo span{
  margin-top:7px!important;
  font-size:clamp(.96rem,1.05vw,1.05rem)!important;
  line-height:1.28!important;
  font-weight:700!important;
}

body.is-about .aboutTeam .personMail{
  width:42px!important;
  height:42px!important;
}

body.is-about .aboutTeam .personMail svg{
  width:22px!important;
  height:22px!important;
}

body.is-about .commissionsBlock{
  margin-top:var(--sp-9)!important;
}

body.is-about .commissionsGrid{
  gap:var(--sp-4)!important;
}

body.is-about .aboutAgendaWorkspace{
  align-items:start!important;
}

@media(max-width:1180px){
  body.is-about .aboutIntro.aboutIntro--withVideo,
  body[data-responsive-mode].is-about .aboutIntro.aboutIntro--withVideo,
  body[data-responsive-mode="compact"].is-about .aboutIntro.aboutIntro--withVideo,
  body[data-responsive-mode="mobile"].is-about .aboutIntro.aboutIntro--withVideo{
    grid-template-columns:1fr!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemLayout{
    grid-template-columns:1fr!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .orbitWrap{
    min-height:0!important;
  }

  body.is-about .aboutTeamHierarchy{
    grid-template-columns:1fr!important;
  }

}

@media(max-width:900px){
  body.is-about{
    --about-rail-top:calc(var(--header-height,78px) + 82px);
    --about-section-gap:var(--sp-8);
  }

  body.is-about .aboutPage{
    padding:var(--sp-5) 0 var(--sp-9)!important;
  }

  body.is-about .aboutPage > .container,
  body.is-about .aboutPage .container{
    width:min(100% - 32px,var(--container-max))!important;
  }

  body.is-about .aboutLayout,
  body[data-responsive-mode].is-about .aboutLayout,
  body[data-responsive-mode="compact"].is-about .aboutLayout,
  body[data-responsive-mode="mobile"].is-about .aboutLayout{
    grid-template-columns:1fr!important;
    gap:var(--sp-6)!important;
    padding-top:76px!important;
  }

  body.is-about .aboutSideNav,
  body[data-responsive-mode].is-about .aboutSideNav,
  body[data-responsive-mode="compact"].is-about .aboutSideNav,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav{
    position:fixed!important;
    top:var(--sp-2)!important;
    left:var(--sp-4)!important;
    right:var(--sp-4)!important;
    z-index:82!important;
    display:flex!important;
    grid-template-columns:none!important;
    align-items:center!important;
    gap:var(--sp-2)!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:var(--sp-2)!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    white-space:nowrap!important;
    border-radius:var(--r-3)!important;
    background:var(--bg-elevated)!important;
    box-shadow:var(--shadow-2)!important;
    contain:none!important;
    scrollbar-width:none!important;
  }

  body.is-about .aboutSideNav::-webkit-scrollbar,
  body[data-responsive-mode].is-about .aboutSideNav::-webkit-scrollbar,
  body[data-responsive-mode="compact"].is-about .aboutSideNav::-webkit-scrollbar,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav::-webkit-scrollbar{
    display:none!important;
  }

  body.is-about.mobile-header-revealed .aboutSideNav,
  body[data-responsive-mode].is-about.mobile-header-revealed .aboutSideNav,
  body[data-responsive-mode="compact"].is-about.mobile-header-revealed .aboutSideNav,
  body[data-responsive-mode="mobile"].is-about.mobile-header-revealed .aboutSideNav{
    top:calc(var(--header-height,78px) + var(--sp-2))!important;
  }

  body.is-about .aboutSideNav strong,
  body[data-responsive-mode].is-about .aboutSideNav strong,
  body[data-responsive-mode="compact"].is-about .aboutSideNav strong,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav strong{
    flex:0 0 auto!important;
    margin:0 var(--sp-1) 0 var(--sp-2)!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  body.is-about .aboutSideNav a,
  body[data-responsive-mode].is-about .aboutSideNav a,
  body[data-responsive-mode="compact"].is-about .aboutSideNav a,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav a{
    flex:0 0 auto!important;
    min-height:44px!important;
    padding:0 var(--sp-4)!important;
    white-space:nowrap!important;
  }

  body.is-about .aboutSideNav a.active,
  body[data-responsive-mode].is-about .aboutSideNav a.active,
  body[data-responsive-mode="compact"].is-about .aboutSideNav a.active,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav a.active{
    border-color:var(--fnam-bleu-roi)!important;
    background:var(--fnam-bleu-roi)!important;
    color:var(--fnam-white)!important;
  }

  body.is-about .aboutIntro{
    padding:var(--sp-6)!important;
  }

  body.is-about .aboutIntro h1{
    font-size:clamp(40px,12vw,56px)!important;
  }
}

@media(max-width:760px){
  body.is-about{
    --about-section-gap:var(--sp-7);
  }

  body.is-about .aboutPage > .container,
  body.is-about .aboutPage .container{
    width:min(100% - 28px,var(--container-max))!important;
  }

  body.is-about .aboutSideNav,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav{
    left:var(--sp-3)!important;
    right:var(--sp-3)!important;
    padding-inline:var(--sp-2)!important;
  }

  body.is-about .aboutSideNav strong,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav strong{
    display:none!important;
  }

  body.is-about .aboutIntro{
    padding:var(--sp-5)!important;
    border-radius:var(--r-3)!important;
  }

  body.is-about .aboutIntro p,
  body.is-about .sectionIntro p,
  body.is-about .compactHead p{
    font-size:var(--fs-body)!important;
  }

  body.is-about .sectionIntro,
  body.is-about .commissionsHead,
  body.is-about .compactHead{
    margin-bottom:var(--sp-6)!important;
  }

  body.is-about .aboutTeam .teamPoleBlock{
    padding:var(--sp-4)!important;
  }

  body.is-about .aboutTeam .personCard{
    grid-template-columns:96px minmax(0,1fr)!important;
    gap:14px!important;
    padding:14px!important;
  }

  body.is-about .aboutTeam .personPhoto{
    width:96px!important;
    height:96px!important;
    border-width:3px!important;
  }

  body.is-about .aboutTeam .personPhoto span{
    font-size:1.1rem!important;
  }

  body.is-about .aboutTeam .personMail{
    grid-column:2!important;
    width:38px!important;
    height:38px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemCard.groupementsBoard{
    padding:var(--sp-4)!important;
    border-radius:var(--r-3)!important;
  }

body.is-about .aboutVideo{
    border-radius:var(--r-2)!important;
  }
}

body.is-about.about-has-section .aboutIntro,
body.is-about.about-has-section .aboutIntro.aboutIntro--withVideo,
body[data-responsive-mode].is-about.about-has-section .aboutIntro,
body[data-responsive-mode].is-about.about-has-section .aboutIntro.aboutIntro--withVideo,
body[data-responsive-mode="compact"].is-about.about-has-section .aboutIntro,
body[data-responsive-mode="compact"].is-about.about-has-section .aboutIntro.aboutIntro--withVideo,
body[data-responsive-mode="mobile"].is-about.about-has-section .aboutIntro,
body[data-responsive-mode="mobile"].is-about.about-has-section .aboutIntro.aboutIntro--withVideo{
  display:grid!important;
}

body.is-about.about-has-section .aboutIntro,
body.is-about.about-has-section .aboutIntro.aboutIntro--withVideo,
body[data-responsive-mode].is-about.about-has-section .aboutIntro,
body[data-responsive-mode].is-about.about-has-section .aboutIntro.aboutIntro--withVideo,
body[data-responsive-mode="compact"].is-about.about-has-section .aboutIntro,
body[data-responsive-mode="compact"].is-about.about-has-section .aboutIntro.aboutIntro--withVideo,
body[data-responsive-mode="mobile"].is-about.about-has-section .aboutIntro,
body[data-responsive-mode="mobile"].is-about.about-has-section .aboutIntro.aboutIntro--withVideo{
  display:grid!important;
}

html.is-about,
html[data-responsive-mode].is-about,
html[data-responsive-mode="compact"].is-about{
  scroll-snap-type:y proximity!important;
  scroll-padding-top:var(--about-rail-top)!important;
}

html[data-responsive-mode="mobile"].is-about{
  scroll-snap-type:none!important;
  scroll-padding-top:var(--about-rail-top)!important;
}

body.is-about .footer,
body[data-responsive-mode].is-about .footer,
body[data-responsive-mode="compact"].is-about .footer,
body[data-responsive-mode="mobile"].is-about .footer{
  scroll-snap-align:start!important;
  scroll-snap-stop:normal!important;
  scroll-margin-top:0!important;
}

/* Groupements - visuel retenu "Contraste nuit / ivoire papier" */
.fnamGroupementsShared{
  background:var(--bg-section-night,linear-gradient(135deg,#21384D 0%,#274B65 52%,#326191 100%))!important;
  color:var(--fnam-paper,#f6f1e7)!important;
}

.fnamGroupementsShared .groupementsChoiceBoard{
  --group-night:var(--fnam-bleu-nuit,#21384D);
  --group-night-bg:var(--bg-section-night,linear-gradient(135deg,#21384D 0%,#274B65 52%,#326191 100%));
  --group-paper:var(--fnam-paper,#f6f1e7);
  --group-paper-soft:#fbf8f1;
  --group-edge:rgba(230,220,198,.88);
  --group-accent:var(--fnam-terracotta,#C77165);
  width:100%;
  background:var(--group-night-bg);
  color:var(--group-paper);
  border:1px solid rgba(126,211,229,.22);
  border-radius:4px;
  box-shadow:0 18px 42px rgba(13,31,49,.18);
  overflow:hidden;
}

.fnamGroupementsShared .groupementsChoiceHeader{
  padding:34px clamp(24px,4vw,52px) 28px;
}

.fnamGroupementsShared .groupementsChoiceHeader .eyebrow{
  display:block;
  margin:0 0 18px;
  color:#7ed3e5!important;
  font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
  font-size:clamp(14px,1.45vw,20px)!important;
  font-weight:800!important;
  letter-spacing:.22em!important;
  text-transform:uppercase;
}

.fnamGroupementsShared .groupementsChoiceHeader h2{
  margin:0;
  color:var(--group-paper)!important;
  font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
  font-size:clamp(38px,5vw,74px)!important;
  line-height:.98!important;
  letter-spacing:0!important;
}

.fnamGroupementsShared .groupementsChoiceHeader:after{
  content:"";
  display:block;
  height:8px;
  margin-top:24px;
  background:var(--group-accent);
}

.fnamGroupementsShared .groupementsChoiceBody{
  padding:28px clamp(18px,3vw,52px) clamp(26px,3vw,48px);
}

.fnamGroupementsShared .groupementsChoiceDesktop{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,430px);
  align-items:start;
  gap:30px;
}

.fnamGroupementsShared .groupementsChoiceLeft{
  display:grid;
  gap:24px;
  min-width:0;
}

.fnamGroupementsShared .groupementChoiceFederation{
  min-height:96px;
  display:grid;
  grid-template-columns:70px minmax(0,1fr);
  align-items:center;
  gap:24px;
  padding:20px 28px;
  background:var(--group-paper-soft);
  color:var(--group-night);
  border:1px solid var(--group-edge);
  border-radius:6px;
}

.fnamGroupementsShared .groupementChoiceFederation img{
  width:58px;
  height:auto;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.fnamGroupementsShared .groupementChoiceFederation strong{
  font-family:var(--font-sans,"DM Sans",Arial,sans-serif);
  font-size:clamp(18px,2vw,30px);
  line-height:1.32;
  color:var(--group-night);
}

.fnamGroupementsShared .groupementsChoiceFamilies{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}

/* Sur la page d'accueil (new-accueil), mise en forme demandee par
   l'utilisateur pour la colonne de gauche : la categorie 1 (Exploitants,
   4 groupements) occupe 100% de la largeur de la colonne, avec ses
   groupements sur une grille a 2 colonnes ; les categories 2
   (Infrastructures & services) et 3 (Aviation generale) se placent ensuite
   cote a cote en dessous, chacune a 50% de la largeur de la colonne (elles
   ont moins de groupements, donc leurs cartes sont empilees sur 1 seule
   colonne pour ne pas les rendre trop etroites). L'ordre des categories
   dans le HTML est fixe (Exploitants, Infrastructures & services, Aviation
   generale -- cf. main.js), d'ou l'usage de :nth-child. Scope a la page
   d'accueil uniquement (ne touche pas le meme composant reutilise sur la
   page "A propos"). */
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceFamilies,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsChoiceFamilies{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceFamily:nth-child(1),
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementChoiceFamily:nth-child(1){
  grid-column:1 / -1!important;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceFamily:nth-child(1) .groupementChoiceStack,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementChoiceFamily:nth-child(1) .groupementChoiceStack{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceFamily:nth-child(2) .groupementChoiceStack,
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceFamily:nth-child(3) .groupementChoiceStack{
  grid-template-columns:1fr!important;
}

/* Meme arrangement des 3 familles de groupements que sur l'accueil,
   applique cette fois au clone reutilise sur la page "A propos" (voir
   commentaire ci-dessus) : uniquement la disposition des colonnes, pas les
   reglages "tout tient dans 100svh" propres au snap plein ecran de
   l'accueil (ceux-la restent scopes html.is-home). */
body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementChoiceFamily:nth-child(2) .groupementChoiceStack,
body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementChoiceFamily:nth-child(3) .groupementChoiceStack{
  grid-template-columns:1fr!important;
}

.fnamGroupementsShared .groupementChoiceFamily{
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:100%;
  padding:28px;
  background:var(--group-paper);
  color:var(--group-night);
  border:1px solid var(--group-edge);
  border-radius:6px;
}

.fnamGroupementsShared .groupementChoiceNumber{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  margin-bottom:22px;
  background:var(--group-accent);
  color:#fff;
  border-radius:6px;
  font-family:var(--font-sans,"DM Sans",Arial,sans-serif);
  font-size:24px;
  font-weight:800;
}

.fnamGroupementsShared .groupementChoiceFamily h3{
  margin:0 0 20px;
  color:var(--group-night)!important;
  font-family:var(--font-serif,"Lora",Georgia,serif)!important;
  font-size:clamp(24px,2.45vw,36px)!important;
  line-height:1.18!important;
  letter-spacing:0!important;
}

.fnamGroupementsShared .groupementChoiceStack{
  display:grid;
  gap:20px;
}

.fnamGroupementsShared .groupementChoiceButton,
.fnamGroupementsShared .groupementChoiceAccordion summary{
  width:100%;
  min-width:0;
  min-height:124px;
  display:grid;
  grid-template-columns:minmax(58px,34%) minmax(0,1fr);
  align-items:center;
  gap:18px;
  padding:18px 22px;
  background:var(--group-paper-soft);
  color:var(--group-night);
  border:1px solid var(--group-edge);
  border-radius:6px;
  font:inherit;
  text-align:left;
  cursor:pointer;
  box-shadow:none;
}

.fnamGroupementsShared .groupementChoiceButton:hover,
.fnamGroupementsShared .groupementChoiceButton.active,
.fnamGroupementsShared .groupementChoiceButton:focus-visible{
  border-color:var(--group-accent);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--group-accent) 24%,transparent);
  outline:0;
}

.fnamGroupementsShared .groupementChoiceButton.active{
  background:color-mix(in srgb,var(--group-accent) 9%,var(--group-paper-soft));
}

.fnamGroupementsShared .groupementChoiceLogo{
  width:100%;
  max-width:96px;
  max-height:54px;
  object-fit:contain;
  justify-self:center;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.fnamGroupementsShared .groupementChoiceText{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  color:var(--group-night);
  font-family:var(--font-sans,"DM Sans",Arial,sans-serif);
}

.fnamGroupementsShared .groupementChoiceText strong{
  max-width:100%;
  overflow-wrap:anywhere;
  color:var(--group-night)!important;
  font-size:clamp(20px,2.1vw,30px);
  line-height:1.12;
  font-weight:900;
}

.fnamGroupementsShared .groupementChoiceText span{
  max-width:100%;
  color:#3f3f3f;
  font-size:clamp(16px,1.55vw,24px);
  line-height:1.35;
  overflow-wrap:anywhere;
}

.fnamGroupementsShared .groupementChoiceBadge{
  max-width:100%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  margin-top:6px;
  padding:7px 10px;
  background:#f0ddd3;
  color:var(--group-night);
  border:1px solid color-mix(in srgb,var(--group-accent) 46%,var(--group-paper));
  border-radius:5px;
  font-family:var(--font-sans,"DM Sans",Arial,sans-serif);
  font-size:clamp(13px,1.2vw,18px);
  font-style:normal;
  font-weight:800;
  line-height:1.05;
  text-align:center;
  white-space:normal;
  overflow-wrap:anywhere;
}

.fnamGroupementsShared .groupementsChoiceDetail{
  position:sticky;
  top:calc(var(--header-h,76px) + 22px);
  max-height:calc(100vh - var(--header-h,76px) - 44px);
  overflow:auto;
  display:flex;
  flex-direction:column;
  background:var(--group-paper-soft);
  color:var(--group-night);
  border:1px solid var(--group-edge);
  border-radius:6px;
  box-shadow:0 16px 30px rgba(15,27,40,.16);
}

.fnamGroupementsShared .groupementChoiceDetailHero{
  min-height:128px;
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  align-items:center;
  gap:24px;
  padding:32px;
  border-bottom:1px solid var(--group-edge);
}

.fnamGroupementsShared .groupementChoiceDetailLogo{
  width:100%;
  max-width:104px;
  max-height:64px;
  object-fit:contain;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.fnamGroupementsShared .groupementChoiceDetailTitle{
  color:var(--group-night);
  font-family:var(--font-serif,"Lora",Georgia,serif);
  font-size:clamp(24px,2.3vw,34px);
  line-height:1.18;
  font-weight:800;
}

.fnamGroupementsShared .groupementChoiceDetailBody{
  padding:28px 32px 32px;
}

.fnamGroupementsShared .groupPresident{
  display:grid;
  grid-template-columns:70px minmax(0,1fr);
  align-items:center;
  gap:18px;
  margin:0 0 24px;
  padding:18px;
  border:1px solid var(--group-edge);
  border-radius:6px;
}

.fnamGroupementsShared .groupPresidentPhoto{
  width:70px;
  height:70px;
  object-fit:cover;
  border-radius:4px;
}

.fnamGroupementsShared .groupPresidentInfo strong{
  color:var(--group-night);
  font-family:var(--font-sans,"DM Sans",Arial,sans-serif);
  font-size:20px;
  line-height:1.2;
}

.fnamGroupementsShared .groupPresidentInfo span{
  display:block;
  margin-top:6px;
  color:#4a4a4a;
  font-size:18px;
}

.fnamGroupementsShared .groupInfoBlock{
  padding:22px 0;
  border-top:1px solid var(--group-edge);
}

.fnamGroupementsShared .groupInfoBlock h4{
  margin:0 0 14px;
  color:var(--group-accent)!important;
  font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
  font-size:15px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase;
}

.fnamGroupementsShared .groupInfoBlock p,
.fnamGroupementsShared .groupInfoBlock li{
  color:#424242;
  font-size:18px;
  line-height:1.58;
}

.fnamGroupementsShared .groupInfoBlock ul{
  margin:0;
  padding-left:20px;
}

.fnamGroupementsShared .groupementChoiceLink{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  margin:26px auto 0;
  padding:12px 22px;
  background:var(--group-accent);
  color:#fff!important;
  border:1px solid var(--group-accent);
  border-radius:5px;
  font-family:var(--font-sans,"DM Sans",Arial,sans-serif);
  font-weight:800;
  text-decoration:none;
  text-align:center;
}

.fnamGroupementsShared .groupementsChoiceCompact{
  display:none;
  gap:14px;
}

.fnamGroupementsShared .groupementChoiceAccordion{
  background:var(--group-paper);
  color:var(--group-night);
  border:1px solid var(--group-edge);
  border-radius:6px;
  overflow:hidden;
}

.fnamGroupementsShared .groupementChoiceAccordion summary{
  min-height:96px;
  border:0;
  border-radius:0;
  list-style:none;
}

.fnamGroupementsShared .groupementChoiceAccordion summary::-webkit-details-marker{
  display:none;
}

.fnamGroupementsShared .groupementChoiceAccordionPanel{
  padding:0 18px 20px;
}

.fnamGroupementsShared .groupementChoiceAccordionPanel .groupementChoiceDetailHero,
.fnamGroupementsShared .groupementChoiceAccordionPanel .groupementChoiceDetailBody{
  padding-left:0;
  padding-right:0;
}

body.is-about .aboutGroupements.fnamGroupementsShared{
  padding:0!important;
  scroll-margin-top:0!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceBoard{
  box-shadow:none;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceDesktop{
  display:none;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceCompact{
  display:grid;
}

/* Page À propos — composant Groupements dédié.
   Cette section ne réutilise plus le composant Groupements de l'accueil :
   classes, layout et interaction sont séparés pour éviter les effets de bord
   entre le snap plein écran de l'accueil et les ancres de la page À propos. */
body.is-about .aboutGroupsSection{
  padding:0!important;
  scroll-margin-top:0!important;
}

body.is-about .aboutGroupsBoard{
  --about-groups-night:var(--fnam-bleu-nuit,#21384D);
  --about-groups-bg:var(--bg-section-night,linear-gradient(135deg,#21384D 0%,#274B65 52%,#326191 100%));
  --about-groups-paper:var(--fnam-paper,#f6f1e7);
  --about-groups-paper-soft:#fbf8f1;
  --about-groups-edge:rgba(230,220,198,.88);
  --about-groups-accent:var(--fnam-terracotta,#C77165);
  min-height:var(--about-snap-height,calc(100svh - 124px - 22px));
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  background:var(--about-groups-bg);
  color:var(--about-groups-paper);
  border:1px solid rgba(126,211,229,.22);
  border-radius:4px;
  box-shadow:0 18px 42px rgba(13,31,49,.18);
  overflow:hidden;
}

body.is-about .aboutGroupsHeader{
  padding:clamp(28px,3.2svh,42px) clamp(32px,4vw,64px) clamp(18px,2.4svh,28px);
}

body.is-about .aboutGroupsHeader .eyebrow{
  display:block;
  margin:0 0 clamp(14px,1.8svh,20px);
  color:#7ed3e5!important;
  font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
  font-size:clamp(14px,1.05vw,19px)!important;
  font-weight:800!important;
  letter-spacing:.22em!important;
  text-transform:uppercase;
}

body.is-about .aboutGroupsHeader h2{
  max-width:920px;
  margin:0;
  color:var(--about-groups-paper)!important;
  font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
  font-size:clamp(38px,3.8vw,68px)!important;
  line-height:1!important;
  letter-spacing:0!important;
}

body.is-about .aboutGroupsHeader:after{
  content:"";
  display:block;
  width:min(640px,100%);
  height:3px;
  margin-top:clamp(18px,2.2svh,26px);
  background:var(--about-groups-accent);
}

body.is-about .aboutGroupsBody{
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,420px);
  align-items:stretch;
  gap:clamp(20px,2.2vw,34px);
  padding:0 clamp(28px,4vw,64px) clamp(28px,3.6svh,46px);
}

body.is-about .aboutGroupsLeft{
  min-width:0;
  display:grid;
  align-content:start;
  gap:clamp(18px,2.2svh,28px);
}

body.is-about .aboutGroupFederation{
  min-height:86px;
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  align-items:center;
  gap:22px;
  padding:18px 24px;
  background:var(--about-groups-paper-soft);
  color:var(--about-groups-night);
  border:1px solid var(--about-groups-edge);
  border-radius:6px;
}

body.is-about .aboutGroupFederation img{
  width:54px;
  height:auto;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

body.is-about .aboutGroupFederation strong{
  color:var(--about-groups-night);
  font-family:var(--font-sans,"DM Sans",Arial,sans-serif);
  font-size:clamp(18px,1.5vw,28px);
  line-height:1.28;
}

body.is-about .aboutGroupsFamilies{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(16px,1.5vw,24px);
}

body.is-about .aboutGroupFamily{
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:clamp(18px,1.7vw,26px);
  background:var(--about-groups-paper);
  color:var(--about-groups-night);
  border:1px solid var(--about-groups-edge);
  border-radius:6px;
}

body.is-about .aboutGroupNumber{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  margin-bottom:18px;
  background:var(--about-groups-accent);
  color:#fff;
  border-radius:5px;
  font-weight:900;
}

body.is-about .aboutGroupFamily h3{
  margin:0 0 16px;
  color:var(--about-groups-night)!important;
  font-family:var(--font-serif,"Lora",Georgia,serif)!important;
  font-size:clamp(22px,1.9vw,32px)!important;
  line-height:1.16!important;
  letter-spacing:0!important;
}

body.is-about .aboutGroupStack{
  display:grid;
  gap:14px;
}

body.is-about .aboutGroupButton{
  width:100%;
  min-width:0;
  min-height:86px;
  display:grid;
  grid-template-columns:minmax(54px,32%) minmax(0,1fr);
  align-items:center;
  gap:14px;
  padding:14px 16px;
  background:var(--about-groups-paper-soft);
  color:var(--about-groups-night);
  border:1px solid var(--about-groups-edge);
  border-radius:6px;
  font:inherit;
  text-align:left;
  cursor:pointer;
  box-shadow:none;
}

body.is-about .aboutGroupButton:hover,
body.is-about .aboutGroupButton.active,
body.is-about .aboutGroupButton:focus-visible{
  border-color:var(--about-groups-accent);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--about-groups-accent) 24%,transparent);
  outline:0;
}

body.is-about .aboutGroupButton.active{
  background:color-mix(in srgb,var(--about-groups-accent) 9%,var(--about-groups-paper-soft));
}

body.is-about .aboutGroupLogo{
  width:100%;
  max-width:88px;
  max-height:48px;
  object-fit:contain;
  justify-self:center;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

body.is-about .aboutGroupButtonText{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  color:var(--about-groups-night);
  font-family:var(--font-sans,"DM Sans",Arial,sans-serif);
}

body.is-about .aboutGroupButtonText strong{
  max-width:100%;
  color:var(--about-groups-night)!important;
  font-size:clamp(17px,1.45vw,24px);
  line-height:1.12;
  font-weight:900;
  overflow-wrap:anywhere;
}

body.is-about .aboutGroupButtonText span{
  max-width:100%;
  color:#3f3f3f;
  font-size:clamp(14px,1.05vw,18px);
  line-height:1.28;
  overflow-wrap:anywhere;
}

body.is-about .aboutGroupBadge{
  display:inline-flex;
  margin-top:4px;
  padding:5px 8px;
  background:#f0ddd3;
  color:var(--about-groups-night);
  border:1px solid color-mix(in srgb,var(--about-groups-accent) 46%,var(--about-groups-paper));
  border-radius:5px;
  font-size:12px;
  font-style:normal;
  font-weight:800;
  line-height:1;
}

body.is-about .aboutGroupsDetail{
  min-height:0;
  max-height:100%;
  overflow:auto;
  display:flex;
  flex-direction:column;
  background:var(--about-groups-paper-soft);
  color:var(--about-groups-night);
  border:1px solid var(--about-groups-edge);
  border-radius:6px;
  box-shadow:0 16px 30px rgba(15,27,40,.16);
}

body.is-about .aboutGroupDetailHero{
  min-height:112px;
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  align-items:center;
  gap:20px;
  padding:26px;
  border-bottom:1px solid var(--about-groups-edge);
}

body.is-about .aboutGroupDetailLogo{
  width:100%;
  max-width:96px;
  max-height:58px;
  object-fit:contain;
}

body.is-about .aboutGroupDetailTitle{
  color:var(--about-groups-night);
  font-family:var(--font-serif,"Lora",Georgia,serif);
  font-size:clamp(22px,1.8vw,30px);
  line-height:1.18;
  font-weight:800;
}

body.is-about .aboutGroupDetailBody{
  padding:24px 28px 28px;
}

body.is-about .aboutGroupPresident{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  align-items:center;
  gap:16px;
  margin:0 0 20px;
  padding:16px;
  border:1px solid var(--about-groups-edge);
  border-radius:6px;
}

body.is-about .aboutGroupPresidentPhoto{
  width:64px;
  height:64px;
  object-fit:cover;
  border-radius:4px;
}

body.is-about .aboutGroupPresidentInfo strong{
  color:var(--about-groups-night);
  font-family:var(--font-sans,"DM Sans",Arial,sans-serif);
  font-size:18px;
  line-height:1.2;
}

body.is-about .aboutGroupPresidentInfo span{
  display:block;
  margin-top:5px;
  color:#4a4a4a;
  font-size:16px;
}

body.is-about .aboutGroupInfoBlock{
  padding:18px 0;
  border-top:1px solid var(--about-groups-edge);
}

body.is-about .aboutGroupInfoBlock h4{
  margin:0 0 12px;
  color:var(--about-groups-accent)!important;
  font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
  font-size:14px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase;
}

body.is-about .aboutGroupInfoBlock p,
body.is-about .aboutGroupInfoBlock li{
  color:#424242;
  font-size:16px;
  line-height:1.5;
}

body.is-about .aboutGroupInfoBlock ul{
  margin:0;
  padding-left:20px;
}

body.is-about .aboutGroupLink{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  margin:22px auto 0;
  padding:11px 20px;
  background:var(--about-groups-accent);
  color:#fff!important;
  border:1px solid var(--about-groups-accent);
  border-radius:5px;
  font-family:var(--font-sans,"DM Sans",Arial,sans-serif);
  font-weight:800;
  text-decoration:none;
  text-align:center;
}

@media(max-width:1220px){
  body.is-about .aboutGroupsBody{
    grid-template-columns:1fr;
  }

  body.is-about .aboutGroupsDetail{
    max-height:none;
  }
}

@media(max-width:900px){
  body.is-about .aboutGroupsBoard{
    min-height:0;
  }

  body.is-about .aboutGroupsHeader,
  body.is-about .aboutGroupsBody{
    padding-left:clamp(18px,5vw,28px);
    padding-right:clamp(18px,5vw,28px);
  }

  body.is-about .aboutGroupsFamilies{
    grid-template-columns:1fr;
  }

  body.is-about .aboutGroupButton{
    min-height:78px;
  }
}

@media (max-width:1220px),(max-height:600px){
  .fnamGroupementsShared .groupementsChoiceDesktop{
    display:none;
  }

  .fnamGroupementsShared .groupementsChoiceCompact{
    display:grid;
  }

  .fnamGroupementsShared .groupementsChoiceBody{
    padding-top:18px;
  }

  .fnamGroupementsShared .groupementChoiceFederation{
    min-height:84px;
    grid-template-columns:56px minmax(0,1fr);
    gap:18px;
    padding:18px;
  }
}

@media (max-width:760px){
  .fnamGroupementsShared .groupementsChoiceHeader{
    padding:28px 20px 22px;
  }

  .fnamGroupementsShared .groupementsChoiceHeader h2{
    font-size:clamp(34px,12vw,52px)!important;
  }

  .fnamGroupementsShared .groupementsChoiceBody{
    padding:16px 14px 22px;
  }

  .fnamGroupementsShared .groupementChoiceButton,
  .fnamGroupementsShared .groupementChoiceAccordion summary{
    grid-template-columns:62px minmax(0,1fr);
    gap:14px;
    padding:16px;
  }

  .fnamGroupementsShared .groupementChoiceDetailHero{
    grid-template-columns:78px minmax(0,1fr);
    gap:16px;
  }
}

/* Groupements - recalage desktop v2 */
@media (min-width:1221px) and (min-height:601px){
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared{
    min-height:100svh!important;
    max-height:100svh!important;
    overflow:hidden!important;
    display:flex!important;
    align-items:center!important;
    padding-block:clamp(8px,1.2svh,14px)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared > .container{
    width:min(1480px,calc(100vw - 44px))!important;
    max-width:min(1480px,calc(100vw - 44px))!important;
    padding:0!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader{
    padding:clamp(14px,2svh,20px) clamp(22px,3vw,38px) clamp(10px,1.6svh,16px)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader .eyebrow{
    margin-bottom:8px!important;
    font-size:clamp(12px,1.45svh,15px)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader h2{
    font-size:clamp(36px,6.1svh,56px)!important;
    line-height:.96!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader:after,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsChoiceHeader:after{
    height:5px!important;
    margin-top:clamp(9px,1.6svh,14px)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceBody{
    padding:clamp(12px,1.7svh,16px) clamp(18px,2.4vw,34px) clamp(14px,1.9svh,20px)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceDesktop{
    grid-template-columns:minmax(0,1fr) minmax(300px,360px)!important;
    gap:clamp(16px,2vw,24px)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceLeft{
    gap:clamp(10px,1.5svh,14px)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceFederation{
    min-height:clamp(56px,7svh,70px)!important;
    grid-template-columns:48px minmax(0,1fr)!important;
    gap:14px!important;
    padding:10px 18px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceFederation img{
    width:44px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceFederation strong{
    font-size:clamp(16px,2.2svh,22px)!important;
    line-height:1.2!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceFamilies{
    gap:clamp(12px,1.6vw,18px)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceFamily{
    padding:clamp(12px,1.7svh,16px)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceNumber{
    width:34px!important;
    height:34px!important;
    margin-bottom:8px!important;
    font-size:17px!important;
    border-radius:5px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceFamily h3{
    margin-bottom:10px!important;
    font-size:clamp(19px,2.7svh,25px)!important;
    line-height:1.12!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceStack{
    gap:clamp(8px,1.2svh,11px)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceButton{
    min-height:clamp(72px,9.2svh,84px)!important;
    grid-template-columns:minmax(44px,30%) minmax(0,1fr)!important;
    gap:10px!important;
    padding:10px 12px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceLogo{
    max-width:72px!important;
    max-height:38px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceText,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementChoiceText{
    gap:2px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceText strong{
    font-size:clamp(16px,2.25svh,22px)!important;
    line-height:1.08!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceText span{
    font-size:clamp(12px,1.85svh,16px)!important;
    line-height:1.22!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceBadge{
    margin-top:3px!important;
    padding:4px 7px!important;
    font-size:clamp(10px,1.45svh,12px)!important;
    line-height:1.02!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceDetail{
    position:relative!important;
    top:auto!important;
    max-height:min(620px,calc(100svh - 230px))!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceDetailHero{
    min-height:clamp(66px,9svh,82px)!important;
    grid-template-columns:74px minmax(0,1fr)!important;
    gap:14px!important;
    padding:14px 18px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceDetailLogo,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementChoiceDetailLogo{
    max-width:70px!important;
    max-height:42px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceDetailTitle{
    font-size:clamp(18px,2.4svh,24px)!important;
    line-height:1.12!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceDetailBody,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementChoiceDetailBody{
    padding:14px 18px 18px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupPresident,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupPresident{
    grid-template-columns:48px minmax(0,1fr)!important;
    gap:12px!important;
    margin-bottom:12px!important;
    padding:10px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupPresidentPhoto,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupPresidentPhoto{
    width:48px!important;
    height:48px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupPresidentInfo strong,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupPresidentInfo strong{
    font-size:15px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupPresidentInfo span,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupPresidentInfo span{
    margin-top:3px!important;
    font-size:13px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupInfoBlock{
    padding:10px 0!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupInfoBlock h4,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupInfoBlock h4{
    margin-bottom:7px!important;
    font-size:12px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupInfoBlock p,
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupInfoBlock li{
    font-size:13px!important;
    line-height:1.38!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceLink{
    min-height:38px!important;
    margin-top:12px!important;
    padding:8px 14px!important;
    font-size:13px!important;
  }
}
/* Meme "recalage desktop" que sur l'accueil, applique au clone reutilise
   sur la page "A propos" -- polices/espacements des colonnes et du volet
   de droite. Les regles qui verrouillent la hauteur au snap plein ecran
   de l'accueil (100svh, overflow:hidden, largeur du .container) sont
   volontairement omises : cette page defile normalement. */
@media (min-width:1221px) and (min-height:601px){

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsChoiceHeader{
    padding:clamp(14px,2svh,20px) clamp(22px,3vw,38px) clamp(10px,1.6svh,16px)!important;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsChoiceHeader .eyebrow{
    margin-bottom:8px!important;
    font-size:clamp(12px,1.45svh,15px)!important;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsChoiceHeader h2{
    font-size:clamp(36px,6.1svh,56px)!important;
    line-height:.96!important;
  }

  
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsChoiceBody{
    padding:clamp(12px,1.7svh,16px) clamp(18px,2.4vw,34px) clamp(14px,1.9svh,20px)!important;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsChoiceDesktop{
    grid-template-columns:minmax(0,1fr) minmax(300px,360px)!important;
    gap:clamp(16px,2vw,24px)!important;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsChoiceLeft{
    gap:clamp(10px,1.5svh,14px)!important;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementChoiceFederation{
    min-height:clamp(56px,7svh,70px)!important;
    grid-template-columns:48px minmax(0,1fr)!important;
    gap:14px!important;
    padding:10px 18px!important;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementChoiceFederation img{
    width:44px!important;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementChoiceFederation strong{
    font-size:clamp(16px,2.2svh,22px)!important;
    line-height:1.2!important;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsChoiceFamilies{
    gap:clamp(12px,1.6vw,18px)!important;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementChoiceFamily{
    padding:clamp(12px,1.7svh,16px)!important;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementChoiceNumber{
    width:34px!important;
    height:34px!important;
    margin-bottom:8px!important;
    font-size:17px!important;
    border-radius:5px!important;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementChoiceFamily h3{
    margin-bottom:10px!important;
    font-size:clamp(19px,2.7svh,25px)!important;
    line-height:1.12!important;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementChoiceStack{
    gap:clamp(8px,1.2svh,11px)!important;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementChoiceButton{
    min-height:clamp(72px,9.2svh,84px)!important;
    grid-template-columns:minmax(44px,30%) minmax(0,1fr)!important;
    gap:10px!important;
    padding:10px 12px!important;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementChoiceLogo{
    max-width:72px!important;
    max-height:38px!important;
  }

  
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementChoiceText strong{
    font-size:clamp(16px,2.25svh,22px)!important;
    line-height:1.08!important;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementChoiceText span{
    font-size:clamp(12px,1.85svh,16px)!important;
    line-height:1.22!important;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementChoiceBadge{
    margin-top:3px!important;
    padding:4px 7px!important;
    font-size:clamp(10px,1.45svh,12px)!important;
    line-height:1.02!important;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsChoiceDetail{
    position:relative!important;
    top:auto!important;
    max-height:min(620px,calc(100svh - 230px))!important;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementChoiceDetailHero{
    min-height:clamp(66px,9svh,82px)!important;
    grid-template-columns:74px minmax(0,1fr)!important;
    gap:14px!important;
    padding:14px 18px!important;
  }

  
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementChoiceDetailTitle{
    font-size:clamp(18px,2.4svh,24px)!important;
    line-height:1.12!important;
  }

  
  
  
  
  
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupInfoBlock{
    padding:10px 0!important;
  }

  
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupInfoBlock p,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupInfoBlock li{
    font-size:13px!important;
    line-height:1.38!important;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementChoiceLink{
    min-height:38px!important;
    margin-top:12px!important;
    padding:8px 14px!important;
    font-size:13px!important;
  }
}

@media (min-width:1221px) and (min-height:601px){
  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceDesktop{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(260px,300px)!important;
    align-items:start!important;
    gap:16px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceCompact{
    display:none!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceBody{
    padding:18px 22px 26px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceLeft{
    gap:14px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceFederation{
    min-height:72px!important;
    grid-template-columns:50px minmax(0,1fr)!important;
    gap:14px!important;
    padding:12px 16px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceFederation img{
    width:44px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceFederation strong{
    font-size:clamp(16px,1.55vw,22px)!important;
    line-height:1.22!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceFamilies{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:12px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceFamily{
    padding:14px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceNumber{
    width:36px!important;
    height:36px!important;
    margin-bottom:10px!important;
    font-size:18px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceFamily h3{
    margin-bottom:12px!important;
    font-size:clamp(18px,1.65vw,23px)!important;
    line-height:1.13!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceStack{
    gap:10px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceButton{
    min-height:92px!important;
    grid-template-columns:minmax(42px,30%) minmax(0,1fr)!important;
    gap:10px!important;
    padding:10px 11px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceLogo{
    max-width:64px!important;
    max-height:36px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceText strong{
    font-size:clamp(15px,1.28vw,19px)!important;
    line-height:1.08!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceText span{
    font-size:clamp(12px,1.05vw,15px)!important;
    line-height:1.24!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceBadge{
    margin-top:3px!important;
    padding:4px 6px!important;
    font-size:11px!important;
    line-height:1.02!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceDetail{
    position:sticky!important;
    top:calc(var(--header-h,76px) + 18px)!important;
    max-height:calc(100vh - var(--header-h,76px) - 36px)!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceDetailHero{
    min-height:78px!important;
    grid-template-columns:62px minmax(0,1fr)!important;
    gap:12px!important;
    padding:14px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceDetailLogo{
    max-width:60px!important;
    max-height:38px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceDetailTitle{
    font-size:clamp(18px,1.55vw,23px)!important;
    line-height:1.13!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceDetailBody{
    padding:14px 16px 18px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupPresident{
    grid-template-columns:48px minmax(0,1fr)!important;
    gap:10px!important;
    margin-bottom:12px!important;
    padding:10px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupPresidentPhoto{
    width:48px!important;
    height:48px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupPresidentInfo strong{
    font-size:15px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupPresidentInfo span{
    margin-top:3px!important;
    font-size:13px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupInfoBlock{
    padding:10px 0!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupInfoBlock h4{
    margin-bottom:7px!important;
    font-size:12px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupInfoBlock p,
  body.is-about .aboutGroupements.fnamGroupementsShared .groupInfoBlock li{
    font-size:13px!important;
    line-height:1.38!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceLink{
    min-height:38px!important;
    margin-top:12px!important;
    padding:8px 14px!important;
    font-size:13px!important;
  }
}

/* À propos : les ancres utilisent la même hauteur que le rail fixe gauche. */
html.is-about,
html[data-responsive-mode].is-about,
html[data-responsive-mode="compact"].is-about,
html[data-responsive-mode="mobile"].is-about{
  --about-rail-top:calc(var(--header-height,104px) + var(--sp-5));
  scroll-padding-top:var(--about-rail-top)!important;
}

@media(max-width:900px){
  html.is-about,
  html[data-responsive-mode].is-about,
  html[data-responsive-mode="compact"].is-about,
  html[data-responsive-mode="mobile"].is-about{
    --about-rail-top:calc(var(--header-height,78px) + 82px);
  }
}

/* Contrat commun des pages à sections aimantées.
   Pour éviter les patchs page par page, Accueil, Domaines et Outils FNAM
   utilisent le même socle : le document scrolle, les sections directes font
   une frame de viewport, et l'overflow horizontal est coupé sans casser le
   scroll-snap vertical. */
html.is-snap-page{
  --snap-frame:100svh;
  scroll-snap-type:y mandatory!important;
  scroll-padding-top:0!important;
  overflow-x:clip!important;
  overflow-y:visible!important;
}

body.is-snap-page{
  --snap-frame:100svh;
  overflow-x:clip!important;
  overflow-y:visible!important;
}

body.is-snap-page #main > :where(.home-snap-block,.domainesSnapBlock,.tools-snap-block){
  min-height:var(--snap-frame)!important;
  height:var(--snap-frame)!important;
  padding-block:0!important;
  scroll-snap-align:start!important;
  scroll-snap-stop:always!important;
  scroll-margin-top:0!important;
  overflow:hidden;
}

body.is-snap-page .footer{
  scroll-snap-align:start;
  scroll-snap-stop:normal;
}

@media(max-width:900px){
  html.is-snap-page{
    scroll-snap-type:none!important;
  }

  body.is-snap-page #main > :where(.home-snap-block,.domainesSnapBlock,.tools-snap-block){
    min-height:auto!important;
    height:auto!important;
    overflow:visible;
    scroll-snap-align:none!important;
    scroll-snap-stop:normal!important;
  }
}

/* Outils FNAM : première section vers le mini-hub L'aviation en chiffres. */
.toolsAviationHub{
  min-height:calc(100vh - 74px);
  display:grid;
  align-items:center;
  padding:clamp(42px,5vh,78px) 0;
  background:
    radial-gradient(circle at 78% 18%,rgba(0,163,173,.10),transparent 28%),
    linear-gradient(180deg,var(--fnam-paper-warm,#efe7d6) 0%,#f4ead8 54%,#efe5d3 100%);
}

.toolsAviationHub__inner{
  width:min(1488px,calc(100% - 64px));
}

.toolsAviationHub__grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);
  gap:clamp(28px,3vw,54px);
  align-items:stretch;
}

.toolsAviationHub__copy{
  display:flex;
  min-height:640px;
  flex-direction:column;
  justify-content:center;
}

.toolsAviationHub__copy h2{
  max-width:900px;
  margin:0 0 20px;
  color:var(--fnam-bleu-roi-900,#063964);
  font-family:var(--font-display,'PP Fraktion Sans','Inter',system-ui,sans-serif);
  font-size:clamp(4rem,7.2vw,8.25rem);
  line-height:.88;
  letter-spacing:0;
  font-weight:700;
}

.toolsAviationHub__lead{
  max-width:760px;
  margin:0 0 32px;
  color:#40576e;
  font-size:clamp(1.38rem,2.1vw,2rem);
  line-height:1.28;
  font-weight:760;
}

.toolsAviationHub__question{
  max-width:820px;
  padding:22px 26px;
  border-left:7px solid #c77165;
  border-radius:var(--r-3,8px);
  background:rgba(255,252,248,.72);
  box-shadow:inset 0 0 0 1px rgba(170,192,210,.62);
}

.toolsAviationHub__question span{
  display:block;
  margin-bottom:10px;
  color:#607287;
  font-size:.82rem;
  font-weight:920;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.toolsAviationHub__question strong{
  display:block;
  color:var(--fnam-bleu-roi-900,#063964);
  font-size:clamp(1.75rem,3vw,3rem);
  line-height:1.05;
  letter-spacing:0;
}

.toolsAviationHub__actions .btn{
  border-radius:var(--r-3,8px);
}

.toolsAviationHub__panel{
  display:grid;
  grid-template-rows:auto auto auto 1fr;
  gap:18px;
  min-height:640px;
  padding:28px;
  border:1px solid rgba(170,192,210,.72);
  border-radius:var(--r-3,8px);
  background:
    radial-gradient(circle at 90% 8%,rgba(0,163,173,.16),transparent 28%),
    #fffcf8;
  box-shadow:0 18px 46px rgba(7,28,51,.12);
}

.toolsAviationHub__panelHead h3{
  margin:0 0 8px;
  color:var(--fnam-bleu-roi-900,#063964);
  font-family:var(--font-display,'PP Fraktion Sans','Inter',system-ui,sans-serif);
  font-size:clamp(2.1rem,3vw,3.12rem);
  line-height:1.02;
  letter-spacing:0;
}

.toolsAviationHub__panelHead p{
  margin:0;
  color:#607287;
  line-height:1.45;
  font-weight:740;
}

.toolsAviationHub__counter{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:18px;
  align-items:center;
  padding:22px;
  border:1px solid #ddbfae;
  border-radius:var(--r-3,8px);
  background:#f7eee6;
  box-shadow:inset 7px 0 0 #c77165;
}

.toolsAviationHub__counter strong{
  color:var(--fnam-bleu-roi-900,#063964);
  font-family:var(--font-display,'PP Fraktion Sans','Inter',system-ui,sans-serif);
  font-size:clamp(4.35rem,5.4vw,6.5rem);
  line-height:.84;
  font-weight:800;
}

.toolsAviationHub__counter span{
  color:#6b4b3f;
  font-size:clamp(1.25rem,1.6vw,1.7rem);
  line-height:1.08;
  font-weight:920;
}

.toolsAviationHub__metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.toolsAviationHub__metrics div{
  min-height:116px;
  padding:18px;
  border:1px solid var(--line-strong,#aac0d2);
  border-radius:var(--r-3,8px);
  background:#fff7ed;
}

.toolsAviationHub__metrics strong{
  display:block;
  color:var(--fnam-bleu-roi-900,#063964);
  font-family:var(--font-display,'PP Fraktion Sans','Inter',system-ui,sans-serif);
  font-size:clamp(2.2rem,3vw,3.25rem);
  line-height:1;
}

.toolsAviationHub__metrics span{
  display:block;
  margin-top:10px;
  color:#607287;
  font-size:.88rem;
  line-height:1.15;
  font-weight:850;
}

.toolsAviationHub__themes{
  display:grid;
  gap:9px;
  align-self:end;
  padding-top:4px;
}

.toolsAviationHub__themes div{
  display:grid;
  grid-template-columns:32px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  min-height:50px;
  padding:10px 12px;
  border:1px solid var(--line,#d7e2ec);
  border-radius:var(--r-3,8px);
  background:rgba(255,255,255,.76);
}

.toolsAviationHub__themes i{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  color:#fff;
  border-radius:50%;
  background:var(--fnam-bleu-roi-900,#063964);
  font-style:normal;
  font-size:.75rem;
  font-weight:950;
}

.toolsAviationHub__themes strong{
  color:#102033;
  font-size:.95rem;
  line-height:1.1;
}

.toolsAviationHub__themes span{
  color:#607287;
  font-size:.78rem;
  font-weight:880;
  white-space:nowrap;
}

@media(max-width:1100px){
  .toolsAviationHub__inner{
    width:min(100% - 36px,1488px);
  }

  .toolsAviationHub__grid{
    grid-template-columns:1fr;
  }

  .toolsAviationHub__copy,
  .toolsAviationHub__panel{
    min-height:auto;
  }

}

@media(max-width:760px){
  .toolsAviationHub{
    min-height:auto;
    padding:42px 0;
  }

  .toolsAviationHub__copy h2{
    font-size:clamp(3.25rem,16vw,4.4rem);
  }

  .toolsAviationHub__panel{
    padding:20px;
  }

  .toolsAviationHub__counter,
  .toolsAviationHub__metrics{
    grid-template-columns:1fr;
  }

  .toolsAviationHub__themes div{
    grid-template-columns:32px minmax(0,1fr);
  }

  .toolsAviationHub__themes span{
    grid-column:2;
    white-space:normal;
  }
}

/* Outils FNAM : section Carte interactive CDG. */
.toolsCdgMap{
  display:grid;
  align-items:center;
  min-height:calc(100vh - 102px);
  padding:clamp(42px,5vh,78px) 0;
  background:var(--bg-section-night,linear-gradient(135deg,#21384d 0%,#274b65 52%,#326191 100%));
  color:var(--fnam-paper,#fbf7f1);
}

.toolsCdgMap__inner{
  width:min(100% - 48px,1510px);
}

.toolsCdgMap__grid{
  display:grid;
  grid-template-columns:minmax(570px,1.08fr) minmax(0,.92fr);
  gap:clamp(28px,3vw,54px);
  align-items:stretch;
}

.toolsCdgMap__visual,
.toolsCdgMap__copy{
  min-height:640px;
}

.toolsCdgMap__visual{
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  gap:14px;
}

.toolsCdgMap__search{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:14px 16px;
  border:1px solid rgba(170,192,210,.62);
  border-radius:var(--r-3,8px);
  background:rgba(255,252,248,.78);
  box-shadow:0 10px 26px rgba(7,28,51,.07);
}

.toolsCdgMap__searchIcon{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:999px;
  color:#fff;
  background:#c63f43;
}

.toolsCdgMap__searchIcon svg{
  width:23px;
  height:23px;
  stroke-width:2.4;
}

.toolsCdgMap__searchText{
  display:grid;
  gap:2px;
  min-width:0;
}

.toolsCdgMap__searchText span{
  color:#607287;
  font-size:.76rem;
  font-weight:920;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.toolsCdgMap__searchText strong{
  color:var(--fnam-bleu-roi-900,#063964);
  font-size:1.08rem;
  line-height:1.12;
  letter-spacing:0;
}

.toolsCdgMap__badge{
  justify-self:end;
  padding:8px 12px;
  border:1px solid rgba(112,180,190,.58);
  border-radius:999px;
  background:#fbf7f1;
  color:var(--blue);
  font-size:.82rem;
  font-weight:900;
  white-space:nowrap;
}

.toolsCdgMap__board{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(260px,.92fr);
  gap:12px;
  min-height:0;
}

.toolsCdgMap__map{
  position:relative;
  overflow:hidden;
  min-height:0;
  border:1px solid rgba(170,192,210,.72);
  border-radius:var(--r-3,8px);
  background:
    linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.05)),
    url("../../cartes/csb-insee-cdg/data/poc/pixel_max_airclip/roissy_pays_de_france_trisource_lden_airclip_pixel_max.preview.png") center 54% / auto 178% no-repeat,
    #edf6f8;
  box-shadow:0 18px 40px rgba(7,28,51,.1);
}

.toolsCdgMap__pin{
  position:absolute;
  left:50%;
  top:49%;
  width:24px;
  height:24px;
  border:5px solid #fff;
  border-radius:999px;
  background:#c63f43;
  box-shadow:0 0 0 18px rgba(198,63,67,.18),0 8px 18px rgba(7,28,51,.2);
  transform:translate(-50%,-50%);
}

.toolsCdgMap__popup{
  position:absolute;
  width:min(270px,46%);
  padding:13px;
  border:1px solid rgba(112,180,190,.5);
  border-radius:14px;
  background:rgba(255,255,255,.94);
  box-shadow:0 16px 34px rgba(7,28,51,.18);
  backdrop-filter:blur(8px);
}

.toolsCdgMap__popupEconomic{
  left:18px;
  top:18px;
}

.toolsCdgMap__popupAddress{
  right:18px;
  bottom:18px;
}

.toolsCdgMap__popupKicker{
  margin:0 0 5px;
  color:#c63f43;
  font-size:.68rem;
  font-weight:940;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.toolsCdgMap__popupTitle{
  margin:0;
  color:var(--ink);
  font-size:.96rem;
  font-weight:920;
  line-height:1.13;
}

.toolsCdgMap__popupValue{
  display:grid;
  gap:2px;
  margin:9px 0;
}

.toolsCdgMap__popupValue strong{
  color:var(--blue);
  font-size:2rem;
  line-height:.92;
  letter-spacing:0;
}

.toolsCdgMap__popupValue span,
.toolsCdgMap__popupNote{
  margin:0;
  color:#607287;
  font-size:.75rem;
  font-weight:760;
  line-height:1.2;
}

.toolsCdgMap__popupRows{
  display:grid;
  gap:5px;
}

.toolsCdgMap__popupRows div{
  display:flex;
  justify-content:space-between;
  gap:8px;
  padding:5px 0 0;
  border-top:1px solid rgba(112,180,190,.22);
}

.toolsCdgMap__popupRows span{
  color:#607287;
  font-size:.72rem;
  font-weight:820;
}

.toolsCdgMap__popupRows strong{
  color:var(--ink);
  font-size:.78rem;
  font-weight:940;
  text-align:right;
}

.toolsCdgMap__cards{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:12px;
  min-height:0;
}

.toolsCdgMap__card{
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  gap:11px;
  padding:18px;
  border:1px solid rgba(170,192,210,.72);
  border-radius:var(--r-3,8px);
  background:
    linear-gradient(135deg,rgba(255,252,248,.98),rgba(255,252,248,.9)),
    radial-gradient(circle at 90% 12%,rgba(198,63,67,.12),transparent 34%);
  box-shadow:0 12px 30px rgba(7,28,51,.08);
}

.toolsCdgMap__card h3{
  margin:0;
  color:var(--fnam-bleu-roi-900,#063964);
  font-family:var(--font-display,'PP Fraktion Sans','Inter',system-ui,sans-serif);
  font-size:clamp(1.85rem,2.2vw,2.55rem);
  line-height:1.02;
  letter-spacing:0;
  font-weight:700;
}

.toolsCdgMap__rows{
  display:grid;
  gap:8px;
}

.toolsCdgMap__rows div{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1fr);
  gap:12px;
  align-items:center;
  min-height:44px;
  padding:9px 11px;
  border:1px solid rgba(112,180,190,.24);
  border-radius:12px;
  background:rgba(255,255,255,.74);
}

.toolsCdgMap__rows span{
  color:#607287;
  font-size:.86rem;
  font-weight:880;
  line-height:1.08;
}

.toolsCdgMap__rows strong{
  color:var(--fnam-bleu-roi-900,#063964);
  font-size:.94rem;
  font-weight:950;
  line-height:1.08;
}

.toolsCdgMap__inseeViz{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:auto;
}

.toolsCdgMap__inseeViz div{
  display:grid;
  place-items:center;
  min-height:48px;
  border-radius:12px;
  background:#edf6f8;
  color:var(--blue);
}

.toolsCdgMap__inseeViz b{
  font-size:1.3rem;
  line-height:1;
}

.toolsCdgMap__inseeViz span,
.toolsCdgMap__modeChips span{
  color:#607287;
  font-size:.68rem;
  font-weight:880;
}

.toolsCdgMap__noiseViz{
  margin-top:auto;
  display:grid;
  gap:9px;
}

.toolsCdgMap__noiseBands{
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr 1.08fr 1.16fr 1.24fr 1.32fr;
  height:48px;
  border-radius:12px;
  border:1px solid rgba(112,180,190,.28);
}

.toolsCdgMap__noiseBands span:nth-child(1){background:#cff8b8;}
.toolsCdgMap__noiseBands span:nth-child(2){background:#fff58d;}
.toolsCdgMap__noiseBands span:nth-child(3){background:#ffc566;}
.toolsCdgMap__noiseBands span:nth-child(4){background:#f78476;}
.toolsCdgMap__noiseBands span:nth-child(5){background:#c25bbb;}

.toolsCdgMap__modeChips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.toolsCdgMap__modeChips span{
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(112,180,190,.26);
}

.toolsCdgMap__copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}

.toolsCdgMap__copy .eyebrow{
  color:#7ed3e5;
}

.toolsCdgMap__copy h2{
  max-width:920px;
  margin:0 0 20px;
  color:#FBF7F1;
  font-family:var(--font-display,'PP Fraktion Sans','Inter',system-ui,sans-serif);
  font-size:clamp(3.55rem,5.4vw,6.65rem);
  line-height:.88;
  letter-spacing:0;
  font-weight:700;
}

.toolsCdgMap__copy p{
  max-width:780px;
  margin:0 0 6px;
  color:rgba(251,247,241,.84);
  font-size:clamp(1.28rem,1.85vw,1.82rem);
  line-height:1.28;
  font-weight:760;
}

.toolsCdgMap__features{
  display:grid;
  gap:9px;
  width:100%;
  margin:26px 0;
}

.toolsCdgMap__features div{
  display:grid;
  grid-template-columns:32px minmax(0,.46fr) minmax(0,1fr);
  gap:12px;
  align-items:center;
  min-height:50px;
  padding:10px 12px;
  border:1px solid rgba(251,247,241,.18);
  border-radius:var(--r-3,8px);
  background:rgba(251,247,241,.08);
}

.toolsCdgMap__features i{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:var(--fnam-paper,#fbf7f1);
  color:var(--fnam-bleu-roi-900,#063964);
  font-style:normal;
  font-size:.75rem;
  font-weight:950;
}

.toolsCdgMap__features strong{
  color:var(--fnam-paper,#fbf7f1);
  font-size:.95rem;
  line-height:1.1;
}

.toolsCdgMap__features span{
  color:rgba(251,247,241,.72);
  font-size:.78rem;
  font-weight:880;
  line-height:1.2;
}

@media(max-width:1180px){
  .toolsCdgMap{
    min-height:auto;
    padding:46px 0;
  }

  .toolsCdgMap__grid{
    grid-template-columns:1fr;
  }

  .toolsCdgMap__visual,
  .toolsCdgMap__copy{
    min-height:auto;
  }

  .toolsCdgMap__map{
    min-height:520px;
  }
}

@media(max-width:760px){
  .toolsCdgMap__inner{
    width:min(100% - 28px,1510px);
  }

  .toolsCdgMap__board{
    grid-template-columns:1fr;
  }

  .toolsCdgMap__search{
    grid-template-columns:42px minmax(0,1fr);
  }

  .toolsCdgMap__badge{
    grid-column:2;
    justify-self:start;
  }

  .toolsCdgMap__map{
    min-height:520px;
  }

  .toolsCdgMap__copy h2{
    font-size:clamp(3.05rem,14vw,4.2rem);
  }

  .toolsCdgMap__copy p{
    font-size:clamp(1.12rem,5.4vw,1.45rem);
  }

  .toolsCdgMap__popup{
    width:min(245px,70%);
  }

  .toolsCdgMap__popupEconomic{
    left:12px;
    top:12px;
  }

  .toolsCdgMap__popupAddress{
    right:12px;
    bottom:12px;
  }

  .toolsCdgMap__rows div,
  .toolsCdgMap__features div{
    grid-template-columns:1fr;
  }

  .toolsCdgMap__features i{
    display:none;
  }
}

/* Outils FNAM : entrée légère vers le module autonome Carte CSB x INSEE CDG. */
.toolsMapSection{
  padding-top:0;
  background:linear-gradient(180deg,var(--fond),rgba(112,180,190,.12));
}

.toolsMapSection .compactHead{
  align-items:center;
}

.toolsMapCard{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);
  gap:20px;
  padding:28px;
  border:1px solid rgba(112,180,190,.58);
  border-radius:var(--r);
  background:
    linear-gradient(135deg,rgba(251,247,241,.96),rgba(251,247,241,.86)),
    radial-gradient(circle at 88% 18%,rgba(80,146,182,.18),transparent 32%);
  box-shadow:0 14px 34px rgba(7,28,51,.08);
}

.toolsMapCard h3{
  margin:12px 0 10px;
  color:var(--ink);
  font-size:2rem;
  line-height:1.05;
  letter-spacing:0;
}

.toolsMapCard p{
  margin:0;
  color:var(--muted);
}

.toolsMapFacts{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}

.toolsMapFacts span{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:6px 10px;
  border-radius:999px;
  background:var(--pale);
  color:var(--blue2);
  font-weight:850;
  font-size:.86rem;
}

.toolsMapCardSide{
  display:grid;
  align-content:start;
  gap:12px;
  padding:20px;
  border-radius:calc(var(--r) - 6px);
  background:rgba(255,255,255,.58);
  border:1px solid rgba(112,180,190,.44);
}

.toolsMapCardSide strong{
  color:var(--blue);
  font-size:1.05rem;
}

@media(max-width:900px){
  .toolsMapCard{
    grid-template-columns:1fr;
    padding:20px;
  }

  .toolsMapSection .compactHead{
    align-items:start;
  }
}

/* Outils FNAM — adaptation au contrat plein écran.
   Les sections 1 et 2 sont resserrées à l'intérieur de la frame commune :
   on ajuste les tailles internes, pas la mécanique de snap. */
body.is-tools{
  background:var(--bg-section-night,linear-gradient(135deg,#21384d 0%,#274b65 52%,#326191 100%));
}

body.is-tools #main > .tools-snap-block{
  display:grid!important;
  align-items:stretch!important;
}

body.is-tools .toolsAviationHub,
body.is-tools .toolsConventionGateway,
body.is-tools .toolsCdgMap{
  --tools-safe-top:clamp(90px,10svh,118px);
  --tools-safe-bottom:clamp(18px,2.4svh,34px);
  padding:0!important;
}

body.is-tools .toolsCdgMap{
  background:
    radial-gradient(circle at 78% 18%,rgba(0,163,173,.10),transparent 28%),
    linear-gradient(180deg,var(--fnam-paper-warm,#efe7d6) 0%,#f4ead8 54%,#efe5d3 100%)!important;
  color:var(--fnam-bleu-roi-900,#063964)!important;
}

body.is-tools .toolsAviationHub__inner,
body.is-tools .toolsConventionGateway__inner,
body.is-tools .toolsCdgMap__inner{
  width:min(1508px,calc(100vw - 56px))!important;
  height:100%!important;
  display:grid!important;
  align-items:stretch!important;
  padding-top:var(--tools-safe-top)!important;
  padding-bottom:var(--tools-safe-bottom)!important;
}

body.is-tools .toolsAviationHub__grid,
body.is-tools .toolsConventionGateway__grid,
body.is-tools .toolsCdgMap__grid{
  min-height:0!important;
  height:100%!important;
  max-height:calc(100svh - var(--tools-safe-top) - var(--tools-safe-bottom))!important;
}

body.is-tools .toolsAviationHub__copy,
body.is-tools .toolsAviationHub__panel,
body.is-tools .toolsConventionGateway__copy,
body.is-tools .toolsConventionGateway__panel,
body.is-tools .toolsCdgMap__visual,
body.is-tools .toolsCdgMap__copy{
  min-height:0!important;
  height:100%!important;
}

body.is-tools .toolsConventionGateway{
  --tools-safe-top:clamp(64px,7.2svh,84px);
  --tools-safe-bottom:clamp(16px,2svh,28px);
}

body.is-tools .toolsConventionGateway__inner{
  align-items:center!important;
}

body.is-tools .toolsConventionGateway__grid{
  height:auto!important;
  align-items:center!important;
  max-height:calc(100svh - var(--tools-safe-top) - var(--tools-safe-bottom))!important;
}

body.is-tools .toolsConventionGateway__copy,
body.is-tools .toolsConventionGateway__panel{
  height:auto!important;
  align-self:center!important;
}

body.is-tools .toolsConventionGateway__panel{
  max-height:min(620px,calc(100svh - var(--tools-safe-top) - var(--tools-safe-bottom) - 12px));
}

body.is-tools .toolsAviationHub__copy h2{
  font-size:clamp(3.65rem,5.9vw,6.7rem);
  margin-bottom:clamp(14px,1.6svh,20px);
}

body.is-tools .toolsAviationHub__copy{
  display:grid!important;
  grid-template-rows:auto auto auto!important;
  align-content:start!important;
  row-gap:clamp(22px,3.2svh,38px)!important;
}

body.is-tools .toolsAviationHub__mainStack{
  display:grid;
  gap:clamp(12px,1.6svh,20px);
  align-content:start;
  margin-top:clamp(38px,7svh,2cm);
}

body.is-tools .toolsAviationHub__titleBlock{
  display:grid;
  gap:9px;
  align-content:start;
}

body.is-tools .toolsAviationHub__titleBlock .eyebrow,
body.is-tools .toolsAviationHub__titleBlock h2,
body.is-tools .toolsAviationHub__lead{
  margin-top:0!important;
  margin-bottom:0!important;
}

body.is-tools .toolsAviationHub__lead{
  font-size:clamp(1.18rem,1.65vw,1.68rem);
}

body.is-tools .toolsAviationHub__question{
  padding:clamp(16px,1.8svh,22px) clamp(18px,1.7vw,26px);
}

body.is-tools .toolsAviationHub__question strong{
  font-size:clamp(1.45rem,2.25vw,2.35rem);
}

body.is-tools .toolsAviationHub__actions{
  margin-top:0!important;
}

body.is-tools .toolsAviationHub__panel{
  gap:clamp(10px,1.25svh,16px);
  padding:clamp(18px,2svh,26px);
}

body.is-tools .toolsAviationHub__panelHead h3{
  font-size:clamp(1.8rem,2.3vw,2.62rem);
}

body.is-tools .toolsAviationHub__counter{
  padding:clamp(14px,1.55svh,20px);
}

body.is-tools .toolsAviationHub__counter strong{
  font-size:clamp(3.4rem,4.4vw,5.25rem);
}

body.is-tools .toolsAviationHub__counter span{
  font-size:clamp(1.02rem,1.28vw,1.34rem);
}

body.is-tools .toolsAviationHub__metrics div{
  min-height:clamp(82px,11svh,108px);
  padding:clamp(12px,1.4svh,17px);
}

body.is-tools .toolsAviationHub__metrics strong{
  font-size:clamp(1.8rem,2.35vw,2.8rem);
}

body.is-tools .toolsAviationHub__themes{
  gap:clamp(7px,.95svh,9px);
}

body.is-tools .toolsAviationHub__themes div{
  min-height:clamp(42px,5.6svh,50px);
  padding:8px 10px;
}

.toolsConventionGateway{
  background:var(--bg-section-night,linear-gradient(135deg,#21384d 0%,#274b65 52%,#326191 100%));
  color:var(--fond,#fbf7f1);
}

.toolsConventionGateway__inner{
  display:grid;
  align-items:center;
}

.toolsConventionGateway__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(400px,.68fr);
  gap:clamp(24px,3.4vw,58px);
  align-items:center;
}

.toolsConventionGateway__copy,
.toolsConventionGateway__panel{
  border:1px solid rgba(126,211,229,.42);
  border-radius:24px;
  background:rgba(251,247,241,.08);
  box-shadow:0 24px 70px rgba(7,30,52,.22);
}

.toolsConventionGateway__copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(22px,3.1vw,42px);
}

.toolsConventionGateway__copy .eyebrow{
  color:#7ed3e5;
}

.toolsConventionGateway__copy h2{
  margin:0 0 clamp(12px,1.45vw,18px);
  max-width:13ch;
  font-family:var(--font-display);
  font-size:clamp(2.7rem,4.6vw,5.15rem);
  line-height:1.02;
  color:var(--fond,#fbf7f1);
}

.toolsConventionGateway__lead{
  max-width:760px;
  margin:0 0 clamp(16px,1.8vw,24px);
  font-size:clamp(1.02rem,1.28vw,1.34rem);
  line-height:1.38;
  color:rgba(251,247,241,.84);
}

.toolsConventionGateway__ticker{
  width:min(720px,100%);
  min-height:104px;
  margin:0 0 clamp(16px,2vw,24px);
  padding:16px 18px;
  border-left:7px solid var(--fnam-terracotta,#c77165);
  border-radius:12px;
  background:rgba(251,247,241,.1);
  box-shadow:inset 0 0 0 1px rgba(251,247,241,.14);
  overflow:hidden;
  transition:height .2s ease;
}

.toolsConventionGateway__ticker span,
.toolsConventionGateway__ticker em,
.toolsConventionGateway__ticker strong{
  display:block;
}

.toolsConventionGateway__ticker span{
  margin-bottom:8px;
  color:rgba(251,247,241,.68);
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.toolsConventionGateway__ticker strong{
  color:var(--fond,#fbf7f1);
  font-family:var(--font-display);
  font-size:clamp(1.3rem,1.9vw,2.2rem);
  line-height:1.08;
  overflow-wrap:anywhere;
  transition:opacity .22s ease,transform .22s ease;
}

.toolsConventionGateway__ticker strong.isChanging{
  opacity:0;
  transform:translateY(6px);
}

.toolsConventionGateway__ticker em{
  margin-top:8px;
  color:rgba(251,247,241,.68);
  font-style:normal;
  font-weight:750;
  font-size:.95rem;
  line-height:1.25;
}

.toolsConventionGateway__actions{
  margin-bottom:clamp(14px,1.8vw,22px);
}

.toolsConventionGateway__promise{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.toolsConventionGateway__promise article{
  min-height:104px;
  padding:14px;
  border:1px solid rgba(126,211,229,.34);
  border-radius:18px;
  background:rgba(251,247,241,.1);
}

.toolsConventionGateway__promise strong,
.toolsConventionGateway__promise span{
  display:block;
}

.toolsConventionGateway__promise strong{
  margin-bottom:6px;
  font-size:1rem;
  color:var(--fond,#fbf7f1);
}

.toolsConventionGateway__promise span{
  color:rgba(251,247,241,.72);
  font-size:.94rem;
  line-height:1.35;
}

.toolsConventionGateway__panel{
  display:grid;
  grid-template-rows:auto auto auto;
  gap:16px;
  padding:clamp(20px,2.5vw,30px);
  background:linear-gradient(180deg,rgba(251,247,241,.96),rgba(239,247,249,.92));
  color:var(--bleu,#0b2a4a);
}

.toolsConventionGateway__panelHead span{
  display:inline-flex;
  margin-bottom:14px;
  padding:8px 14px;
  border-radius:999px;
  background:var(--fnam-terracotta,#c77165);
  color:#fff;
  font-weight:800;
}

.toolsConventionGateway__panelHead h3{
  margin:0 0 8px;
  font-family:var(--font-display);
  font-size:clamp(1.75rem,2.4vw,2.85rem);
  line-height:1.02;
  color:var(--bleu,#0b2a4a);
}

.toolsConventionGateway__panelHead p{
  margin:0;
  color:var(--fg-2,#49677f);
  font-size:clamp(1rem,1.25vw,1.22rem);
  line-height:1.36;
}

.toolsConventionGateway__counter{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:16px;
  align-items:center;
  min-height:126px;
  padding:16px 18px;
  border:1px solid var(--editorial-warm-line,#ddbfae);
  border-radius:12px;
  background:var(--editorial-warm,#f7eee6);
  box-shadow:inset 6px 0 0 var(--fnam-terracotta,#c77165);
}

.toolsConventionGateway__counter strong{
  color:var(--bleu,#0b2a4a);
  font-size:clamp(3rem,4.1vw,4.6rem);
  line-height:.86;
  font-weight:950;
}

.toolsConventionGateway__counter span{
  color:#6b4b3f;
  font-size:clamp(1.08rem,1.45vw,1.45rem);
  line-height:1.1;
  font-weight:920;
}

.toolsConventionGateway__stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  align-content:end;
}

.toolsConventionGateway__stats div{
  min-height:82px;
  padding:14px;
  border:1px solid rgba(112,180,190,.42);
  border-radius:12px;
  background:rgba(255,255,255,.72);
}

.toolsConventionGateway__stats strong,
.toolsConventionGateway__stats span{
  display:block;
}

.toolsConventionGateway__stats strong{
  margin-bottom:8px;
  font-size:clamp(1.8rem,2.6vw,3.15rem);
  line-height:1;
  color:var(--bleu,#0b2a4a);
}

.toolsConventionGateway__stats span{
  color:var(--fg-2,#49677f);
  font-weight:700;
  line-height:1.25;
}

body.is-tools .toolsCdgMap__grid{
  grid-template-columns:minmax(0,.95fr) minmax(540px,1.05fr);
}

body.is-tools .toolsCdgMap__visual{
  order:2;
  grid-template-rows:auto minmax(0,1fr);
}

body.is-tools .toolsCdgMap__copy{
  order:1;
}

body.is-tools .toolsCdgMap__copy .eyebrow{
  color:var(--fnam-blue-grey,#5092b6)!important;
}

body.is-tools .toolsCdgMap__copy h2{
  color:var(--fnam-bleu-roi-900,#063964)!important;
}

body.is-tools .toolsCdgMap__copy p{
  color:#40576e!important;
}

body.is-tools .toolsCdgMap__board{
  grid-template-columns:minmax(0,1.08fr) minmax(240px,.82fr);
}

body.is-tools .toolsCdgMap__search{
  padding:clamp(10px,1.25svh,14px) clamp(12px,1.2vw,16px);
}

body.is-tools .toolsCdgMap__map{
  min-height:0!important;
}

body.is-tools .toolsCdgMap__card{
  gap:clamp(7px,.85svh,10px);
  padding:clamp(13px,1.45svh,18px);
}

body.is-tools .toolsCdgMap__card h3{
  font-size:clamp(1.5rem,1.75vw,2.12rem);
}

body.is-tools .toolsCdgMap__rows{
  gap:clamp(5px,.75svh,8px);
}

body.is-tools .toolsCdgMap__rows div{
  min-height:clamp(34px,4.8svh,44px);
  padding:clamp(6px,.85svh,9px) 10px;
}

body.is-tools .toolsCdgMap__copy h2{
  font-size:clamp(3.05rem,4.75vw,5.65rem);
  margin-bottom:clamp(14px,1.6svh,20px);
}

body.is-tools .toolsCdgMap__copy p{
  font-size:clamp(1.12rem,1.5vw,1.5rem);
}

body.is-tools .toolsCdgMap__features{
  gap:clamp(7px,.9svh,9px);
  margin:clamp(18px,2.4svh,26px) 0;
}

body.is-tools .toolsCdgMap__features div{
  min-height:clamp(42px,5.6svh,50px);
  padding:8px 10px;
  border-color:var(--line,#d7e2ec)!important;
  background:rgba(255,255,255,.76)!important;
}

body.is-tools .toolsCdgMap__features i{
  background:var(--fnam-bleu-roi-900,#063964)!important;
  color:#fff!important;
}

body.is-tools .toolsCdgMap__features strong{
  color:#102033!important;
}

body.is-tools .toolsCdgMap__features span{
  color:#607287!important;
}

body.is-tools .toolsEnvRestrictions{
  --tools-safe-top:clamp(90px,10svh,118px);
  --tools-safe-bottom:clamp(18px,2.4svh,34px);
  overflow:hidden!important;
  padding:0!important;
  background:
    radial-gradient(circle at 78% 18%,rgba(0,163,173,.10),transparent 28%),
    linear-gradient(180deg,var(--fnam-paper-warm,#efe7d6) 0%,#f4ead8 54%,#efe5d3 100%)!important;
  color:var(--fnam-bleu-roi-900,#063964)!important;
}

body.is-tools .toolsEnvRestrictions__inner{
  width:min(1508px,calc(100vw - 56px))!important;
  height:100%!important;
  display:grid!important;
  align-items:stretch!important;
  padding-top:var(--tools-safe-top)!important;
  padding-bottom:var(--tools-safe-bottom)!important;
}

body.is-tools .toolsEnvRestrictions__grid{
  min-height:0!important;
  height:100%!important;
  max-height:calc(100svh - var(--tools-safe-top) - var(--tools-safe-bottom))!important;
  display:grid;
  grid-template-columns:minmax(610px,.92fr) minmax(620px,1.08fr);
  gap:clamp(24px,2.4vw,42px);
  align-items:stretch;
}

body.is-tools .toolsEnvRestrictions__copy,
body.is-tools .toolsEnvRestrictions__visual{
  min-height:0!important;
  height:100%!important;
}

body.is-tools .toolsEnvRestrictions__copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}

body.is-tools .toolsEnvRestrictions__copy .eyebrow{
  color:var(--fnam-blue-grey,#5092b6)!important;
}

body.is-tools .toolsEnvRestrictions__copy h2{
  max-width:13.6ch;
  margin:0 0 clamp(14px,1.6svh,20px);
  color:var(--fnam-bleu-roi-900,#063964);
  font-family:var(--font-display,'PP Fraktion Sans','Inter',system-ui,sans-serif);
  font-size:clamp(3rem,3.9vw,4.72rem);
  line-height:.9;
  letter-spacing:0;
  font-weight:700;
}

body.is-tools .toolsEnvRestrictions__copy h2 span{
  display:block;
  white-space:nowrap;
}

body.is-tools .toolsEnvRestrictions__lead{
  max-width:820px;
  margin:0;
  color:#40576e;
  font-size:clamp(1.12rem,1.5vw,1.5rem);
  line-height:1.28;
  font-weight:760;
}

body.is-tools .toolsEnvRestrictions__features{
  display:grid;
  gap:clamp(7px,.9svh,9px);
  width:100%;
  margin:clamp(18px,2.4svh,26px) 0;
}

body.is-tools .toolsEnvRestrictions__features div{
  display:grid;
  grid-template-columns:32px minmax(0,.44fr) minmax(0,1fr);
  gap:12px;
  align-items:center;
  min-height:clamp(42px,5.6svh,50px);
  padding:8px 10px;
  border:1px solid var(--line,#d7e2ec);
  border-radius:var(--r-3,8px);
  background:rgba(255,255,255,.76);
}

body.is-tools .toolsEnvRestrictions__features i{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:var(--fnam-bleu-roi-900,#063964);
  color:#fff;
  font-style:normal;
  font-size:.75rem;
  font-weight:950;
}

body.is-tools .toolsEnvRestrictions__features strong{
  color:#102033;
  font-size:.95rem;
  line-height:1.1;
}

body.is-tools .toolsEnvRestrictions__features span{
  color:#607287;
  font-size:.78rem;
  font-weight:880;
  line-height:1.2;
}

body.is-tools .toolsEnvRestrictions__dataLine{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  max-width:760px;
  margin:0 0 clamp(12px,1.4svh,18px);
  color:#607287;
  font-size:.84rem;
  line-height:1.2;
  font-weight:850;
}

body.is-tools .toolsEnvRestrictions__dataLine span{
  width:100%;
  color:#607287;
  font-size:.7rem;
  line-height:1;
  font-weight:920;
  letter-spacing:.12em;
  text-transform:uppercase;
}

body.is-tools .toolsEnvRestrictions__dataLine strong{
  color:var(--fnam-bleu-roi-900,#063964);
  font-weight:950;
}

body.is-tools .toolsEnvRestrictions__dataLine i{
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--fnam-rouge,#be3c3f);
}

body.is-tools .toolsEnvRestrictions__copy > .btn{
  min-height:48px;
  border-radius:var(--r-3,8px);
}

body.is-tools .toolsEnvRestrictions__visual{
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  gap:14px;
}

body.is-tools .toolsEnvRestrictions__search{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:14px 16px;
  border:1px solid rgba(170,192,210,.62);
  border-radius:var(--r-3,8px);
  background:rgba(255,252,248,.78);
  box-shadow:0 10px 26px rgba(7,28,51,.07);
}

body.is-tools .toolsEnvRestrictions__searchIcon{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:999px;
  color:#fff;
  background:var(--fnam-rouge,#be3c3f);
}

body.is-tools .toolsEnvRestrictions__searchIcon svg{
  width:23px;
  height:23px;
  stroke-width:2.4;
}

body.is-tools .toolsEnvRestrictions__searchText{
  display:grid;
  gap:2px;
  min-width:0;
}

body.is-tools .toolsEnvRestrictions__searchText span{
  color:#607287;
  font-size:.76rem;
  font-weight:920;
  letter-spacing:.12em;
  text-transform:uppercase;
}

body.is-tools .toolsEnvRestrictions__searchText strong{
  color:var(--fnam-bleu-roi-900,#063964);
  font-size:1.08rem;
  line-height:1.12;
  letter-spacing:0;
}

body.is-tools .toolsEnvRestrictions__badge{
  justify-self:end;
  padding:8px 12px;
  border:1px solid rgba(112,180,190,.58);
  border-radius:999px;
  background:var(--fnam-paper,#fbf7f1);
  color:var(--blue,#326191);
  font-size:.82rem;
  font-weight:900;
  white-space:nowrap;
}

body.is-tools .toolsEnvRestrictions__board{
  position:relative;
  min-height:0;
  overflow:hidden;
  border:1px solid rgba(170,192,210,.72);
  border-radius:var(--r-3,8px);
  background:
    radial-gradient(circle at 45% 45%,rgba(255,255,255,.70),rgba(229,240,240,.88) 46%,#dcebef 100%);
  box-shadow:0 22px 58px rgba(7,28,51,.16);
}

body.is-tools .toolsEnvRestrictions__mapPhoto{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(1.02) contrast(1.01);
  transform:scale(1.2);
}

body.is-tools .toolsEnvRestrictions__board:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(232,242,242,.08),rgba(232,242,242,0) 38%,rgba(232,242,242,.10));
  pointer-events:none;
}

body.is-tools .toolsEnvRestrictions__detailCard{
  position:absolute;
  right:clamp(18px,2vw,28px);
  bottom:clamp(18px,2vw,28px);
  width:min(360px,42%);
  padding:18px 20px 20px;
  border:1px solid rgba(170,192,210,.72);
  border-radius:18px;
  background:rgba(255,255,255,.94);
  box-shadow:0 22px 50px rgba(7,28,51,.19);
  backdrop-filter:blur(8px);
  z-index:2;
  transform:scale(.5);
  transform-origin:right bottom;
}

body.is-tools .toolsEnvRestrictions__detailCard h3{
  margin:0;
  color:#1f3042;
  font-family:var(--font-display,'PP Fraktion Sans','Inter',system-ui,sans-serif);
  font-size:1.52rem;
  line-height:1;
  letter-spacing:0;
}

body.is-tools .toolsEnvRestrictions__detailCard > p{
  margin:6px 0 12px;
  color:#687789;
  font-size:.86rem;
  font-weight:900;
}

body.is-tools .toolsEnvRestrictions__pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
  padding:7px 11px;
  border-radius:999px;
  background:#f1e7d7;
  color:#65461d;
  font-size:.82rem;
  font-weight:900;
  line-height:1;
}

body.is-tools .toolsEnvRestrictions__matrixTitle{
  margin:0 0 7px;
  color:#687789;
  font-size:.74rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:950;
}

body.is-tools .toolsEnvRestrictions__hours{
  display:grid;
  grid-template-columns:38px repeat(10,1fr);
  gap:0;
  align-items:center;
  margin-bottom:12px;
  color:#687789;
  font-weight:900;
}

body.is-tools .toolsEnvRestrictions__hours span{
  min-height:20px;
  display:grid;
  place-items:center;
  font-size:.62rem;
}

body.is-tools .toolsEnvRestrictions__hours b{
  min-height:22px;
  display:flex;
  align-items:center;
  color:#4b5a6c;
  font-size:.76rem;
}

body.is-tools .toolsEnvRestrictions__slot{
  height:22px;
  border-right:2px solid rgba(255,255,255,.72);
  background:#f6dfaa;
}

body.is-tools .toolsEnvRestrictions__slot--clear{background:#bfe3a8;}
body.is-tools .toolsEnvRestrictions__slot--closed{background:#d9514f;}

body.is-tools .toolsEnvRestrictions__facts{
  display:grid;
  gap:6px;
  padding-top:11px;
  border-top:2px solid rgba(170,192,210,.42);
}

body.is-tools .toolsEnvRestrictions__facts div{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:10px;
  align-items:baseline;
}

body.is-tools .toolsEnvRestrictions__facts span{
  color:#40576e;
  font-size:.84rem;
}

body.is-tools .toolsEnvRestrictions__facts strong{
  color:#1f3042;
  font-size:.88rem;
  line-height:1.12;
  text-align:right;
}

body.is-tools .toolsEnvRestrictions__detailCard .btn{
  width:100%;
  margin-top:14px;
  min-height:44px;
  padding:10px 14px;
  border-radius:var(--r-3,8px);
  background:var(--blue,#326191);
  border-color:var(--blue,#326191);
  color:#fff;
}

@media(max-width:1180px) and (min-width:901px){
  body.is-tools .toolsEnvRestrictions__inner{
    width:min(100% - 36px,1508px)!important;
  }

  body.is-tools .toolsEnvRestrictions__grid{
    grid-template-columns:minmax(470px,.92fr) minmax(420px,1.08fr);
    gap:24px;
  }

  body.is-tools .toolsEnvRestrictions__copy h2{
    font-size:clamp(2.65rem,4.8vw,4.1rem);
  }

  body.is-tools .toolsEnvRestrictions__lead{
    font-size:1.05rem;
  }
}

@media(max-width:900px){
  body.is-tools .toolsEnvRestrictions{
    display:none!important;
  }
}

body.is-tools .toolsMapSection{
  display:grid!important;
  align-items:center!important;
  background:linear-gradient(180deg,var(--fond),rgba(112,180,190,.12));
}

body.is-tools .toolsMapSection > .container{
  width:min(1180px,calc(100vw - 56px));
}

@media(max-width:1180px){
  body.is-tools .toolsAviationHub__inner,
  body.is-tools .toolsConventionGateway__inner,
  body.is-tools .toolsCdgMap__inner{
    width:min(100% - 36px,1508px)!important;
    height:auto!important;
    padding-top:46px!important;
    padding-bottom:46px!important;
  }

  body.is-tools .toolsAviationHub__grid,
  body.is-tools .toolsConventionGateway__grid,
  body.is-tools .toolsCdgMap__grid{
    height:auto!important;
    max-height:none!important;
  }

  body.is-tools .toolsAviationHub__copy,
  body.is-tools .toolsAviationHub__panel,
  body.is-tools .toolsConventionGateway__copy,
  body.is-tools .toolsConventionGateway__panel,
  body.is-tools .toolsCdgMap__visual,
  body.is-tools .toolsCdgMap__copy{
    height:auto!important;
  }

  .toolsConventionGateway__grid{
    grid-template-columns:1fr;
  }

  .toolsConventionGateway__copy h2{
    max-width:none;
  }

  .toolsConventionGateway__promise{
    grid-template-columns:1fr;
  }
}

@media(max-width:720px){
  .toolsConventionGateway__copy,
  .toolsConventionGateway__panel{
    border-radius:18px;
    padding:22px;
  }

  .toolsConventionGateway__stats{
    grid-template-columns:1fr;
  }

  .toolsConventionGateway__counter{
    grid-template-columns:1fr;
  }
}

/* Page À propos - fond bleu nuit, blocs de contenu conservés en clair */
body.is-about{
  background:var(--bg-section-night,linear-gradient(135deg,#21384D 0%,#274B65 52%,#326191 100%))!important;
}

body.is-about .aboutPage{
  background:transparent!important;
}

body.is-about .aboutCommissions .commissionsBlock{
  margin-top:0!important;
}

body.is-about .sectionIntro .eyebrow,
body.is-about .commissionsHead .eyebrow,
body.is-about .compactHead .eyebrow{
  color:#7ed3e5!important;
}

body.is-about .sectionIntro h2,
body.is-about .commissionsHead h2,
body.is-about .compactHead h2{
  color:#fbf7f1!important;
}

body.is-about .sectionIntro p,
body.is-about .compactHead p{
  color:rgba(251,247,241,.82)!important;
}

body.is-about .sectionIntro h2,
body.is-about .commissionsHead h2,
body.is-about .compactHead h2,
body.is-about .aboutIntro h1,
body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemHeader h2,
body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceHeader h2{
  font-family:var(--font-display)!important;
  font-size:calc(var(--fs-h2) * 1.3)!important;
  line-height:1.08!important;
  letter-spacing:0!important;
  font-weight:600!important;
}

body.is-about .aboutIntro,
body[data-responsive-mode].is-about .aboutIntro,
body[data-responsive-mode="compact"].is-about .aboutIntro,
body[data-responsive-mode="mobile"].is-about .aboutIntro{
  padding:var(--sp-5) clamp(var(--sp-7),5vw,var(--sp-10)) clamp(var(--sp-7),5vw,var(--sp-10))!important;
  background:var(--fnam-paper-warm,#efe7d6)!important;
  border-color:var(--fnam-paper-edge,#e6dcc6)!important;
}

body.is-about .aboutIntro.aboutIntro--withVideo,
body[data-responsive-mode].is-about .aboutIntro.aboutIntro--withVideo,
body[data-responsive-mode="compact"].is-about .aboutIntro.aboutIntro--withVideo,
body[data-responsive-mode="mobile"].is-about .aboutIntro.aboutIntro--withVideo{
  align-items:start!important;
}

body.is-about .aboutIntro h1{
  max-width:none!important;
  text-wrap:normal!important;
  color:var(--fnam-bleu-roi-900,#0b2a4a)!important;
}

body.is-about .aboutIntro p,
body.is-about .aboutIntro.aboutIntro--withVideo .aboutIntroText p{
  color:var(--fg-2,#49677f)!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceHeader:after{
  width:60px!important;
  height:2px!important;
  margin-top:16px!important;
  background:var(--fnam-terracotta,#C77165)!important;
}

body.is-about .aboutGovernance .personCard,
body.is-about .aboutCommissions .personCard{
  display:grid!important;
  grid-template-columns:124px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:center!important;
}

body.is-about .aboutGovernance .personPhoto,
body.is-about .aboutCommissions .personPhoto{
  width:124px!important;
  height:124px!important;
  border-width:4px!important;
  box-shadow:0 14px 30px rgba(50,97,145,.20)!important;
}

body.is-about .aboutGovernance .personPhoto span,
body.is-about .aboutCommissions .personPhoto span{
  font-size:1.55rem!important;
}

body.is-about .aboutGovernance .personInfo strong,
body.is-about .aboutCommissions .personInfo strong{
  display:block!important;
  max-width:100%!important;
  font-size:clamp(1.05rem,1.25vw,1.24rem)!important;
  line-height:1.08!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}

body.is-about .aboutCommissions .personInfo{
  min-width:0!important;
}

body.is-about .aboutGovernance .personInfo span,
body.is-about .aboutCommissions .personInfo span{
  margin-top:7px!important;
  font-size:clamp(.94rem,1vw,1.02rem)!important;
  line-height:1.28!important;
}

body.is-about .governanceBureauList{
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important;
  gap:var(--sp-4)!important;
}

body.is-about .aboutGovernance .governanceBoard{
  display:grid!important;
  grid-template-columns:minmax(360px,.55fr) minmax(0,1fr)!important;
  gap:var(--sp-5)!important;
  align-items:stretch!important;
}

body.is-about .aboutGovernance .governanceCardPrimary{
  grid-column:auto!important;
  min-height:100%!important;
  display:grid!important;
  align-content:start!important;
}

body.is-about .aboutGovernance .governanceCardPrimary .personCard{
  grid-template-columns:1fr!important;
  justify-items:start!important;
  align-content:start!important;
}

body.is-about .aboutGovernance .governanceCardBureau .personCard{
  grid-template-columns:124px minmax(0,1fr)!important;
}

body.is-about .aboutCommissions .commissionTimelinePeople .roleGroup{
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
}

body.is-about .aboutCommissions .commissionTimelinePeople{
  grid-template-columns:1fr!important;
}

body.is-about .aboutCommissions .commissionTimelinePeople .personCard{
  grid-template-columns:112px minmax(0,1fr)!important;
  gap:14px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

body.is-about .aboutCommissions .commissionTimelinePeople .personPhoto{
  width:112px!important;
  height:112px!important;
}

@media(max-width:760px){
  body.is-about .aboutCommissions .commissionTimelinePeople .personPhoto{
    width:96px!important;
    height:96px!important;
  }
}

body.is-about .commissionsTimeline{
  padding-left:32px!important;
}

body.is-about .commissionsTimeline:before{
  left:8px!important;
  width:4px!important;
  border-radius:999px!important;
  background:var(--fnam-terracotta,#C77165)!important;
  box-shadow:0 0 0 1px rgba(251,247,241,.14),0 0 16px color-mix(in srgb,var(--fnam-terracotta,#C77165) 34%,transparent)!important;
}

body.is-about .commissionTimelineItem:before{
  left:-32px!important;
  top:29px!important;
  width:20px!important;
  height:20px!important;
  border:4px solid rgba(251,247,241,.96)!important;
  background:var(--fnam-terracotta,#C77165)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--fnam-terracotta,#C77165) 24%,transparent),0 0 14px color-mix(in srgb,var(--fnam-terracotta,#C77165) 34%,transparent)!important;
}

@media(max-width:760px){
  body.is-about .aboutGovernance .personCard,
  body.is-about .aboutCommissions .personCard{
    grid-template-columns:96px minmax(0,1fr)!important;
    gap:14px!important;
  }

  body.is-about .aboutGovernance .personPhoto,
  body.is-about .aboutCommissions .personPhoto{
    width:96px!important;
    height:96px!important;
    border-width:3px!important;
  }

  body.is-about .aboutGovernance .personPhoto span,
  body.is-about .aboutCommissions .personPhoto span{
    font-size:1.1rem!important;
  }

  body.is-about .governanceBureauList{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:1180px){
  body.is-about .aboutGovernance .governanceBoard{
    grid-template-columns:1fr!important;
  }

  body.is-about .aboutGovernance .governanceCardPrimary .personCard{
    grid-template-columns:124px minmax(0,1fr)!important;
  }
}

@media(max-width:760px){
  body.is-about .aboutGovernance .governanceCardPrimary .personCard,
  body.is-about .aboutGovernance .governanceCardBureau .personCard{
    grid-template-columns:96px minmax(0,1fr)!important;
  }
}

body.is-about .aboutAgenda .memberLibraryPanel.aboutAgendaDocuments{
  padding:18px!important;
}

body.is-about .aboutAgenda .memberLibraryPanel.aboutAgendaDocuments .compactHead{
  display:flex!important;
  justify-content:space-between!important;
  gap:16px!important;
  align-items:start!important;
  margin:10px 0 10px!important;
}

body.is-about .aboutAgenda .memberLibraryPanel.aboutAgendaDocuments .compactHead > div{
  min-width:0!important;
  flex:1 1 auto!important;
}

body.is-about .aboutAgenda .memberLibraryPanel.aboutAgendaDocuments .compactHead > .btn{
  flex:0 0 auto!important;
  white-space:nowrap!important;
  min-width:max-content!important;
  padding-inline:14px!important;
}

body.is-about .aboutAgenda .memberLibraryPanel.aboutAgendaDocuments .compactHead > .btn span{
  flex:0 0 auto!important;
}

body.is-about .aboutAgenda .memberLibraryPanel.aboutAgendaDocuments .compactHead .eyebrow{
  color:#5092b6!important;
}

body.is-about .aboutAgenda .memberLibraryPanel.aboutAgendaDocuments .compactHead h2{
  margin:5px 0 0!important;
  color:var(--bleu-fonce)!important;
  font-size:2.65rem!important;
  line-height:.92!important;
  letter-spacing:0!important;
  font-weight:600!important;
}

body.is-about .aboutAgenda .memberLibraryPanel.aboutAgendaDocuments .compactHead p{
  color:var(--muted)!important;
  max-width:none!important;
  white-space:nowrap!important;
  font-size:clamp(.82rem,.92vw,.98rem)!important;
  line-height:1.25!important;
}

body.is-about .aboutAgenda .aboutAgendaDocuments .memberDocumentGrid{
  gap:16px!important;
}

body.is-about .aboutAgenda .aboutAgendaDocuments .memberDocumentCardOptionA{
  min-height:196px!important;
  display:grid!important;
  grid-template-rows:auto 1fr auto!important;
  justify-content:normal!important;
  gap:18px!important;
  padding:22px 22px 18px 26px!important;
  border-radius:14px!important;
  background:rgba(255,253,249,.94)!important;
  box-shadow:0 10px 28px rgba(7,28,51,.10)!important;
}

body.is-about .aboutAgenda .aboutAgendaDocuments .memberDocumentCardOptionA:before{
  width:5px!important;
  border-radius:14px 0 0 14px!important;
}

body.is-about .aboutAgenda .aboutAgendaDocuments .memberDocumentTop{
  display:flex!important;
  justify-content:space-between!important;
  gap:14px!important;
  align-items:flex-start!important;
  min-width:0!important;
}

body.is-about .aboutAgenda .aboutAgendaDocuments .memberDocumentCardOptionA .tag{
  width:max-content!important;
  max-width:min(100%,28rem)!important;
  min-width:0!important;
  min-height:28px!important;
  padding:5px 9px!important;
  border:1px solid rgba(112,180,190,.42)!important;
  border-radius:7px!important;
  background:rgba(251,247,241,.82)!important;
  color:var(--bleu-soutenu,#326191)!important;
  font-size:.74rem!important;
  line-height:1.1!important;
  font-weight:500!important;
  overflow-wrap:anywhere!important;
}

body.is-about .aboutAgenda .aboutAgendaDocuments .memberDocumentCardOptionA time{
  flex:0 0 auto!important;
  display:block!important;
  margin:5px 0 0!important;
  color:var(--bleu-soutenu,#326191)!important;
  font-size:.86rem!important;
  line-height:1.1!important;
  font-weight:720!important;
  white-space:nowrap!important;
}

body.is-about .aboutAgenda .aboutAgendaDocuments .memberDocumentCardOptionA h3{
  max-width:88%!important;
  margin:0!important;
  color:var(--bleu-fonce,#0b2a4a)!important;
  font-size:clamp(1rem,1.12vw,1.18rem)!important;
  line-height:1.2!important;
  font-weight:650!important;
  letter-spacing:0!important;
  overflow-wrap:anywhere!important;
}

body.is-about .aboutAgenda .aboutAgendaDocuments .memberDocumentCardOptionA .actions{
  margin:0!important;
}

body.is-about .aboutAgenda .aboutAgendaDocuments .memberDocumentCardOptionA .btn{
  width:max-content!important;
  max-width:100%!important;
  min-height:40px!important;
  padding:9px 13px!important;
  border:1px solid rgba(112,180,190,.42)!important;
  border-radius:999px!important;
  background:#eef6f8!important;
  color:var(--bleu-soutenu,#326191)!important;
  font-size:.86rem!important;
  line-height:1!important;
  font-weight:720!important;
  white-space:nowrap!important;
}

body.is-about .aboutAgenda .aboutAgendaDocuments .memberDocumentCardOptionA .btn span{
  margin-right:0!important;
  flex:0 0 auto!important;
}

body.is-about .aboutAgenda .memberLibraryPanel.aboutAgendaDocuments .aboutAgendaDocumentTitle{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:baseline!important;
  gap:.28em!important;
  white-space:nowrap!important;
  max-width:100%!important;
}

body.is-about .aboutAgenda .aboutAgendaYearSelectWrap{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
}

body.is-about .aboutAgenda .aboutAgendaYearSelectWrap:after{
  content:""!important;
  position:absolute!important;
  right:.34em!important;
  top:50%!important;
  width:.26em!important;
  height:.26em!important;
  border-right:2px solid currentColor!important;
  border-bottom:2px solid currentColor!important;
  transform:translateY(-68%) rotate(45deg)!important;
  pointer-events:none!important;
  color:var(--bleu-fonce)!important;
}

body.is-about .aboutAgenda .aboutAgendaYearSelect{
  appearance:none!important;
  -webkit-appearance:none!important;
  min-width:4.35ch!important;
  min-height:1.05em!important;
  padding:0 .82em 0 .22em!important;
  border:1px solid rgba(50,97,145,.28)!important;
  border-radius:.18em!important;
  background:rgba(251,247,241,.92)!important;
  color:var(--bleu-fonce)!important;
  font:inherit!important;
  line-height:.98!important;
  letter-spacing:0!important;
  cursor:pointer!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.62),0 8px 18px rgba(50,97,145,.10)!important;
}

body.is-about .aboutAgenda .aboutAgendaYearSelect:focus-visible{
  outline:3px solid color-mix(in srgb,var(--bleu-clair,#70b4be) 70%,transparent)!important;
  outline-offset:3px!important;
}

@media(max-width:1180px){
  body.is-about .aboutAgenda .memberLibraryPanel.aboutAgendaDocuments .compactHead h2{
    font-size:2.2rem!important;
  }

  body.is-about .aboutAgenda .memberLibraryPanel.aboutAgendaDocuments .compactHead p{
    font-size:.88rem!important;
  }

  body.is-about .aboutAgenda .aboutAgendaDocuments .memberDocumentTop{
    display:grid!important;
  }

  body.is-about .aboutAgenda .aboutAgendaDocuments .memberDocumentCardOptionA h3{
    max-width:100%!important;
  }
}

@media(max-width:760px){
  body.is-about .aboutAgenda .memberLibraryPanel.aboutAgendaDocuments .compactHead h2{
    font-size:1.72rem!important;
  }

  body.is-about .aboutAgenda .memberLibraryPanel.aboutAgendaDocuments .compactHead{
    gap:10px!important;
  }

  body.is-about .aboutAgenda .memberLibraryPanel.aboutAgendaDocuments .compactHead p{
    font-size:.68rem!important;
  }

body.is-about .aboutAgenda .memberLibraryPanel.aboutAgendaDocuments .compactHead > .btn{
  padding-inline:10px!important;
  font-size:.82rem!important;
}
}

body.is-about .aboutIntro,
body[data-responsive-mode].is-about .aboutIntro,
body[data-responsive-mode="compact"].is-about .aboutIntro,
body[data-responsive-mode="mobile"].is-about .aboutIntro{
  background:var(--bg-elevated)!important;
  border-color:var(--border-on-paper)!important;
}

body.is-about .personCard:has(.personMail){
  display:grid!important;
  grid-template-columns:124px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:18px!important;
  row-gap:2px!important;
  align-items:center!important;
}

body.is-about .personCard:has(.personMail) .personPhoto{
  grid-column:1!important;
  grid-row:1!important;
  justify-self:center!important;
  align-self:end!important;
}

body.is-about .personCard:has(.personMail) .personInfo{
  grid-column:2!important;
  grid-row:1 / span 2!important;
  align-self:center!important;
}

body.is-about .personCard:has(.personMail) .personMail{
  grid-column:1!important;
  grid-row:2!important;
  justify-self:center!important;
  align-self:start!important;
  margin:0!important;
}

@media(max-width:760px){
  body.is-about .personCard:has(.personMail){
    grid-template-columns:96px minmax(0,1fr)!important;
    column-gap:14px!important;
    row-gap:2px!important;
  }
}

@media(min-width:761px){
  body.is-about .aboutSideNav,
  body[data-responsive-mode].is-about .aboutSideNav,
  body[data-responsive-mode="compact"].is-about .aboutSideNav,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav{
    position:sticky!important;
    padding:var(--sp-4) var(--sp-4) var(--sp-4) calc(var(--sp-4) + 22px)!important;
    gap:var(--sp-3)!important;
    overflow:hidden!important;
    contain:none!important;
  }

  body.is-about .aboutSideNav:before,
  body[data-responsive-mode].is-about .aboutSideNav:before,
  body[data-responsive-mode="compact"].is-about .aboutSideNav:before,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav:before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:22px!important;
    top:calc(var(--sp-4) + 44px)!important;
    bottom:calc(var(--sp-4) + 22px)!important;
    width:2px!important;
    border-radius:999px!important;
    background:color-mix(in srgb,var(--fnam-bleu-roi,#326191) 16%,transparent)!important;
    pointer-events:none!important;
  }

  body.is-about .aboutSideNav strong,
  body[data-responsive-mode].is-about .aboutSideNav strong,
  body[data-responsive-mode="compact"].is-about .aboutSideNav strong,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav strong{
    margin:0 0 var(--sp-3)!important;
  }

  body.is-about .aboutSideNav a,
  body[data-responsive-mode].is-about .aboutSideNav a,
  body[data-responsive-mode="compact"].is-about .aboutSideNav a,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav a{
    position:relative!important;
    min-height:52px!important;
    padding:var(--sp-3) var(--sp-4) var(--sp-3) var(--sp-5)!important;
    border-radius:var(--r-3)!important;
  }

  body.is-about .aboutSideNav a:before,
  body[data-responsive-mode].is-about .aboutSideNav a:before,
  body[data-responsive-mode="compact"].is-about .aboutSideNav a:before,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav a:before{
    content:""!important;
    position:absolute!important;
    left:-26px!important;
    top:50%!important;
    width:14px!important;
    height:14px!important;
    border:3px solid var(--bg-elevated,#fbf8f1)!important;
    border-radius:999px!important;
    background:color-mix(in srgb,var(--fnam-bleu-roi,#326191) 36%,white)!important;
    transform:translateY(-50%)!important;
    box-shadow:0 0 0 1px color-mix(in srgb,var(--fnam-bleu-roi,#326191) 18%,transparent)!important;
    pointer-events:none!important;
  }

  body.is-about .aboutSideNav a:hover:before,
  body.is-about .aboutSideNav a.active:before,
  body[data-responsive-mode].is-about .aboutSideNav a:hover:before,
  body[data-responsive-mode].is-about .aboutSideNav a.active:before,
  body[data-responsive-mode="compact"].is-about .aboutSideNav a:hover:before,
  body[data-responsive-mode="compact"].is-about .aboutSideNav a.active:before,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav a:hover:before,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav a.active:before{
    background:var(--fnam-terracotta,#C77165)!important;
  }
}

body.is-about .aboutAgenda .aboutAgendaPanel .memberAgendaHead{
  margin-bottom:14px!important;
}

body.is-about .aboutAgenda .aboutAgendaPanel .memberAgendaHead h2.aboutAgendaPanelTitle{
  position:relative!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:baseline!important;
  gap:.28em!important;
  margin:5px 0 0!important;
  padding-bottom:18px!important;
  color:var(--bleu-fonce)!important;
  font-size:2.65rem!important;
  line-height:.92!important;
  letter-spacing:0!important;
  font-weight:600!important;
}

body.is-about .aboutAgenda .aboutAgendaPanel .memberAgendaHead h2.aboutAgendaPanelTitle:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:72px!important;
  height:2px!important;
  border-radius:999px!important;
  background:var(--fnam-terracotta,#C77165)!important;
}

body.is-about .aboutAgenda .aboutAgendaInlineYears{
  display:inline-flex!important;
  flex-wrap:wrap!important;
  align-items:baseline!important;
  gap:10px!important;
  margin-left:.08em!important;
}

body.is-about .aboutAgenda .aboutAgendaInlineYears .memberYearButton{
  appearance:none!important;
  min-height:1.05em!important;
  padding:0 .38em!important;
  border:1px solid rgba(50,97,145,.28)!important;
  border-radius:.18em!important;
  background:rgba(251,247,241,.92)!important;
  color:var(--bleu-fonce)!important;
  font:inherit!important;
  font-size:1em!important;
  line-height:.98!important;
  font-weight:600!important;
  letter-spacing:0!important;
  cursor:pointer!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.62),0 8px 18px rgba(50,97,145,.10)!important;
}

body.is-about .aboutAgenda .aboutAgendaInlineYears .memberYearButton.active{
  background:var(--bleu-fonce)!important;
  border-color:var(--bleu-fonce)!important;
  color:var(--fond)!important;
}

@media(max-width:1180px){
  body.is-about .aboutAgenda .aboutAgendaPanel .memberAgendaHead h2.aboutAgendaPanelTitle{
    font-size:2.2rem!important;
  }
}

@media(max-width:760px){
  body.is-about .aboutAgenda .aboutAgendaPanel .memberAgendaHead h2.aboutAgendaPanelTitle{
    font-size:1.72rem!important;
  }

  body.is-about .aboutAgenda .aboutAgendaInlineYears{
    gap:6px!important;
  }
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceHeader .eyebrow{
  display:inline-flex!important;
  width:max-content!important;
  align-items:center!important;
  gap:10px!important;
  margin:0 0 18px!important;
  color:var(--fnam-blue-grey,#5092b6)!important;
  font-family:var(--font-sans,"DM Sans",system-ui,sans-serif)!important;
  font-size:var(--fs-eyebrow,.75rem)!important;
  line-height:var(--lh-eyebrow,1.2)!important;
  letter-spacing:var(--tk-eyebrow,.12em)!important;
  font-weight:700!important;
  text-transform:uppercase!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceHeader .eyebrow:before{
  content:""!important;
  display:inline-block!important;
  flex:0 0 28px!important;
  width:28px!important;
  height:2px!important;
  border-radius:999px!important;
  background:var(--fnam-terracotta,#C77165)!important;
}

body.is-about .sectionIntro h2,
body.is-about .commissionsHead h2,
body.is-about .compactHead h2,
body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemHeader h2,
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .ecosystemHeader h2,
html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainsCopy h2,
html.is-home body.is-home #main > .home-snap-block--publications .head h2{
  display:inline-block!important;
  width:fit-content!important;
  max-width:100%!important;
}

body.is-about .sectionIntro h2::after,
body.is-about .commissionsHead h2::after,
body.is-about .compactHead h2::after,
body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemHeader h2::after,
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .ecosystemHeader h2::after,
html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainsCopy h2::after,
html.is-home body.is-home #main > .home-snap-block--publications .head h2::after{
  width:100%!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceHeader h2{
  position:relative!important;
  display:inline-block!important;
  width:fit-content!important;
  max-width:100%!important;
  padding-bottom:18px!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceHeader h2::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:100%!important;
  height:2px!important;
  border-radius:999px!important;
  background:var(--fnam-terracotta,#C77165)!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceHeader:after{
  display:none!important;
}

body.is-about .aboutAgenda .aboutAgendaPanel .memberAgendaHead h2.aboutAgendaPanelTitle,
body.is-about .aboutAgenda .memberLibraryPanel.aboutAgendaDocuments .aboutAgendaDocumentTitle{
  position:relative!important;
  display:inline-flex!important;
  width:fit-content!important;
  max-width:100%!important;
  padding-bottom:18px!important;
}

body.is-about .aboutAgenda .aboutAgendaPanel .memberAgendaHead h2.aboutAgendaPanelTitle:after,
body.is-about .aboutAgenda .memberLibraryPanel.aboutAgendaDocuments .aboutAgendaDocumentTitle:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:100%!important;
  height:2px!important;
  border-radius:999px!important;
  background:var(--fnam-terracotta,#C77165)!important;
}

body.is-about .sectionIntro h2,
body.is-about .commissionsHead h2,
body.is-about .compactHead h2,
body.is-about .aboutGroupements.fnamGroupementsShared .ecosystemHeader h2,
body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceHeader h2,
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .ecosystemHeader h2,
html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainsCopy h2,
html.is-home body.is-home #main > .home-snap-block--publications .head h2{
  display:block!important;
  width:fit-content!important;
  max-width:100%!important;
}

body.is-about .aboutAgenda .aboutAgendaPanel .memberAgendaHead h2.aboutAgendaPanelTitle,
body.is-about .aboutAgenda .memberLibraryPanel.aboutAgendaDocuments .aboutAgendaDocumentTitle{
  display:flex!important;
  width:fit-content!important;
  max-width:100%!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared,
body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceBoard{
  background:transparent!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceBoard{
  border-color:rgba(251,248,241,.22)!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceFederation,
body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceFamily,
body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceButton,
body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceAccordion,
body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceAccordion summary,
body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceAccordionPanel,
body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceDetail,
body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceDetailHero,
body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceDetailBody,
body.is-about .aboutGroupements.fnamGroupementsShared .groupPresident,
body.is-about .aboutGroupements.fnamGroupementsShared .groupInfoBlock{
  background:#fbf8f1!important;
}

body.is-about .aboutCommissions .commissionTimelineItem,
body.is-about .aboutCommissions .commissionCard{
  background:#fbf8f1!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceDesktop{
  align-items:start!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceDetail{
  height:var(--group-detail-height,calc(100vh - var(--header-h,76px) - 44px))!important;
  max-height:var(--group-detail-height,calc(100vh - var(--header-h,76px) - 44px))!important;
  min-height:0!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
  scrollbar-width:thin!important;
  scrollbar-color:var(--fnam-terracotta,#C77165) rgba(199,113,101,.16)!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceDetail::-webkit-scrollbar{
  width:10px!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceDetail::-webkit-scrollbar-track{
  background:rgba(199,113,101,.12)!important;
  border-radius:999px!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceDetail::-webkit-scrollbar-thumb{
  background:var(--fnam-terracotta,#C77165)!important;
  border:2px solid #fbf8f1!important;
  border-radius:999px!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceDetail.is-scrollable:after{
  content:"Faire défiler ↓"!important;
  position:sticky!important;
  bottom:0!important;
  z-index:4!important;
  display:flex!important;
  flex:0 0 58px!important;
  height:58px!important;
  margin-top:-58px!important;
  align-items:flex-end!important;
  justify-content:center!important;
  padding:0 18px 11px!important;
  background:linear-gradient(180deg,rgba(251,248,241,0) 0%,rgba(251,248,241,.98) 38%,#fbf8f1 100%)!important;
  box-shadow:inset 0 -36px 0 var(--fnam-terracotta,#C77165)!important;
  color:#fff!important;
  font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  text-shadow:0 1px 1px rgba(0,0,0,.16)!important;
  pointer-events:none!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceDetail.is-scrollable:before{
  content:none!important;
  display:none!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceDetail.is-scrollable .groupementChoiceDetailBody{
  padding-bottom:96px!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceDetailHero{
  flex:0 0 auto!important;
  min-height:0!important;
  grid-template-columns:72px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  padding:16px 18px!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceDetailLogo{
  width:72px!important;
  max-width:72px!important;
  max-height:46px!important;
  justify-self:center!important;
  object-fit:contain!important;
}

body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceDetailTitle{
  min-width:0!important;
  color:var(--group-night,#21384D)!important;
  font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
  font-size:clamp(15px,1.12vw,18px)!important;
  line-height:1.14!important;
  font-weight:850!important;
  letter-spacing:0!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

/* À propos - proportions dédiées avec volet gauche fixe */
@media (min-width:1221px) and (min-height:601px){
  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceDesktop{
    grid-template-columns:minmax(0,1fr) clamp(420px,30%,520px)!important;
    gap:22px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceLeft{
    min-width:0!important;
    gap:14px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceFamilies{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceFamily,
  body.is-about .aboutGroupements.fnamGroupementsShared .groupementsChoiceDetail{
    min-width:0!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceButton{
    min-height:86px!important;
    grid-template-columns:minmax(44px,28%) minmax(0,1fr)!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceLogo{
    max-width:70px!important;
    max-height:40px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceDetailHero{
    grid-template-columns:86px minmax(0,1fr)!important;
    gap:16px!important;
    padding:18px 20px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceDetailLogo{
    width:86px!important;
    max-width:86px!important;
    max-height:52px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceDetailTitle{
    font-size:clamp(17px,1.32vw,22px)!important;
    line-height:1.16!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceDetailBody{
    padding:18px 22px 22px!important;
  }
}

body.is-about .aboutGovernance,
body.is-about .aboutCommissions,
body.is-about .aboutTeam,
body.is-about .aboutAgenda{
  position:relative!important;
  isolation:isolate!important;
  overflow:visible!important;
  padding:34px clamp(24px,4vw,52px) clamp(26px,3vw,48px)!important;
  border:1px solid rgba(251,248,241,.22)!important;
  border-radius:4px!important;
  background:transparent!important;
}

body.is-about .aboutGovernance > .sectionIntro,
body.is-about .aboutTeam > .sectionIntro,
body.is-about .aboutAgenda > .sectionIntro,
body.is-about .aboutCommissions .commissionsHead{
  padding:0!important;
  margin:0 0 28px!important;
}

body.is-about .aboutGovernance > .sectionIntro .eyebrow,
body.is-about .aboutTeam > .sectionIntro .eyebrow,
body.is-about .aboutAgenda > .sectionIntro .eyebrow,
body.is-about .aboutCommissions .commissionsHead .eyebrow{
  display:inline-flex!important;
  width:max-content!important;
  align-items:center!important;
  gap:10px!important;
  margin:0 0 18px!important;
  color:var(--fnam-blue-grey,#5092b6)!important;
  font-family:var(--font-sans,"DM Sans",system-ui,sans-serif)!important;
  font-size:var(--fs-eyebrow,.75rem)!important;
  line-height:var(--lh-eyebrow,1.2)!important;
  font-weight:700!important;
  letter-spacing:var(--tk-eyebrow,.12em)!important;
  text-transform:uppercase!important;
}

body.is-about .aboutGovernance > .sectionIntro h2,
body.is-about .aboutTeam > .sectionIntro h2,
body.is-about .aboutAgenda > .sectionIntro h2,
body.is-about .aboutCommissions .commissionsHead h2{
  margin:0!important;
  padding-bottom:18px!important;
  color:var(--group-paper,var(--fnam-paper,#f6f1e7))!important;
  font-family:var(--font-display)!important;
  font-size:calc(var(--fs-h2) * 1.3)!important;
  line-height:1.08!important;
  letter-spacing:0!important;
  font-weight:600!important;
}

body.is-about .aboutGovernance > .sectionIntro p,
body.is-about .aboutAgenda > .sectionIntro p{
  margin:var(--sp-5) 0 0!important;
  max-width:66ch!important;
  font-size:var(--fs-body)!important;
  line-height:var(--lh-body)!important;
  color:rgba(251,247,241,.82)!important;
}

body.is-about .aboutGovernance > .governanceBoard,
body.is-about .aboutTeam > .aboutTeamHierarchy,
body.is-about .aboutAgenda > .aboutAgendaWorkspace,
body.is-about .aboutCommissions .commissionsTimeline{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
}

body.is-about .aboutAgendaMobile{
  display:none!important;
}

@media(max-width:1500px){
  body.is-about .aboutAgenda .aboutAgendaPanel .memberAgendaHead h2.aboutAgendaPanelTitle,
  body.is-about .aboutAgenda .memberLibraryPanel.aboutAgendaDocuments .aboutAgendaDocumentTitle{
    flex-wrap:wrap!important;
    white-space:normal!important;
    font-size:clamp(2.05rem,3vw,2.7rem)!important;
  }

  body.is-about .aboutAgenda .aboutAgendaPanel .memberAgendaHead h2.aboutAgendaPanelTitle{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:10px!important;
  }

  body.is-about .aboutAgenda .aboutAgendaInlineYears{
    flex-wrap:wrap!important;
  }

  body.is-about .aboutAgenda .aboutAgendaDocuments .memberDocumentGrid{
    grid-template-columns:1fr!important;
  }
}

body.is-about .aboutCommissions .commissionsBlock{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

body.is-about .aboutGovernance:before,
body.is-about .aboutCommissions:before,
body.is-about .aboutTeam:before,
body.is-about .aboutAgenda:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  opacity:.16!important;
  background-repeat:no-repeat!important;
  background-position:58% 18%!important;
  background-size:1180px auto!important;
  background-image:url("data:image/svg+xml,%3Csvg width='1400' height='720' viewBox='0 0 1400 720' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='rgba(255,255,255,0.55)' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M610 340 C760 250 925 160 1120 78 L1188 96 C1035 190 865 288 660 410 Z'/%3E%3Cpath d='M650 382 C820 303 980 212 1148 94' opacity='.65'/%3E%3Cpath d='M705 356 C845 293 986 220 1136 112' opacity='.48'/%3E%3Cpath d='M755 330 C870 282 1006 209 1110 130' opacity='.42'/%3E%3Cpath d='M720 390 L1094 118' opacity='.32'/%3E%3Cpath d='M775 402 L1160 118' opacity='.25'/%3E%3Cpath d='M690 420 C820 420 1010 390 1260 300' opacity='.25'/%3E%3Cpath d='M350 330 C540 280 765 240 1035 92' opacity='.26'/%3E%3Cpath d='M180 420 C440 328 720 300 1110 112' opacity='.18'/%3E%3Cpath d='M1015 80 L1118 78 L1070 142' opacity='.75'/%3E%3Cpath d='M815 176 L843 154 M865 151 L895 128 M914 128 L944 106 M964 105 L996 84' opacity='.35'/%3E%3Cpath d='M995 74 C1120 132 1220 210 1302 318' opacity='.18'/%3E%3Cpath d='M1045 55 C1190 123 1300 230 1370 370' opacity='.14'/%3E%3C/g%3E%3Cg fill='none' stroke='rgba(255,255,255,0.23)' stroke-width='.8'%3E%3Cpath d='M460 120 H1260' stroke-dasharray='5 13'/%3E%3Cpath d='M520 510 H1320' stroke-dasharray='5 13'/%3E%3Cpath d='M860 40 V650' stroke-dasharray='5 13'/%3E%3Cpath d='M1060 20 V640' stroke-dasharray='5 13'/%3E%3C/g%3E%3C/svg%3E")!important;
}

body.is-about .aboutGovernance > *,
body.is-about .aboutCommissions > *,
body.is-about .aboutTeam > *,
body.is-about .aboutAgenda > *{
  position:relative!important;
  z-index:1!important;
}

body.is-about .aboutGovernance .personMail,
body.is-about .aboutCommissions .personMail{
  display:none!important;
}

body.is-about .aboutTeam .personCard:has(.personMail){
  grid-template-columns:124px minmax(0,1fr) 42px!important;
  grid-template-rows:auto!important;
  column-gap:18px!important;
  row-gap:0!important;
  align-items:center!important;
}

body.is-about .aboutTeam .personCard:has(.personMail) .personPhoto{
  grid-column:1!important;
  grid-row:1!important;
  justify-self:center!important;
  align-self:center!important;
}

body.is-about .aboutTeam .personCard:has(.personMail) .personInfo{
  grid-column:2!important;
  grid-row:1!important;
  align-self:center!important;
}

body.is-about .aboutTeam .personCard:has(.personMail) .personMail{
  grid-column:3!important;
  grid-row:1!important;
  justify-self:end!important;
  align-self:center!important;
  display:inline-grid!important;
  margin:0!important;
}

@media(max-width:760px){
  body.is-about .aboutTeam .personCard:has(.personMail){
    grid-template-columns:96px minmax(0,1fr) 38px!important;
    column-gap:14px!important;
  }

  body.is-about .aboutTeam .personCard:has(.personMail) .personMail{
    width:38px!important;
    height:38px!important;
  }
}

body.is-about .aboutAgenda .aboutAgendaPanel .memberAgendaHead h2.aboutAgendaPanelTitle{
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:12px!important;
  white-space:nowrap!important;
}

body.is-about .aboutAgenda .aboutAgendaInlineYears{
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:8px!important;
  margin-left:0!important;
}

body.is-about .aboutAgenda .aboutAgendaInlineYears .memberYearButton{
  min-height:1.28em!important;
  padding:.08em .42em!important;
  font-size:.50em!important;
  line-height:1!important;
  border-radius:.18em!important;
}

body.is-about .aboutAgenda .memberLibraryPanel.aboutAgendaDocuments .compactHead{
  display:block!important;
  margin:0 0 16px!important;
}

body.is-about .aboutAgenda .aboutAgendaLibraryHead{
  position:relative!important;
  min-width:0!important;
  width:100%!important;
}

body.is-about .aboutAgenda .aboutAgendaLibraryTop{
  position:relative!important;
  display:block!important;
  min-height:var(--lh-eyebrow,1.2em)!important;
  margin-bottom:16px!important;
  padding-right:190px!important;
}

body.is-about .aboutAgenda .aboutAgendaLibraryTop .eyebrow{
  display:inline-flex!important;
  margin:0!important;
}

body.is-about .aboutAgenda .aboutAgendaLibraryTop .btn{
  position:absolute!important;
  top:50%!important;
  right:0!important;
  transform:translateY(-50%)!important;
  min-width:max-content!important;
  min-height:38px!important;
  padding:8px 14px!important;
  white-space:nowrap!important;
}

body.is-about .aboutAgenda .memberLibraryPanel.aboutAgendaDocuments .aboutAgendaDocumentTitle{
  align-items:center!important;
  gap:12px!important;
}

body.is-about .aboutAgenda .aboutAgendaYearSelect{
  min-height:1.28em!important;
  width:128px!important;
  min-width:128px!important;
  padding:.08em 1.58em .08em .46em!important;
  font-size:.50em!important;
  line-height:1!important;
  border-radius:.18em!important;
}

body.is-about .aboutAgenda .aboutAgendaYearSelectWrap:after{
  right:.62em!important;
  width:.18em!important;
  height:.18em!important;
  border-right-width:2px!important;
  border-bottom-width:2px!important;
}

body.is-about .aboutAgenda .memberLibraryPanel.aboutAgendaDocuments .aboutAgendaDocumentCounter{
  max-width:none!important;
  margin:14px 0 0!important;
  text-align:right!important;
  white-space:nowrap!important;
  color:var(--muted)!important;
  font-size:clamp(.84rem,.94vw,1rem)!important;
  line-height:1.25!important;
}

body.is-about .aboutAgenda .memberLibraryPanel.aboutAgendaDocuments .aboutAgendaDocumentCounter strong{
  color:var(--bleu-fonce,#326191)!important;
  font-weight:900!important;
}

@media(max-width:1180px){
  body.is-about .aboutAgenda .aboutAgendaLibraryTop{
    padding-right:0!important;
  }

  body.is-about .aboutAgenda .aboutAgendaLibraryTop .btn{
    position:static!important;
    transform:none!important;
    margin-top:10px!important;
  }
}

@media(max-width:1220px){
  body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceDetailHero{
    grid-template-columns:64px minmax(0,1fr)!important;
    gap:12px!important;
    padding:14px 16px!important;
  }

  body.is-about .aboutGroupements.fnamGroupementsShared .groupementChoiceDetailLogo{
    width:64px!important;
    max-width:64px!important;
    max-height:42px!important;
  }
}

html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainCard{
  --domain-accent:#70b4be;
  --domain-card-bg:linear-gradient(145deg,#1d6d7a 0%,#12364b 68%,#0b2a4a 100%);
  --domain-card-hover:linear-gradient(145deg,#238393 0%,#173f5b 68%,#0b2a4a 100%);
  --domain-card-border:rgba(112,180,190,.76);
  --domain-number:#9FE1EA;
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  min-height:clamp(188px,25svh,240px)!important;
  display:flex!important;
  flex-direction:column!important;
  gap:clamp(8px,1.1svh,12px)!important;
  padding:clamp(16px,2svh,20px)!important;
  border:1px solid var(--domain-card-border)!important;
  border-radius:18px!important;
  background:var(--domain-card-bg)!important;
  background-color:#12364b!important;
  color:#FBF7F1!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  box-shadow:inset 0 1px 0 rgba(251,247,241,.14), inset 0 0 0 1px rgba(251,247,241,.04), 0 18px 38px rgba(7,28,51,.24)!important;
  backdrop-filter:none!important;
}

html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainCard:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background:var(--domain-card-bg)!important;
  opacity:1!important;
}

html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainCard > *{
  position:relative!important;
  z-index:1!important;
}

html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainCard:before{
  content:""!important;
  position:relative!important;
  z-index:1!important;
  flex:0 0 auto!important;
  width:46px!important;
  height:4px!important;
  border-radius:999px!important;
  background:var(--domain-accent)!important;
}

html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainCard:hover,
html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainCard:focus-visible{
  border-color:var(--domain-accent)!important;
  background:var(--domain-card-hover)!important;
  box-shadow:0 22px 48px rgba(7,28,51,.30)!important;
}

html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainCard:hover:after,
html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainCard:focus-visible:after{
  background:var(--domain-card-hover)!important;
}

html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainIndex{
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  display:block!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  color:var(--domain-number)!important;
  background:transparent!important;
  font-family:'DM Sans','Inter',sans-serif!important;
  font-size:.78rem!important;
  line-height:1!important;
  letter-spacing:.16em!important;
  font-weight:900!important;
}

html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainCard h3{
  color:#FBF7F1!important;
}

html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainCard p{
  color:rgba(251,247,241,.78)!important;
}

html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainCard .homeDomainCta{
  margin-top:auto!important;
  color:#FBF7F1!important;
}

html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainCard--social{
  --domain-accent:#C77165;
  --domain-card-bg:linear-gradient(145deg,#6f3438 0%,#17304a 68%,#0b2a4a 100%);
  --domain-card-hover:linear-gradient(145deg,#884248 0%,#1b3955 68%,#0b2a4a 100%);
  --domain-card-border:rgba(199,113,101,.72);
  --domain-number:#F2B8AE;
}

html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainCard--developpement-durable{
  --domain-accent:#5D9B75;
  --domain-card-bg:linear-gradient(145deg,#245f42 0%,#12364b 68%,#0b2a4a 100%);
  --domain-card-hover:linear-gradient(145deg,#2f7451 0%,#173f5b 68%,#0b2a4a 100%);
  --domain-card-border:rgba(93,155,117,.72);
  --domain-number:#A7D5BA;
}

html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainCard--technique{
  --domain-accent:#70b4be;
  --domain-card-bg:linear-gradient(145deg,#1d6d7a 0%,#12364b 68%,#0b2a4a 100%);
  --domain-card-hover:linear-gradient(145deg,#238393 0%,#173f5b 68%,#0b2a4a 100%);
  --domain-card-border:rgba(112,180,190,.76);
  --domain-number:#9FE1EA;
}

html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainCard--economie{
  --domain-accent:#5092b6;
  --domain-card-bg:linear-gradient(145deg,#275d85 0%,#12364b 68%,#0b2a4a 100%);
  --domain-card-hover:linear-gradient(145deg,#31709f 0%,#173f5b 68%,#0b2a4a 100%);
  --domain-card-border:rgba(80,146,182,.76);
  --domain-number:#A7CDE4;
}

html.is-home body.is-home #main > .home-snap-block--domains.homeDomainsImmersive .homeDomainCard--outremer{
  --domain-accent:#C3922F;
  --domain-card-bg:linear-gradient(145deg,#735b20 0%,#143149 68%,#0b2a4a 100%);
  --domain-card-hover:linear-gradient(145deg,#8a6c26 0%,#173a55 68%,#0b2a4a 100%);
  --domain-card-border:rgba(195,146,47,.72);
  --domain-number:#E5C47C;
}

/* Domaines — tuiles à couleur pleine validées */
html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard{
  --domain-solid:#1d6d7a;
  --domain-solid-hover:#238393;
  border-color:color-mix(in srgb, var(--domain-accent) 72%, #fbf8f1 28%)!important;
  background:
    linear-gradient(180deg,rgba(251,248,241,.10) 0%,rgba(11,42,74,.08) 100%),
    var(--domain-solid)!important;
  background-color:var(--domain-solid)!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  backdrop-filter:none!important;
  box-shadow:
    inset 0 0 0 1px rgba(251,248,241,.10),
    inset 0 -54px 90px rgba(11,42,74,.18),
    0 18px 38px rgba(7,28,51,.24)!important;
}

html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard:after{
  content:none!important;
}

html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard:hover,
html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard:focus-visible{
  background:
    linear-gradient(180deg,rgba(251,248,241,.14) 0%,rgba(11,42,74,.06) 100%),
    var(--domain-solid-hover)!important;
  background-color:var(--domain-solid-hover)!important;
  border-color:var(--domain-accent)!important;
}

html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard .homeDomainIndex,
html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard h3,
html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard p,
html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard .homeDomainCta{
  color:#FBF7F1!important;
  text-shadow:0 1px 2px rgba(7,28,51,.22)!important;
}

html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard .homeDomainIndex{
  color:color-mix(in srgb, var(--domain-accent) 42%, #fbf8f1 58%)!important;
}

html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard--social{
  --domain-solid:#8B403F;
  --domain-solid-hover:#A04A48;
}

html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard--developpement-durable{
  --domain-solid:#2F7451;
  --domain-solid-hover:#37875E;
}

html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard--technique{
  --domain-solid:#1E7482;
  --domain-solid-hover:#248C9D;
}

html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard--economie{
  --domain-solid:#326191;
  --domain-solid-hover:#3A70A6;
}

html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard--outremer{
  --domain-solid:#9A7024;
  --domain-solid-hover:#B38229;
}

/* Page Domaines — mêmes tuiles couleur pleine que l'option A validée.
   La navigation de la page dédiée utilise .domainesNav a, pas .homeDomainCard. */
html.is-domaines body.is-domaines #main > .domainesHero .domainesNav > a.domainesNavCard{
  --domain-nav-solid:#1E7482;
  --domain-nav-hover:#248C9D;
  --domain-nav-accent:#70b4be;
  color:#FBF7F1!important;
  border-color:rgba(251,248,241,.24)!important;
  background:
    linear-gradient(180deg,rgba(251,248,241,.10) 0%,rgba(11,42,74,.08) 100%),
    var(--domain-nav-solid)!important;
  background-color:var(--domain-nav-solid)!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  backdrop-filter:none!important;
  box-shadow:
    inset 0 0 0 1px rgba(251,248,241,.10),
    inset 0 -42px 70px rgba(11,42,74,.16),
    0 18px 38px rgba(7,28,51,.20)!important;
}

html.is-domaines body.is-domaines #main > .domainesHero .domainesNav > a.domainesNavCard.active{
  color:#FBF7F1!important;
  border-color:var(--domain-nav-accent)!important;
  background:
    linear-gradient(180deg,rgba(251,248,241,.12) 0%,rgba(11,42,74,.08) 100%),
    var(--domain-nav-solid)!important;
  background-color:var(--domain-nav-solid)!important;
  box-shadow:
    inset 0 0 0 1px rgba(251,248,241,.18),
    inset 0 -42px 70px rgba(11,42,74,.18),
    0 18px 38px rgba(7,28,51,.20)!important;
}

html.is-domaines body.is-domaines #main > .domainesHero .domainesNav > a.domainesNavCard:hover,
html.is-domaines body.is-domaines #main > .domainesHero .domainesNav > a.domainesNavCard:focus-visible,
html.is-domaines body.is-domaines #main > .domainesHero .domainesNav > a.domainesNavCard.active:hover,
html.is-domaines body.is-domaines #main > .domainesHero .domainesNav > a.domainesNavCard.active:focus-visible{
  color:#FBF7F1!important;
  border-color:var(--domain-nav-accent)!important;
  background:
    linear-gradient(180deg,rgba(251,248,241,.14) 0%,rgba(11,42,74,.06) 100%),
    var(--domain-nav-hover)!important;
  background-color:var(--domain-nav-hover)!important;
}

html.is-domaines body.is-domaines #main > .domainesHero .domainesNav > a.domainesNavCard span{
  color:rgba(251,248,241,.82)!important;
}

html.is-domaines body.is-domaines #main > .domainesHero .domainesNav > a.domainesNavCard strong,
html.is-domaines body.is-domaines #main > .domainesHero .domainesNav > a.domainesNavCard p,
html.is-domaines body.is-domaines #main > .domainesHero .domainesNav > a.domainesNavCard em{
  color:#FBF7F1!important;
  text-shadow:0 1px 2px rgba(7,28,51,.22)!important;
}

html.is-domaines body.is-domaines #main > .domainesHero .domainesNav > a.domainesNavCard--social{
  --domain-nav-solid:#8B403F;
  --domain-nav-hover:#A04A48;
  --domain-nav-accent:#C77165;
}

html.is-domaines body.is-domaines #main > .domainesHero .domainesNav > a.domainesNavCard--developpement-durable{
  --domain-nav-solid:#2F7451;
  --domain-nav-hover:#37875E;
  --domain-nav-accent:#5D9B75;
}

html.is-domaines body.is-domaines #main > .domainesHero .domainesNav > a.domainesNavCard--technique{
  --domain-nav-solid:#70B4BE;
  --domain-nav-hover:#4E96A2;
  --domain-nav-accent:#70b4be;
}

html.is-domaines body.is-domaines #main > .domainesHero .domainesNav > a.domainesNavCard--economie{
  --domain-nav-solid:#326191;
  --domain-nav-hover:#3A70A6;
  --domain-nav-accent:#5092b6;
}

html.is-domaines body.is-domaines #main > .domainesHero .domainesNav > a.domainesNavCard--outremer{
  --domain-nav-solid:#9A7024;
  --domain-nav-hover:#B38229;
  --domain-nav-accent:#C3922F;
}

/* Chiffres clés accueil - option A validée : fond bleu nuit DS + tuiles couleur */
body.is-home #main > .home-snap-block--kpi,
html.is-home body.is-home #main > .home-snap-block--kpi,
html.is-home body[data-responsive-mode].is-home #main > .home-snap-block--kpi{
  background:var(--bg-section-night,linear-gradient(135deg,#21384D 0%,#274B65 52%,#326191 100%))!important;
  background-color:var(--fnam-bleu-nuit,#21384D)!important;
}

body.is-home #main > .home-snap-block--kpi .dsKpiSection__head .eyebrow{
  color:var(--fnam-cyan-pale,#70b4be)!important;
}

body.is-home #main > .home-snap-block--kpi .dsKpiSection__head h2{
  color:var(--fnam-ivory,#fbf8f1)!important;
  border-bottom-color:var(--fnam-rouge-bordeaux,#be3c3f)!important;
}

body.is-home #main > .home-snap-block--kpi .dsKpiPill{
  background:var(--fnam-ivory,#fbf8f1)!important;
  border-color:rgba(251,248,241,.42)!important;
  color:var(--fnam-bleu-roi-900,#1c3a59)!important;
  box-shadow:0 8px 18px rgba(7,28,51,.14)!important;
}

body.is-home #main > .home-snap-block--kpi .dsKpiPill:hover,
body.is-home #main > .home-snap-block--kpi .dsKpiPill:focus-visible{
  background:var(--fnam-bleu-roi-50,#f3f7fb)!important;
  border-color:var(--fnam-cyan-pale,#70b4be)!important;
}

body.is-home #main > .home-snap-block--kpi .dsKpiPill[aria-pressed="true"]{
  background:var(--fnam-bleu-roi,#326191)!important;
  border-color:var(--fnam-bleu-roi,#326191)!important;
  color:#fff!important;
}

body.is-home #main > .home-snap-block--kpi .dsKpiTile{
  --kpi-tile-color:var(--fnam-bleu-roi,#326191);
  background:
    linear-gradient(180deg,rgba(251,248,241,.10),rgba(251,248,241,.04)),
    var(--kpi-tile-color)!important;
  border:0!important;
  box-shadow:inset 0 0 0 1px rgba(251,248,241,.06)!important;
}

body.is-home #main > .home-snap-block--kpi .dsKpiTile--economy{ --kpi-tile-color:#326191; }
body.is-home #main > .home-snap-block--kpi .dsKpiTile--emploi{ --kpi-tile-color:#1c3a59; }
body.is-home #main > .home-snap-block--kpi .dsKpiTile--mobilite{ --kpi-tile-color:#5092b6; }
body.is-home #main > .home-snap-block--kpi .dsKpiTile--fnam{ --kpi-tile-color:#70b4be; }
body.is-home #main > .home-snap-block--kpi .dsKpiTile--transition{ --kpi-tile-color:#c77165; }
body.is-home #main > .home-snap-block--kpi .dsKpiTile--usage{ --kpi-tile-color:#5f6f96; }

body.is-home #main > .home-snap-block--kpi .dsKpiTile__num{
  font-family:var(--font-display,'PP Fraktion Sans','Inter',system-ui,sans-serif);
  font-size:clamp(1.9rem,2.35vw,2.75rem);
  font-weight:800;
  line-height:.9;
  letter-spacing:0;
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
}

body.is-home #main > .home-snap-block--kpi .dsKpiTile--lead .dsKpiTile__num{
  font-size:clamp(4.35rem,5.4vw,6.5rem);
  line-height:.84;
}

body.is-home #main > .home-snap-block--kpi .dsKpiTile:hover,
body.is-home #main > .home-snap-block--kpi .dsKpiTile:focus-visible{
  box-shadow:
    inset 0 0 0 1px rgba(251,248,241,.16),
    inset 0 0 0 9999px rgba(251,248,241,.06)!important;
}

body.is-home #main > .home-snap-block--kpi .dsKpiTile.is-active{
  box-shadow:
    inset 0 0 0 2px var(--fnam-terracotta,#c77165),
    0 18px 38px rgba(0,0,0,.22)!important;
}

body.is-home #main > .home-snap-block--kpi .dsKpiTile.is-active:hover,
body.is-home #main > .home-snap-block--kpi .dsKpiTile.is-active:focus-visible{
  box-shadow:
    inset 0 0 0 2px var(--fnam-terracotta,#c77165),
    inset 0 0 0 9999px rgba(251,248,241,.06),
    0 18px 38px rgba(0,0,0,.22)!important;
}

body.is-home #main > .home-snap-block--kpi .dsKpiTile__action{
  background:rgba(251,248,241,.16)!important;
}

body.is-home #main > .home-snap-block--kpi .dsKpiDetails{
  background:var(--fnam-ivory,#fbf8f1)!important;
  border-color:rgba(199,113,101,.42)!important;
  box-shadow:0 20px 48px rgba(0,0,0,.18)!important;
}

body.is-home #main > .home-snap-block--kpi .dsKpiDetails__fixed{
  background:var(--fnam-paper-warm,#efe7d6)!important;
}

/* Accueil - duplication du format encadré de la section Groupements
   sur Chiffres clés et Publications, sans toucher à la structure ni aux scripts. */
body.is-home #main > .home-snap-block--kpi,
body.is-home #main > .home-snap-block--groups.fnamGroupementsShared,
body.is-home #main > .home-snap-block--publications{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 70% 30%, rgba(80,146,182,.16), transparent 36%),
    var(--bg-section-night,linear-gradient(135deg,#21384D 0%,#274B65 52%,#326191 100%))!important;
  color:var(--fnam-paper,#f6f1e7)!important;
}

body.is-home #main > .home-snap-block--kpi:before,
body.is-home #main > .home-snap-block--publications:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  opacity:.16!important;
  background-repeat:no-repeat!important;
  background-position:58% 18%!important;
  background-size:1180px auto!important;
  background-image:url("data:image/svg+xml,%3Csvg width='1400' height='720' viewBox='0 0 1400 720' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='rgba(255,255,255,0.55)' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M610 340 C760 250 925 160 1120 78 L1188 96 C1035 190 865 288 660 410 Z'/%3E%3Cpath d='M650 382 C820 303 980 212 1148 94' opacity='.65'/%3E%3Cpath d='M705 356 C845 293 986 220 1136 112' opacity='.48'/%3E%3Cpath d='M755 330 C870 282 1006 209 1110 130' opacity='.42'/%3E%3Cpath d='M720 390 L1094 118' opacity='.32'/%3E%3Cpath d='M775 402 L1160 118' opacity='.25'/%3E%3Cpath d='M690 420 C820 420 1010 390 1260 300' opacity='.25'/%3E%3Cpath d='M350 330 C540 280 765 240 1035 92' opacity='.26'/%3E%3Cpath d='M180 420 C440 328 720 300 1110 112' opacity='.18'/%3E%3Cpath d='M1015 80 L1118 78 L1070 142' opacity='.75'/%3E%3Cpath d='M815 176 L843 154 M865 151 L895 128 M914 128 L944 106 M964 105 L996 84' opacity='.35'/%3E%3Cpath d='M995 74 C1120 132 1220 210 1302 318' opacity='.18'/%3E%3Cpath d='M1045 55 C1190 123 1300 230 1370 370' opacity='.14'/%3E%3C/g%3E%3Cg fill='none' stroke='rgba(255,255,255,0.23)' stroke-width='.8'%3E%3Cpath d='M460 120 H1260' stroke-dasharray='5 13'/%3E%3Cpath d='M520 510 H1320' stroke-dasharray='5 13'/%3E%3Cpath d='M860 40 V650' stroke-dasharray='5 13'/%3E%3Cpath d='M1060 20 V640' stroke-dasharray='5 13'/%3E%3C/g%3E%3C/svg%3E")!important;
}

body.is-home #main > .home-snap-block--kpi:after,
body.is-home #main > .home-snap-block--publications:after{
  content:none!important;
}

body.is-home #main > .home-snap-block--kpi > .dsKpiSection__inner,
body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceBoard,
body.is-home #main > .home-snap-block--publications > .container{
  position:relative!important;
  z-index:1!important;
  background:var(--bg-section-night,linear-gradient(135deg,#21384D 0%,#274B65 52%,#326191 100%))!important;
  color:var(--fnam-paper,#f6f1e7)!important;
  border:1px solid rgba(126,211,229,.22)!important;
  border-radius:4px!important;
  box-shadow:0 18px 42px rgba(13,31,49,.18)!important;
  overflow:hidden!important;
}

body.is-home #main > .home-snap-block--kpi > .dsKpiSection__inner{
  padding:clamp(14px,2svh,20px) clamp(22px,3vw,38px) clamp(14px,1.9svh,20px)!important;
}

body.is-home #main > .home-snap-block--publications > .container{
  padding:clamp(14px,2svh,20px) clamp(22px,3vw,38px) clamp(14px,1.9svh,20px)!important;
}

@media(max-width:900px){
  body.is-home #main > .home-snap-block--kpi:before,
  body.is-home #main > .home-snap-block--publications:before{
    background-size:940px auto!important;
    background-position:46% 10%!important;
    opacity:.12!important;
  }
}

@media(max-width:640px){
  body.is-home #main > .home-snap-block--kpi:before,
  body.is-home #main > .home-snap-block--publications:before{
    background-size:820px auto!important;
    background-position:40% 2%!important;
    opacity:.09!important;
  }
}

/* Accueil - homogénéisation sections 2/3/5 */
@media(min-width:901px){
  html.is-home body.is-home #main > .home-snap-block--kpi,
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared,
  html.is-home body.is-home #main > .home-snap-block--publications{
    --home-section-safe-top:clamp(104px,10svh,132px);
    --home-section-safe-bottom:clamp(12px,1.6svh,20px);
    min-height:100svh!important;
    max-height:100svh!important;
    display:flex!important;
    align-items:stretch!important;
    padding-top:var(--home-section-safe-top)!important;
    padding-bottom:var(--home-section-safe-bottom)!important;
    overflow:hidden!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi > .dsKpiSection__inner,
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared > .container,
  html.is-home body.is-home #main > .home-snap-block--publications > .container{
    width:min(1480px,calc(100vw - 44px))!important;
    max-width:min(1480px,calc(100vw - 44px))!important;
    height:calc(100svh - var(--home-section-safe-top) - var(--home-section-safe-bottom))!important;
    max-height:calc(100svh - var(--home-section-safe-top) - var(--home-section-safe-bottom))!important;
    margin-inline:auto!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi > .dsKpiSection__inner,
  html.is-home body.is-home #main > .home-snap-block--publications > .container{
    display:grid!important;
    padding:0!important;
    overflow:hidden!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared > .container{
    display:flex!important;
    align-items:stretch!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceBoard{
    width:100%!important;
    height:100%!important;
    max-height:100%!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi > .dsKpiSection__inner{
    grid-template-rows:auto auto minmax(0,1fr)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--publications > .container{
    grid-template-rows:auto auto!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiSection__head,
  html.is-home body.is-home #main > .home-snap-block--publications .head,
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader{
    padding:clamp(20px,2.6svh,30px) clamp(22px,3vw,38px) clamp(12px,1.7svh,18px)!important;
    margin:0!important;
  }

  html.is-home body.is-home #main > .home-snap-block--publications .head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:end!important;
    gap:clamp(16px,2.4vw,32px)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiSection__head .eyebrow,
  html.is-home body.is-home #main > .home-snap-block--publications .head .eyebrow,
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader .eyebrow{
    display:inline-flex!important;
    align-items:center!important;
    gap:10px!important;
    width:max-content!important;
    margin:0 0 8px!important;
    color:var(--fnam-cyan-pale,#70b4be)!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:clamp(12px,1.45svh,15px)!important;
    line-height:1.2!important;
    font-weight:800!important;
    letter-spacing:.22em!important;
    text-transform:uppercase!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiSection__head .eyebrow:before,
  html.is-home body.is-home #main > .home-snap-block--publications .head .eyebrow:before,
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader .eyebrow:before{
    content:""!important;
    display:block!important;
    flex:0 0 28px!important;
    width:28px!important;
    height:2px!important;
    border-radius:999px!important;
    background:var(--fnam-rouge-bordeaux,var(--rouge,#be3c3f))!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiSection__head h2,
  html.is-home body.is-home #main > .home-snap-block--publications .head h2,
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader h2{
    position:relative!important;
    display:block!important;
    width:fit-content!important;
    max-width:100%!important;
    margin:0!important;
    padding:0 0 clamp(9px,1.6svh,14px)!important;
    border:0!important;
    color:var(--fnam-paper,#f6f1e7)!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:clamp(34px,4.9svh,54px)!important;
    line-height:1!important;
    letter-spacing:0!important;
    font-weight:700!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiSection__head h2:after,
  html.is-home body.is-home #main > .home-snap-block--publications .head h2:after,
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader h2:after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    bottom:0!important;
    display:block!important;
    width:100%!important;
    height:2px!important;
    border-radius:999px!important;
    background:var(--fnam-rouge-bordeaux,var(--rouge,#be3c3f))!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader:after{
    display:none!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiToolbar{
    margin:0!important;
    padding:0 clamp(22px,3vw,38px) clamp(10px,1.5svh,14px)!important;
    gap:8px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiLayout,
  html.is-home body.is-home #main > .home-snap-block--publications .pubs,
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceBody{
    padding:clamp(12px,1.7svh,16px) clamp(18px,2.4vw,34px) clamp(14px,1.9svh,20px)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiLayout,
  html.is-home body.is-home #main > .home-snap-block--publications .pubs{
    min-height:0!important;
    height:100%!important;
    overflow:hidden!important;
  }

  html.is-home body.is-home #main > .home-snap-block--publications .pubs{
    grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr)!important;
    gap:clamp(16px,2vw,24px)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--publications .feature{
    min-height:0!important;
    height:100%!important;
    padding:clamp(22px,2.8svh,30px)!important;
    border-radius:18px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--publications .publist{
    min-height:0!important;
    gap:clamp(12px,1.7svh,16px)!important;
    overflow:hidden!important;
  }

  html.is-home body.is-home #main > .home-snap-block--publications .publist .card{
    min-height:0!important;
    border-radius:18px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiPill{
    min-height:42px!important;
    padding:10px 18px!important;
    border-radius:999px!important;
    font-size:clamp(.88rem,1.55svh,.98rem)!important;
    line-height:1.1!important;
    font-weight:700!important;
  }

  html.is-home body.is-home #main > .home-snap-block--publications .head .btn{
    align-self:end!important;
    margin:0 0 clamp(9px,1.5svh,13px)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--publications .head .btn,
  html.is-home body.is-home #main > .home-snap-block--publications .feature .btn,
  html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser .chip,
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceLink,
  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiTile__action,
  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiDetails__cta{
    min-height:0!important;
    width:max-content!important;
    max-width:100%!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:clamp(.9rem,1.55svh,1rem)!important;
    line-height:1.2!important;
    font-weight:800!important;
    text-decoration:none!important;
  }

  html.is-home body.is-home #main > .home-snap-block--publications .head .btn,
  html.is-home body.is-home #main > .home-snap-block--publications .feature .btn{
    color:var(--fnam-ivory,#fbf8f1)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser .chip,
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceLink,
  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiDetails__cta{
    color:var(--fnam-bleu-roi,#326191)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiTile__action{
    color:var(--fnam-ivory,#fbf8f1)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiTile--fnam .dsKpiTile__action{
    color:var(--fnam-night,#17324d)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--publications .head .btn::after,
  html.is-home body.is-home #main > .home-snap-block--publications .feature .btn::after,
  html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser .chip::after,
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceLink::after,
  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiDetails__cta::after{
    content:"\2192"!important;
    font-size:1.28em!important;
    line-height:1!important;
    transform:translateY(-1px)!important;
  }
}

/* Accueil - reprise finale demandee : cadrage Groupements + fond Chiffres cles identique. */
@media(min-width:901px){
  html.is-home body.is-home #main > .home-snap-block--kpi,
  html.is-home body.is-home #main > .home-snap-block--kpi > .dsKpiSection__inner{
    background:var(--bg-section-night,linear-gradient(135deg,#21384D 0%,#274B65 52%,#326191 100%))!important;
  }
}

@media(min-width:1221px) and (min-height:601px){
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared{
    --home-section-safe-top:clamp(96px,9.2svh,112px)!important;
    --home-section-safe-bottom:clamp(8px,1.1svh,14px)!important;
    align-items:stretch!important;
    padding-top:var(--home-section-safe-top)!important;
    padding-bottom:var(--home-section-safe-bottom)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared > .container{
    height:calc(100svh - var(--home-section-safe-top) - var(--home-section-safe-bottom))!important;
    max-height:calc(100svh - var(--home-section-safe-top) - var(--home-section-safe-bottom))!important;
    padding:0!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceBoard{
    display:grid!important;
    grid-template-rows:auto auto!important;
    height:100%!important;
    max-height:100%!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader{
    padding:clamp(18px,2.2svh,24px) clamp(22px,3vw,38px) clamp(10px,1.4svh,14px)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader .eyebrow{
    margin-bottom:7px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader h2{
    font-size:clamp(34px,4.7svh,52px)!important;
    line-height:1!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceBody{
    min-height:0!important;
    overflow:hidden!important;
    padding:clamp(9px,1.2svh,12px) clamp(18px,2.4vw,34px) clamp(12px,1.6svh,16px)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceDesktop{
    --home-group-federation-height:clamp(52px,6.2svh,62px);
    --home-group-left-gap:clamp(8px,1.1svh,12px);
    height:100%!important;
    min-height:0!important;
    align-items:stretch!important;
    grid-template-columns:minmax(0,1fr) minmax(340px,390px)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceLeft{
    min-height:0!important;
    display:grid!important;
    grid-template-rows:auto auto!important;
    gap:var(--home-group-left-gap)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceFederation{
    min-height:var(--home-group-federation-height)!important;
    padding:9px 16px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceFederation img{
    width:42px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceFederation strong{
    font-size:clamp(16px,2svh,21px)!important;
    line-height:1.18!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceFamilies{
    min-height:0!important;
    height:100%!important;
    align-items:stretch!important;
    gap:clamp(12px,1.6vw,18px)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceFamily{
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    padding:clamp(10px,1.35svh,13px)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceNumber{
    width:32px!important;
    height:32px!important;
    margin-bottom:6px!important;
    font-size:16px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceFamily h3{
    margin-bottom:8px!important;
    font-size:clamp(18px,2.35svh,23px)!important;
    line-height:1.08!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceStack{
    min-height:0!important;
    gap:clamp(7px,1svh,9px)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceButton{
    min-height:clamp(62px,7.7svh,74px)!important;
    grid-template-columns:minmax(42px,28%) minmax(0,1fr)!important;
    gap:9px!important;
    padding:9px 11px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceLogo{
    max-width:66px!important;
    max-height:34px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceText strong{
    font-size:clamp(15px,2svh,20px)!important;
    line-height:1.06!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceText span{
    font-size:clamp(12px,1.65svh,15px)!important;
    line-height:1.18!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceBadge{
    padding:3px 6px!important;
    font-size:clamp(10px,1.25svh,11px)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceDetail{
    position:relative!important;
    top:auto!important;
    margin-top:calc(var(--home-group-federation-height) + var(--home-group-left-gap))!important;
    height:calc(100% - var(--home-group-federation-height) - var(--home-group-left-gap))!important;
    max-height:calc(100% - var(--home-group-federation-height) - var(--home-group-left-gap))!important;
    min-height:0!important;
  }
}

/* Stabilisation finale des corrections cosmétiques demandées. */
html.is-home body.is-home .header .brandLogo{content:url("../images/logo-fnam-home-header.png");}
html.is-home body.is-home #main > .home-snap-block--kpi,
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared,
html.is-home body.is-home #main > .home-snap-block--kpi > .dsKpiSection__inner,
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceBoard{
  background:var(--bg-section-night,linear-gradient(135deg,#21384D 0%,#274B65 52%,#326191 100%))!important;
  background-color:var(--fnam-bleu-nuit,#21384D)!important;
}
html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiSection__head .eyebrow,
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader .eyebrow,
html.is-home body.is-home #main > .home-snap-block--publications .head .eyebrow,
body.is-about .aboutGroupsHeader .eyebrow{
  display:inline-flex!important;width:max-content!important;align-items:center!important;gap:10px!important;
  color:var(--fnam-blue-grey,#5092b6)!important;font-size:var(--fs-eyebrow,.75rem)!important;
  line-height:var(--lh-eyebrow,1.2)!important;letter-spacing:var(--tk-eyebrow,.12em)!important;
  font-weight:700!important;text-transform:uppercase!important;
}
html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiSection__head .eyebrow:before,
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader .eyebrow:before,
html.is-home body.is-home #main > .home-snap-block--publications .head .eyebrow:before,
body.is-about .aboutGroupsHeader .eyebrow:before{
  content:""!important;flex:0 0 28px!important;width:28px!important;height:2px!important;border-radius:999px!important;background:var(--fnam-rouge-bordeaux,var(--rouge,#be3c3f))!important;
}
html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiSection__head h2,
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader h2,
html.is-home body.is-home #main > .home-snap-block--publications .head h2,
body.is-about .aboutGroupsHeader h2{
  position:relative!important;display:block!important;width:fit-content!important;max-width:100%!important;padding-bottom:18px!important;
}
html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiSection__head h2:after,
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader h2:after,
html.is-home body.is-home #main > .home-snap-block--publications .head h2:after,
body.is-about .aboutGroupsHeader h2:after{
  content:""!important;position:absolute!important;left:0!important;bottom:0!important;width:100%!important;height:2px!important;border-radius:999px!important;background:var(--fnam-rouge-bordeaux,var(--rouge,#be3c3f))!important;
}
html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader:after,
body.is-about .aboutGroupsHeader:after{display:none!important;}

@media (min-width:1221px) and (min-height:601px){
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceDesktop{align-items:start!important;}
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceFamilies{height:auto!important;align-items:start!important;}
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceFamily{height:auto!important;min-height:0!important;}
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceDetail{height:auto!important;max-height:min(590px,calc(100svh - 220px))!important;overflow:auto!important;}
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupInfoBlock{padding:8px 0!important;}
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupInfoBlock p,
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupInfoBlock li{font-size:12.5px!important;line-height:1.32!important;}
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceLink{
    width:100%!important;min-height:58px!important;margin:14px 0 0!important;padding:14px 20px!important;border-radius:8px!important;
    background:var(--fnam-terracotta,#C77165)!important;color:#fff!important;font-size:clamp(1.05rem,2.2svh,1.45rem)!important;
    font-weight:850!important;letter-spacing:0!important;text-decoration:none!important;
  }
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceLink:after{content:none!important;}
}

/* Accueil - alignement vertical des familles de groupements sur le panneau détail. */
@media (min-width:1221px) and (min-height:601px){
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceDesktop{
    --home-group-column-trim:clamp(22px,2.6svh,30px);
    align-items:stretch!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceLeft{
    display:grid!important;
    grid-template-rows:auto auto!important;
    height:auto!important;
    min-height:0!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceFamilies{
    height:auto!important;
    max-height:calc(100% - var(--home-group-column-trim))!important;
    min-height:0!important;
    align-items:stretch!important;
    align-content:start!important;
    align-self:start!important;
    overflow-y:auto!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceFamily{
    height:auto!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceFamily h3{
    margin-bottom:16px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceDetail{
    height:calc(100% - var(--home-group-federation-height) - var(--home-group-left-gap) - var(--home-group-column-trim))!important;
    max-height:calc(100% - var(--home-group-federation-height) - var(--home-group-left-gap) - var(--home-group-column-trim))!important;
    overflow:auto!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceDetailHero{
    min-height:112px!important;
    align-items:center!important;
    padding:17px 15px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceDetailTitle{
    align-self:stretch!important;
    display:flex!important;
    align-items:center!important;
    line-height:1.2!important;
    transform:translateY(-3px);
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceLink{
    display:flex!important;
    width:fit-content!important;
    min-height:30px!important;
    margin:8px auto 0!important;
    padding:7px 10px!important;
    border-radius:6px!important;
    font-size:clamp(.78rem,1.2svh,.9rem)!important;
    line-height:1.1!important;
    align-self:center!important;
  }
}

body.is-about .aboutGroupsBoard{min-height:var(--about-snap-height,calc(100svh - 124px - 22px))!important;max-height:var(--about-snap-height,calc(100svh - 124px - 22px))!important;}
body.is-about .aboutGroupsHeader{padding:clamp(22px,2.6svh,32px) clamp(24px,3.2vw,48px) clamp(12px,1.6svh,18px)!important;}
body.is-about .aboutGroupsHeader .eyebrow{margin:0 0 16px!important;}
body.is-about .aboutGroupsHeader h2{margin:0!important;color:var(--about-groups-paper,var(--fnam-paper,#f6f1e7))!important;font-family:var(--font-display)!important;font-size:calc(var(--fs-h2) * 1.3)!important;line-height:1.08!important;font-weight:600!important;}
body.is-about .aboutGroupsBody{grid-template-columns:minmax(0,1fr) minmax(300px,340px)!important;gap:clamp(14px,1.6vw,22px)!important;padding:0 clamp(22px,3vw,42px) clamp(18px,2svh,28px)!important;}
body.is-about .aboutGroupsLeft{gap:clamp(10px,1.3svh,16px)!important;}
body.is-about .aboutGroupFederation{min-height:clamp(52px,6.6svh,66px)!important;grid-template-columns:46px minmax(0,1fr)!important;gap:12px!important;padding:9px 16px!important;}
body.is-about .aboutGroupFederation img{width:42px!important;}
body.is-about .aboutGroupFederation strong{font-size:clamp(15px,1.45vw,21px)!important;line-height:1.16!important;}
body.is-about .aboutGroupsFamilies{gap:clamp(10px,1.1vw,14px)!important;}
body.is-about .aboutGroupFamily{padding:clamp(10px,1.2vw,14px)!important;}
body.is-about .aboutGroupNumber{width:32px!important;height:32px!important;margin-bottom:7px!important;font-size:16px!important;}
body.is-about .aboutGroupFamily h3{margin-bottom:8px!important;font-size:clamp(18px,1.55vw,23px)!important;line-height:1.08!important;}
body.is-about .aboutGroupStack{gap:clamp(7px,.85svh,9px)!important;}
body.is-about .aboutGroupButton{min-height:clamp(58px,7.2svh,68px)!important;grid-template-columns:56px minmax(0,1fr)!important;gap:8px!important;padding:8px 10px!important;}
body.is-about .aboutGroupLogo{max-width:54px!important;max-height:32px!important;}
body.is-about .aboutGroupButtonText strong{font-size:clamp(14px,1.25vw,17px)!important;line-height:1.04!important;overflow-wrap:normal!important;word-break:normal!important;}
body.is-about .aboutGroupButtonText span{font-size:clamp(11px,.92vw,13px)!important;line-height:1.12!important;overflow-wrap:normal!important;word-break:normal!important;}
body.is-about .aboutGroupBadge{padding:3px 6px!important;font-size:10px!important;}
body.is-about .aboutGroupDetailHero{min-height:0!important;grid-template-columns:64px minmax(0,1fr)!important;gap:12px!important;padding:13px 15px!important;}
body.is-about .aboutGroupDetailLogo{max-width:62px!important;max-height:38px!important;}
body.is-about .aboutGroupDetailTitle{font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;font-size:clamp(15px,1.18vw,18px)!important;line-height:1.12!important;}
body.is-about .aboutGroupDetailBody{padding:12px 16px 16px!important;}
body.is-about .aboutGroupPresident{grid-template-columns:44px minmax(0,1fr)!important;gap:10px!important;margin-bottom:9px!important;padding:9px!important;}
body.is-about .aboutGroupPresidentPhoto{width:44px!important;height:44px!important;}
body.is-about .aboutGroupPresidentInfo strong{font-size:14px!important;}
body.is-about .aboutGroupPresidentInfo span{margin-top:2px!important;font-size:12px!important;}
body.is-about .aboutGroupInfoBlock{padding:8px 0!important;}
body.is-about .aboutGroupInfoBlock h4{margin-bottom:6px!important;font-size:11px!important;}
body.is-about .aboutGroupInfoBlock p,
body.is-about .aboutGroupInfoBlock li{font-size:12px!important;line-height:1.32!important;}
body.is-about .aboutGroupLink{min-height:36px!important;margin-top:10px!important;padding:8px 12px!important;border-radius:7px!important;}

/* À propos - Groupements : alignement dédié avec le panneau détail. */
@media (min-width:1221px) and (min-height:601px){
  body.is-about .aboutGroupements .aboutGroupsBody{
    --about-group-federation-height:66px;
    --about-group-left-gap:14px;
    --about-group-columns-height:clamp(520px,54.8svh,594px);
    align-items:start!important;
  }

  body.is-about .aboutGroupements .aboutGroupsLeft{
    display:grid!important;
    grid-template-rows:auto auto!important;
    gap:var(--about-group-left-gap)!important;
    height:100%!important;
    min-height:0!important;
  }

  body.is-about .aboutGroupements .aboutGroupsFamilies{
    height:var(--about-group-columns-height)!important;
    min-height:0!important;
    align-items:stretch!important;
    align-self:start!important;
  }

  body.is-about .aboutGroupements .aboutGroupFamily{
    height:100%!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
  }

  body.is-about .aboutGroupements .aboutGroupFamily h3{
    margin-bottom:16px!important;
  }

  body.is-about .aboutGroupements .aboutGroupsDetail{
    align-self:start!important;
    margin-top:calc(var(--about-group-federation-height) + var(--about-group-left-gap))!important;
    height:var(--about-group-columns-height)!important;
    max-height:var(--about-group-columns-height)!important;
    overflow:auto!important;
  }

  body.is-about .aboutGroupements .aboutGroupDetailHero{
    min-height:112px!important;
    align-items:center!important;
    padding:16px 15px 18px!important;
  }

  body.is-about .aboutGroupements .aboutGroupDetailTitle{
    line-height:1.2!important;
  }

  body.is-about .aboutGroupements .aboutGroupLink{
    display:flex!important;
    width:fit-content!important;
    min-height:30px!important;
    margin:8px auto 0!important;
    padding:7px 10px!important;
    border-radius:6px!important;
    font-size:clamp(.78rem,1.2svh,.9rem)!important;
    line-height:1.1!important;
    align-self:center!important;
  }
}

@media (min-width:1221px) and (max-width:1500px) and (min-height:601px){
  body.is-about .aboutGroupements .aboutGroupsBody{
    --about-group-federation-height:68px;
    --about-group-left-gap:12px;
  }
}

body.is-tools .toolsAviationHub__themes{align-self:start!important;}
body.is-tools .toolsCdgMap__visual{grid-template-rows:minmax(0,1fr) auto!important;}
body.is-tools .toolsCdgMap__board{order:1;}
body.is-tools .toolsCdgMap__search{order:2;align-self:end;}

body.is-tools .toolsAviationHub__counter em{
  display:inline-block!important;
  color:var(--fnam-terracotta,#C77165)!important;
  font-style:normal!important;
  transition:opacity .18s ease,transform .18s ease;
}

body.is-tools .toolsAviationHub__panel{
  grid-template-rows:auto auto auto auto minmax(132px,1fr)!important;
  align-content:stretch!important;
}

body.is-tools .toolsAviationHub__sources{
  min-height:clamp(132px,18svh,198px)!important;
  align-self:stretch!important;
  align-content:center!important;
  gap:clamp(10px,1.25svh,15px)!important;
  padding:clamp(14px,1.55svh,20px) clamp(16px,1.55vw,24px)!important;
  margin-top:0!important;
}

body.is-tools .toolsAviationHub__sourceLogo{
  width:clamp(180px,12.5vw,248px)!important;
  height:clamp(64px,7.2svh,96px)!important;
  padding:clamp(10px,1.15svh,16px) clamp(16px,1.55vw,24px)!important;
}

body.is-tools .toolsAviationHub__sourceLogo img{
  max-width:100%!important;
  max-height:clamp(42px,5.6svh,68px)!important;
}

body.is-tools .toolsAviationHub__sourceTrack{
  gap:clamp(18px,1.8vw,30px)!important;
  animation-duration:34s!important;
}

/* Outil Elections 2027 - Boite a idees */
.electionIdeaPage{
  background:linear-gradient(180deg,#f7fbfc 0,#FBF7F1 46%,#f7fbfc 100%);
}

body.is-elections #main > .electionIdeaPage{
  scroll-snap-align:start;
  scroll-snap-stop:always;
}

.electionHero{
  position:relative;
  background:linear-gradient(135deg,#21384D 0%,#326191 58%,#5092b6 100%);
  color:#FBF7F1;
  min-height:calc(100svh - var(--header-height,104px));
  display:grid;
  align-items:center;
  padding:clamp(48px,7vw,86px) 0 clamp(42px,6vw,76px);
  overflow:hidden;
}

.electionHeroLineArt{
  position:relative;
  grid-column:2;
  grid-row:1;
  align-self:start;
  justify-self:center;
  z-index:1;
  aspect-ratio:4/5;
  width:min(100%,clamp(360px,25vw,560px));
  height:auto;
  margin-top:clamp(-86px,-7.4svh,-52px);
  max-height:none;
  overflow:visible;
  pointer-events:none;
  opacity:.9;
}

.electionHeroLineArt svg{
  width:190.08%;
  max-width:none;
  height:100%;
  overflow:visible;
  transform:translateX(-23.7%);
}

.electionHeroLineArt path{
  fill:none;
  stroke:rgba(255,255,255,.82);
  stroke-width:3.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:1;
  stroke-dashoffset:1;
  filter:drop-shadow(0 0 9px rgba(255,255,255,.18));
  animation:electionElyseeDraw var(--draw,6.5s) ease-out forwards;
  animation-delay:calc(var(--i) * .13s);
}

.electionHeroRoad{
  opacity:.82;
}

.electionHeroLineArt .electionHeroRoad__edge{
  fill:none;
  stroke:rgba(255,255,255,.74);
  stroke-width:2.1;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:1;
  stroke-dashoffset:1;
  filter:drop-shadow(0 0 8px rgba(255,255,255,.2));
  animation:electionRoadDraw 2.02s ease-out 7.35s forwards;
}

.electionHeroLineArt .electionHeroRoad__edge--right{
  animation-delay:7.35s;
}

.electionHeroFlag rect{
  stroke:none;
  stroke-dasharray:0;
  stroke-dashoffset:0;
  shape-rendering:crispEdges;
  filter:drop-shadow(0 0 9px rgba(7,28,51,.2));
  opacity:0;
  animation:electionFlagColor .72s ease-out forwards;
}

.electionHeroFlag rect.electionHeroFlag__blue{
  fill:#0055A4;
  animation-delay:7.85s!important;
}

.electionHeroFlag rect.electionHeroFlag__white{
  fill:#fff;
  animation-delay:8.25s!important;
}

.electionHeroFlag rect.electionHeroFlag__red{
  fill:#EF4135;
  animation-delay:8.65s!important;
}

.electionHero__inner{
  position:relative;
  z-index:1;
  width:100%;
  max-width:none;
  margin:0;
  display:grid;
  grid-template-columns:minmax(360px,31vw) minmax(360px,1fr) minmax(442px,30.6vw);
  gap:clamp(22px,3vw,52px);
  align-items:center;
  align-content:center;
  height:100%;
  row-gap:clamp(18px,2.6svh,30px);
  padding:clamp(34px,5.6svh,68px) clamp(24px,3.4vw,62px) clamp(32px,5svh,58px) clamp(24px,4.8vw,92px);
}

.electionHeroContent{
  grid-column:1;
  grid-row:1;
  position:relative;
  z-index:2;
  min-width:0;
}

@keyframes electionElyseeDraw{
  0%{stroke-dashoffset:1;opacity:0}
  12%{opacity:1}
  72%,100%{stroke-dashoffset:0;opacity:1}
}

@keyframes electionFlagColor{
  from{opacity:0;transform:translateY(-4px)}
  to{opacity:1;transform:translateY(0)}
}

@keyframes electionRoadDraw{
  0%{stroke-dashoffset:1;opacity:0}
  18%{opacity:1}
  100%{stroke-dashoffset:0;opacity:1}
}

@media(prefers-reduced-motion:reduce){
  .electionHeroLineArt path{
    animation:none;
    stroke-dashoffset:0;
  }

  .electionHeroFlag rect{
    opacity:1;
  }

  .electionHeroRoad__edge{
    animation:none;
    stroke-dashoffset:0;
  }
}

.electionHero h1{
  max-width:680px;
  margin:18px 0 20px;
  color:#FBF7F1;
  font-size:clamp(3.15rem,5.45vw,6.15rem);
  line-height:.95;
}

.electionHero p{
  max-width:760px;
  margin:0;
  color:rgba(251,247,241,.9);
  font-size:clamp(1.14rem,1.52vw,1.44rem);
}

.electionHeroActions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:34px;
}

.electionHeroAside{
  grid-column:3;
  grid-row:1;
  position:relative;
  z-index:2;
  display:grid;
  gap:clamp(25px,2.9svh,36px);
  margin-top:clamp(53px,5.9svh,61px);
  min-width:0;
}

.electionHeroCycle{
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:auto auto auto;
  align-content:center;
  row-gap:clamp(10px,1.25vw,15px);
  width:100%;
  height:clamp(190px,16vw,232px);
  padding:clamp(20px,2.6vw,30px) clamp(20px,3vw,36px);
  border:1px solid rgba(199,113,101,.48);
  border-radius:10px;
  background:#FBF7F1;
  color:var(--bleu-fonce);
  box-shadow:0 28px 64px rgba(7,28,51,.24);
  overflow:hidden;
}

.electionHeroCycle:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:16px;
  background:#C77165;
}

.electionHeroCycleCount{
  display:flex;
  align-items:center;
  gap:clamp(14px,1.8vw,24px);
  color:var(--bleu-fonce);
}

.electionHeroCycle strong{
  font-size:clamp(4.1rem,5.2vw,5.9rem);
  line-height:.82;
  letter-spacing:-.06em;
}

.electionHeroCycle b{
  color:var(--bleu-fonce);
  font-size:clamp(1.55rem,2.15vw,2.55rem);
  font-weight:900;
  line-height:1;
}

.electionHeroCycle span{
  display:block;
  min-width:0;
  min-height:2.18em;
  color:#C77165;
  font-size:clamp(1.32rem,1.92vw,2.28rem);
  font-weight:900;
  line-height:1.04;
}

.electionHeroCycle em{
  display:block;
  margin-top:2px;
  color:inherit;
  font-style:normal;
  overflow-wrap:anywhere;
  transition:opacity .18s ease, transform .18s ease;
}

.electionHeroCycle small{
  color:rgba(33,56,77,.72);
  font-size:.82rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:opacity .18s ease, transform .18s ease;
}

.electionHeroCycle em.is-changing,
.electionHeroCycle small.is-changing{
  opacity:0;
  transform:translateY(12px);
}

.electionHeroProofTiles{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.electionHeroProofTile{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  height:clamp(184px,18.7svh,222px);
  padding:clamp(15px,1.4vw,20px);
  border:1px solid rgba(251,247,241,.26);
  border-radius:10px;
  box-shadow:0 16px 34px rgba(7,28,51,.14);
}

.electionHeroProofTile:nth-child(1){
  background:linear-gradient(135deg,rgba(80,146,182,.58),rgba(50,97,145,.42));
}

.electionHeroProofTile:nth-child(2){
  background:linear-gradient(135deg,rgba(112,180,190,.52),rgba(50,97,145,.38));
}

.electionHeroProofTile:nth-child(3){
  background:linear-gradient(135deg,rgba(190,60,63,.5),rgba(199,113,101,.34));
}

.electionHeroProofTile h2{
  margin:0 0 8px;
  color:#FBF7F1;
  font-size:clamp(1.08rem,1.24vw,1.42rem);
  line-height:1.12;
}

.electionHeroProofTile p{
  margin:0;
  color:rgba(251,247,241,.82);
  font-size:clamp(.84rem,.86vw,.98rem);
  line-height:1.32;
}

.electionHeroExportTile{
  min-height:clamp(116px,12.2svh,150px);
  padding:clamp(14px,1.4vw,18px);
  border:1px solid rgba(251,247,241,.28);
  border-radius:10px;
  background:linear-gradient(135deg,rgba(33,56,77,.55),rgba(80,146,182,.42));
  box-shadow:0 16px 34px rgba(7,28,51,.14);
}

.electionHeroExportTile h2{
  margin:0 0 10px;
  color:#FBF7F1;
  font-size:clamp(1.28rem,1.55vw,1.82rem);
  line-height:1.08;
}

.electionHeroExportTile p{
  margin:0;
  max-width:720px;
  color:rgba(251,247,241,.84);
  font-size:clamp(.92rem,.95vw,1.06rem);
  line-height:1.38;
}

.electionHeroPanel{
  border:1px solid rgba(251,247,241,.28);
  border-radius:12px;
  padding:24px;
  background:rgba(251,247,241,.1);
  box-shadow:0 24px 50px rgba(7,28,51,.22);
}

.electionHeroPanel h2{
  margin:0 0 16px;
  font-size:1.25rem;
  color:#FBF7F1;
}

.electionHeroPanel ol{
  margin:0;
  padding-left:22px;
  display:grid;
  gap:10px;
  color:rgba(251,247,241,.88);
  font-weight:750;
}

.electionWorkspace{
  padding-top:42px;
  scroll-margin-top:calc(var(--header-height,104px) + 10px);
}

.electionWorkspace > .container{
  width:min(100% - 50px,1680px);
}

.electionWorkspace__grid{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:26px;
  align-items:start;
}

.electionThemePanel{
  position:sticky;
  top:calc(var(--header-height,104px) + 18px);
  display:grid;
  gap:14px;
  max-height:calc(100svh - var(--header-height,104px) - 36px);
  overflow:auto;
  padding:0 4px 24px 0;
  scrollbar-gutter:stable;
}

.electionSearchWrap{
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid rgba(112,180,190,.48);
  border-radius:10px;
  background:transparent;
  box-shadow:none;
}

.electionSearchWrap .searchBox{
  background:rgba(255,255,255,.88);
}

.electionSearchTitle{
  color:var(--bleu-moyen);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.1em;
  line-height:1;
  text-transform:uppercase;
}

.electionThemeList{
  display:grid;
  gap:10px;
  overflow:visible;
  padding:2px 0 4px;
}

.electionThemeButton{
  display:grid;
  gap:9px;
  position:relative;
  width:100%;
  min-height:86px;
  padding:15px 16px;
  border:1px solid rgba(112,180,190,.5);
  border-radius:10px;
  background:#fff;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(7,28,51,.06);
}

.electionThemeButton:hover,
.electionThemeButton.active{
  border-color:var(--rouge);
  box-shadow:0 16px 34px rgba(50,97,145,.14);
}

.electionThemeButton.active{
  background:linear-gradient(135deg,#fff,#fff6f3);
  box-shadow:0 18px 38px rgba(190,60,63,.18);
  outline:3px solid rgba(190,60,63,.12);
}

.electionThemeButton.active:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:6px;
  border-radius:10px 0 0 10px;
  background:var(--rouge);
}

.electionThemeButton span{
  color:var(--bleu-moyen);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.electionThemeButton strong{
  font-size:1.02rem;
  line-height:1.16;
}

.electionThemeButton em{
  color:var(--muted);
  font-size:.82rem;
  font-style:normal;
}

.electionDetail{
  min-width:0;
  padding-top:calc(var(--header-height,104px) - 24px);
}

.electionDetailToolbar{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  margin-bottom:16px;
  padding:14px 16px;
  border:1px solid rgba(112,180,190,.48);
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 28px rgba(7,28,51,.07);
}

.electionDetailToolbar p{
  margin:0;
  color:var(--muted);
}

.electionDetailToolbar div{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}

.electionIdeaSheet{
  background:#fff;
  border:1px solid rgba(112,180,190,.5);
  border-radius:12px;
  box-shadow:0 24px 54px rgba(7,28,51,.1);
  overflow:hidden;
}

.electionSheetHeader{
  position:relative;
  display:block;
  min-height:330px;
  padding:clamp(24px,3vw,34px);
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 18%,rgba(251,247,241,.12),transparent 34%),
    linear-gradient(135deg,#21384D 0%,#326191 58%,#5092B6 100%);
  color:var(--fond,#FBF7F1);
  border-bottom:1px solid rgba(112,180,190,.42);
}

.electionSheetHeaderCopy{
  position:relative;
  z-index:3;
  display:grid;
  align-content:start;
  width:min(56%,680px);
  min-height:100%;
  padding-bottom:58px;
}

.electionSheetHeader .eyebrow{
  color:var(--turquoise,#70b4be);
}

.electionSheetHeader .eyebrow:before{
  background:var(--rouge,#be3c3f);
}

.electionSheetHeader h2{
  margin:10px 0 10px;
  color:var(--fond,#FBF7F1);
  font-size:clamp(2rem,3.4vw,3.6rem);
  line-height:1;
  letter-spacing:-.035em;
}

.electionSheetHeader p{
  max-width:760px;
  margin:0;
  color:rgba(251,247,241,.88);
  font-size:1.1rem;
}

.electionSheetIssue{
  position:absolute;
  left:clamp(24px,3vw,34px);
  bottom:5mm;
  z-index:4;
  display:inline-block;
  justify-self:start;
  margin:0;
  color:rgba(251,247,241,.64);
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.18em;
  line-height:1.15;
  text-transform:uppercase;
}

.electionSheetActions{
  display:inline-flex;
  flex-wrap:wrap;
  gap:6px;
  width:max-content;
  max-width:100%;
  margin-top:22px;
  padding:6px;
  border:1px solid rgba(112,180,190,.42);
  border-radius:10px;
  background:rgba(255,255,255,.78);
  box-shadow:0 10px 24px rgba(7,28,51,.07);
}

.electionSheetAction{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border:1px solid transparent;
  border-radius:7px;
  font-size:.88rem;
  font-weight:900;
  line-height:1;
  text-decoration:none;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.electionSheetAction:hover{
  transform:translateY(-1px);
}

.electionSheetAction--print{
  background:#BE3C3F;
  border-color:#BE3C3F;
  color:#fff;
  box-shadow:0 8px 16px rgba(190,60,63,.2);
}

.electionSheetAction--link{
  background:#fff;
  border-color:rgba(112,180,190,.6);
  color:var(--bleu-moyen);
}

.electionSheetHeaderExport{
  position:absolute;
  right:clamp(24px,3vw,34px);
  bottom:5mm;
  z-index:6;
  min-height:52px;
  margin:0;
  padding:0 22px;
  font-size:1rem;
  opacity:1;
  pointer-events:auto;
  transform:none;
  visibility:visible;
  box-shadow:0 18px 34px rgba(190,60,63,.26);
  transition:opacity .18s ease, visibility .18s ease, transform .18s ease, box-shadow .18s ease;
}

body.is-elections.is-election-export-visible .electionSheetHeaderExport{
  opacity:1;
  pointer-events:auto;
  transform:none;
  visibility:visible;
}

body.is-elections.is-election-export-visible .electionSheetHeaderExport:hover{
  transform:translateY(-1px);
}

.electionFloatingExport{
  position:fixed;
  top:calc(var(--header-height,104px) + 26px);
  right:calc((100vw - min(1680px,calc(100vw - 50px))) / 2 + clamp(24px,3vw,34px));
  z-index:9;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 17px;
  border:0;
  border-radius:8px;
  background:#BE3C3F;
  color:#fff;
  font-size:.9rem;
  font-weight:900;
  line-height:1;
  opacity:0;
  box-shadow:0 16px 34px rgba(190,60,63,.24);
  cursor:pointer;
  pointer-events:none;
  transform:translateY(-6px);
  visibility:hidden;
  transition:opacity .18s ease, visibility .18s ease, transform .18s ease, box-shadow .18s ease;
}

body.is-elections.is-election-export-visible .electionFloatingExport{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
  visibility:visible;
}

.electionFloatingExport:hover{
  transform:translateY(-1px);
  box-shadow:0 20px 38px rgba(190,60,63,.28);
}

.electionSheetMeta{
  position:absolute;
  inset:0 0 0 auto;
  z-index:1;
  display:block;
  width:min(42%,470px);
  min-height:0;
  padding:0;
  border-radius:0;
  background:transparent;
  color:#FBF7F1;
  overflow:hidden;
  box-shadow:none;
}

.electionSheetMeta:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  z-index:3;
  width:34%;
  background:linear-gradient(90deg,#326191,rgba(50,97,145,.58),transparent);
  pointer-events:none;
}

.electionSheetMeta span,
.electionSheetMeta em{
  color:rgba(251,247,241,.82);
  font-style:normal;
  font-size:.9rem;
}

.electionSheetMeta strong{
  font-size:1.18rem;
}

.electionThemeVisualCard div:last-child{
  position:relative;
  z-index:2;
}

.electionThemeVisualCard span{
  display:block;
  margin-bottom:4px;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.electionVisual{
  position:relative;
  min-height:150px;
  border-radius:8px;
  background:linear-gradient(135deg,rgba(251,247,241,.1),rgba(112,180,190,.1));
  overflow:hidden;
}

.electionThemeVisualCard .electionVisual{
  width:100%;
  height:100%;
  min-height:0;
  border-radius:0;
}

.electionVisual--image{
  min-height:0;
  background:transparent;
}

.electionVisual--image img{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:68% center;
}

.electionVisual--image:before{
  display:none;
}

.electionVisual:before{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(251,247,241,.16);
  border-radius:8px;
}

.electionVisual__ring{
  position:absolute;
  width:150px;
  height:150px;
  right:-30px;
  top:-36px;
  border:22px solid rgba(112,180,190,.22);
  border-radius:50%;
}

.electionVisual__route{
  position:absolute;
  height:4px;
  left:26px;
  right:32px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(251,247,241,.1),#70b4be,#C77165);
  transform-origin:left center;
}

.electionVisual__route.route-a{top:56px;transform:rotate(-9deg)}
.electionVisual__route.route-b{top:98px;transform:rotate(5deg);opacity:.78}
.electionVisual__route.route-c{top:136px;right:86px;transform:rotate(-3deg);opacity:.56}

.electionVisual__node{
  position:absolute;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#FBF7F1;
  box-shadow:0 0 0 5px rgba(112,180,190,.26);
}

.electionVisual__node.node-a{left:42px;top:48px}
.electionVisual__node.node-b{left:58%;top:88px}
.electionVisual__node.node-c{right:48px;top:126px}

.electionVisual__mark{
  position:absolute;
  left:30px;
  bottom:24px;
  width:62px;
  height:62px;
  border-radius:8px;
  background:rgba(251,247,241,.12);
  border:1px solid rgba(251,247,241,.22);
}

.electionVisual__mark:before,
.electionVisual__mark:after{
  content:"";
  position:absolute;
  background:#FBF7F1;
}

.electionVisual__mark:before{
  width:30px;
  height:4px;
  left:16px;
  top:29px;
}

.electionVisual__mark:after{
  width:4px;
  height:30px;
  left:29px;
  top:16px;
}

.electionVisual--tax .electionVisual__mark:after{display:none}
.electionVisual--tax .electionVisual__mark:before{width:38px;left:12px;box-shadow:0 -12px 0 #FBF7F1,0 12px 0 #FBF7F1}
.electionVisual--pavillon .electionVisual__mark{clip-path:polygon(0 0,100% 18%,100% 72%,0 100%)}
.electionVisual--network .electionVisual__mark{border-radius:50%}
.electionVisual--outremer .electionVisual__route.route-c{right:28px;top:146px}
.electionVisual--saf .electionVisual__ring{border-color:rgba(112,180,190,.34)}
.electionVisual--noise .electionVisual__route{background:repeating-linear-gradient(90deg,#70b4be 0 18px,rgba(251,247,241,.22) 18px 32px)}
.electionVisual--skills .electionVisual__mark{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;background:transparent;border:0}
.electionVisual--freight .electionVisual__mark{border-radius:4px}

.electionSnapshot{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(230px,320px);
  gap:20px;
  padding:22px clamp(24px,3vw,34px);
  border-bottom:1px solid rgba(112,180,190,.42);
}

.electionSnapshot span{
  display:block;
  margin-bottom:6px;
  color:var(--rouge);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.electionSnapshot p{
  margin:0;
  color:var(--ink);
  font-size:1.18rem;
  font-weight:760;
  line-height:1.45;
}

.electionFigureStrip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.electionFigureStrip strong{
  display:grid;
  place-items:center;
  min-height:58px;
  padding:10px;
  border-radius:8px;
  background:#edf7f8;
  color:var(--bleu-fonce);
  font-size:.88rem;
  line-height:1.2;
  text-align:center;
}

.electionSheetGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  padding:clamp(24px,3vw,34px);
}

.electionSheetBlock{
  border:1px solid rgba(112,180,190,.42);
  border-radius:10px;
  padding:20px;
  background:#fff;
}

.electionSheetBlock--wide{
  grid-column:1/-1;
}

.electionSheetBlock h3,
.electionEvidence h3{
  margin:0 0 12px;
  color:var(--bleu-fonce);
  font-size:1.18rem;
}

.electionSheetBlock ul,
.electionSheetBlock ol{
  margin:0;
  padding-left:20px;
  display:grid;
  gap:10px;
  color:var(--muted);
}

.electionSheetBlock ol{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 24px;
}

.electionSheetBlock li{
  break-inside:avoid;
}

.electionEvidence{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
  gap:20px;
  padding:0 clamp(24px,3vw,34px) clamp(24px,3vw,34px);
}

.electionDataSection{
  padding:0 clamp(24px,3vw,34px) clamp(24px,3vw,34px);
}

.electionDataHead{
  max-width:880px;
  margin-bottom:18px;
}

.electionDataHead h3{
  margin:8px 0 6px;
  color:var(--bleu-fonce);
  font-size:clamp(1.55rem,2.4vw,2.35rem);
  line-height:1.08;
}

.electionDataHead p{
  margin:0;
  color:var(--muted);
}

.electionDataGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.electionDataBlock{
  display:grid;
  gap:14px;
  padding:18px;
  border:1px solid #c6d5e3;
  border-radius:8px;
  background:#fff;
  box-shadow:0 18px 36px rgba(6,57,100,.1);
  overflow:hidden;
}

.electionDataBlock.is-wide{
  grid-column:1/-1;
}

.electionDataBlock header{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:start;
  padding-bottom:12px;
  border-bottom:1px solid #d9e5ef;
}

.electionDataBlock header span{
  order:2;
  padding:6px 9px;
  border-radius:4px;
  background:#eef8fa;
  color:var(--bleu-moyen);
  font-size:.76rem;
  font-weight:900;
  text-transform:uppercase;
  white-space:nowrap;
}

.electionDataBlock h4{
  margin:0;
  color:var(--bleu-fonce);
  font-size:1.18rem;
  line-height:1.16;
}

.electionDataKpis{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.electionDataKpis div{
  padding:14px;
  border:1px solid rgba(112,180,190,.42);
  border-radius:8px;
  background:#f8fbfc;
}

.electionDataKpis strong{
  display:block;
  color:var(--bleu-fonce);
  font-size:clamp(1.35rem,2.4vw,2.2rem);
  line-height:1;
}

.electionDataKpis span{
  display:block;
  margin-top:7px;
  color:var(--muted);
  font-size:.86rem;
  font-weight:800;
  line-height:1.25;
}

.electionStack{
  display:flex;
  min-height:52px;
  border-radius:8px;
  overflow:hidden;
  background:#d9e5ef;
}

.electionStack div{
  width:calc(var(--w) * 1%);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:10px 14px;
  color:#fff;
  font-weight:900;
}

.electionStack .is-primary{background:#326191}
.electionStack .is-secondary{background:#70b4be;color:#163f5e}

.electionBars{
  display:grid;
  gap:9px;
}

.electionBarRow{
  display:grid;
  grid-template-columns:minmax(120px,180px) minmax(0,1fr) 78px;
  gap:10px;
  align-items:center;
}

.electionBarRow b{
  color:var(--ink);
  font-size:.86rem;
}

.electionBarRow div{
  height:24px;
  border-radius:6px;
  background:#d9e5ef;
  overflow:hidden;
}

.electionBarRow span{
  display:block;
  height:100%;
  border-radius:6px;
  background:#326191;
}

.electionBarRow.tone-red span{background:#be3c3f}
.electionBarRow.tone-cyan span{background:#70b4be}

.electionBarRow strong{
  color:var(--bleu-fonce);
  font-size:.88rem;
  text-align:right;
}

.electionLineChart svg{
  width:100%;
  height:auto;
}

.electionLineChart{
  position:relative;
}

.electionLineChart .axis{
  stroke:#b7c8d7;
  stroke-width:1.4;
}

.electionLineChart .grid{
  stroke:#e1ebf2;
  stroke-width:1;
}

.electionLineChart .line{
  fill:none;
  stroke-width:5;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.electionLineChart .tone-navy{
  stroke:#326191;
  color:#326191;
}

.electionLineChart .tone-cyan{
  stroke:#70b4be;
  color:#24737c;
}

.electionLineChart .point{
  fill:#fff;
  stroke-width:4;
}

.electionLineChart .value{
  fill:var(--bleu-fonce);
  paint-order:stroke;
  stroke:#fff;
  stroke-width:3.5px;
  stroke-linejoin:round;
  font-size:10px;
  font-weight:900;
}

.electionLinePoint:focus{
  outline:none;
}

.electionLinePoint:focus .point,
.electionLinePoint:hover .point{
  r:7;
}

.electionLineChart .label{
  fill:#3a6da0;
  font-size:13px;
  font-weight:800;
}

.electionLineLegend{
  display:flex;
  flex-wrap:wrap;
  gap:10px 20px;
  align-items:center;
  margin:0;
  color:var(--muted);
  font-size:.98rem;
  font-weight:850;
  line-height:1.1;
}

.electionLineLegend span:before{
  content:"";
  display:inline-block;
  width:22px;
  height:5px;
  margin-right:8px;
  border-radius:999px;
  background:currentColor;
  vertical-align:middle;
}

.electionLineLegend strong{
  margin-left:auto;
  color:#be3c3f;
  text-align:right;
}

.electionSelectionList{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.electionDataBlock:not(.is-wide) .electionSelectionList{
  grid-template-columns:1fr;
}

.electionSelectionItem{
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr);
  gap:9px;
  min-height:210px;
  padding:14px;
  border:1px solid rgba(112,180,190,.42);
  border-radius:8px;
  background:linear-gradient(180deg,#f8fbfc,#fff);
}

.electionDataBlock:not(.is-wide) .electionSelectionItem{
  min-height:0;
}

.electionMiniChart{
  width:100%;
  min-height:104px;
  border:1px solid #d9e5ef;
  border-radius:7px;
  background:#fff;
}

.electionMiniChart .axis{
  stroke:#b7c8d7;
  stroke-width:1.4;
}

.electionMiniChart--bars rect{
  fill:#326191;
}

.electionMiniChart--bars rect:nth-of-type(2),
.electionMiniChart--bars rect:nth-of-type(4){
  fill:#70b4be;
}

.electionMiniChart--line .mini-line{
  fill:none;
  stroke:#326191;
  stroke-width:5;
  stroke-linecap:round;
}

.electionMiniChart--line circle{
  fill:#fff;
  stroke:#be3c3f;
  stroke-width:3;
}

.electionMiniChart--donut .donut-bg{
  fill:none;
  stroke:#e1ebf2;
  stroke-width:15;
}

.electionMiniChart--donut .donut-a,
.electionMiniChart--donut .donut-b{
  fill:none;
  stroke-linecap:round;
  stroke-width:15;
}

.electionMiniChart--donut .donut-a{
  stroke:#326191;
}

.electionMiniChart--donut .donut-b{
  stroke:#70b4be;
}

.electionMiniChart--donut rect{
  fill:#d9e5ef;
}

.electionMiniChart--network .route{
  fill:none;
  stroke:#326191;
  stroke-width:5;
  stroke-linecap:round;
}

.electionMiniChart--network .route-alt{
  stroke:#70b4be;
  opacity:.78;
}

.electionMiniChart--network circle{
  fill:#fff;
  stroke:#be3c3f;
  stroke-width:4;
}

.electionMiniChart--network rect{
  fill:#d9e5ef;
}

.electionSelectionItem strong{
  color:var(--bleu-fonce);
  font-size:1rem;
  line-height:1.18;
}

.electionSelectionItem span{
  color:var(--muted);
  font-size:.88rem;
  font-weight:760;
  line-height:1.35;
}

.electionDataReading{
  margin:0;
  color:var(--ink);
  font-weight:820;
  line-height:1.45;
}

.electionDataSource{
  margin:0;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.35;
}

.electionDataSection--integration{
  padding-bottom:clamp(24px,3vw,34px);
}

.electionIntegrationNotice{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:16px;
  align-items:center;
  min-height:160px;
  padding:22px;
  border:1px solid #c6d5e3;
  border-radius:10px;
  background:
    repeating-linear-gradient(135deg,rgba(112,180,190,.08) 0 10px,rgba(50,97,145,.06) 10px 20px),
    #fff;
  box-shadow:0 18px 36px rgba(6,57,100,.1);
}

.electionIntegrationNotice strong{
  display:grid;
  place-items:center;
  width:180px;
  min-height:96px;
  border-radius:8px;
  background:linear-gradient(145deg,#21384D,#326191);
  color:#FBF7F1;
  font-size:1.08rem;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
  white-space:nowrap;
}

.electionIntegrationNotice div{
  display:grid;
  gap:9px;
}

.electionIntegrationNotice span{
  display:block;
  padding:11px 13px;
  border:1px solid rgba(112,180,190,.42);
  border-radius:7px;
  background:rgba(255,255,255,.78);
  color:#21384D;
  font-weight:850;
}

.electionProposals{
  margin:0 clamp(24px,3vw,34px) clamp(24px,3vw,34px);
  padding:clamp(22px,3vw,32px);
  border-radius:10px;
  background:linear-gradient(135deg,#21384D,#326191);
  color:#FBF7F1;
  box-shadow:0 20px 44px rgba(7,28,51,.16);
}

.electionProposalsHead{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}

.electionProposalsHead .eyebrow{
  color:#70b4be;
}

.electionProposalsHead h3{
  margin:0;
  color:#FBF7F1;
  font-size:clamp(1.7rem,2.8vw,2.6rem);
  line-height:1;
}

.electionProposalGrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.electionProposalCard{
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  gap:14px;
  min-height:190px;
  padding:18px;
  border-radius:8px;
  background:rgba(251,247,241,.96);
  color:var(--ink);
  border:1px solid rgba(251,247,241,.35);
}

.electionProposalCard span{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:50%;
  background:#be3c3f;
  color:#fff;
  font-size:1rem;
  font-weight:950;
}

.electionProposalCard p{
  margin:0;
  color:var(--bleu-fonce);
  font-size:1rem;
  font-weight:820;
  line-height:1.36;
}

.electionChartLinks{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.electionChartLinks a{
  min-height:98px;
  padding:14px;
  border:1px solid rgba(112,180,190,.48);
  border-radius:10px;
  text-decoration:none;
  background:#f8fbfc;
}

.electionChartLinks span{
  display:block;
  margin-bottom:8px;
  color:var(--rouge);
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.electionChartLinks strong{
  display:block;
  color:var(--bleu-fonce);
  line-height:1.22;
}

.electionMoreDataAction{
  display:flex;
  justify-content:flex-end;
  margin-top:14px;
}

.electionMoreDataAction .electionSheetAction{
  min-height:42px;
  padding:0 18px;
}

.electionEvidence aside{
  padding:18px;
  border-radius:10px;
  background:#f7fbfc;
  border:1px solid rgba(112,180,190,.42);
}

.electionEvidence aside p{
  margin:0;
  color:var(--muted);
}

.electionSourceNote{
  margin-top:14px!important;
  font-size:.9rem;
}

@media(max-width:1080px){
  .electionHero__inner,
  .electionWorkspace__grid,
  .electionSheetHeader,
  .electionSnapshot,
  .electionEvidence{
    grid-template-columns:1fr;
  }

  .electionHeroContent{
    grid-column:1;
    grid-row:1;
  }

  .electionHeroLineArt{
    grid-column:1;
    grid-row:2;
  }

  .electionHeroAside{
    grid-column:1;
    grid-row:3;
    margin-top:0;
  }

  .electionThemePanel{
    position:static;
    max-height:none;
  }

  .electionDetail{
    padding-top:0;
  }

  .electionThemeList{
    grid-template-columns:repeat(2,minmax(0,1fr));
    overflow:visible;
  }

  .electionProposalGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .electionDetailToolbar{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:760px){
  .electionIntegrationNotice{
    grid-template-columns:1fr;
    min-height:0;
    padding:16px;
  }

  .electionIntegrationNotice strong{
    width:100%;
    min-height:64px;
  }

  .electionLineChart .value{
    font-size:9px;
    stroke-width:3px;
  }

  .electionHero{
    height:auto;
    padding:38px 0 42px;
  }

  .electionHeroLineArt{
    grid-column:1;
    width:100%;
    aspect-ratio:4/5;
    height:clamp(180px,46vw,270px);
    opacity:.72;
  }

  .electionHeroLineArt svg{
    width:187.92%;
    height:100%;
    transform:translateX(-22.25%);
  }

  .electionHero__inner{
    gap:18px;
  }

  .electionHero h1{
    margin:12px 0;
    font-size:clamp(2.1rem,8.7vw,3.2rem);
  }

  .electionHero p{
    font-size:.98rem;
    line-height:1.34;
  }

  .electionHeroActions{
    margin-top:18px;
  }

  .electionHeroCycle{
    height:190px;
    padding:18px 20px 18px 24px;
  }

  .electionHeroCycle:before{
    width:10px;
  }

  .electionHeroCycle strong{
    font-size:clamp(4rem,18vw,5.1rem);
  }

  .electionHeroCycle b{
    font-size:clamp(1.7rem,8vw,2.5rem);
  }

  .electionHeroCycle span{
    min-height:2.6em;
    font-size:clamp(1.22rem,5.1vw,1.62rem);
  }

  .electionHeroCycle small{
    font-size:.7rem;
  }

  .electionHeroProofTiles{
    grid-template-columns:1fr;
  }

  .electionHeroProofTile{
    min-height:0;
    padding:14px;
  }

  .electionHeroExportTile{
    min-height:0;
    padding:16px;
  }

  .electionSheetActions{
    width:100%;
  }

  .electionSheetAction{
    flex:1 1 150px;
  }

  .electionFloatingExport{
    top:auto;
    right:14px;
    bottom:14px;
  }

  .electionThemeList,
  .electionSheetGrid,
  .electionSheetBlock ol,
  .electionChartLinks,
  .electionFigureStrip,
  .electionDataGrid,
  .electionDataKpis,
  .electionSelectionList,
  .electionProposalGrid{
    grid-template-columns:1fr;
  }

  .electionSheetHeader,
  .electionSnapshot,
  .electionSheetGrid,
  .electionEvidence,
  .electionDataSection{
    padding-left:18px;
    padding-right:18px;
  }

  .electionProposals{
    margin-left:18px;
    margin-right:18px;
  }

  .electionBarRow{
    grid-template-columns:1fr;
    gap:6px;
  }

  .electionBarRow strong{
    text-align:left;
  }
}

/* Hero Elections 2027 - section reusable */
body.is-elections > .header{
  display:none;
}

.electionHero{
  position:relative;
  display:grid;
  align-items:center;
  min-height:calc(100svh - var(--header-height,104px));
  padding:0;
  color:#FBF7F1;
  background:linear-gradient(135deg,#21384D 0%,#326191 58%,#5092B6 100%);
  overflow:hidden;
}

body.is-elections .electionHero{
  min-height:100svh;
}

body.is-elections .electionHeroLineArt{
  transform:translate(-38px,-38px);
}

body.is-elections .electionHeroHeader{
  transform:translateY(-19px);
}

body.is-elections .electionWorkspace{
  scroll-margin-top:0;
}

body.is-elections .electionDetail{
  padding-top:0;
}

body.is-elections .electionThemePanel{
  top:18px;
  max-height:calc(100svh - 36px);
}

body.is-elections .electionFloatingExport{
  top:26px;
}

.electionHeroActions{
  position:absolute;
  top:clamp(12px,2vw,24px);
  right:clamp(24px,3vw,44px);
  z-index:4;
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:end;
  gap:16px;
  margin-top:0;
}

.electionHeroToolTile{
  width:128px;
  min-height:76px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:8px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:8px;
  background:rgba(255,255,255,.08);
  color:#fff;
  text-decoration:none;
  backdrop-filter:blur(8px);
}

.electionHeroToolTile svg{
  width:28px;
  height:28px;
  color:#70b4be;
}

.electionHeroToolTile span{
  font-size:13px;
  font-weight:950;
  line-height:1.1;
  text-align:center;
}

.electionHeroLogo{
  position:relative;
  display:inline-grid;
  align-items:center;
  justify-content:center;
  width:246px;
  min-height:67px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  text-decoration:none;
}

.electionHeroLogo img{
  display:block;
  max-width:246px;
  max-height:67px;
  object-fit:contain;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.16));
}

.electionHeroLogo:hover,
.electionHeroLogo:focus-visible,
.electionHeroToolTile:hover,
.electionHeroToolTile:focus-visible{
  outline:3px solid rgba(112,180,190,.34);
  outline-offset:5px;
  border-radius:6px;
  opacity:.88;
}

.electionHero__inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto minmax(0,1fr);
  gap:clamp(24px,3vw,46px);
  width:min(100% - clamp(48px,4vw,64px),1580px);
  max-width:1580px;
  height:auto;
  margin:0 auto;
  padding:clamp(30px,3.6vw,52px) 0;
}

.electionHeroHeader{
  display:grid;
  gap:clamp(12px,1.35vw,20px);
  min-width:0;
  transform:translateY(-38px);
}

.electionHeroHeader h1{
  display:block;
  max-width:none;
  margin:0;
  color:#FBF7F1;
  font-size:clamp(3.75rem,4.55vw,6.05rem);
  line-height:.88;
  letter-spacing:-.035em;
  white-space:nowrap;
}

.electionHeroHeader h1 span{
  display:block;
}

.electionHeroHeader h1 span + span{
  margin-left:0;
  margin-top:.08em;
}

.electionHeroHeader p{
  max-width:none;
  margin:0;
  color:rgba(251,247,241,.9);
  font-size:clamp(1.32rem,1.58vw,1.72rem);
  line-height:1.45;
  white-space:nowrap;
}

.electionHeroStage{
  --hero-block-height:min(54svh,540px);
  position:relative;
  display:grid;
  grid-template-columns:minmax(230px,.66fr) minmax(600px,1.48fr) minmax(320px,.78fr);
  grid-template-rows:minmax(0,1fr);
  align-items:center;
  column-gap:clamp(18px,2.4vw,42px);
  min-height:var(--hero-block-height);
}

.electionHeroBenefits{
  grid-column:1;
  grid-row:1;
  align-self:center;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:clamp(16px,3svh,32px);
  height:var(--hero-block-height);
  color:#FBF7F1;
}

.electionHeroBenefit{
  position:relative;
  max-width:270px;
  padding-left:22px;
}

.electionHeroBenefit:before{
  content:"";
  position:absolute;
  left:0;
  top:.18em;
  width:3px;
  height:calc(100% - .16em);
  border-radius:99px;
  background:#70B4BE;
}

.electionHeroBenefit:nth-child(2):before{
  background:#FBF7F1;
}

.electionHeroBenefit:nth-child(3):before{
  background:#C77165;
}

.electionHeroBenefit h2{
  margin:0 0 8px;
  color:#FBF7F1;
  font-size:clamp(1.28rem,1.5vw,1.82rem);
  line-height:1.04;
}

.electionHeroBenefit p{
  margin:0;
  color:rgba(251,247,241,.78);
  font-size:clamp(.96rem,1.02vw,1.12rem);
  line-height:1.35;
}

.electionHeroLineArt{
  grid-column:2;
  grid-row:1;
  align-self:start;
  justify-self:center;
  z-index:1;
  width:130%;
  height:var(--hero-block-height);
  margin-top:clamp(-32px,-3.2svh,-22px);
  aspect-ratio:auto;
  max-height:none;
  overflow:visible;
  opacity:1;
  pointer-events:none;
  transform:translateY(-38px);
}

.electionHeroLineArt svg{
  display:block;
  width:100%;
  max-width:none;
  height:100%;
  overflow:visible;
  transform:none;
}

.electionHeroLineArt path{
  fill:none;
  stroke:rgba(255,255,255,.82);
  stroke-width:3.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 9px rgba(255,255,255,.18));
}

.electionHeroBuilding path{
  stroke-dasharray:1;
  stroke-dashoffset:1;
  animation:electionElyseeDraw var(--draw-speed,1.15s) ease-out forwards;
  animation-delay:calc(var(--draw-index,0) * .18s);
}

.electionHeroRoad{
  opacity:.82;
}

.electionHeroLineArt .electionHeroRoad__edge{
  fill:none;
  stroke:rgba(255,255,255,.55);
  stroke-width:2.1;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:1;
  stroke-dashoffset:1;
  opacity:0;
  filter:drop-shadow(0 0 8px rgba(255,255,255,.2));
  animation:electionRoadDraw 1.95s ease-out 5.65s forwards;
}

.electionHeroFlag rect{
  stroke:none;
  stroke-dasharray:0;
  stroke-dashoffset:0;
  opacity:0;
  shape-rendering:crispEdges;
  transform-box:fill-box;
  transform-origin:left center;
  transform:scaleX(.08);
  filter:drop-shadow(0 0 9px rgba(7,28,51,.2));
  animation:electionFlagColor .84s ease-out forwards;
}

.electionHeroFlag rect.electionHeroFlag__blue{
  fill:#0055A4;
  animation-delay:7.72s!important;
}

.electionHeroFlag rect.electionHeroFlag__white{
  fill:#fff;
  animation-delay:8.02s!important;
}

.electionHeroFlag rect.electionHeroFlag__red{
  fill:#EF4135;
  animation-delay:8.32s!important;
}

.electionHeroCycle{
  grid-column:3;
  grid-row:1;
  align-self:center;
  position:relative;
  z-index:2;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  align-content:stretch;
  row-gap:0;
  width:100%;
  height:var(--hero-block-height);
  min-height:0;
  margin:0;
  padding:clamp(24px,2.4vw,34px) clamp(24px,2.6vw,38px) clamp(22px,2.4vw,34px) clamp(42px,3.1vw,54px);
  border:1px solid rgba(199,113,101,.48);
  border-radius:10px;
  background:#FBF7F1;
  color:var(--bleu-fonce);
  box-shadow:0 28px 64px rgba(7,28,51,.24);
  overflow:hidden;
}

.electionHeroCycle:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:16px;
  background:#C77165;
}

.electionHeroCycleCount{
  align-self:start;
  display:flex;
  align-items:center;
  gap:18px;
  color:#326191;
  font-weight:900;
}

.electionHeroCycleCount strong,
.electionHeroCycle strong{
  color:#326191;
  font-size:clamp(4.2rem,6vw,6rem);
  line-height:.8;
  letter-spacing:-.06em;
}

.electionHeroCycleCount b,
.electionHeroCycle b{
  color:#326191;
  font-size:clamp(1.8rem,2.3vw,2.7rem);
  font-weight:900;
  line-height:1;
}

.electionHeroThemeCycle{
  position:relative;
  display:block;
  min-height:clamp(190px,23svh,238px);
  margin-top:clamp(24px,4.4svh,52px);
  overflow:hidden;
}

.electionHeroThemeCycle span{
  position:absolute;
  inset:0;
  display:block;
  opacity:0;
  transform:translateY(16px);
  animation:electionThemeSwap 16s infinite;
}

.electionHeroThemeCycle strong{
  display:block;
  color:#C77165;
  font-size:clamp(1.55rem,1.95vw,2.38rem);
  font-weight:900;
  line-height:1.04;
  letter-spacing:0;
}

.electionHeroThemeCycle small{
  display:block;
  margin-top:clamp(12px,1.6svh,18px);
  color:rgba(33,56,77,.72);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.12em;
  line-height:1.2;
  text-transform:uppercase;
}

.electionHeroThemeCycle span:nth-child(2){animation-delay:2s}
.electionHeroThemeCycle span:nth-child(3){animation-delay:4s}
.electionHeroThemeCycle span:nth-child(4){animation-delay:6s}
.electionHeroThemeCycle span:nth-child(5){animation-delay:8s}
.electionHeroThemeCycle span:nth-child(6){animation-delay:10s}
.electionHeroThemeCycle span:nth-child(7){animation-delay:12s}
.electionHeroThemeCycle span:nth-child(8){animation-delay:14s}

.electionHeroExportTile{
  margin-top:clamp(18px,3svh,34px);
  padding:clamp(16px,2.6svh,28px) 0 0;
  border:0;
  border-top:1px solid rgba(47,99,150,.2);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.electionHeroExportTile h3{
  margin:0 0 10px;
  color:#326191;
  font-size:clamp(1.18rem,1.45vw,1.62rem);
  line-height:1.06;
}

.electionHeroExportTile p{
  margin:0;
  color:rgba(33,56,77,.78);
  font-size:clamp(.95rem,1vw,1.08rem);
  font-weight:700;
  line-height:1.35;
}

.electionHeroCta{
  position:absolute;
  left:48.05%;
  bottom:calc((100% - var(--hero-block-height)) / 2);
  z-index:3;
  transform:translateX(-50%);
}

.electionHeroCta:hover{
  transform:translateX(-50%) translateY(-1px);
}

body.is-tools .electionHero--overview .electionHeroLogo{
  display:none;
}

body.is-tools .electionHero--overview .electionHero__inner{
  width:min(100% - clamp(48px,4vw,72px),1580px);
  height:100%;
  padding-top:clamp(88px,9.4svh,112px);
  padding-bottom:clamp(20px,2.6svh,34px);
  gap:clamp(20px,2.4vw,36px);
  align-content:stretch;
}

body.is-tools .electionHero--overview .electionHeroHeader{
  transform:translateY(31px);
}

body.is-tools .electionHero--overview .electionHeroStage{
  --hero-block-height:min(50svh,500px);
}

body.is-tools .electionHero--overview .electionHeroLineArt{
  transform:translate(-38px,-22px);
}

body.is-tools .electionHero--overview .electionHeroCta{
  bottom:calc((100% - var(--hero-block-height)) / 2 - 38px);
}

body.is-tools .electionHero--overview .electionHeroCycleCount{
  transform:translateY(-6px);
}

body.is-tools .electionHero--overview .electionHeroThemeCycle{
  min-height:clamp(238px,26.5svh,292px);
  margin-top:clamp(10px,2svh,24px);
}

body.is-tools .electionHero--overview .electionHeroThemeCycle span{
  inset:4px 0 0;
}

body.is-tools .electionHero--overview .electionHeroExportTile{
  margin-top:clamp(10px,1.6svh,20px);
  padding-top:clamp(14px,2svh,22px);
  border-top:1px solid rgba(47,99,150,.2);
}

@keyframes electionElyseeDraw{
  to{stroke-dashoffset:0}
}

@keyframes electionRoadDraw{
  0%{opacity:0;stroke-dashoffset:1}
  8%{opacity:1}
  100%{opacity:1;stroke-dashoffset:0}
}

@keyframes electionFlagColor{
  0%{opacity:0;transform:scaleX(.08)}
  100%{opacity:1;transform:scaleX(1)}
}

@keyframes electionThemeSwap{
  0%,10.8%{opacity:1;transform:translateY(0)}
  12.5%,100%{opacity:0;transform:translateY(-14px)}
}

@media(prefers-reduced-motion:reduce){
  .electionHeroBuilding path,
  .electionHeroLineArt .electionHeroRoad__edge{
    animation:none;
    opacity:1;
    stroke-dashoffset:0;
  }

  .electionHeroFlag rect{
    animation:none;
    opacity:1;
    transform:none;
  }

  .electionHeroThemeCycle span{
    animation:none;
  }

  .electionHeroThemeCycle span:first-child{
    opacity:1;
    transform:none;
  }
}

@media(max-width:1279px){
  .electionHeroLogo{
    width:220px;
    min-height:60px;
  }

  .electionHeroLogo img{
    max-width:220px;
    max-height:60px;
  }

  .electionHero{
    min-height:auto;
    padding:42px 0;
  }

  .electionHero__inner{
    grid-template-rows:auto;
    width:min(100% - 40px,920px);
    padding:0;
  }

  .electionHeroHeader h1,
  .electionHeroHeader p{
    white-space:normal;
  }

  .electionHeroHeader,
  .electionHeroLineArt{
    transform:none;
  }

  .electionHeroStage{
    grid-template-columns:1fr;
    grid-template-rows:auto;
  }

  .electionHeroBenefits,
  .electionHeroLineArt,
  .electionHeroCycle,
  .electionHeroCta{
    grid-column:1;
    grid-row:auto;
  }

  .electionHeroBenefits{
    height:auto;
  }

  .electionHeroBenefit{
    max-width:none;
  }

  .electionHeroLineArt{
    width:100%;
    height:clamp(300px,45vw,480px);
    margin-top:0;
  }

  .electionHeroCycle{
    height:auto;
    min-height:360px;
  }

  .electionHeroCta{
    position:relative;
    left:auto;
    bottom:auto;
    justify-self:start;
    transform:none;
  }

  .electionHeroCta:hover{
    transform:translateY(-1px);
  }
}

@media(max-width:760px){
  .electionHeroActions{
    position:relative;
    top:auto;
    right:auto;
    justify-self:start;
    flex-wrap:wrap;
    gap:12px;
    margin:16px 0 0 16px;
  }

  .electionHeroToolTile{
    width:118px;
    min-height:68px;
  }

  .electionHeroToolTile svg{
    width:24px;
    height:24px;
  }

  .electionHeroLogo{
    width:190px;
    min-height:52px;
  }

  .electionHeroLogo img{
    max-width:190px;
    max-height:52px;
  }

  .electionHero__inner{
    width:min(100% - 32px,680px);
  }

  .electionHeroHeader h1{
    font-size:clamp(2.2rem,9vw,3.3rem);
  }

  .electionHeroHeader p{
    font-size:1rem;
    line-height:1.35;
  }

  .electionHeroLineArt{
    height:clamp(220px,62vw,330px);
  }

  .electionHeroCycle{
    padding:18px 20px 18px 28px;
  }

  .electionHeroCycle:before{
    width:10px;
  }

  .electionHeroThemeCycle{
    min-height:190px;
  }
}

@media(min-width:1280px){
  body.is-elections .electionHeroLineArt{
    transform:translate(-38px,-38px);
  }
}

@media print{
  @page{
    size:A4 portrait;
    margin:10mm;
  }

  html,
  body{
    width:auto!important;
    min-width:0!important;
    background:#fff!important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }

  body.is-elections .top,
  body.is-elections .header,
  body.is-elections .electionHero,
  body.is-elections .electionThemePanel,
  body.is-elections .electionSheetActions,
  body.is-elections .electionFloatingExport,
  body.is-elections .electionDetailToolbar,
  body.is-elections .footer{
    display:none!important;
  }

  body.is-elections,
  body.is-elections .electionIdeaPage,
  body.is-elections .electionWorkspace{
    background:#fff!important;
  }

  body.is-elections .section{
    padding:0!important;
  }

  body.is-elections .container,
  body.is-elections .electionWorkspace__grid{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }

  body.is-elections .electionIdeaSheet{
    width:100%!important;
    max-width:190mm!important;
    margin:0 auto!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }

  body.is-elections .electionSheetHeader{
    display:grid!important;
    grid-template-columns:minmax(0,1.08fr) minmax(58mm,.92fr)!important;
    gap:8mm!important;
    min-height:58mm!important;
    padding:8mm!important;
    border-radius:0!important;
    break-inside:avoid!important;
  }

  body.is-elections .electionSheetHeaderCopy{
    display:grid!important;
    align-content:start!important;
    grid-column:1!important;
    grid-row:1!important;
    width:auto!important;
    min-height:0!important;
    padding:0 0 10mm!important;
  }

  body.is-elections .electionSheetHeader .eyebrow{
    font-size:7.5pt!important;
  }

  body.is-elections .electionSheetHeader h2{
    margin:4mm 0 3mm!important;
    font-size:24pt!important;
    line-height:.96!important;
    letter-spacing:-.02em!important;
  }

  body.is-elections .electionSheetHeader p{
    max-width:none!important;
    font-size:10pt!important;
    line-height:1.32!important;
  }

  body.is-elections .electionSheetIssue{
    position:static!important;
    grid-column:1!important;
    grid-row:1!important;
    align-self:end!important;
    justify-self:start!important;
    margin:0!important;
    color:rgba(251,247,241,.7)!important;
    font-size:7.2pt!important;
    letter-spacing:.16em!important;
  }

  body.is-elections .electionSheetHeaderExport{
    display:none!important;
  }

  body.is-elections .electionSheetMeta{
    position:relative!important;
    inset:auto!important;
    width:auto!important;
    min-height:42mm!important;
    height:100%!important;
    border-radius:3mm!important;
    overflow:hidden!important;
  }

  body.is-elections .electionSheetMeta:before{
    width:22%!important;
  }

  body.is-elections .electionThemeVisualCard .electionVisual{
    height:100%!important;
    min-height:42mm!important;
  }

  body.is-elections .electionVisual--image img{
    object-position:66% center!important;
  }

  body.is-elections .electionSnapshot{
    grid-template-columns:1fr!important;
    gap:5mm!important;
    padding:7mm 0 0!important;
    border-bottom:0!important;
    break-inside:avoid!important;
  }

  body.is-elections .electionSnapshot span{
    font-size:7.5pt!important;
  }

  body.is-elections .electionSnapshot p{
    font-size:11pt!important;
    line-height:1.36!important;
  }

  body.is-elections .electionFigureStrip{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:3mm!important;
  }

  body.is-elections .electionFigureStrip strong{
    min-height:13mm!important;
    padding:2.6mm!important;
    font-size:8.2pt!important;
    line-height:1.15!important;
  }

  body.is-elections .electionSheetGrid,
  body.is-elections .electionEvidence,
  body.is-elections .electionDataSection,
  body.is-elections .electionProposals{
    padding:7mm 0 0!important;
    margin:0!important;
  }

  body.is-elections .electionSheetGrid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:4mm!important;
  }

  body.is-elections .electionSheetBlock{
    padding:5mm!important;
  }

  body.is-elections .electionSheetBlock h3,
  body.is-elections .electionEvidence h3,
  body.is-elections .electionDataHead h3{
    font-size:13pt!important;
    line-height:1.12!important;
  }

  body.is-elections .electionSheetBlock ul,
  body.is-elections .electionSheetBlock ol{
    gap:2.2mm!important;
    padding-left:4mm!important;
    font-size:8.7pt!important;
    line-height:1.32!important;
  }

  body.is-elections .electionSheetBlock ol{
    grid-template-columns:1fr!important;
  }

  body.is-elections .electionEvidence,
  body.is-elections .electionDataGrid,
  body.is-elections .electionProposalGrid{
    grid-template-columns:1fr!important;
    gap:4mm!important;
  }

  body.is-elections .electionDataSection{
    break-before:auto!important;
  }

  body.is-elections .electionDataHead{
    max-width:none!important;
    margin-bottom:4mm!important;
  }

  body.is-elections .electionDataHead p,
  body.is-elections .electionDataReading{
    font-size:8.8pt!important;
    line-height:1.34!important;
  }

  body.is-elections .electionDataBlock{
    gap:3mm!important;
    padding:5mm!important;
    box-shadow:none!important;
    break-inside:avoid!important;
  }

  body.is-elections .electionDataBlock header{
    gap:3mm!important;
    padding-bottom:3mm!important;
  }

  body.is-elections .electionDataBlock h4{
    font-size:11pt!important;
  }

  body.is-elections .electionDataBlock header span,
  body.is-elections .electionDataSource{
    font-size:7.4pt!important;
  }

  body.is-elections .electionDataKpis{
    gap:3mm!important;
  }

  body.is-elections .electionDataKpis div{
    padding:3mm!important;
  }

  body.is-elections .electionDataKpis strong{
    font-size:16pt!important;
  }

  body.is-elections .electionDataKpis span{
    font-size:7.8pt!important;
  }

  body.is-elections .electionLineLegend{
    gap:2mm 6mm!important;
    font-size:8.8pt!important;
  }

  body.is-elections .electionLineChart svg{
    max-height:65mm!important;
  }

  body.is-elections .electionLineChart .label{
    font-size:9px!important;
  }

  body.is-elections .electionLineChart .value{
    font-size:8px!important;
    stroke-width:2.5px!important;
  }

  body.is-elections .electionSelectionList{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:3mm!important;
  }

  body.is-elections .electionSelectionItem{
    min-height:0!important;
    padding:3.5mm!important;
    gap:2mm!important;
  }

  body.is-elections .electionMiniChart{
    min-height:26mm!important;
  }

  body.is-elections .electionSelectionItem strong{
    font-size:8.8pt!important;
  }

  body.is-elections .electionSelectionItem span{
    font-size:7.6pt!important;
  }

  body.is-elections .electionProposals{
    padding:6mm!important;
    border-radius:0!important;
    box-shadow:none!important;
    break-inside:avoid!important;
  }

  body.is-elections .electionProposalsHead{
    display:block!important;
    margin-bottom:4mm!important;
  }

  body.is-elections .electionProposalsHead h3{
    margin-top:2mm!important;
    font-size:17pt!important;
  }

  body.is-elections .electionProposalCard{
    min-height:0!important;
    padding:4mm!important;
  }

  body.is-elections .electionProposalCard span{
    font-size:8pt!important;
  }

  body.is-elections .electionProposalCard p{
    font-size:8.5pt!important;
    line-height:1.32!important;
  }

  body.is-elections .electionSheetBlock,
  body.is-elections .electionDataBlock,
  body.is-elections .electionProposalCard,
  body.is-elections .electionChartLinks a,
  body.is-elections .electionEvidence aside,
  body.is-elections .electionFigureStrip strong{
    break-inside:avoid!important;
    box-shadow:none!important;
  }
}

body.is-convention-v2 > .header{
  display:none;
}

/* Accueil publications - variante magazine avec photo, contenu homogene */
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature,
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser{
  --publication-accent:#326191;
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--fnam-ivory,#fbf8f1)!important;
  color:var(--fnam-night,#17324d)!important;
  border:1px solid rgba(112,180,190,.56)!important;
  border-radius:18px!important;
  box-shadow:0 22px 54px rgba(0,0,0,.19)!important;
}

html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature.type-communique{
  --publication-accent:#c77165;
}

html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature.type-position,
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser.type-position,
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature.type-rapport,
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser.type-rapport{
  --publication-accent:#326191;
}

html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature.type-decryptage,
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser.type-decryptage{
  --publication-accent:#70b4be;
}

html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature.type-reseaux,
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser.type-reseaux{
  --publication-accent:#d58557;
}

html.is-home body.is-home #main > .home-snap-block--publications .homePublicationMedia{
  position:relative;
  flex:0 0 auto;
  width:100%;
  margin:0!important;
  overflow:hidden;
  background:#17324d;
}

html.is-home body.is-home #main > .home-snap-block--publications .homePublicationMedia:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:5px;
  background:var(--publication-accent);
}

html.is-home body.is-home #main > .home-snap-block--publications .homePublicationMedia img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:var(--publication-image-position,center center);
  filter:saturate(.88) contrast(1.04);
}

html.is-home body.is-home #main > .home-snap-block--publications .type-communique .homePublicationMedia{
  --publication-image-position:center 58%;
}

html.is-home body.is-home #main > .home-snap-block--publications .type-position .homePublicationMedia{
  --publication-image-position:center 50%;
}

html.is-home body.is-home #main > .home-snap-block--publications .type-decryptage .homePublicationMedia{
  --publication-image-position:center 48%;
}

html.is-home body.is-home #main > .home-snap-block--publications .type-rapport .homePublicationMedia{
  --publication-image-position:center 47%;
}

html.is-home body.is-home #main > .home-snap-block--publications .type-reseaux .homePublicationMedia{
  --publication-image-position:center 56%;
}

html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature .homePublicationMedia{
  height:clamp(128px,18.5svh,208px);
}

html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser .homePublicationMedia{
  height:clamp(82px,11.6svh,128px);
}

html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature .homePublicationBody,
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser .homePublicationBody{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  min-height:0!important;
  padding:clamp(17px,2.1svh,24px) clamp(18px,2.1vw,28px) 0!important;
  gap:clamp(8px,1.1svh,12px)!important;
}

html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser .homePublicationBody{
  padding:clamp(13px,1.6svh,18px) clamp(16px,1.8vw,22px) 0!important;
  gap:clamp(7px,1svh,10px)!important;
}

html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature .homePublicationTags,
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser .homePublicationTags{
  display:flex!important;
  justify-content:flex-start!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  width:100%!important;
}

html.is-home body.is-home #main > .home-snap-block--publications .homeFeatureBadge,
html.is-home body.is-home #main > .home-snap-block--publications .homeTypePill,
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser .tag:not(.homeDomainPill){
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  max-width:100%!important;
  min-height:0!important;
  padding:5px 10px!important;
  border:1px solid color-mix(in srgb,var(--publication-accent) 30%,transparent)!important;
  border-radius:4px!important;
  background:color-mix(in srgb,var(--publication-accent) 10%,transparent)!important;
  color:var(--publication-accent)!important;
  font-family:'DM Sans','Inter',sans-serif!important;
  font-size:11px!important;
  font-weight:850!important;
  letter-spacing:.12em!important;
  line-height:1.15!important;
  text-transform:uppercase!important;
}

html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature .homePublicationTags .homeTypePill,
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature .homeTypePill{
  margin-left:0!important;
  background:color-mix(in srgb,var(--publication-accent) 10%,transparent)!important;
  border-color:color-mix(in srgb,var(--publication-accent) 30%,transparent)!important;
  color:var(--publication-accent)!important;
}

html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature .homeDomainPill{
  background:transparent!important;
  border:0!important;
  color:rgba(23,50,77,.58)!important;
}

html.is-home body.is-home #main > .home-snap-block--publications .homeFeatureBadge{
  background:var(--publication-accent)!important;
  border-color:var(--publication-accent)!important;
  color:var(--fnam-ivory,#fbf8f1)!important;
}

html.is-home body.is-home #main > .home-snap-block--publications .homeDomainPill{
  display:inline-flex!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:rgba(23,50,77,.58)!important;
  font-family:'DM Sans','Inter',sans-serif!important;
  font-size:11px!important;
  font-weight:650!important;
  letter-spacing:.03em!important;
  line-height:1.15!important;
  text-transform:none!important;
}

html.is-home body.is-home #main > .home-snap-block--publications .homePublicationMeta,
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationMeta time,
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser .metaLine,
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser .metaLine time{
  display:flex!important;
  align-items:center!important;
  margin:0!important;
  padding:0!important;
  color:var(--publication-accent)!important;
  font-family:'DM Sans','Inter',sans-serif!important;
  font-size:clamp(.88rem,1.55svh,.98rem)!important;
  font-weight:780!important;
  line-height:1.2!important;
}

html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature .homePublicationMeta,
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature .homePublicationMeta time{
  color:var(--publication-accent)!important;
}

html.is-home body.is-home #main > .home-snap-block--publications .homePublicationMeta span:before{
  content:none!important;
}

html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature h3,
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser h3{
  max-width:100%!important;
  margin:0!important;
  color:var(--fnam-night,#17324d)!important;
  font-family:'DM Sans','Inter',sans-serif!important;
  font-weight:780!important;
  letter-spacing:0!important;
  line-height:1.09!important;
  overflow-wrap:break-word!important;
}

html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature h3{
  font-size:clamp(1.85rem,min(2.5vw,4.7svh),2.95rem)!important;
}

html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser h3{
  font-size:clamp(1.18rem,min(1.5vw,2.55svh),1.48rem)!important;
}

html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature .actions{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  margin:auto 0 0!important;
  padding:0 clamp(18px,2.1vw,28px) clamp(18px,2.2svh,24px)!important;
}

html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature .btn,
html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser .chip{
  color:var(--publication-accent)!important;
}

html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser .chip{
  margin:auto clamp(16px,1.8vw,22px) clamp(14px,1.8svh,18px)!important;
}

@media(max-width:1080px){
  html.is-home body.is-home #main > .home-snap-block--publications .homePublicationFeature .homePublicationMedia{
    height:clamp(120px,20svh,180px);
  }

  html.is-home body.is-home #main > .home-snap-block--publications .homePublicationTeaser .homePublicationMedia{
    height:clamp(96px,15svh,138px);
  }
}

/* Accueil publications - alignement compteur / lien */
@media(min-width:901px){
  html.is-home body.is-home #main > .home-snap-block--publications .homePublicationHeadActions{
    display:grid!important;
    grid-template-columns:auto minmax(236px,max-content)!important;
    column-gap:10px!important;
    row-gap:10px!important;
    align-items:baseline!important;
    justify-items:start!important;
  }

  html.is-home body.is-home #main > .home-snap-block--publications .homePublicationCount{
    display:contents!important;
  }

  html.is-home body.is-home #main > .home-snap-block--publications .homePublicationCount strong{
    grid-column:1!important;
    grid-row:1!important;
  }

  html.is-home body.is-home #main > .home-snap-block--publications .homePublicationCount span{
    grid-column:2!important;
    grid-row:1!important;
    display:inline-block!important;
    min-width:236px!important;
    letter-spacing:.012em!important;
  }

  html.is-home body.is-home #main > .home-snap-block--publications .homePublicationHeadActions .btn{
    grid-column:2!important;
    grid-row:2!important;
    width:100%!important;
    justify-content:flex-start!important;
    gap:8px!important;
    font-size:clamp(.82rem,1.34svh,.92rem)!important;
    letter-spacing:-.005em!important;
  }

  html.is-home body.is-home #main > .home-snap-block--publications .homePublicationHeadActions .btn::after{
    content:""!important;
    flex:1 1 auto!important;
    min-width:32px!important;
    height:1.08em!important;
    transform:translateY(-1px)!important;
    background:
      linear-gradient(currentColor,currentColor) left calc(50% + .03em)/100% 1.5px no-repeat,
      linear-gradient(45deg,transparent 49%,currentColor 50% 62%,transparent 63%) right calc(50% - .22em)/.62em .62em no-repeat,
      linear-gradient(-45deg,transparent 49%,currentColor 50% 62%,transparent 63%) right calc(50% + .22em)/.62em .62em no-repeat!important;
  }
}

/* Publications V2: l ancien prototype global imposait un scroll-snap vertical sur la route Publications. */
html.is-publications{
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
}

body.is-publications #main > .publicationsV2Host{
  scroll-snap-align:none!important;
  scroll-snap-stop:normal!important;
}

body.is-publications > .header{
  display:none!important;
}

@media(max-width:640px){
  body.is-publications > .header,
  body.is-publications.mobile-header-hidden > .header,
  body.is-publications.mobile-header-revealed > .header{
    display:block!important;
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:90!important;
    transform:none!important;
    opacity:1!important;
    pointer-events:auto!important;
    background:transparent!important;
    border-bottom-color:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }

  

  

  body.is-publications{
    background:#17324d!important;
  }
}

/* Mobile V3 - accueil : header persistant, video recadree, parcours pliable */
.heroPathDetails{
  color:var(--fond);
}

.heroPathSummary{
  display:grid;
  justify-items:center;
  gap:0;
  list-style:none;
}

.heroPathSummary::-webkit-details-marker{
  display:none;
}

.heroPathSummary > span:first-child{
  color:rgba(251,247,241,.86);
  font-size:.86rem;
  font-weight:950;
  letter-spacing:.14em;
  line-height:1.15;
  text-transform:uppercase;
}

.heroPathChevron{
  display:none;
}

@media(min-width:641px){
  .heroPathSummary{
    cursor:default;
    pointer-events:none;
  }
}

@media(max-width:900px){
  body.is-home .header,
  body.is-home.mobile-header-hidden .header,
  body.is-home.mobile-header-revealed .header{
    position:sticky!important;
    top:0!important;
    left:auto!important;
    right:auto!important;
    z-index:90!important;
    transform:none!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
}

@media(max-width:640px){
  body.is-home{
    --home-fixed-header:83px;
  }

  body.is-home #main > .home-snap-block--hero,
  body.is-home .hero.heroPhoto,
  body[data-responsive-mode="mobile"].is-home #main > .home-snap-block--hero,
  body[data-responsive-mode="mobile"].is-home .hero.heroPhoto{
    min-height:calc(100svh - var(--home-fixed-header,83px))!important;
    height:auto!important;
    overflow:hidden!important;
  }

  body.is-home .heroVideoReal{
    object-fit:cover!important;
    object-position:36% center!important;
    transform:none!important;
  }

  body.is-home .hero.heroPhoto.hasRealVideo:after{
    background:
      linear-gradient(90deg,
        rgba(3,18,31,.88) 0%,
        rgba(3,18,31,.74) 44%,
        rgba(3,18,31,.36) 76%,
        rgba(3,18,31,.16) 100%),
      linear-gradient(180deg,
        rgba(3,18,31,.22) 0%,
        rgba(3,18,31,.04) 42%,
        rgba(3,18,31,.30) 100%)!important;
  }

  body.is-home .hero.heroPhoto .container,
  html.is-home body.is-home .home-snap-block--hero .container,
  body[data-responsive-mode="mobile"].is-home .hero.heroPhoto .container{
    width:min(100% - 28px,1180px)!important;
    min-height:calc(100svh - var(--home-fixed-header,78px))!important;
    height:auto!important;
    display:grid!important;
    grid-template-rows:minmax(112px,17svh) auto auto minmax(16px,1fr) auto!important;
    align-content:stretch!important;
    padding-top:20px!important;
    padding-bottom:18px!important;
  }

  body.is-home .home-snap-block--hero .heroTitle,
  html.is-home body.is-home .home-snap-block--hero .heroTitle{
    max-width:100%!important;
    font-size:clamp(2.05rem,9.6vw,3.05rem)!important;
    line-height:.96!important;
    margin:0 0 14px!important;
    letter-spacing:-.025em!important;
  }

  body.is-home .home-snap-block--hero .lead,
  html.is-home body.is-home .home-snap-block--hero .lead{
    max-width:100%!important;
    font-size:1rem!important;
    line-height:1.38!important;
    margin:0!important;
  }

  body.is-home .home-snap-block--hero .heroActionGrid,
  html.is-home body.is-home .home-snap-block--hero .heroActionGrid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
    margin-top:0!important;
    align-self:end!important;
  }

  body.is-home .home-snap-block--hero .heroActionGrid > .btn,
  body.is-home .home-snap-block--hero .spacePills .btn{
    width:100%!important;
    min-height:50px!important;
    padding:12px 15px!important;
    border-radius:12px!important;
    font-size:.96rem!important;
    line-height:1.16!important;
    white-space:normal!important;
  }

  body.is-home .home-snap-block--hero .heroPathDetails{
    width:100%;
    display:grid;
    gap:0;
    max-height:52px;
    border:1px solid rgba(251,247,241,.36);
    border-radius:14px;
    background:rgba(3,18,31,.36);
    box-shadow:0 14px 32px rgba(3,18,31,.20);
    overflow:hidden;
    transition:max-height 160ms ease, background-color 160ms ease;
  }

  body.is-home .home-snap-block--hero .heroPathDetails[open]{
    max-height:236px;
    background:rgba(3,18,31,.48);
  }

  body.is-home .home-snap-block--hero .heroPathSummary{
    min-height:50px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:0 15px;
    cursor:pointer;
  }

  body.is-home .home-snap-block--hero .heroPathSummary > span:first-child{
    font-size:.8rem!important;
    letter-spacing:.16em!important;
  }

  body.is-home .home-snap-block--hero .heroPathChevron{
    display:inline-grid;
    place-items:center;
    width:26px;
    height:26px;
    border-radius:999px;
    background:rgba(251,247,241,.16);
    color:#FBF7F1;
    font-size:1rem;
    transition:transform 160ms ease;
  }

  body.is-home .home-snap-block--hero .heroPathDetails[open] .heroPathChevron{
    transform:rotate(180deg);
  }

  body.is-home .home-snap-block--hero .spaceBrace{
    display:none!important;
  }

  body.is-home .home-snap-block--hero .spacePills,
  html.is-home body.is-home .home-snap-block--hero .spacePills{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    max-height:174px;
    overflow:auto;
    padding:0 10px 10px!important;
  }

  body.is-home .home-snap-block--hero .heroPathDetails:not([open]) .spacePills{
    display:none!important;
  }

  .mobilePanel.open{
    z-index:1000!important;
    padding:10px!important;
    background:rgba(6,21,37,.48)!important;
  }

  .mobileMenu{
    width:min(360px,calc(100vw - 20px))!important;
    height:calc(100svh - 20px)!important;
    border-radius:18px!important;
    box-shadow:0 24px 70px rgba(3,18,31,.30)!important;
  }

  .mobileMenu .close{
    position:sticky!important;
    top:0!important;
    z-index:2!important;
    float:none!important;
    width:100%!important;
    margin:0 0 12px!important;
    background:#FBF7F1!important;
  }
}

/* Mobile V3 - hero accueil pleine hauteur avec header en overlay */
@media(max-width:640px){
  body.is-home .header,
  body.is-home.mobile-header-hidden .header,
  body.is-home.mobile-header-revealed .header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:90!important;
    transform:none!important;
    opacity:1!important;
    pointer-events:auto!important;
    background:rgba(251,247,241,.96)!important;
    border-bottom:1px solid rgba(112,180,190,.42)!important;
    box-shadow:0 8px 24px rgba(3,18,31,.08)!important;
    backdrop-filter:blur(14px)!important;
  }

  body.is-home.home-hero-transparent-header .header,
  body.is-home.home-hero-transparent-header.mobile-header-hidden .header,
  body.is-home.home-hero-transparent-header.mobile-header-revealed .header{
    background:transparent!important;
    border-bottom-color:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }

  body.is-home.home-hero-transparent-header .header .brandLogo{
    content:url("../images/logo-fnam-white-text.png")!important;
  }

  body.is-home.home-hero-transparent-header .menuBtn{
    background:rgba(3,18,31,.28)!important;
    border-color:rgba(251,247,241,.42)!important;
    color:#FBF7F1!important;
    box-shadow:0 10px 24px rgba(3,18,31,.18)!important;
  }

  body.is-home #main > .home-snap-block--hero,
  body.is-home .hero.heroPhoto,
  body[data-responsive-mode="mobile"].is-home #main > .home-snap-block--hero,
  body[data-responsive-mode="mobile"].is-home .hero.heroPhoto{
    min-height:100svh!important;
    height:100svh!important;
    padding-top:0!important;
    overflow:hidden!important;
  }

  body.is-home .heroVideoReal{
    object-fit:cover!important;
    object-position:center center!important;
    transform:none!important;
  }

  body.is-home .hero.heroPhoto.hasRealVideo:after{
    background:
      linear-gradient(90deg,
        rgba(3,18,31,.84) 0%,
        rgba(3,18,31,.68) 42%,
        rgba(3,18,31,.28) 76%,
        rgba(3,18,31,.10) 100%),
      linear-gradient(180deg,
        rgba(3,18,31,.20) 0%,
        rgba(3,18,31,.02) 44%,
        rgba(3,18,31,.32) 100%)!important;
  }

  body.is-home .hero.heroPhoto .container,
  html.is-home body.is-home .home-snap-block--hero .container,
  body[data-responsive-mode="mobile"].is-home .hero.heroPhoto .container{
    width:min(100% - 28px,1180px)!important;
    min-height:100svh!important;
    height:100svh!important;
    display:grid!important;
    grid-template-rows:minmax(76px,12svh) auto auto minmax(8px,1fr) auto!important;
    align-content:stretch!important;
    padding-top:84px!important;
    padding-bottom:16px!important;
  }

  body.is-home .home-snap-block--hero .heroTitle,
  html.is-home body.is-home .home-snap-block--hero .heroTitle{
    font-size:clamp(1.92rem,8.8vw,2.78rem)!important;
    line-height:.96!important;
    margin:0 0 12px!important;
  }

  body.is-home .home-snap-block--hero .lead,
  html.is-home body.is-home .home-snap-block--hero .lead{
    font-size:clamp(.92rem,4vw,1rem)!important;
    line-height:1.34!important;
  }

  body.is-home .home-snap-block--hero .heroActionGrid,
  html.is-home body.is-home .home-snap-block--hero .heroActionGrid{
    gap:8px!important;
    align-self:end!important;
  }

  body.is-home .home-snap-block--hero .heroActionGrid > .btn,
  body.is-home .home-snap-block--hero .heroPathSummary{
    min-height:46px!important;
  }

  body.is-home .home-snap-block--hero .heroPathDetails{
    max-height:48px!important;
  }

  body.is-home .home-snap-block--hero .heroPathDetails[open]{
    max-height:222px!important;
  }
}

/* Mobile V3 - verrou anti-debordement du hero accueil */
@media(max-width:640px){
  body.is-home .heroVideoReal{
    object-position:58% center!important;
  }

  body.is-home .hero.heroPhoto .container,
  html.is-home body.is-home .home-snap-block--hero .container,
  body[data-responsive-mode="mobile"].is-home .hero.heroPhoto .container{
    width:calc(100% - 32px)!important;
    max-width:calc(100vw - 32px)!important;
    min-width:0!important;
    justify-self:center!important;
    padding-inline:0!important;
    grid-template-rows:minmax(84px,13svh) auto auto minmax(4px,1fr) auto!important;
  }

  body.is-home .home-snap-block--hero .heroTitle,
  html.is-home body.is-home .home-snap-block--hero .heroTitle{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    font-size:clamp(1.52rem,7.35vw,2.08rem)!important;
    line-height:1!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    text-wrap:balance;
  }

  body.is-home .home-snap-block--hero .heroTitle .line,
  html.is-home body.is-home .home-snap-block--hero .heroTitle .line{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
  }

  body.is-home .home-snap-block--hero .lead,
  html.is-home body.is-home .home-snap-block--hero .lead{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    font-size:clamp(.86rem,3.55vw,.96rem)!important;
    line-height:1.34!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
  }

  body.is-home .home-snap-block--hero .heroActionGrid,
  html.is-home body.is-home .home-snap-block--hero .heroActionGrid,
  body.is-home .home-snap-block--hero .heroPathDetails,
  body.is-home .home-snap-block--hero .spacePills{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    justify-self:stretch!important;
    overflow:hidden!important;
  }

  body.is-home .home-snap-block--hero .heroActionGrid > .btn,
  body.is-home .home-snap-block--hero .spacePills .btn,
  body.is-home .home-snap-block--hero .heroPathSummary{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    overflow-wrap:break-word!important;
    white-space:normal!important;
  }

  body.is-home .home-snap-block--hero .heroActionGrid > .btn,
  body.is-home .home-snap-block--hero .heroPathDetails{
    border-radius:12px!important;
    font-family:var(--font-sans,"DM Sans","Helvetica Neue",Arial,sans-serif)!important;
    font-size:.96rem!important;
    font-weight:700!important;
    letter-spacing:0!important;
    box-shadow:0 12px 28px rgba(3,18,31,.22)!important;
  }

  body.is-home .home-snap-block--hero .heroActionGrid > .btn{
    min-height:48px!important;
    background:#326191!important;
    border:1px solid rgba(251,247,241,.18)!important;
    color:#FBF7F1!important;
  }

  body.is-home .home-snap-block--hero .heroPathDetails{
    border:1px solid rgba(251,247,241,.42)!important;
    background:rgba(3,18,31,.34)!important;
  }

  body.is-home .home-snap-block--hero .heroPathDetails[open]{
    background:rgba(3,18,31,.46)!important;
  }

  body.is-home .home-snap-block--hero .heroPathSummary{
    min-height:48px!important;
    padding:0 15px!important;
    color:#FBF7F1!important;
  }

  body.is-home .home-snap-block--hero .heroPathSummary > span:first-child{
    color:#FBF7F1!important;
    font-size:.96rem!important;
    font-weight:700!important;
    letter-spacing:0!important;
    line-height:1.16!important;
    text-transform:none!important;
  }

  body.is-home .home-snap-block--hero .heroPathChevron{
    width:auto!important;
    height:auto!important;
    display:inline-block!important;
    border-radius:0!important;
    background:transparent!important;
    color:rgba(251,247,241,.9)!important;
    font-size:1.25rem!important;
    line-height:1!important;
  }

  body.is-home .home-snap-block--hero .spacePills .btn{
    box-shadow:none!important;
  }
}

/* Mobile V3 - hero sans parcours et rythme vertical plus naturel */
@media(max-width:640px){
  body.is-home .home-snap-block--hero .heroPathDetails,
  html.is-home body.is-home .home-snap-block--hero .heroPathDetails{
    display:none!important;
  }

  body.is-home .hero.heroPhoto .container,
  html.is-home body.is-home .home-snap-block--hero .container,
  body[data-responsive-mode="mobile"].is-home .hero.heroPhoto .container{
    grid-template-rows:minmax(clamp(108px,18svh,152px),auto) auto auto auto minmax(0,1fr)!important;
    padding-bottom:clamp(24px,6svh,48px)!important;
  }

  body.is-home .home-snap-block--hero .heroTitle,
  html.is-home body.is-home .home-snap-block--hero .heroTitle{
    margin-bottom:clamp(12px,2.2svh,18px)!important;
    font-size:clamp(1.62rem,7.65vw,2.16rem)!important;
    line-height:1.02!important;
  }

  body.is-home .home-snap-block--hero .lead,
  html.is-home body.is-home .home-snap-block--hero .lead{
    font-size:clamp(.88rem,3.65vw,.98rem)!important;
    line-height:1.36!important;
  }

  body.is-home .home-snap-block--hero .heroActionGrid,
  html.is-home body.is-home .home-snap-block--hero .heroActionGrid{
    grid-row:4!important;
    margin-top:clamp(22px,5svh,42px)!important;
    align-self:start!important;
  }

  body.is-home .home-snap-block--hero .heroActionGrid > .btn{
    min-height:48px!important;
  }
}

/* Mobile V3 - bouton menu header compact */
@media(max-width:1080px){
  .menuBtn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    min-height:40px!important;
    padding:0 13px!important;
    border-radius:999px!important;
    border:1px solid rgba(50,97,145,.22)!important;
    background:rgba(251,247,241,.82)!important;
    color:#071c33!important;
    box-shadow:0 8px 20px rgba(7,28,51,.08)!important;
    backdrop-filter:blur(10px)!important;
    font-size:.82rem!important;
    font-weight:800!important;
    letter-spacing:0!important;
    line-height:1!important;
  }

  .menuBtn::before{
    content:"";
    width:15px;
    height:11px;
    flex:0 0 auto;
    background:
      linear-gradient(currentColor,currentColor) 0 0/100% 1.5px no-repeat,
      linear-gradient(currentColor,currentColor) 0 50%/100% 1.5px no-repeat,
      linear-gradient(currentColor,currentColor) 0 100%/100% 1.5px no-repeat;
    border-radius:2px;
  }
}

@media(max-width:640px){
  .menuBtn{
    min-height:38px!important;
    padding:0 11px!important;
    font-size:.78rem!important;
  }

  
}

/* Mobile V3 - sections aimantees et header section 2 temporise */
@media(max-width:640px){
  html.is-home{
    scroll-snap-type:y mandatory!important;
    scroll-padding-top:0!important;
  }

  html.is-home body.is-home #main > .home-snap-block{
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi{
    min-height:100svh!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }

  body.is-home .header,
  body.is-home.mobile-header-hidden .header,
  body.is-home.mobile-header-revealed .header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:90!important;
    transform:translateY(0)!important;
    opacity:1!important;
    pointer-events:auto!important;
    background:rgba(251,247,241,.96)!important;
    border-bottom:1px solid rgba(112,180,190,.42)!important;
    box-shadow:0 8px 24px rgba(3,18,31,.08)!important;
    backdrop-filter:blur(14px)!important;
    transition:transform 220ms ease, opacity 220ms ease!important;
    will-change:transform,opacity;
  }

  body.is-home.home-kpi-header-zone.mobile-header-hidden .header{
    transform:translateY(calc(-100% - 10px))!important;
    opacity:0!important;
    pointer-events:none!important;
  }

  body.is-home.mobile-header-revealed .header{
    transform:translateY(0)!important;
    opacity:1!important;
    pointer-events:auto!important;
  }

  body.is-home.home-hero-transparent-header .header,
  body.is-home.home-hero-transparent-header.mobile-header-hidden .header,
  body.is-home.home-hero-transparent-header.mobile-header-revealed .header{
    background:transparent!important;
    border-bottom-color:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }

  body.is-home.home-hero-transparent-header .header .brandLogo{
    content:url("../images/logo-fnam-white-text.png")!important;
    background:transparent!important;
    box-shadow:none!important;
    filter:drop-shadow(0 8px 22px rgba(3,18,31,.28))!important;
  }
}

/* Mobile V3 - section 2 sans eyebrow, sans cadre, avec select domaine */
.dsKpiMobileDropdown{
  display:none;
}

.dsKpiMobilePager{
  display:none;
}

.dsKpiTile__more{
  display:none;
}

.groupementsMobileV3{
  display:none;
}

@media(max-width:640px){
  html.is-home,
  html.is-home body.is-home{
    scroll-snap-type:y mandatory!important;
    scroll-padding-top:0!important;
    overscroll-behavior-y:contain;
  }

  html.is-home body.is-home #main > .home-snap-block{
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
    scroll-margin-top:0!important;
  }

  html.is-home body.is-home #main > .home-snap-block--hero,
  html.is-home body.is-home #main > .home-snap-block--kpi{
    min-height:var(--mobile-vh,100svh)!important;
    height:var(--mobile-vh,100svh)!important;
    max-height:var(--mobile-vh,100svh)!important;
    overflow:hidden!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi > .dsKpiSection__inner{
    width:100%!important;
    max-width:100%!important;
    min-height:var(--mobile-vh,100svh)!important;
    height:var(--mobile-vh,100svh)!important;
    display:grid!important;
    grid-template-rows:auto auto auto!important;
    align-content:start!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
    overflow:visible!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiSection__head{
    padding:calc(var(--header-height,78px) - 18px) 18px 6px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiSection__head .eyebrow{
    display:none!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiSection__head h2{
    margin:0!important;
    font-size:clamp(1.72rem,7.1vw,2.28rem)!important;
    line-height:1.04!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiToolbar{
    position:relative!important;
    top:auto!important;
    z-index:80!important;
    padding:0 18px 8px!important;
    margin:0!important;
    display:block!important;
    overflow:visible!important;
    background:transparent!important;
    border:0!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiToolbar .dsKpiPill{
    display:none!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMobileDropdown{
    position:relative!important;
    z-index:100!important;
    width:100%!important;
    display:block!important;
    color:#FBF8F1!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMobileDropdown summary{
    min-height:48px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:0 14px!important;
    border:1px solid rgba(251,248,241,.30)!important;
    border-radius:var(--r-4,10px)!important;
    background:rgba(251,248,241,.10)!important;
    color:#FBF8F1!important;
    box-shadow:0 12px 26px rgba(3,18,31,.16)!important;
    backdrop-filter:blur(10px)!important;
    cursor:pointer!important;
    list-style:none!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMobileDropdown summary::-webkit-details-marker{
    display:none!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMobileDropdown summary span:first-child{
    min-width:0!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:.94rem!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:0!important;
    color:#FBF8F1!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMobileDropdown__chevron{
    flex:0 0 auto!important;
    color:rgba(251,248,241,.82)!important;
    font-size:1rem!important;
    line-height:1!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMobileDropdown[open] .dsKpiMobileDropdown__chevron{
    transform:rotate(180deg)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMobileDropdown__menu{
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:calc(100% + 8px)!important;
    z-index:120!important;
    display:grid!important;
    gap:4px!important;
    padding:8px!important;
    border:1px solid rgba(251,248,241,.24)!important;
    border-radius:var(--r-4,10px)!important;
    background:#FBF8F1!important;
    box-shadow:0 18px 40px rgba(3,18,31,.28)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMobileOption{
    width:100%!important;
    border:0!important;
    border-radius:var(--r-3,8px)!important;
    background:transparent!important;
    color:#17324D!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:12px!important;
    font:800 .92rem/1.1 var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    outline:0!important;
    text-align:left!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMobileOption[aria-pressed="true"],
  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMobileOption:focus-visible{
    background:rgba(50,97,145,.10)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMobileOption__check{
    min-width:18px!important;
    color:#326191!important;
    text-align:right!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiLayout{
    position:relative!important;
    z-index:1!important;
    min-height:0!important;
    height:auto!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    align-content:start!important;
    gap:9px!important;
    padding:4px 18px clamp(18px,3.2svh,26px)!important;
    overflow:visible!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiVisual{
    min-width:0!important;
    display:grid!important;
    grid-template-rows:auto auto!important;
    gap:8px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiSection--expanded .dsKpiVisual,
  html.is-home body.is-home #main > .home-snap-block--kpi.dsKpiSection--expanded .dsKpiVisual{
    display:grid!important;
    grid-template-rows:auto auto!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMosaic,
  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMosaic--overview,
  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMosaic--expanded{
    position:relative!important;
    top:auto!important;
    z-index:1!important;
    width:100%!important;
    min-height:0!important;
    height:clamp(116px,17.4svh,146px)!important;
    display:flex!important;
    grid-template-columns:none!important;
    grid-auto-rows:auto!important;
    align-content:stretch!important;
    margin:0!important;
    padding:0!important;
    gap:10px!important;
    background:transparent!important;
    border:0!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-inline:0!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    contain:layout style!important;
    order:1!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMosaic::-webkit-scrollbar{
    display:none!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiTile,
  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMosaic--expanded .dsKpiTile,
  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiTile--lead{
    flex:0 0 100%!important;
    width:100%!important;
    min-width:100%!important;
    min-height:0!important;
    height:100%!important;
    scroll-snap-align:center!important;
    padding:16px 18px!important;
    border-radius:var(--r-4,10px)!important;
    grid-row:auto!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiTile__family{
    font-size:.67rem!important;
    letter-spacing:.12em!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiTile__num,
  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiTile--lead .dsKpiTile__num{
    font-size:clamp(2.55rem,13vw,4.05rem)!important;
    line-height:.92!important;
    white-space:normal!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiTile__label{
    font-size:.9rem!important;
    line-height:1.15!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiTile__more{
    position:absolute!important;
    top:12px!important;
    right:12px!important;
    min-width:34px!important;
    height:26px!important;
    padding:0 9px!important;
    border:1px solid rgba(251,248,241,.42)!important;
    border-radius:var(--r-3,8px)!important;
    background:rgba(251,248,241,.16)!important;
    color:#FBF8F1!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font:900 .82rem/1 var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    letter-spacing:0!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiTile--fnam .dsKpiTile__more{
    border-color:rgba(28,58,89,.28)!important;
    background:rgba(28,58,89,.10)!important;
    color:#17324D!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiTile[data-id="emplois-soutenus"] .dsKpiTile__num,
  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiTile[data-id="transition"] .dsKpiTile__num{
    font-size:clamp(2.05rem,9.1vw,2.85rem)!important;
    line-height:.98!important;
    white-space:nowrap!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiTile[data-id="emplois-soutenus"] .dsKpiTile__label{
    font-size:.82rem!important;
    line-height:1.08!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiTile[data-id="transition"] .dsKpiValueScale{
    flex-wrap:nowrap!important;
    gap:3px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiTile[data-id="transition"] .dsKpiValueScale__item{
    gap:3px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiTile__action,
  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiReturn{
    display:none!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMobilePager{
    order:2!important;
    min-height:12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    padding:0!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMobilePager__item{
    width:22px!important;
    height:7px!important;
    padding:0!important;
    border:1px solid rgba(251,248,241,.42)!important;
    border-radius:3px!important;
    background:rgba(251,248,241,.18)!important;
    box-shadow:none!important;
    cursor:pointer!important;
    transition:width 160ms ease,background-color 160ms ease,border-color 160ms ease!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMobilePager__item[aria-current="true"]{
    width:32px!important;
    border-color:#FBF8F1!important;
    background:#FBF8F1!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiDetails{
    position:relative!important;
    top:auto!important;
    min-height:0!important;
    height:clamp(224px,calc(var(--mobile-vh,100svh) - 430px),330px)!important;
    max-height:clamp(224px,calc(var(--mobile-vh,100svh) - 430px),330px)!important;
    align-self:start!important;
    display:grid!important;
    grid-template-rows:auto auto!important;
    border:0!important;
    border-radius:var(--r-4,10px)!important;
    background:#FBF8F1!important;
    box-shadow:0 14px 30px rgba(3,18,31,.18)!important;
    overflow:hidden!important;
    contain:layout style!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiDetails__fixed{
    margin:0!important;
    padding:13px 14px 8px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    display:block!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiDetails__kicker,
  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiDetails__title,
  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiDetails__list,
  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiDetails__ctaRow{
    display:none!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiDetails__sources{
    display:grid!important;
    grid-template-columns:1fr 88px!important;
    gap:8px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiDetails--hideYear .dsKpiDetails__sources{
    grid-template-columns:1fr!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiDetails--hideYear .dsKpiSourcePill--year{
    display:none!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiSourcePill{
    min-height:54px!important;
    padding:8px 10px!important;
    border-radius:var(--r-3,8px)!important;
    background:#EFE7D6!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiSourcePill > span:first-child{
    margin-bottom:4px!important;
    font-size:.62rem!important;
    letter-spacing:.08em!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiSourcePill > span[data-slot]{
    font-size:.76rem!important;
    line-height:1.18!important;
    font-weight:800!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiDetails__scroll{
    min-height:0!important;
    padding:0 14px 14px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    overflow-y:auto!important;
    scrollbar-width:none!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiDetails__scroll::-webkit-scrollbar{
    display:none!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiDetails__intro{
    margin:0!important;
    color:#17324D!important;
    font-size:clamp(.78rem,1.75svh,.94rem)!important;
    line-height:1.68!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }

  @media(max-height:700px){
    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiDetails__scroll{
      justify-content:flex-start!important;
    }

    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiDetails__intro{
      font-size:.77rem!important;
      line-height:1.46!important;
    }
  }

  @media(min-width:371px) and (max-width:389px) and (max-height:700px){
    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiSection__head{
      padding:calc(var(--header-height,78px) - 36px) 18px 4px!important;
    }

    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiSection__head h2{
      font-size:clamp(1.56rem,6.65vw,1.98rem)!important;
      line-height:1.03!important;
    }

    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiToolbar{
      padding-bottom:6px!important;
    }

    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMobileDropdown summary{
      min-height:44px!important;
    }

    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiLayout{
      gap:7px!important;
      padding-top:2px!important;
      padding-bottom:13px!important;
    }

    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMosaic,
    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMosaic--overview,
    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMosaic--expanded{
      height:clamp(134px,20.4svh,148px)!important;
    }

    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiTile{
      padding:14px 16px!important;
    }

    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiTile__num,
    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiTile--lead .dsKpiTile__num{
      font-size:clamp(2.18rem,11.45vw,3.08rem)!important;
      line-height:.96!important;
    }

    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiTile[data-id="emplois-soutenus"] .dsKpiTile__num,
    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiTile[data-id="transition"] .dsKpiTile__num{
      font-size:clamp(2rem,8.85vw,2.7rem)!important;
      line-height:1!important;
    }

    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiDetails{
      height:clamp(206px,calc(var(--mobile-vh,100svh) - 414px),284px)!important;
      max-height:clamp(206px,calc(var(--mobile-vh,100svh) - 414px),284px)!important;
    }
  }

  @media(min-width:380px) and (min-height:820px) and (max-height:870px){
    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiDetails__intro{
      line-height:1.62!important;
    }
  }

  @media(min-height:760px){
    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiDetails__scroll{
      padding-bottom:18px!important;
    }
  }

  @media(max-width:370px) and (min-height:700px) and (max-height:780px){
    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiSection__head{
      padding:calc(var(--header-height,78px) - 36px) 18px 5px!important;
    }

    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiSection__head h2{
      font-size:clamp(1.58rem,6.7vw,2rem)!important;
      line-height:1.03!important;
    }

    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMobileDropdown summary{
      min-height:44px!important;
    }

    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiLayout{
      gap:7px!important;
      padding-top:2px!important;
      padding-bottom:14px!important;
    }

    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMosaic,
    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMosaic--overview,
    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiMosaic--expanded{
      height:clamp(128px,18svh,142px)!important;
    }

    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiTile{
      padding:13px 16px!important;
    }

    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiTile__num,
    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiTile--lead .dsKpiTile__num{
      font-size:clamp(2.25rem,11.8vw,3.15rem)!important;
    }

    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiDetails{
      height:clamp(216px,calc(var(--mobile-vh,100svh) - 390px),300px)!important;
      max-height:clamp(216px,calc(var(--mobile-vh,100svh) - 390px),300px)!important;
    }

    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiDetails__intro{
      line-height:1.52!important;
    }
  }

  @media(min-width:400px) and (min-height:880px){
    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiDetails{
      height:clamp(330px,calc(var(--mobile-vh,100svh) - 500px),390px)!important;
      max-height:clamp(330px,calc(var(--mobile-vh,100svh) - 500px),390px)!important;
    }

    html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiDetails__intro{
      font-size:.9rem!important;
      line-height:1.66!important;
    }
  }

  .menuBtn{
    border-radius:var(--r-4,10px)!important;
  }
}

/* Mobile V3 - section groupements calée sur la section chiffres clés */
@media(max-width:640px){
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared{
    min-height:var(--mobile-vh,100svh)!important;
    height:var(--mobile-vh,100svh)!important;
    max-height:var(--mobile-vh,100svh)!important;
    padding:0!important;
    overflow:hidden!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared > .container,
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceBoard{
    width:100%!important;
    max-width:100%!important;
    min-height:var(--mobile-vh,100svh)!important;
    height:var(--mobile-vh,100svh)!important;
    max-height:var(--mobile-vh,100svh)!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
    overflow:visible!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceBoard{
    display:grid!important;
    grid-template-rows:auto auto!important;
    align-content:start!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader{
    padding:calc(var(--header-height,78px) + 28px) 18px 6px!important;
    margin:0!important;
    border:0!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader .eyebrow,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsChoiceHeader .eyebrow{
    display:none!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader h2{
    margin:0!important;
    padding:0 0 18px!important;
    color:#FBF8F1!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:clamp(1.72rem,7.1vw,2.28rem)!important;
    line-height:1.04!important;
    font-weight:700!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceBody,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsChoiceBody{
    min-height:0!important;
    height:100%!important;
    padding:0!important;
    overflow:visible!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceDesktop,
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceCompact{
    display:none!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileV3,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileV3{
    display:grid!important;
    grid-template-rows:auto auto!important;
    min-height:0!important;
    height:100%!important;
    overflow:visible!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileToolbar{
    position:relative!important;
    z-index:80!important;
    padding:0 18px 8px!important;
    margin:0!important;
    overflow:visible!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDropdown,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDropdown{
    position:relative!important;
    z-index:100!important;
    width:100%!important;
    display:block!important;
    color:#FBF8F1!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDropdown summary,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDropdown summary{
    min-height:48px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:0 14px!important;
    border:1px solid rgba(251,248,241,.30)!important;
    border-radius:var(--r-4,10px)!important;
    background:rgba(251,248,241,.10)!important;
    color:#FBF8F1!important;
    box-shadow:0 12px 26px rgba(3,18,31,.16)!important;
    backdrop-filter:blur(10px)!important;
    cursor:pointer!important;
    list-style:none!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDropdown summary::-webkit-details-marker,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDropdown summary::-webkit-details-marker{
    display:none!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDropdown summary span:first-child,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDropdown summary span:first-child{
    min-width:0!important;
    font:800 .94rem/1 var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    color:#FBF8F1!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDropdown__chevron,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDropdown__chevron{
    flex:0 0 auto!important;
    color:rgba(251,248,241,.82)!important;
    font-size:1rem!important;
    line-height:1!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDropdown[open] .groupementsMobileDropdown__chevron,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDropdown[open] .groupementsMobileDropdown__chevron{
    transform:rotate(180deg)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDropdown__menu,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDropdown__menu{
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:calc(100% + 8px)!important;
    z-index:120!important;
    display:grid!important;
    gap:4px!important;
    padding:8px!important;
    border:1px solid rgba(251,248,241,.24)!important;
    border-radius:var(--r-4,10px)!important;
    background:#FBF8F1!important;
    box-shadow:0 18px 40px rgba(3,18,31,.28)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileOption,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileOption{
    width:100%!important;
    border:0!important;
    border-radius:var(--r-3,8px)!important;
    background:transparent!important;
    color:#17324D!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:12px!important;
    font:800 .92rem/1.1 var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    text-align:left!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileOption[aria-pressed="true"],
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileOption:focus-visible{
    background:rgba(50,97,145,.10)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileOption__check,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileOption__check{
    min-width:18px!important;
    color:#326191!important;
    text-align:right!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileLayout,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileLayout{
    position:relative!important;
    z-index:1!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    align-content:start!important;
    gap:9px!important;
    padding:4px 18px clamp(18px,3.2svh,26px)!important;
    overflow:visible!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileVisual,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileVisual{
    min-width:0!important;
    display:grid!important;
    grid-template-rows:auto auto!important;
    gap:8px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileMosaic,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileMosaic{
    width:100%!important;
    min-height:0!important;
    height:clamp(116px,17.4svh,146px)!important;
    display:flex!important;
    gap:10px!important;
    margin:0!important;
    padding:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    contain:layout style!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileMosaic::-webkit-scrollbar{
    display:none!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileTile,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileTile{
    flex:0 0 100%!important;
    width:100%!important;
    min-width:100%!important;
    height:100%!important;
    scroll-snap-align:center!important;
    display:grid!important;
    grid-template-columns:minmax(78px,30%) minmax(0,1fr)!important;
    align-items:center!important;
    gap:14px!important;
    padding:16px 18px!important;
    border:2px solid rgba(199,113,101,.95)!important;
    border-radius:var(--r-4,10px)!important;
    background:rgba(251,248,241,.12)!important;
    color:#FBF8F1!important;
    box-shadow:0 14px 30px rgba(3,18,31,.16)!important;
    text-align:left!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileTile__logo,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileTile__logo{
    width:100%!important;
    max-width:94px!important;
    max-height:54px!important;
    object-fit:contain!important;
    justify-self:center!important;
    padding:8px!important;
    border-radius:var(--r-3,8px)!important;
    background:rgba(251,248,241,.96)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileTile__logoText,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileTile__logoText{
    min-height:48px!important;
    display:grid!important;
    place-items:center!important;
    color:#17324D!important;
    font-weight:900!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileTile__text,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileTile__text{
    min-width:0!important;
    display:grid!important;
    gap:7px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileTile__family,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileTile__family{
    font-size:.76rem!important;
    line-height:1.14!important;
    letter-spacing:.06em!important;
    text-transform:uppercase!important;
    font-weight:900!important;
    color:rgba(251,248,241,.72)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileTile__text strong,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileTile__text strong{
    font:900 clamp(1.56rem,7.4vw,2.25rem)/.98 var(--font-display,'PP Fraktion Sans','Inter',system-ui,sans-serif)!important;
    color:#FBF8F1!important;
    letter-spacing:0!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileTile__text > span:last-child,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileTile__text > span:last-child{
    font:.86rem/1.16 var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-weight:700!important;
    color:rgba(251,248,241,.9)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobilePager,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobilePager{
    min-height:12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    padding:0!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobilePager__item,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobilePager__item{
    width:22px!important;
    height:7px!important;
    padding:0!important;
    border:1px solid rgba(251,248,241,.42)!important;
    border-radius:3px!important;
    background:rgba(251,248,241,.18)!important;
    box-shadow:none!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobilePager__item[aria-current="true"],
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobilePager__item[aria-current="true"]{
    width:32px!important;
    border-color:#FBF8F1!important;
    background:#FBF8F1!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDetail{
    min-height:0!important;
    height:clamp(224px,calc(var(--mobile-vh,100svh) - 430px),330px)!important;
    max-height:clamp(224px,calc(var(--mobile-vh,100svh) - 430px),330px)!important;
    border:0!important;
    border-radius:var(--r-4,10px)!important;
    background:#FBF8F1!important;
    box-shadow:0 14px 30px rgba(3,18,31,.18)!important;
    overflow-y:auto!important;
    scrollbar-width:none!important;
    contain:layout style!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDetail::-webkit-scrollbar{
    display:none!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDetail{
    padding:16px 18px 18px!important;
    color:#17324D!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDetail__block,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDetail__block{
    margin:0!important;
    padding:0!important;
    border-top:1px solid rgba(26,26,26,.10)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDetail__block + .groupementsMobileDetail__block,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDetail__block + .groupementsMobileDetail__block{
    margin-top:13px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDetail__block:first-child,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDetail__block:first-child{
    border-top:0!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDetail__block:not(:first-child),
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDetail__block:not(:first-child){
    padding-top:13px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDetail h4,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDetail h4{
    margin:0 0 5px!important;
    color:var(--fnam-rouge-bordeaux,#be3c3f)!important;
    font:900 .62rem/1.12 var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDetail p,
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDetail li{
    margin:0!important;
    font-size:clamp(.8rem,1.8svh,.94rem)!important;
    line-height:1.56!important;
    font-weight:500!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDetail ul,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDetail ul{
    margin:0!important;
    display:grid!important;
    gap:5px!important;
    padding:0!important;
    list-style:none!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDetail li,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDetail li{
    position:relative!important;
    padding-left:18px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDetail li:before,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDetail li:before{
    content:""!important;
    position:absolute!important;
    left:0!important;
    top:.58em!important;
    width:7px!important;
    height:7px!important;
    border-radius:999px!important;
    background:var(--fnam-rouge-bordeaux,#be3c3f)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDetail__link,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDetail__link{
    width:fit-content!important;
    max-width:100%!important;
    min-height:34px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:15px auto 0!important;
    padding:8px 12px!important;
    border:1px solid var(--fnam-terracotta,#C77165)!important;
    border-radius:var(--r-3,8px)!important;
    background:var(--fnam-terracotta,#C77165)!important;
    color:#fff!important;
    font:850 .78rem/1.1 var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    text-decoration:none!important;
    text-align:center!important;
  }
}

@media(max-width:640px) and (min-width:371px) and (max-width:389px) and (max-height:700px){
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader{
    padding:calc(var(--header-height,78px) + 10px) 18px 4px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader h2,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsChoiceHeader h2{
    font-size:clamp(1.56rem,6.65vw,1.98rem)!important;
    line-height:1.03!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileToolbar{
    padding-bottom:6px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDropdown summary,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDropdown summary{
    min-height:44px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileLayout,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileLayout{
    gap:7px!important;
    padding-top:2px!important;
    padding-bottom:13px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileMosaic,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileMosaic{
    height:clamp(134px,20.4svh,148px)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileTile,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileTile{
    padding:14px 16px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDetail,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDetail{
    height:clamp(206px,calc(var(--mobile-vh,100svh) - 414px),284px)!important;
    max-height:clamp(206px,calc(var(--mobile-vh,100svh) - 414px),284px)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDetail p,
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDetail li{
    font-size:.77rem!important;
    line-height:1.38!important;
  }
}

@media(max-width:370px) and (min-height:700px) and (max-height:780px){
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader{
    padding:calc(var(--header-height,78px) + 10px) 18px 5px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader h2,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsChoiceHeader h2{
    font-size:clamp(1.58rem,6.7vw,2rem)!important;
    line-height:1.03!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDropdown summary,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDropdown summary{
    min-height:44px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileLayout,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileLayout{
    gap:7px!important;
    padding-top:2px!important;
    padding-bottom:14px!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileMosaic,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileMosaic{
    height:clamp(128px,18svh,142px)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDetail,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDetail{
    height:clamp(216px,calc(var(--mobile-vh,100svh) - 390px),300px)!important;
    max-height:clamp(216px,calc(var(--mobile-vh,100svh) - 390px),300px)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDetail p,
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDetail li{
    line-height:1.44!important;
  }
}

@media(min-width:400px) and (min-height:880px){
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDetail,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDetail{
    height:clamp(330px,calc(var(--mobile-vh,100svh) - 500px),390px)!important;
    max-height:clamp(330px,calc(var(--mobile-vh,100svh) - 500px),390px)!important;
  }

  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDetail p,
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileDetail li{
    font-size:.9rem!important;
    line-height:1.52!important;
  }
}

/* Mobile V3 - section domaines : socle identique aux sections chiffres/groupements */
@media(max-width:640px){
  html.is-home body.is-home #main > .homeDomainsImmersive.home-snap-block--domains{
    min-height:var(--mobile-vh,100svh)!important;
    height:var(--mobile-vh,100svh)!important;
    max-height:var(--mobile-vh,100svh)!important;
    padding:0!important;
    overflow:hidden!important;
    background:#1f4268!important;
  }

  html.is-home body.is-home #main > .homeDomainsImmersive.home-snap-block--domains .homeDomainsVideo{
    display:block!important;
    opacity:1!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:72% center!important;
    filter:saturate(.94) contrast(1) brightness(.9)!important;
    transform:none!important;
  }

  html.is-home body.is-home #main > .homeDomainsImmersive.home-snap-block--domains .homeDomainsOverlay{
    background:
      linear-gradient(90deg,rgba(7,28,51,.74) 0%,rgba(31,66,104,.54) 48%,rgba(31,66,104,.24) 100%),
      linear-gradient(180deg,rgba(7,28,51,.10) 0%,rgba(7,28,51,.24) 100%)!important;
  }

  html.is-home body.is-home #main > .homeDomainsImmersive.home-snap-block--domains:after{
    content:none!important;
  }

  html.is-home body.is-home #main > .homeDomainsImmersive.home-snap-block--domains .homeDomainsContent{
    width:100%!important;
    max-width:100%!important;
    min-height:var(--mobile-vh,100svh)!important;
    height:var(--mobile-vh,100svh)!important;
    max-height:var(--mobile-vh,100svh)!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    align-content:start!important;
    gap:9px!important;
    margin:0!important;
    padding:calc(var(--header-height,78px) + 28px) 18px 18px!important;
    overflow:hidden!important;
  }

  html.is-home body.is-home #main > .homeDomainsImmersive.home-snap-block--domains .homeDomainsCopy{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
  }

  html.is-home body.is-home #main > .homeDomainsImmersive.home-snap-block--domains .homeDomainsCopy .eyebrow{
    display:none!important;
  }

  html.is-home body.is-home #main > .homeDomainsImmersive.home-snap-block--domains .homeDomainsCopy h2{
    width:fit-content!important;
    max-width:100%!important;
    margin:0!important;
    padding:0 0 18px!important;
    color:#FBF8F1!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:clamp(1.72rem,7.1vw,2.28rem)!important;
    line-height:1.04!important;
    font-weight:700!important;
    letter-spacing:0!important;
    text-wrap:balance!important;
  }

  html.is-home body.is-home #main > .homeDomainsImmersive.home-snap-block--domains .homeDomainsCopy h2:after{
    width:100%!important;
    height:3px!important;
    background:#be3c3f!important;
    border-radius:3px!important;
  }

  html.is-home body.is-home #main > .homeDomainsImmersive.home-snap-block--domains .homeDomainsCopy p{
    margin:12px 0 0!important;
    max-width:100%!important;
    color:rgba(251,248,241,.9)!important;
    font-size:.9rem!important;
    line-height:1.34!important;
    font-weight:650!important;
  }

  html.is-home body.is-home #main > .homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid{
    min-height:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    align-self:start!important;
    padding:4px 0 0!important;
    overflow:auto!important;
    scrollbar-width:none!important;
  }

  html.is-home body.is-home #main > .homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid::-webkit-scrollbar{
    display:none!important;
  }
}

@media(max-width:640px) and (min-width:371px) and (max-width:389px) and (max-height:700px){
  html.is-home body.is-home #main > .homeDomainsImmersive.home-snap-block--domains .homeDomainsContent{
    padding:calc(var(--header-height,78px) + 10px) 18px 14px!important;
  }

  html.is-home body.is-home #main > .homeDomainsImmersive.home-snap-block--domains .homeDomainsCopy h2{
    font-size:clamp(1.56rem,6.65vw,1.98rem)!important;
    line-height:1.03!important;
  }
}

@media(max-width:370px) and (min-height:700px) and (max-height:780px){
  html.is-home body.is-home #main > .homeDomainsImmersive.home-snap-block--domains .homeDomainsContent{
    padding:calc(var(--header-height,78px) + 10px) 18px 14px!important;
  }

  html.is-home body.is-home #main > .homeDomainsImmersive.home-snap-block--domains .homeDomainsCopy h2{
    font-size:clamp(1.58rem,6.7vw,2rem)!important;
    line-height:1.03!important;
  }
}

/* Mobile V3 - override final domaines contre les anciens breakpoints 760px */
@media(max-width:640px){
  body.is-home{
    --domains-mobile-title-top:calc(var(--header-height,78px) + 28px);
  }

  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains{
    min-height:var(--mobile-vh,100svh)!important;
    height:var(--mobile-vh,100svh)!important;
    max-height:var(--mobile-vh,100svh)!important;
    padding:0!important;
    overflow:hidden!important;
  }

  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains > .container.homeDomainsContent{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-height:var(--mobile-vh,100svh)!important;
    height:var(--mobile-vh,100svh)!important;
    max-height:var(--mobile-vh,100svh)!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    gap:10px!important;
    margin:0!important;
    padding:0 18px 18px!important;
    overflow:hidden!important;
  }

  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsCopy{
    max-width:100%!important;
    margin:0!important;
    padding:var(--domains-mobile-title-top) 0 0!important;
  }

  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsCopy .eyebrow{
    display:none!important;
  }

  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsCopy h2{
    display:block!important;
    width:fit-content!important;
    max-width:100%!important;
    margin:0!important;
    padding:0 0 18px!important;
    color:#FBF8F1!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:clamp(1.72rem,7.1vw,2.28rem)!important;
    line-height:1.04!important;
    font-weight:700!important;
    letter-spacing:0!important;
    text-wrap:balance!important;
  }

  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsCopy h2:after{
    width:100%!important;
    height:3px!important;
    background:#be3c3f!important;
    border-radius:3px!important;
  }

  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsCopy p{
    display:none!important;
  }

  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid{
    min-height:0!important;
    max-height:100%!important;
    display:grid!important;
    grid-auto-flow:row!important;
    grid-auto-columns:auto!important;
    grid-template-columns:1fr!important;
    align-content:start!important;
    gap:8px!important;
    padding:4px 0 0!important;
    overflow:auto!important;
    scrollbar-width:none!important;
  }

  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid::-webkit-scrollbar{
    display:none!important;
  }

  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard{
    min-height:0!important;
    height:clamp(76px,10.6svh,96px)!important;
    display:grid!important;
    gap:5px!important;
    padding:11px 12px!important;
    border-radius:var(--r-4,10px)!important;
    transform:none!important;
    overflow:hidden!important;
  }

  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard--developpement-durable{
    height:clamp(92px,12.4svh,112px)!important;
  }

  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard .homeDomainDetailToggle{
    position:absolute!important;
    top:9px!important;
    right:10px!important;
    z-index:2!important;
    min-height:22px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 8px!important;
    border:1px solid rgba(251,248,241,.36)!important;
    border-radius:var(--r-3,8px)!important;
    background:rgba(7,28,51,.18)!important;
    color:#FBF8F1!important;
    font:850 .66rem/1 var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    letter-spacing:0!important;
    text-shadow:none!important;
    pointer-events:none!important;
  }

  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard:before{
    width:38px!important;
    height:3px!important;
  }

  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard .homeDomainIndex{
    font-size:.64rem!important;
    line-height:1!important;
  }

  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard h3{
    font-size:.92rem!important;
    line-height:1.08!important;
    padding-right:82px!important;
  }

  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard p{
    display:none!important;
  }

  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard .homeDomainCta{
    display:none!important;
  }

  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard.is-detail{
    align-content:start!important;
  }

  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard.is-detail:before,
  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard.is-detail .homeDomainIndex,
  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard.is-detail h3{
    display:none!important;
  }

  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard.is-detail p{
    display:block!important;
    max-height:calc(100% - 2px)!important;
    margin:0!important;
    padding:2px 72px 0 0!important;
    overflow:auto!important;
    color:#FBF8F1!important;
    font:.72rem/1.24 var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-weight:650!important;
    letter-spacing:0!important;
    text-shadow:0 1px 2px rgba(7,28,51,.22)!important;
    scrollbar-width:none!important;
  }

  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard.is-detail p::-webkit-scrollbar{
    display:none!important;
  }
}

@media(max-width:640px) and (min-width:371px) and (max-width:389px) and (max-height:700px){
  body.is-home{
    --domains-mobile-title-top:calc(var(--header-height,78px) + 10px);
  }

  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains > .container.homeDomainsContent{
    padding:0 18px 14px!important;
  }

  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsCopy h2{
    font-size:clamp(1.56rem,6.65vw,1.98rem)!important;
    line-height:1.03!important;
  }
}

@media(max-width:370px) and (min-height:700px) and (max-height:780px){
  body.is-home{
    --domains-mobile-title-top:calc(var(--header-height,78px) + 10px);
  }

  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains > .container.homeDomainsContent{
    padding:0 18px 14px!important;
  }

  body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsCopy h2{
    font-size:clamp(1.58rem,6.7vw,2rem)!important;
    line-height:1.03!important;
  }
}

/* Mobile V3 - calage domaines prioritaire, même spécificité que les anciens blocs */
@media(max-width:640px){
  html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains > .container.homeDomainsContent{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-height:var(--mobile-vh,100svh)!important;
    height:var(--mobile-vh,100svh)!important;
    max-height:var(--mobile-vh,100svh)!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    gap:10px!important;
    margin:0!important;
    padding:0 18px 18px!important;
    overflow:hidden!important;
  }

  html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains > .container.homeDomainsContent > .homeDomainsCopy{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:calc(var(--header-height,78px) + 56px) 0 0!important;
  }

  html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains > .container.homeDomainsContent > .homeDomainsCopy h2{
    margin:0!important;
    padding:0 0 18px!important;
  }
}

@media(max-width:640px) and (min-width:371px) and (max-width:389px) and (max-height:700px){
  html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains > .container.homeDomainsContent > .homeDomainsCopy{
    padding-top:calc(var(--header-height,78px) + 42px)!important;
  }
}

@media(max-width:370px) and (min-height:700px) and (max-height:780px){
  html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains > .container.homeDomainsContent > .homeDomainsCopy{
    padding-top:calc(var(--header-height,78px) + 42px)!important;
  }
}

/* Mobile V3 - Publications : ancrage haut, puis section scrollable */
@media(max-width:640px){
  html.is-home body.is-home #main > section.home-snap-block--publications{
    min-height:var(--mobile-vh,100svh)!important;
    height:auto!important;
    max-height:none!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:normal!important;
    padding:0!important;
    overflow:visible!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications > .container{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-height:var(--mobile-vh,100svh)!important;
    height:auto!important;
    max-height:none!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    align-content:start!important;
    gap:10px!important;
    margin:0!important;
    padding:calc(var(--header-height,78px) + 28px) 18px 28px!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
    overflow:visible!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .head{
    margin:0!important;
    padding:0!important;
    display:block!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .head .eyebrow,
  html.is-home body.is-home #main > section.home-snap-block--publications .head p,
  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationHeadActions{
    display:none!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .head h2{
    width:fit-content!important;
    max-width:100%!important;
    margin:0!important;
    padding:0 0 18px!important;
    color:#FBF8F1!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:0!important;
    line-height:1.04!important;
    font-weight:700!important;
    letter-spacing:0!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .head h2:before{
    content:"Publication"!important;
    display:block!important;
    font-size:clamp(1.72rem,7.1vw,2.28rem)!important;
    line-height:1.04!important;
    font-weight:700!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .head h2:after{
    content:""!important;
    position:static!important;
    left:auto!important;
    bottom:auto!important;
    display:block!important;
    width:100%!important;
    height:3px!important;
    margin-top:14px!important;
    background:#be3c3f!important;
    border-radius:3px!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .pubs{
    min-height:0!important;
    height:auto!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:0!important;
    overflow:visible!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .feature,
  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationTeaser{
    min-height:0!important;
    height:auto!important;
    border-radius:var(--r-4,10px)!important;
    overflow:hidden!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .publist{
    min-height:0!important;
    display:grid!important;
    align-content:start!important;
    gap:12px!important;
    overflow:visible!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .publist article:nth-of-type(n+3){
    display:flex!important;
  }
}

@media(max-width:640px) and (min-width:371px) and (max-width:389px) and (max-height:700px){
  html.is-home body.is-home #main > section.home-snap-block--publications > .container{
    padding-top:calc(var(--header-height,78px) + 10px)!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .head h2:before{
    font-size:clamp(1.56rem,6.65vw,1.98rem)!important;
    line-height:1.03!important;
  }
}

@media(max-width:370px) and (min-height:700px) and (max-height:780px){
  html.is-home body.is-home #main > section.home-snap-block--publications > .container{
    padding-top:calc(var(--header-height,78px) + 10px)!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .head h2:before{
    font-size:clamp(1.58rem,6.7vw,2rem)!important;
    line-height:1.03!important;
  }
}

/* Mobile V3 - Publications : reprise anti-conflit audit snap */
@media(max-width:640px){
  html.is-home body.is-home{
    --mobile-section-title-gap:12px;
    --mobile-section-title-gap-compact:8px;
  }

  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications{
    min-height:var(--mobile-vh,100svh)!important;
    height:auto!important;
    max-height:none!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:normal!important;
    padding:0!important;
    overflow:visible!important;
  }

  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications > .container{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-height:var(--mobile-vh,100svh)!important;
    height:auto!important;
    max-height:none!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    align-content:start!important;
    gap:10px!important;
    margin:0!important;
    padding:calc(var(--header-height,78px) + var(--mobile-section-title-gap,36px)) 18px 28px!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
    overflow:visible!important;
  }

  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .head{
    margin:0!important;
    padding:0!important;
    display:block!important;
  }

  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .head .eyebrow,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .head p,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationHeadActions{
    display:none!important;
  }

  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .head h2{
    width:fit-content!important;
    max-width:100%!important;
    margin:0!important;
    padding:0 0 18px!important;
    color:#FBF8F1!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:0!important;
    line-height:1.04!important;
    font-weight:700!important;
    letter-spacing:0!important;
  }

  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .head h2:before{
    content:"Publication"!important;
    display:block!important;
    font-size:clamp(1.72rem,7.1vw,2.28rem)!important;
    line-height:1.04!important;
    font-weight:700!important;
  }

  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .head h2:after{
    content:""!important;
    position:static!important;
    left:auto!important;
    bottom:auto!important;
    display:block!important;
    width:100%!important;
    height:3px!important;
    margin-top:14px!important;
    background:#be3c3f!important;
    border-radius:3px!important;
  }

  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .pubs{
    min-height:0!important;
    height:auto!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:0!important;
    overflow:visible!important;
  }

  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .feature,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationTeaser{
    min-height:0!important;
    height:auto!important;
    border-radius:var(--r-4,10px)!important;
    overflow:hidden!important;
  }

  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .publist{
    min-height:0!important;
    display:grid!important;
    align-content:start!important;
    gap:12px!important;
    overflow:visible!important;
  }

  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .publist article:nth-of-type(n+3){
    display:flex!important;
  }
}

@media(max-width:640px) and (min-width:371px) and (max-width:389px) and (max-height:700px){
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications > .container{
    padding-top:calc(var(--header-height,78px) + var(--mobile-section-title-gap-compact,24px))!important;
  }

  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .head h2:before{
    font-size:clamp(1.56rem,6.65vw,1.98rem)!important;
    line-height:1.03!important;
  }
}

@media(max-width:370px) and (min-height:700px) and (max-height:780px){
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications > .container{
    padding-top:calc(var(--header-height,78px) + var(--mobile-section-title-gap-compact,24px))!important;
  }

  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .head h2:before{
    font-size:clamp(1.58rem,6.7vw,2rem)!important;
    line-height:1.03!important;
  }
}

/* Mobile V3 - règle maître header/titre pour les sections d'accueil 2 à 5 */
@media(max-width:640px){
  html.is-home body.is-home{
    --mobile-section-title-gap:12px;
    --mobile-section-title-gap-compact:8px;
    --mobile-section-title-top:calc(var(--header-height,78px) + var(--mobile-section-title-gap));
  }

  html.is-home body.is-home #main > section.dsKpiSection.home-section.home-snap-block.home-snap-block--kpi,
  html.is-home body[data-responsive-mode].is-home #main > section.dsKpiSection.home-section.home-snap-block.home-snap-block--kpi{
    padding-top:0!important;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiSection__head,
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader{
    padding:var(--mobile-section-title-top) 18px 6px!important;
  }

  html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains > .container.homeDomainsContent{
    padding:0 18px 18px!important;
  }

  html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains > .container.homeDomainsContent > .homeDomainsCopy{
    padding:var(--mobile-section-title-top) 0 0!important;
  }

  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications > .container,
  html.is-home body.is-home #main > section.home-snap-block--publications > .container{
    padding:var(--mobile-section-title-top) 18px 28px!important;
  }
}

@media(max-width:640px) and (min-width:371px) and (max-width:389px) and (max-height:700px),
       (max-width:370px) and (min-height:700px) and (max-height:780px){
  html.is-home body.is-home{
    --mobile-section-title-top:calc(var(--header-height,78px) + var(--mobile-section-title-gap-compact,8px));
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiSection__head,
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceHeader{
    padding-top:var(--mobile-section-title-top)!important;
  }

  html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains > .container.homeDomainsContent > .homeDomainsCopy{
    padding-top:var(--mobile-section-title-top)!important;
  }

  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications > .container,
  html.is-home body.is-home #main > section.home-snap-block--publications > .container{
    padding-top:var(--mobile-section-title-top)!important;
  }
}

/* Mobile V3 - A propos : Agenda FNAM plein ecran compact */
@media(max-width:640px){
  body.is-about .aboutContent > .aboutAgenda{
    box-sizing:border-box!important;
    min-height:var(--mobile-vh,100svh)!important;
    height:var(--mobile-vh,100svh)!important;
    max-height:var(--mobile-vh,100svh)!important;
    margin:0!important;
    padding:0 18px clamp(18px,4svh,30px)!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
    scroll-margin-top:0!important;
  }

  body.is-about .aboutContent > .aboutAgenda:before{
    content:none!important;
    display:none!important;
  }

  body.is-about .aboutAgenda > .sectionIntro{
    flex:0 0 auto!important;
    display:block!important;
    margin:0!important;
    padding:var(--mobile-section-title-top) 0 0!important;
  }

  body.is-about .aboutAgenda > .sectionIntro .eyebrow,
  body.is-about .aboutAgenda > .sectionIntro p{
    display:none!important;
  }

  body.is-about .aboutAgenda > .sectionIntro h2{
    width:fit-content!important;
    max-width:100%!important;
    margin:0!important;
    padding:0 0 18px!important;
    color:#FBF8F1!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:0!important;
    line-height:1.04!important;
    font-weight:700!important;
    letter-spacing:0!important;
  }

  body.is-about .aboutAgenda > .sectionIntro h2:before{
    content:"Agenda FNAM"!important;
    display:block!important;
    font-size:clamp(1.72rem,7.1vw,2.28rem)!important;
    line-height:1.04!important;
    font-weight:700!important;
    letter-spacing:0!important;
  }

  body.is-about .aboutAgenda > .sectionIntro h2:after{
    content:""!important;
    position:static!important;
    display:block!important;
    width:100%!important;
    height:3px!important;
    margin-top:14px!important;
    border-radius:3px!important;
    background:#be3c3f!important;
  }

  body.is-about .aboutAgendaMobile{
    flex:1 1 auto!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
    margin:var(--mobile-title-content-gap,14px) 0 0!important;
  }

  body.is-about .aboutAgendaWorkspace{
    display:none!important;
  }

  body.is-about .aboutAgendaMobileControls{
    flex:0 0 auto!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  body.is-about .aboutAgendaMobileControls label{
    position:relative!important;
    display:grid!important;
    grid-template-columns:66px minmax(0,1fr)!important;
    column-gap:8px!important;
    align-items:center!important;
    min-height:38px!important;
    padding:0 10px!important;
    border:1px solid rgba(251,248,241,.28)!important;
    border-radius:var(--r-4,10px)!important;
    background:rgba(251,248,241,.10)!important;
    color:#FBF8F1!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
  }

  body.is-about .aboutAgendaMobileControls label:after{
    content:""!important;
    position:absolute!important;
    right:13px!important;
    top:50%!important;
    width:7px!important;
    height:7px!important;
    border-right:2px solid rgba(251,248,241,.86)!important;
    border-bottom:2px solid rgba(251,248,241,.86)!important;
    transform:translateY(-62%) rotate(45deg)!important;
    pointer-events:none!important;
  }

  body.is-about .aboutAgendaMobileControls span{
    color:rgba(251,248,241,.72)!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:.64rem!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.11em!important;
    text-transform:uppercase!important;
  }

  body.is-about .aboutAgendaMobileControls select{
    width:100%!important;
    min-width:0!important;
    min-height:36px!important;
    padding:0 26px 0 0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#FBF8F1!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:.9rem!important;
    line-height:1.1!important;
    font-weight:800!important;
    letter-spacing:0!important;
    appearance:none!important;
  }

  body.is-about .aboutAgendaMobileLegend{
    flex:0 0 auto!important;
    display:flex!important;
    flex-wrap:wrap!important;
    gap:6px!important;
    min-height:20px!important;
    overflow:hidden!important;
  }

  body.is-about .aboutAgendaMobileLegend .agendaLegendItem{
    display:inline-flex!important;
    align-items:center!important;
    gap:5px!important;
    min-height:20px!important;
    padding:3px 7px!important;
    border:1px solid rgba(251,248,241,.16)!important;
    border-radius:var(--r-3,8px)!important;
    background:rgba(3,18,31,.16)!important;
    color:rgba(251,248,241,.88)!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:.58rem!important;
    line-height:1!important;
    font-weight:850!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
  }

  body.is-about .aboutAgendaMobileLegend .agendaLegendItem i{
    width:8px!important;
    height:8px!important;
    border-radius:999px!important;
    background:var(--agenda-color,#326191)!important;
    box-shadow:0 0 0 2px rgba(255,255,255,.14)!important;
  }

  body.is-about .aboutAgendaMobileGrid{
    flex:1 1 auto!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:repeat(4,minmax(0,1fr))!important;
    gap:8px!important;
  }

  body.is-about .aboutAgendaMobileMonth{
    min-width:0!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:6px!important;
    padding:9px!important;
    border:1px solid rgba(112,180,190,.22)!important;
    border-radius:var(--r-4,10px)!important;
    background:#FBF8F1!important;
    color:#17324D!important;
    box-shadow:0 10px 22px rgba(3,18,31,.13)!important;
    overflow:hidden!important;
  }

  body.is-about .aboutAgendaMobileMonth.isEmpty{
    opacity:1!important;
    background:rgba(251,248,241,.58)!important;
    color:rgba(23,50,77,.68)!important;
  }

  body.is-about .aboutAgendaMobileMonthHead{
    display:flex!important;
    align-items:start!important;
    justify-content:space-between!important;
    gap:6px!important;
  }

  body.is-about .aboutAgendaMobileMonthHead h3{
    margin:0!important;
    color:#17324D!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:clamp(.74rem,3.05vw,.88rem)!important;
    line-height:1.05!important;
    font-weight:900!important;
    letter-spacing:0!important;
  }

  body.is-about .aboutAgendaMobileMonthHead span{
    min-width:18px!important;
    color:#326191!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:.68rem!important;
    line-height:1!important;
    font-weight:900!important;
    text-align:right!important;
  }

  body.is-about .aboutAgendaMobileDots{
    display:flex!important;
    flex-wrap:wrap!important;
    align-content:flex-start!important;
    gap:5px!important;
    margin-top:auto!important;
  }

  body.is-about .aboutAgendaMobileDots .agendaDot{
    width:13px!important;
    height:13px!important;
    border-radius:999px!important;
    background:var(--agenda-color,#326191)!important;
    box-shadow:0 0 0 2px rgba(255,255,255,.86),0 4px 10px color-mix(in srgb,var(--agenda-color,#326191) 28%,transparent)!important;
  }

  body.is-about .aboutAgendaMobileDots em{
    color:#326191!important;
    font-style:normal!important;
    font-size:.62rem!important;
    font-weight:900!important;
    line-height:13px!important;
  }

  body.is-about .aboutAgendaMobileEmpty{
    display:block!important;
    width:22px!important;
    height:3px!important;
    border-radius:999px!important;
    background:rgba(23,50,77,.18)!important;
  }
}

@media(max-width:640px) and (min-width:371px) and (max-width:389px) and (max-height:700px),
       (max-width:370px) and (min-height:700px) and (max-height:780px){
  body.is-about .aboutAgendaMobile{
    gap:8px!important;
    margin-top:10px!important;
  }

  body.is-about .aboutAgendaMobileControls{
    gap:7px!important;
  }

  body.is-about .aboutAgendaMobileControls label{
    grid-template-columns:58px minmax(0,1fr)!important;
    column-gap:7px!important;
    min-height:34px!important;
    padding:0 9px!important;
  }

  body.is-about .aboutAgendaMobileControls span{
    font-size:.56rem!important;
  }

  body.is-about .aboutAgendaMobileControls select{
    min-height:32px!important;
    font-size:.78rem!important;
  }

  body.is-about .aboutAgendaMobileLegend{
    gap:4px!important;
  }

  body.is-about .aboutAgendaMobileLegend .agendaLegendItem{
    min-height:18px!important;
    padding:3px 5px!important;
    font-size:.5rem!important;
  }

  body.is-about .aboutAgendaMobileGrid{
    gap:6px!important;
  }

  body.is-about .aboutAgendaMobileMonth{
    gap:4px!important;
    padding:7px!important;
  }

  body.is-about .aboutAgendaMobileMonthHead h3{
    font-size:.68rem!important;
  }

  body.is-about .aboutAgendaMobileDots .agendaDot{
    width:11px!important;
    height:11px!important;
  }
}

/* Mobile V3 - A propos : Equipe FNAM aimantee au depart, lecture libre ensuite */
@media(max-width:640px){
  body.is-about .aboutContent > .aboutTeam{
    box-sizing:border-box!important;
    min-height:var(--mobile-vh,100svh)!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:0 18px clamp(28px,6svh,54px)!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:normal!important;
    scroll-margin-top:0!important;
  }

  body.is-about .aboutContent > .aboutTeam:before{
    content:none!important;
    display:none!important;
  }

  body.is-about .aboutTeam > .sectionIntro{
    display:block!important;
    margin:0!important;
    padding:var(--mobile-section-title-top) 0 0!important;
  }

  body.is-about .aboutTeam > .sectionIntro .eyebrow{
    display:none!important;
  }

  body.is-about .aboutTeam > .sectionIntro h2{
    width:fit-content!important;
    max-width:100%!important;
    margin:0!important;
    padding:0 0 18px!important;
    color:#FBF8F1!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:0!important;
    line-height:1.04!important;
    font-weight:700!important;
    letter-spacing:0!important;
  }

  body.is-about .aboutTeam > .sectionIntro h2:before{
    content:"Équipe FNAM"!important;
    display:block!important;
    font-size:clamp(1.72rem,7.1vw,2.28rem)!important;
    line-height:1.04!important;
    font-weight:700!important;
    letter-spacing:0!important;
  }

  body.is-about .aboutTeam > .sectionIntro h2:after{
    content:""!important;
    position:static!important;
    display:block!important;
    width:100%!important;
    height:3px!important;
    margin-top:14px!important;
    border-radius:3px!important;
    background:#be3c3f!important;
  }

  body.is-about .aboutTeam > .aboutTeamHierarchy{
    width:100%!important;
    max-width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    margin:var(--mobile-title-content-gap,14px) 0 0!important;
    padding:0!important;
    overflow:visible!important;
  }

  body.is-about .aboutTeam .teamPoleBlock{
    box-sizing:border-box!important;
    position:relative!important;
    display:grid!important;
    gap:11px!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:14px!important;
    border:1px solid rgba(112,180,190,.28)!important;
    border-radius:var(--r-4,10px)!important;
    background:#FBF8F1!important;
    color:#17324D!important;
    box-shadow:0 14px 30px rgba(3,18,31,.16)!important;
    overflow:hidden!important;
  }

  body.is-about .aboutTeam .teamPoleBlock:before{
    content:none!important;
    display:none!important;
  }

  body.is-about .aboutTeam .teamPoleBlock h3{
    margin:0!important;
    color:#be3c3f!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:clamp(.76rem,3.2vw,.94rem)!important;
    line-height:1.12!important;
    font-weight:900!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
  }

  body.is-about .aboutTeam .teamPolePeople{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin:0!important;
    padding:0!important;
  }

  body.is-about .aboutTeam .personCard,
  body.is-about .aboutTeam .personCard:has(.personMail){
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) 32px!important;
    grid-template-rows:auto!important;
    gap:9px!important;
    align-items:center!important;
    min-width:0!important;
    padding:9px 10px!important;
    border:0!important;
    border-radius:var(--r-4,10px)!important;
    background:rgba(50,97,145,.08)!important;
    box-shadow:none!important;
  }

  body.is-about .aboutTeam .personPhoto,
  body.is-about .aboutTeam .personCard:has(.personMail) .personPhoto{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:center!important;
    align-self:center!important;
    width:42px!important;
    height:42px!important;
    border-width:2px!important;
    border-color:rgba(255,255,255,.92)!important;
    background:linear-gradient(135deg,#326191,#5092b6)!important;
    box-shadow:0 8px 16px rgba(50,97,145,.16)!important;
  }

  body.is-about .aboutTeam .personPhoto span{
    color:#FBF8F1!important;
    font-size:.72rem!important;
    font-weight:900!important;
  }

  body.is-about .aboutTeam .personInfo,
  body.is-about .aboutTeam .personCard:has(.personMail) .personInfo{
    grid-column:2!important;
    grid-row:1!important;
    align-self:center!important;
    min-width:0!important;
  }

  body.is-about .aboutTeam .personInfo strong{
    display:block!important;
    color:#17324D!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:clamp(.76rem,3vw,.88rem)!important;
    line-height:1.08!important;
    font-weight:850!important;
    letter-spacing:0!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  body.is-about .aboutTeam .personInfo span{
    display:block!important;
    margin-top:2px!important;
    color:#326191!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:clamp(.64rem,2.5vw,.76rem)!important;
    line-height:1.14!important;
    font-weight:650!important;
    letter-spacing:0!important;
  }

  body.is-about .aboutTeam .personMail,
  body.is-about .aboutTeam .personCard:has(.personMail) .personMail{
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:center!important;
    display:inline-grid!important;
    place-items:center!important;
    width:32px!important;
    height:32px!important;
    margin:0!important;
    border:1px solid rgba(50,97,145,.20)!important;
    border-radius:var(--r-3,8px)!important;
    background:rgba(255,255,255,.58)!important;
    color:#326191!important;
    box-shadow:none!important;
  }

  body.is-about .aboutTeam .personMail svg{
    width:17px!important;
    height:17px!important;
  }
}

@media(max-width:640px) and (min-width:371px) and (max-width:389px) and (max-height:700px),
       (max-width:370px) and (min-height:700px) and (max-height:780px){
  body.is-about .aboutTeam > .aboutTeamHierarchy{
    gap:10px!important;
    margin-top:10px!important;
  }

  body.is-about .aboutTeam .teamPoleBlock{
    gap:9px!important;
    padding:12px!important;
  }

  body.is-about .aboutTeam .teamPoleBlock h3{
    font-size:.7rem!important;
    line-height:1.1!important;
  }

  body.is-about .aboutTeam .teamPolePeople{
    gap:7px!important;
  }

  body.is-about .aboutTeam .personCard,
  body.is-about .aboutTeam .personCard:has(.personMail){
    grid-template-columns:36px minmax(0,1fr) 30px!important;
    gap:8px!important;
    padding:8px!important;
  }

  body.is-about .aboutTeam .personPhoto,
  body.is-about .aboutTeam .personCard:has(.personMail) .personPhoto{
    width:36px!important;
    height:36px!important;
  }

  body.is-about .aboutTeam .personInfo strong{
    font-size:.7rem!important;
  }

  body.is-about .aboutTeam .personInfo span{
    font-size:.6rem!important;
    line-height:1.1!important;
  }

  body.is-about .aboutTeam .personMail,
  body.is-about .aboutTeam .personCard:has(.personMail) .personMail{
    width:30px!important;
    height:30px!important;
  }
}

/* Mobile V3 - rythme commun apres le trait rouge */
@media(max-width:640px){
  html.is-home,
  html.is-home body.is-home{
    scrollbar-width:none!important;
  }

  html.is-home::-webkit-scrollbar,
  html.is-home body.is-home::-webkit-scrollbar{
    width:0!important;
    height:0!important;
    display:none!important;
  }

  html.is-home body.is-home{
    --mobile-title-content-gap:14px;
  }

  html.is-home body.is-home #main > .home-snap-block--kpi .dsKpiToolbar,
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsMobileToolbar{
    padding-top:var(--mobile-title-content-gap)!important;
  }

  html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid{
    padding-top:var(--mobile-title-content-gap)!important;
    gap:clamp(10px,1.25svh,13px)!important;
  }
}

@media(max-width:640px) and (min-width:371px) and (max-width:389px) and (max-height:700px),
       (max-width:370px) and (min-height:700px) and (max-height:780px){
  html.is-home body.is-home{
    --mobile-title-content-gap:10px;
  }
}

/* Mobile V3 - domaines : distribution verticale des cinq tuiles */
@media(max-width:640px){
  html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains > .container.homeDomainsContent{
    grid-template-rows:auto auto!important;
    gap:0!important;
    padding-bottom:clamp(18px,2.9svh,28px)!important;
  }

  html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid{
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:1fr 1.18fr 1fr 1fr 1fr!important;
    align-content:stretch!important;
    gap:clamp(10px,1.55svh,15px)!important;
    padding:clamp(18px,2.25svh,24px) 0 0!important;
    overflow:hidden!important;
  }

  html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard,
  html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid > a.homeDomainCard--developpement-durable{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
}

@media(max-width:640px) and (min-width:371px) and (max-width:389px) and (max-height:700px),
       (max-width:370px) and (min-height:700px) and (max-height:780px){
  html.is-home body.is-home #main > section.homeDomainsImmersive.home-snap-block--domains .homeDomainsGrid{
    grid-template-rows:.96fr 1.2fr .96fr .96fr .96fr!important;
    gap:clamp(8px,1.25svh,11px)!important;
    padding-top:clamp(12px,1.8svh,16px)!important;
  }
}

/* Mobile V3 - publications : compteur et lecture libre apres l'ancrage */
@media(max-width:640px){
  html.is-home.home-publications-scroll-zone,
  html.is-home.home-publications-scroll-zone body.is-home{
    scroll-snap-type:none!important;
    overscroll-behavior-y:auto!important;
  }

  html.is-home.home-publications-scroll-zone body.is-home #main > section.home-snap-block--publications,
  html.is-home.home-publications-scroll-zone body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications{
    scroll-snap-align:start!important;
    scroll-snap-stop:normal!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .head,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    column-gap:12px!important;
    align-items:start!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .head > div:first-child,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .head > div:first-child{
    min-width:0!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .head h2:before,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .head h2:before{
    content:"Publications"!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationHeadActions,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationHeadActions{
    display:flex!important;
    justify-content:flex-end!important;
    align-items:flex-start!important;
    min-width:0!important;
    margin:0!important;
    padding:2px 0 0!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationHeadActions > .btn,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationHeadActions > .btn{
    display:none!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationCount,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationCount{
    display:inline-grid!important;
    grid-template-columns:auto auto!important;
    column-gap:6px!important;
    align-items:end!important;
    min-width:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#FBF8F1!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationCount strong,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationCount strong{
    display:block!important;
    align-self:end!important;
    color:#FBF8F1!important;
    font-size:clamp(1.08rem,4.5vw,1.38rem)!important;
    line-height:.96!important;
    font-weight:800!important;
    letter-spacing:0!important;
    transform:translateY(1px)!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationCount span,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationCount span{
    display:block!important;
    max-width:68px!important;
    color:rgba(251,248,241,.86)!important;
    font-size:clamp(.45rem,1.75vw,.56rem)!important;
    line-height:1.05!important;
    font-weight:800!important;
    letter-spacing:.06em!important;
    text-transform:uppercase!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationCount em,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationCount em{
    display:block!important;
    font-style:normal!important;
  }
}

@media(max-width:370px){
  html.is-home body.is-home #main > section.home-snap-block--publications .head,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .head{
    column-gap:8px!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationCount,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationCount{
    column-gap:5px!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationCount span,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationCount span{
    max-width:60px!important;
    font-size:.43rem!important;
  }
}

/* Mobile V3 - publications : cartes compactes */
.homePublicationDateBadge{
  display:none;
}

@media(max-width:640px){
  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationHeadActions,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationHeadActions{
    display:grid!important;
    grid-template-columns:auto!important;
    justify-items:end!important;
    row-gap:5px!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationHeadActions > .btn,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationHeadActions > .btn{
    display:inline-flex!important;
    min-height:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:rgba(251,248,241,.86)!important;
    font-size:clamp(.56rem,2vw,.66rem)!important;
    line-height:1.1!important;
    font-weight:800!important;
    letter-spacing:.02em!important;
    text-align:right!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .pubs,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .pubs,
  html.is-home body.is-home #main > section.home-snap-block--publications .publist,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .publist{
    gap:10px!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationFeature,
  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationTeaser,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationFeature,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationTeaser{
    position:relative!important;
    display:grid!important;
    grid-template-columns:112px minmax(0,1fr)!important;
    gap:0!important;
    column-gap:0!important;
    row-gap:0!important;
    align-items:stretch!important;
    min-height:112px!important;
    height:auto!important;
    border-radius:10px!important;
    box-shadow:0 14px 32px rgba(3,18,31,.16)!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationFeature .homePublicationMedia,
  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationTeaser .homePublicationMedia,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationFeature .homePublicationMedia,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationTeaser .homePublicationMedia{
    grid-column:1!important;
    grid-row:1 / span 2!important;
    width:112px!important;
    height:100%!important;
    min-height:112px!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationMedia:after,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationMedia:after{
    inset:0 0 0 auto!important;
    width:4px!important;
    height:auto!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationDateBadge,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationDateBadge{
    position:absolute!important;
    left:8px!important;
    top:8px!important;
    bottom:auto!important;
    display:grid!important;
    place-items:center!important;
    align-items:center!important;
    width:46px!important;
    min-height:48px!important;
    padding:6px 5px!important;
    border:1px solid rgba(50,97,145,.28)!important;
    border-radius:7px!important;
    background:rgba(251,248,241,.94)!important;
    color:#326191!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:.56rem!important;
    line-height:1!important;
    font-weight:650!important;
    letter-spacing:.01em!important;
    text-align:center!important;
    box-shadow:0 8px 18px rgba(3,18,31,.22)!important;
    backdrop-filter:blur(10px)!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationDateBadge time,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationDateBadge time{
    display:grid!important;
    gap:2px!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationDateBadge span,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationDateBadge span{
    display:block!important;
    line-height:.98!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationDateBadge em,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationDateBadge em{
    display:block!important;
    font-style:normal!important;
    color:#326191!important;
    font-size:.56rem!important;
    line-height:.95!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationBody,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationBody{
    grid-column:2!important;
    grid-row:1!important;
    justify-content:start!important;
    align-items:flex-start!important;
    padding:13px 42px 12px 13px!important;
    gap:6px!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationMeta,
  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationFeature .homePublicationMeta,
  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationTeaser .metaLine,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationMeta,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationFeature .homePublicationMeta,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationTeaser .metaLine{
    display:none!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationTags,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationTags{
    justify-content:flex-start!important;
    align-items:flex-start!important;
    gap:5px!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homeFeatureBadge,
  html.is-home body.is-home #main > section.home-snap-block--publications .homeTypePill,
  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationTeaser .tag:not(.homeDomainPill),
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homeFeatureBadge,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homeTypePill,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationTeaser .tag:not(.homeDomainPill){
    padding:3px 6px!important;
    font-size:.48rem!important;
    line-height:1.05!important;
    letter-spacing:.08em!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homeDomainPill,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homeDomainPill{
    display:none!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationFeature h3,
  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationTeaser h3,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationFeature h3,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationTeaser h3{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:6!important;
    overflow:hidden!important;
    color:var(--fnam-night,#17324d)!important;
    font-size:0!important;
    line-height:1.1!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationFeature h3:before,
  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationTeaser h3:before,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationFeature h3:before,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationTeaser h3:before{
    content:attr(data-mobile-title)!important;
    display:block!important;
    font-size:clamp(.9rem,3.85vw,1.06rem)!important;
    line-height:1.04!important;
    font-weight:800!important;
    letter-spacing:0!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationFeature .actions,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationFeature .actions{
    grid-column:2!important;
    grid-row:1!important;
    align-self:start!important;
    justify-self:end!important;
    display:block!important;
    margin:0!important;
    padding:0!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationFeature .actions .ghost,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationFeature .actions .ghost{
    display:none!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationFeature .secondary,
  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationTeaser .chip,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationFeature .secondary,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationTeaser .chip{
    position:absolute!important;
    top:13px!important;
    right:12px!important;
    bottom:auto!important;
    z-index:2!important;
    grid-column:auto!important;
    grid-row:1!important;
    align-self:start!important;
    justify-self:end!important;
    display:grid!important;
    place-items:center!important;
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    min-height:24px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid color-mix(in srgb,var(--publication-accent) 34%,transparent)!important;
    border-radius:7px!important;
    background:rgba(251,248,241,.72)!important;
    color:var(--publication-accent)!important;
    font-size:0!important;
    line-height:1!important;
    box-shadow:none!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationFeature .secondary:before,
  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationTeaser .chip:before,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationFeature .secondary:before,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationTeaser .chip:before{
    content:""!important;
    position:absolute!important;
    left:6px!important;
    top:11px!important;
    width:13px!important;
    height:2px!important;
    border:0!important;
    border-radius:999px!important;
    background:currentColor!important;
    transform:rotate(-45deg)!important;
    transform-origin:center!important;
    clip-path:none!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationFeature .secondary:after,
  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationTeaser .chip:after,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationFeature .secondary:after,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationTeaser .chip:after{
    content:""!important;
    position:absolute!important;
    width:7px!important;
    height:7px!important;
    right:6px!important;
    top:6px!important;
    border-top:2px solid currentColor!important;
    border-right:2px solid currentColor!important;
    background:transparent!important;
    transform:none!important;
  }
}

@media(max-width:370px){
  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationFeature,
  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationTeaser,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationFeature,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationTeaser{
    grid-template-columns:96px minmax(0,1fr)!important;
    min-height:104px!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationFeature .homePublicationMedia,
  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationTeaser .homePublicationMedia,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationFeature .homePublicationMedia,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationTeaser .homePublicationMedia{
    width:96px!important;
    min-height:104px!important;
  }

  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationFeature h3:before,
  html.is-home body.is-home #main > section.home-snap-block--publications .homePublicationTeaser h3:before,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationFeature h3:before,
  html.is-home body.is-home #main > section.section.home-section.home-snap-block.home-snap-block--publications .homePublicationTeaser h3:before{
    font-size:.85rem!important;
  }
}

/* Mobile V3 - A propos : premiere section Qui sommes-nous */
@media(max-width:640px){
  html.is-about,
  html.is-about body.is-about{
    scroll-snap-type:y proximity!important;
    scroll-padding-top:0!important;
    scrollbar-width:none!important;
    overscroll-behavior-y:contain!important;
  }

  html.is-about::-webkit-scrollbar,
  html.is-about body.is-about::-webkit-scrollbar{
    width:0!important;
    height:0!important;
    display:none!important;
  }

  body.is-about{
    --mobile-section-title-gap:12px;
    --mobile-section-title-gap-compact:8px;
    --mobile-section-title-top:calc(var(--header-height,78px) + var(--mobile-section-title-gap));
    background:#17324d!important;
  }

  

  

  

  body.is-about .aboutPage{
    min-height:0!important;
    padding:0!important;
    background:
      linear-gradient(180deg,rgba(11,42,74,.92),rgba(50,97,145,.94)),
      linear-gradient(135deg,#17324d,#326191)!important;
  }

  body.is-about .aboutPage > .container{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
  }

  body.is-about .aboutLayout{
    display:block!important;
    min-height:0!important;
    padding:0!important;
  }

  body.is-about .aboutSideNav,
  body[data-responsive-mode].is-about .aboutSideNav,
  body[data-responsive-mode="compact"].is-about .aboutSideNav,
  body[data-responsive-mode="mobile"].is-about .aboutSideNav{
    display:none!important;
  }

  body.is-about .aboutContent{
    display:block!important;
    gap:0!important;
    min-width:0!important;
  }

  body.is-about .aboutIntro,
  body[data-responsive-mode].is-about .aboutIntro,
  body[data-responsive-mode="compact"].is-about .aboutIntro,
  body[data-responsive-mode="mobile"].is-about .aboutIntro{
    box-sizing:border-box!important;
    min-height:var(--mobile-vh,100svh)!important;
    height:var(--mobile-vh,100svh)!important;
    max-height:var(--mobile-vh,100svh)!important;
    margin:0!important;
    padding:0 18px 20px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    display:grid!important;
    align-content:start!important;
    overflow:hidden!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
    scroll-margin-top:0!important;
  }

  body.is-about .aboutIntroText{
    box-sizing:border-box!important;
    min-height:calc(var(--mobile-vh,100svh) - var(--mobile-section-title-top) - 20px + 18px)!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    padding:18px clamp(18px,5vw,24px) clamp(20px,3.4svh,28px)!important;
    border:1px solid rgba(112,180,190,.42)!important;
    border-radius:var(--r-4,10px)!important;
    background:var(--bg-elevated,#fbf8f1)!important;
    color:#17324d!important;
    box-shadow:0 20px 48px rgba(3,18,31,.22)!important;
    overflow:hidden!important;
  }

  body.is-about .aboutIntro .eyebrow{
    display:none!important;
  }

  body.is-about .aboutIntro h1{
    position:relative!important;
    width:fit-content!important;
    max-width:100%!important;
    margin:0 0 clamp(18px,3.4svh,26px)!important;
    padding:0 0 18px!important;
    color:#17324d!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:clamp(1.72rem,7.1vw,2.28rem)!important;
    line-height:1.04!important;
    font-weight:700!important;
    letter-spacing:0!important;
  }

  body.is-about .aboutIntro h1:after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    bottom:0!important;
    display:block!important;
    width:100%!important;
    height:3px!important;
    border-radius:3px!important;
    background:#be3c3f!important;
  }

  body.is-about .aboutIntro p,
  body.is-about .aboutIntro.aboutIntro--withVideo .aboutIntroText p{
    max-width:none!important;
    margin:0!important;
    color:#17324d!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:clamp(.9rem,3.85vw,1.02rem)!important;
    line-height:1.42!important;
    font-weight:560!important;
    letter-spacing:0!important;
  }

  body.is-about .aboutVideoBlock--desktop{
    display:none!important;
  }

  body.is-about .aboutVideoBlock--mobile{
    width:100%!important;
    min-width:0!important;
    display:grid!important;
    gap:8px!important;
    margin:clamp(18px,3.2svh,30px) 0 0!important;
  }

  body.is-about .aboutVideoBlock--mobile .aboutVideoPreview{
    position:relative!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    border-radius:var(--r-4,10px)!important;
    background:#0B2A4A!important;
    box-shadow:0 14px 30px rgba(3,18,31,.16)!important;
  }

  body.is-about .aboutVideoBlock--mobile .aboutVideo{
    display:block!important;
    width:100%!important;
    height:clamp(104px,17svh,148px)!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
    border:1px solid rgba(50,97,145,.22)!important;
    border-radius:inherit!important;
    background:#0B2A4A!important;
    box-shadow:none!important;
    cursor:pointer!important;
    filter:saturate(.92) contrast(1.03)!important;
  }

  body.is-about .aboutVideoBlock--mobile .aboutVideoPlay{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    z-index:2!important;
    display:inline-grid!important;
    grid-template-columns:auto auto!important;
    align-items:center!important;
    gap:8px!important;
    min-height:36px!important;
    padding:0 12px 0 11px!important;
    border:1px solid rgba(251,248,241,.42)!important;
    border-radius:var(--r-4,10px)!important;
    background:rgba(3,18,31,.56)!important;
    color:#FBF8F1!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:.78rem!important;
    font-weight:800!important;
    letter-spacing:0!important;
    line-height:1!important;
    box-shadow:0 12px 28px rgba(3,18,31,.28)!important;
    backdrop-filter:blur(10px)!important;
    transform:translate(-50%,-50%)!important;
    cursor:pointer!important;
  }

  body.is-about .aboutVideoBlock--mobile .aboutVideoPlay:before{
    content:""!important;
    display:block!important;
    width:0!important;
    height:0!important;
    border-top:6px solid transparent!important;
    border-bottom:6px solid transparent!important;
    border-left:9px solid currentColor!important;
    transform:translateX(1px)!important;
  }

  body.is-about .aboutVideoBlock--mobile.is-playing .aboutVideoPlay{
    display:none!important;
  }

  body.is-about .aboutVideoBlock--mobile figcaption{
    display:grid!important;
    gap:2px!important;
    margin:0!important;
    color:#326191!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    line-height:1.16!important;
  }

  body.is-about .aboutVideoBlock--mobile figcaption strong{
    display:block!important;
    color:#17324d!important;
    font-size:.86rem!important;
    font-weight:800!important;
    letter-spacing:0!important;
  }

  body.is-about .aboutVideoBlock--mobile figcaption span{
    display:block!important;
    color:rgba(23,50,77,.66)!important;
    font-size:.76rem!important;
    font-weight:650!important;
    letter-spacing:.01em!important;
  }

  body.is-about .aboutContent > .aboutSection{
    scroll-snap-align:none!important;
    scroll-snap-stop:normal!important;
  }
}

@media(max-width:640px) and (min-width:371px) and (max-width:389px) and (max-height:700px),
       (max-width:370px) and (min-height:700px) and (max-height:780px){
  body.is-about{
    --mobile-section-title-top:calc(var(--header-height,78px) + var(--mobile-section-title-gap-compact,8px));
  }

  body.is-about .aboutIntro h1{
    margin-bottom:16px!important;
    font-size:clamp(1.58rem,6.7vw,2rem)!important;
  }

  body.is-about .aboutIntro p,
  body.is-about .aboutIntro.aboutIntro--withVideo .aboutIntroText p{
    font-size:clamp(.94rem,4vw,1.04rem)!important;
    line-height:1.36!important;
  }

  body.is-about .aboutVideoBlock--mobile{
    margin-top:14px!important;
    gap:6px!important;
  }

  body.is-about .aboutVideoBlock--mobile .aboutVideo{
    height:clamp(88px,15svh,112px)!important;
  }

  body.is-about .aboutVideoBlock--mobile figcaption strong{
    font-size:.8rem!important;
  }

  body.is-about .aboutVideoBlock--mobile figcaption span{
    font-size:.7rem!important;
  }
}

/* Groupements adherents (page "a propos") : on reutilise partout la meme
   presentation que sur l'accueil (groupementsEcosystemMarkup), au lieu de
   l'ancien tableau "bureau + panneau lateral" reserve au desktop. Ce dernier
   reste dans le DOM (accessible, sans JS additionnel) mais n'est plus
   affiche a aucune largeur. */
body.is-about .aboutGroupsDesktopOnly{
  display:none!important;
}

/* Mobile V3 - A propos : carte courte puis section Groupements dupliquee de l'accueil */
@media(max-width:640px){
  body.is-about{
    --mobile-title-content-gap:14px;
  }

  html.is-about,
  html[data-responsive-mode].is-about,
  html[data-responsive-mode="compact"].is-about,
  html[data-responsive-mode="mobile"].is-about,
  body.is-about,
  html.is-about body.is-about,
  html[data-responsive-mode].is-about body.is-about,
  html[data-responsive-mode="compact"].is-about body.is-about,
  html[data-responsive-mode="mobile"].is-about body.is-about{
    scroll-snap-type:y proximity!important;
    scroll-padding-top:0!important;
    overscroll-behavior-y:auto!important;
    overflow-y:auto!important;
  }

  body.is-about .aboutIntro,
  body[data-responsive-mode].is-about .aboutIntro,
  body[data-responsive-mode="compact"].is-about .aboutIntro,
  body[data-responsive-mode="mobile"].is-about .aboutIntro{
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    padding:clamp(14px,2.2svh,20px) 18px clamp(18px,4svh,32px)!important;
    overflow:visible!important;
    scroll-snap-align:none!important;
    scroll-snap-stop:normal!important;
  }

  body.is-about .aboutIntroText{
    min-height:0!important;
    height:auto!important;
    padding-bottom:clamp(18px,3svh,24px)!important;
    overflow:visible!important;
  }

  body.is-about .aboutGroupsDesktopOnly{
    display:none!important;
  }

  body.is-about .aboutContent > .aboutGroupsSection{
    box-sizing:border-box!important;
    min-height:var(--mobile-vh,100svh)!important;
    height:var(--mobile-vh,100svh)!important;
    max-height:var(--mobile-vh,100svh)!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:hidden!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
    scroll-margin-top:0!important;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsChoiceBoard{
    box-sizing:border-box!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-height:var(--mobile-vh,100svh)!important;
    height:var(--mobile-vh,100svh)!important;
    max-height:var(--mobile-vh,100svh)!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared{
    display:block!important;
    position:relative!important;
    background:transparent!important;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared:before{
    content:none!important;
    display:none!important;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsChoiceBoard{
    position:relative!important;
    z-index:1!important;
    background:transparent!important;
    display:grid!important;
    grid-template-rows:auto auto!important;
    align-content:start!important;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsChoiceHeader{
    padding:var(--mobile-section-title-top) 18px 6px!important;
    margin:0!important;
    border:0!important;
  }

  
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsChoiceHeader h2{
    margin:0!important;
    padding:0 0 18px!important;
    color:#FBF8F1!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:clamp(1.72rem,7.1vw,2.28rem)!important;
    line-height:1.04!important;
    font-weight:700!important;
    letter-spacing:0!important;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsChoiceHeader h2:after{
    content:""!important;
    position:static!important;
    display:block!important;
    width:100%!important;
    height:3px!important;
    margin-top:14px!important;
    border-radius:3px!important;
    background:#be3c3f!important;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsChoiceHeader:after{
    content:none!important;
    display:none!important;
  }

  
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsChoiceDesktop,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsChoiceCompact{
    display:none!important;
  }

  
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileToolbar{
    position:relative!important;
    z-index:80!important;
    padding:var(--mobile-title-content-gap) 18px 8px!important;
    margin:0!important;
    overflow:visible!important;
  }

  
  
  
  
  
  
  
  
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileOption[aria-pressed="true"],
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileOption:focus-visible{
    background:rgba(50,97,145,.10)!important;
  }

  
  
  
  
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileMosaic::-webkit-scrollbar,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDetail::-webkit-scrollbar{
    display:none!important;
  }

  
  
  
  
  
  
  
  
  
  
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDetail{
    min-height:0!important;
    height:clamp(224px,calc(var(--mobile-vh,100svh) - 430px),330px)!important;
    max-height:clamp(224px,calc(var(--mobile-vh,100svh) - 430px),330px)!important;
    padding:16px 18px 18px!important;
    border:0!important;
    border-radius:var(--r-4,10px)!important;
    background:#FBF8F1!important;
    color:#17324D!important;
    box-shadow:0 14px 30px rgba(3,18,31,.18)!important;
    overflow-y:auto!important;
    scrollbar-width:none!important;
    contain:layout style!important;
  }

  
  
  
  
  
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDetail p,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDetail li{
    margin:0!important;
    font-size:clamp(.8rem,1.8svh,.94rem)!important;
    line-height:1.56!important;
    font-weight:500!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }

  
  
  
  }

@media(max-width:640px) and (min-width:371px) and (max-width:389px) and (max-height:700px){
  body.is-about{
    --mobile-title-content-gap:10px;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsChoiceHeader{
    padding-top:var(--mobile-section-title-top)!important;
    padding-bottom:4px!important;
  }

  
  
  
  
  
  
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDetail p,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDetail li{
    font-size:.77rem!important;
    line-height:1.38!important;
  }
}

@media(max-width:370px) and (min-height:700px) and (max-height:780px){
  body.is-about{
    --mobile-title-content-gap:10px;
  }

  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsChoiceHeader{
    padding-top:var(--mobile-section-title-top)!important;
    padding-bottom:5px!important;
  }

  
  
  
  
  
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDetail p,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDetail li{
    line-height:1.44!important;
  }
}

@media(min-width:400px) and (min-height:880px){
  
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDetail p,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsMobileDetail li{
    font-size:.9rem!important;
    line-height:1.52!important;
  }
}

/* Mobile V3 - A propos : Gouvernance en section aimantee plein ecran */
@media(max-width:640px){
  body.is-about .aboutContent > .aboutGovernance{
    box-sizing:border-box!important;
    min-height:var(--mobile-vh,100svh)!important;
    height:var(--mobile-vh,100svh)!important;
    max-height:var(--mobile-vh,100svh)!important;
    margin:0!important;
    padding:0 18px clamp(18px,3svh,28px)!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:hidden!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
    scroll-margin-top:0!important;
  }

  body.is-about .aboutContent > .aboutGovernance:before{
    content:none!important;
    display:none!important;
  }

  body.is-about .aboutGovernance > .sectionIntro{
    margin:0!important;
    padding:var(--mobile-section-title-top) 0 0!important;
  }

  body.is-about .aboutGovernance > .sectionIntro .eyebrow,
  body.is-about .aboutGovernance > .sectionIntro p{
    display:none!important;
  }

  body.is-about .aboutGovernance > .sectionIntro h2{
    width:fit-content!important;
    max-width:100%!important;
    margin:0!important;
    padding:0 0 18px!important;
    color:#FBF8F1!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:clamp(1.72rem,7.1vw,2.28rem)!important;
    line-height:1.04!important;
    font-weight:700!important;
    letter-spacing:0!important;
  }

  body.is-about .aboutGovernance > .sectionIntro h2:after{
    content:""!important;
    display:block!important;
    width:100%!important;
    height:3px!important;
    margin-top:14px!important;
    border-radius:3px!important;
    background:#be3c3f!important;
  }

  body.is-about .aboutGovernance > .governanceBoard{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:clamp(10px,1.8svh,16px)!important;
    width:100%!important;
    max-width:100%!important;
    margin:var(--mobile-title-content-gap,14px) 0 0!important;
    padding:0!important;
    align-items:start!important;
    overflow:visible!important;
  }

  body.is-about .aboutGovernance .governanceCard{
    box-sizing:border-box!important;
    width:100%!important;
    margin:0!important;
    padding:clamp(12px,3.5vw,18px)!important;
    border:1px solid rgba(112,180,190,.28)!important;
    border-radius:var(--r-4,10px)!important;
    background:#FBF8F1!important;
    color:#17324D!important;
    box-shadow:0 14px 30px rgba(3,18,31,.18)!important;
    overflow:hidden!important;
  }

  body.is-about .aboutGovernance .governanceCard:before{
    content:none!important;
    display:none!important;
  }

  body.is-about .aboutGovernance .governanceCard h3{
    margin:0 0 10px!important;
    color:#be3c3f!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:.68rem!important;
    line-height:1.12!important;
    font-weight:900!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
  }

  body.is-about .aboutGovernance .personList,
  body.is-about .aboutGovernance .governanceBureauList{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  body.is-about .aboutGovernance .personCard,
  body.is-about .aboutGovernance .governanceCardPrimary .personCard,
  body.is-about .aboutGovernance .governanceCardBureau .personCard{
    display:grid!important;
    grid-template-columns:54px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:center!important;
    min-width:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  body.is-about .aboutGovernance .governanceCardBureau .personCard{
    padding-top:8px!important;
    border-top:1px solid rgba(23,50,77,.10)!important;
  }

  body.is-about .aboutGovernance .governanceCardBureau .personCard:first-child{
    padding-top:0!important;
    border-top:0!important;
  }

  body.is-about .aboutGovernance .personPhoto{
    width:54px!important;
    height:54px!important;
    border-width:2px!important;
    border-color:rgba(255,255,255,.92)!important;
    background:linear-gradient(135deg,#326191,#5092b6)!important;
    box-shadow:0 10px 22px rgba(50,97,145,.18)!important;
  }

  body.is-about .aboutGovernance .personPhoto span{
    color:#FBF8F1!important;
    font-size:.78rem!important;
    font-weight:900!important;
    letter-spacing:.03em!important;
  }

  body.is-about .aboutGovernance .personInfo{
    min-width:0!important;
  }

  body.is-about .aboutGovernance .personInfo strong{
    display:block!important;
    max-width:100%!important;
    color:#17324D!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:clamp(.84rem,3vw,.96rem)!important;
    line-height:1.08!important;
    font-weight:850!important;
    letter-spacing:0!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  body.is-about .aboutGovernance .personInfo span{
    display:block!important;
    margin-top:3px!important;
    color:#326191!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:clamp(.7rem,2.65vw,.82rem)!important;
    line-height:1.16!important;
    font-weight:650!important;
    letter-spacing:0!important;
  }
}

@media(max-width:640px) and (min-width:371px) and (max-width:389px) and (max-height:700px),
       (max-width:370px) and (min-height:700px) and (max-height:780px){
  body.is-about .aboutGovernance .governanceCard{
    padding:10px 12px!important;
  }

  body.is-about .aboutGovernance > .governanceBoard{
    gap:8px!important;
    margin-top:10px!important;
  }

  body.is-about .aboutGovernance .governanceCard h3{
    margin-bottom:8px!important;
    font-size:.62rem!important;
  }

  body.is-about .aboutGovernance .personCard,
  body.is-about .aboutGovernance .governanceCardPrimary .personCard,
  body.is-about .aboutGovernance .governanceCardBureau .personCard{
    grid-template-columns:46px minmax(0,1fr)!important;
    gap:8px!important;
  }

  body.is-about .aboutGovernance .governanceCardBureau .personCard{
    padding-top:6px!important;
  }

  body.is-about .aboutGovernance .personPhoto{
    width:46px!important;
    height:46px!important;
  }

  body.is-about .aboutGovernance .personInfo strong{
    font-size:.76rem!important;
    line-height:1.06!important;
  }

  body.is-about .aboutGovernance .personInfo span{
    font-size:.66rem!important;
    line-height:1.1!important;
  }
}

/* Mobile V3 - A propos : Commissions aimantees au depart, lecture libre ensuite */
@media(max-width:640px){
  body.is-about .aboutContent > .aboutCommissions{
    box-sizing:border-box!important;
    min-height:var(--mobile-vh,100svh)!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:0 18px clamp(28px,6svh,54px)!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:normal!important;
    scroll-margin-top:0!important;
  }

  body.is-about .aboutContent > .aboutCommissions:before{
    content:none!important;
    display:none!important;
  }

  body.is-about .aboutCommissions .commissionsBlock{
    margin:0!important;
    padding:var(--mobile-section-title-top) 0 0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  body.is-about .aboutCommissions .commissionsHead{
    display:block!important;
    margin:0!important;
    padding:0!important;
  }

  body.is-about .aboutCommissions .commissionsHead .eyebrow{
    display:none!important;
  }

  body.is-about .aboutCommissions .commissionsHead h2{
    width:fit-content!important;
    max-width:100%!important;
    margin:0!important;
    padding:0 0 18px!important;
    color:#FBF8F1!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:0!important;
    line-height:1.04!important;
    font-weight:700!important;
    letter-spacing:0!important;
  }

  body.is-about .aboutCommissions .commissionsHead h2:before{
    content:"Commissions"!important;
    display:block!important;
    font-size:clamp(1.72rem,7.1vw,2.28rem)!important;
    line-height:1.04!important;
    font-weight:700!important;
    letter-spacing:0!important;
  }

  body.is-about .aboutCommissions .commissionsHead h2:after{
    content:""!important;
    position:static!important;
    display:block!important;
    width:100%!important;
    height:3px!important;
    margin-top:14px!important;
    border-radius:3px!important;
    background:#be3c3f!important;
  }

  body.is-about .aboutCommissions .commissionsTimeline{
    width:100%!important;
    max-width:100%!important;
    display:grid!important;
    gap:12px!important;
    margin:var(--mobile-title-content-gap,14px) 0 0!important;
    padding:0!important;
    overflow:visible!important;
  }

  body.is-about .aboutCommissions .commissionsTimeline:before,
  body.is-about .aboutCommissions .commissionTimelineItem:before{
    content:none!important;
    display:none!important;
  }

  body.is-about .aboutCommissions .commissionTimelineItem{
    box-sizing:border-box!important;
    position:relative!important;
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:12px!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:14px!important;
    border:1px solid rgba(112,180,190,.28)!important;
    border-radius:var(--r-4,10px)!important;
    background:#FBF8F1!important;
    color:#17324D!important;
    box-shadow:0 14px 30px rgba(3,18,31,.16)!important;
    overflow:hidden!important;
  }

  body.is-about .aboutCommissions .commissionStep{
    width:42px!important;
    height:42px!important;
    border-radius:var(--r-4,10px)!important;
    background:#0B2A4A!important;
    color:#FBF8F1!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:.9rem!important;
    font-weight:900!important;
    line-height:1!important;
    box-shadow:none!important;
  }

  body.is-about .aboutCommissions .commissionTimelineBody{
    min-width:0!important;
    display:grid!important;
    gap:10px!important;
  }

  body.is-about .aboutCommissions .commissionTimelineTop{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    align-items:start!important;
  }

  body.is-about .aboutCommissions .commissionTimelineText{
    min-width:0!important;
  }

  body.is-about .aboutCommissions .commissionKicker{
    display:none!important;
  }

  body.is-about .aboutCommissions .commissionTimelineText h3{
    margin:0!important;
    color:#17324D!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:clamp(1rem,4.25vw,1.22rem)!important;
    line-height:1.08!important;
    font-weight:850!important;
    letter-spacing:0!important;
  }

  body.is-about .aboutCommissions .commissionTimelineText p{
    margin:7px 0 0!important;
    color:#49677f!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:clamp(.78rem,3.15vw,.92rem)!important;
    line-height:1.34!important;
    font-weight:600!important;
    letter-spacing:0!important;
  }

  body.is-about .aboutCommissions .commissionTimelinePeople{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    align-items:start!important;
  }

  body.is-about .aboutCommissions .commissionTimelinePeople .roleGroup{
    min-width:0!important;
    display:grid!important;
    gap:7px!important;
    padding:9px 10px!important;
    border-radius:var(--r-4,10px)!important;
    background:rgba(50,97,145,.08)!important;
  }

  body.is-about .aboutCommissions .roleGroup h4{
    margin:0!important;
    color:#be3c3f!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:.58rem!important;
    line-height:1.12!important;
    font-weight:900!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
  }

  body.is-about .aboutCommissions .personStack{
    display:grid!important;
    gap:7px!important;
  }

  body.is-about .aboutCommissions .personCard,
  body.is-about .aboutCommissions .commissionTimelinePeople .personCard{
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr)!important;
    gap:9px!important;
    align-items:center!important;
    min-width:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  body.is-about .aboutCommissions .personPhoto,
  body.is-about .aboutCommissions .commissionTimelinePeople .personPhoto{
    width:38px!important;
    height:38px!important;
    border-width:2px!important;
    border-color:rgba(255,255,255,.92)!important;
    background:linear-gradient(135deg,#326191,#5092b6)!important;
    box-shadow:0 8px 16px rgba(50,97,145,.16)!important;
  }

  body.is-about .aboutCommissions .personPhoto span,
  body.is-about .aboutCommissions .commissionTimelinePeople .personPhoto span{
    color:#FBF8F1!important;
    font-size:.68rem!important;
    font-weight:900!important;
  }

  body.is-about .aboutCommissions .personInfo strong,
  body.is-about .aboutCommissions .commissionTimelinePeople .personInfo strong{
    display:block!important;
    color:#17324D!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:clamp(.74rem,2.9vw,.86rem)!important;
    line-height:1.08!important;
    font-weight:850!important;
    letter-spacing:0!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  body.is-about .aboutCommissions .personInfo span,
  body.is-about .aboutCommissions .commissionTimelinePeople .personInfo span{
    display:block!important;
    margin-top:2px!important;
    color:#326191!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:clamp(.64rem,2.55vw,.76rem)!important;
    line-height:1.14!important;
    font-weight:650!important;
    letter-spacing:0!important;
  }

  body.is-about .aboutCommissions .commissionLinks{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    margin:0!important;
    padding-top:10px!important;
    border-top:1px solid rgba(23,50,77,.10)!important;
  }

  body.is-about .aboutCommissions .commissionAgendaLink,
  body.is-about .aboutCommissions .commissionContentLink{
    width:100%!important;
    min-width:0!important;
    min-height:34px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    margin:0!important;
    padding:8px 9px!important;
    border:1px solid rgba(199,113,101,.42)!important;
    border-radius:var(--r-3,8px)!important;
    background:rgba(199,113,101,.08)!important;
    color:#326191!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:.68rem!important;
    line-height:1.05!important;
    font-weight:850!important;
    letter-spacing:0!important;
    text-align:center!important;
    text-decoration:none!important;
  }

  body.is-about .aboutCommissions .commissionAgendaLink:before{
    content:""!important;
    flex:0 0 auto!important;
    width:8px!important;
    height:8px!important;
    border-top:2px solid currentColor!important;
    border-right:2px solid currentColor!important;
    transform:rotate(45deg)!important;
  }
}

@media(max-width:640px) and (min-width:371px) and (max-width:389px) and (max-height:700px),
       (max-width:370px) and (min-height:700px) and (max-height:780px){
  body.is-about .aboutCommissions .commissionsTimeline{
    gap:10px!important;
    margin-top:10px!important;
  }

  body.is-about .aboutCommissions .commissionTimelineItem{
    grid-template-columns:36px minmax(0,1fr)!important;
    gap:10px!important;
    padding:12px!important;
  }

  body.is-about .aboutCommissions .commissionStep{
    width:36px!important;
    height:36px!important;
    font-size:.8rem!important;
  }

  body.is-about .aboutCommissions .commissionTimelineBody,
  body.is-about .aboutCommissions .commissionTimelineTop{
    gap:8px!important;
  }

  body.is-about .aboutCommissions .commissionTimelineText h3{
    font-size:.94rem!important;
  }

  body.is-about .aboutCommissions .commissionTimelineText p{
    font-size:.74rem!important;
    line-height:1.28!important;
  }

  body.is-about .aboutCommissions .commissionTimelinePeople .roleGroup{
    padding:8px!important;
  }

  body.is-about .aboutCommissions .personCard{
    grid-template-columns:34px minmax(0,1fr)!important;
    gap:8px!important;
  }

  body.is-about .aboutCommissions .commissionTimelinePeople .personCard{
    grid-template-columns:34px minmax(0,1fr)!important;
    gap:8px!important;
  }

  body.is-about .aboutCommissions .personPhoto{
    width:34px!important;
    height:34px!important;
  }

  body.is-about .aboutCommissions .commissionTimelinePeople .personPhoto{
    width:34px!important;
    height:34px!important;
  }

  body.is-about .aboutCommissions .personInfo strong{
    font-size:.7rem!important;
  }

  body.is-about .aboutCommissions .commissionTimelinePeople .personInfo strong{
    font-size:.7rem!important;
  }

  body.is-about .aboutCommissions .personInfo span{
    font-size:.6rem!important;
    line-height:1.1!important;
  }

  body.is-about .aboutCommissions .commissionTimelinePeople .personInfo span{
    font-size:.6rem!important;
    line-height:1.1!important;
  }
}

/* Mobile V3 - Page Domaines : garde-fou final apres les anciens overrides responsive */
@media(max-width:640px){
  html.is-domaines,
  html[data-responsive-mode].is-domaines,
  html[data-responsive-mode="compact"].is-domaines,
  html[data-responsive-mode="mobile"].is-domaines,
  body.is-domaines,
  html.is-domaines body.is-domaines,
  html[data-responsive-mode].is-domaines body.is-domaines,
  html[data-responsive-mode="compact"].is-domaines body.is-domaines,
  html[data-responsive-mode="mobile"].is-domaines body.is-domaines{
    scroll-snap-type:y mandatory!important;
    scroll-padding-top:0!important;
    overflow-y:auto!important;
    overscroll-behavior-y:auto!important;
    scrollbar-width:none!important;
  }

  body.is-domaines{
    --mobile-section-title-gap:12px;
    --mobile-section-title-gap-compact:8px;
    --mobile-section-title-top:calc(var(--header-height,78px) + var(--mobile-section-title-gap));
    background:#17324d!important;
  }

  body.is-domaines .header,
  body.is-domaines.mobile-header-hidden .header,
  body.is-domaines.mobile-header-revealed .header{
    position:fixed!important;
    z-index:90!important;
    transform:none!important;
    opacity:1!important;
    pointer-events:auto!important;
    background:transparent!important;
    border-bottom-color:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }

  body.is-domaines .header .brandLogo{
    content:url("../images/logo-fnam-white-text.png")!important;
    background:transparent!important;
    box-shadow:none!important;
    filter:drop-shadow(0 8px 22px rgba(3,18,31,.26))!important;
  }

  body.is-domaines .menuBtn{
    background:rgba(3,18,31,.34)!important;
    border-color:rgba(251,247,241,.34)!important;
    color:#FBF7F1!important;
    box-shadow:0 10px 24px rgba(3,18,31,.18)!important;
    backdrop-filter:blur(12px)!important;
  }

  body.is-domaines #main > .domainesHero.domainesSnapBlock,
  body[data-responsive-mode].is-domaines #main > .domainesHero.domainesSnapBlock,
  body[data-responsive-mode="compact"].is-domaines #main > .domainesHero.domainesSnapBlock,
  body[data-responsive-mode="mobile"].is-domaines #main > .domainesHero.domainesSnapBlock{
    min-height:var(--mobile-vh,100svh)!important;
    height:var(--mobile-vh,100svh)!important;
    max-height:var(--mobile-vh,100svh)!important;
    padding:0!important;
    display:block!important;
    overflow:hidden!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
    scroll-margin-top:0!important;
    background:
      linear-gradient(180deg,rgba(11,42,74,.92),rgba(50,97,145,.94)),
      linear-gradient(135deg,#17324d,#326191)!important;
  }

  body.is-domaines .domainesHeroInner,
  body[data-responsive-mode].is-domaines .domainesHeroInner,
  body[data-responsive-mode="compact"].is-domaines .domainesHeroInner,
  body[data-responsive-mode="mobile"].is-domaines .domainesHeroInner{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-height:var(--mobile-vh,100svh)!important;
    height:var(--mobile-vh,100svh)!important;
    margin:0!important;
    padding:var(--mobile-section-title-top) 18px 20px!important;
    display:grid!important;
    grid-template-rows:auto auto auto minmax(0,1fr)!important;
    align-content:start!important;
    gap:0!important;
  }

  body.is-domaines .domainesHero .eyebrow{
    display:block!important;
    margin:0 0 8px!important;
    color:#70b4be!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:.68rem!important;
    line-height:1.1!important;
    font-weight:900!important;
    letter-spacing:.13em!important;
    text-transform:uppercase!important;
  }

  body.is-domaines .domainesHero h1{
    position:relative!important;
    width:fit-content!important;
    max-width:100%!important;
    margin:0 0 14px!important;
    padding:0 0 16px!important;
    color:#FBF8F1!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:1.9rem!important;
    line-height:1.04!important;
    font-weight:700!important;
    letter-spacing:0!important;
    text-wrap:balance!important;
  }

  body.is-domaines .domainesHero h1:after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    bottom:0!important;
    width:100%!important;
    height:3px!important;
    border-radius:3px!important;
    background:#be3c3f!important;
  }

  body.is-domaines .domainesHero p{
    max-width:none!important;
    margin:0!important;
    color:rgba(251,248,241,.9)!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:.86rem!important;
    line-height:1.34!important;
    font-weight:560!important;
    letter-spacing:0!important;
  }

  body.is-domaines .domainesNav{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-self:start!important;
    gap:8px!important;
    width:100%!important;
    margin:16px 0 0!important;
  }

  html.is-domaines body.is-domaines #main > .domainesHero .domainesNav > a.domainesNavCard,
  body.is-domaines .domainesNav > a.domainesNavCard{
    min-height:42px!important;
    height:42px!important;
    padding:0 12px!important;
    display:grid!important;
    grid-template-columns:auto auto minmax(0,1fr)!important;
    gap:9px!important;
    align-items:center!important;
    align-content:center!important;
    border-radius:var(--r-4,10px)!important;
    text-decoration:none!important;
  }

  body.is-domaines .domainesNav > a.domainesNavCard:before{
    content:""!important;
    width:5px!important;
    height:5px!important;
    border-radius:999px!important;
    background:rgba(251,248,241,.82)!important;
    grid-column:2!important;
    grid-row:1!important;
  }

  body.is-domaines .domainesNavIndex{
    grid-column:1!important;
    grid-row:1!important;
    color:rgba(251,248,241,.84)!important;
    font-size:.72rem!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.08em!important;
  }

  body.is-domaines .domainesNav a strong{
    grid-column:3!important;
    grid-row:1!important;
    min-width:0!important;
    margin:0!important;
    font-size:0!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  body.is-domaines .domainesNav a strong:after{
    content:attr(data-mobile-label)!important;
    color:#FBF8F1!important;
    font-size:.91rem!important;
    line-height:1!important;
    font-weight:850!important;
  }

  body.is-domaines .domainesNav a p,
  body.is-domaines .domainesNav a em{
    display:none!important;
  }
}

@media(max-width:640px) and (max-height:700px){
  body.is-domaines{
    --mobile-section-title-top:calc(var(--header-height,78px) + var(--mobile-section-title-gap-compact,8px));
  }

  body.is-domaines .domainesHero .eyebrow{
    margin-bottom:6px!important;
    font-size:.63rem!important;
  }

  body.is-domaines .domainesHero h1{
    margin-bottom:10px!important;
    padding-bottom:13px!important;
    font-size:1.7rem!important;
  }

  body.is-domaines .domainesHero p{
    font-size:.8rem!important;
    line-height:1.26!important;
  }

  body.is-domaines .domainesNav{
    gap:7px!important;
    margin-top:12px!important;
  }

  html.is-domaines body.is-domaines #main > .domainesHero .domainesNav > a.domainesNavCard,
  body.is-domaines .domainesNav > a.domainesNavCard{
    min-height:38px!important;
    height:38px!important;
  }

  body.is-domaines .domainesNav a strong:after{
    font-size:.82rem!important;
  }
}

/* Mobile V3 - Outils FNAM : vue d'ensemble compacte */
@media(max-width:640px){
  

  body.is-tools .header .brandLogo{
    content:url("../images/logo-fnam-white-text.png")!important;
    width:clamp(124px,35vw,152px)!important;
    max-width:42vw!important;
    height:auto!important;
    object-fit:contain!important;
  }

  body.is-tools .menuBtn{
    border-radius:var(--r-4,10px)!important;
    background:rgba(3,18,31,.34)!important;
    border-color:rgba(251,248,241,.5)!important;
    color:#fff!important;
    box-shadow:none!important;
    backdrop-filter:blur(10px)!important;
  }

  body.is-tools .electionHero--overview{
    min-height:var(--mobile-vh,100svh)!important;
    height:var(--mobile-vh,100svh)!important;
    max-height:var(--mobile-vh,100svh)!important;
    padding:0!important;
    align-items:stretch!important;
    overflow:hidden!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
  }

  body.is-tools .electionHero--overview .electionHero__inner{
    width:100%!important;
    max-width:100%!important;
    height:var(--mobile-vh,100svh)!important;
    min-height:var(--mobile-vh,100svh)!important;
    margin:0!important;
    padding:calc(var(--header-height,78px) + 6px) 18px 18px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    gap:clamp(10px,1.5svh,14px)!important;
    align-content:start!important;
  }

  body.is-tools .electionHero--overview .electionHeroHeader{
    transform:none!important;
    display:grid!important;
    gap:clamp(8px,1.05svh,10px)!important;
  }

  body.is-tools .electionHero--overview .electionHeroHeader .eyebrow{
    color:rgba(251,248,241,.82)!important;
    font-size:.66rem!important;
    line-height:1!important;
    letter-spacing:.16em!important;
  }

  body.is-tools .electionHero--overview .electionHeroHeader h1{
    max-width:12ch!important;
    margin:0!important;
    color:#FBF8F1!important;
    font-size:clamp(1.72rem,7.2vw,2.24rem)!important;
    line-height:1.04!important;
    letter-spacing:0!important;
    white-space:normal!important;
  }

  body.is-tools .electionHero--overview .electionHeroHeader p{
    max-width:none!important;
    margin:clamp(10px,1.35svh,12px) 0 0!important;
    color:rgba(251,248,241,.88)!important;
    font-size:clamp(.82rem,3.35vw,.96rem)!important;
    line-height:1.32!important;
    font-weight:650!important;
    white-space:normal!important;
  }

  body.is-tools .electionHero--overview .electionHeroStage{
    --hero-block-height:auto!important;
    --tools-cycle-offset:clamp(6px,calc((100svh - 667px) * .28 + 6px),76px);
    min-height:0!important;
    height:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto minmax(158px,25.2svh) auto!important;
    gap:clamp(9px,1.35svh,13px)!important;
    align-content:space-between!important;
    align-items:start!important;
  }

  body.is-tools .electionHero--overview .electionHeroBenefits,
  body.is-tools .electionHero--overview .electionHeroExportTile{
    display:none!important;
  }

  body.is-tools .electionHero--overview .electionHeroLineArt{
    grid-column:1!important;
    grid-row:2!important;
    width:min(120%,504px)!important;
    max-width:none!important;
    height:100%!important;
    justify-self:center!important;
    align-self:center!important;
    margin:0!important;
    transform:translateY(8px)!important;
  }

  body.is-tools .electionHero--overview .electionHeroCycle{
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    min-height:97px!important;
    padding:14px 16px 14px 26px!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    gap:12px!important;
    align-items:center!important;
    align-content:center!important;
    border-radius:var(--r-4,10px)!important;
    overflow:hidden!important;
    transform:translateY(var(--tools-cycle-offset))!important;
  }

  body.is-tools .electionHero--overview .electionHeroCycle:before{
    width:8px!important;
  }

  body.is-tools .electionHero--overview .electionHeroCycleCount{
    transform:none!important;
    align-self:center!important;
    display:grid!important;
    gap:4px!important;
  }

  body.is-tools .electionHero--overview .electionHeroCycleCount strong{
    font-size:clamp(2.3rem,10.35vw,3.1rem)!important;
    line-height:.82!important;
  }

  body.is-tools .electionHero--overview .electionHeroCycleCount b{
    font-size:.82rem!important;
    line-height:1!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
  }

  body.is-tools .electionHero--overview .electionHeroThemeCycle{
    min-height:67px!important;
    height:67px!important;
    margin:0!important;
    overflow:hidden!important;
  }

  body.is-tools .electionHero--overview .electionHeroThemeCycle span{
    inset:9px 0 0!important;
  }

  body.is-tools .electionHero--overview .electionHeroThemeCycle strong{
    font-size:clamp(1rem,4.7vw,1.28rem)!important;
    line-height:1.05!important;
    letter-spacing:0!important;
  }

  body.is-tools .electionHero--overview .electionHeroThemeCycle small{
    margin-top:4px!important;
    font-size:.56rem!important;
    line-height:1.1!important;
    letter-spacing:.12em!important;
  }

  body.is-tools .electionHero--overview .electionHeroCta{
    grid-column:1!important;
    grid-row:3!important;
    position:relative!important;
    left:auto!important;
    bottom:auto!important;
    transform:none!important;
    justify-self:stretch!important;
    align-self:end!important;
    width:100%!important;
    min-height:46px!important;
    margin:0!important;
    border-radius:var(--r-4,10px)!important;
  }

  body.is-tools .electionHero--overview .electionHeroCta:hover{
    transform:none!important;
  }
}

@media(max-width:640px) and (max-height:700px){
  body.is-tools .electionHero--overview .electionHeroCycle{
    min-height:84px!important;
    padding:12px 14px 12px 24px!important;
    gap:12px!important;
  }

  body.is-tools .electionHero--overview .electionHeroCycleCount strong{
    font-size:clamp(2rem,9vw,2.7rem)!important;
  }

  body.is-tools .electionHero--overview .electionHeroCycleCount b{
    font-size:.76rem!important;
  }

  body.is-tools .electionHero--overview .electionHeroThemeCycle{
    min-height:58px!important;
    height:58px!important;
  }

  body.is-tools .electionHero--overview .electionHeroThemeCycle strong{
    font-size:clamp(.95rem,4.1vw,1.16rem)!important;
  }

  body.is-tools .electionHero--overview .electionHeroThemeCycle small{
    font-size:.52rem!important;
  }

  body.is-tools .electionHero--overview .electionHeroThemeCycle span{
    inset:7px 0 0!important;
  }

  body.is-tools .electionHero--overview .electionHeroLineArt{
    transform:none!important;
  }
}

@media(max-width:370px) and (max-height:700px){
  body.is-tools .electionHero--overview .electionHero__inner{
    padding-top:calc(var(--header-height,78px) + 6px)!important;
    padding-bottom:14px!important;
    gap:8px!important;
  }

  body.is-tools .electionHero--overview .electionHeroHeader{
    gap:6px!important;
  }

  body.is-tools .electionHero--overview .electionHeroHeader .eyebrow{
    font-size:.61rem!important;
  }

  body.is-tools .electionHero--overview .electionHeroHeader h1{
    font-size:1.48rem!important;
    line-height:1.03!important;
  }

  body.is-tools .electionHero--overview .electionHeroHeader p{
    margin-top:8px!important;
    font-size:.75rem!important;
    line-height:1.24!important;
  }

  body.is-tools .electionHero--overview .electionHeroStage{
    --tools-cycle-offset:6px;
    grid-template-rows:auto minmax(134px,20.5svh) auto!important;
    gap:8px!important;
  }

  body.is-tools .electionHero--overview .electionHeroCycle{
    padding:10px 12px 10px 22px!important;
    gap:10px!important;
  }

  body.is-tools .electionHero--overview .electionHeroThemeCycle{
    min-height:50px!important;
    height:50px!important;
  }

  body.is-tools .electionHero--overview .electionHeroThemeCycle strong{
    font-size:.9rem!important;
  }

  body.is-tools .electionHero--overview .electionHeroCta{
    min-height:42px!important;
  }
}

/* Mobile V3 - Outils FNAM : section 2 aviation en chiffres */
@media(max-width:640px){
  html.is-tools,
  html[data-responsive-mode].is-tools,
  html.is-tools body.is-tools{
    scroll-snap-type:y mandatory!important;
    scroll-padding-top:0!important;
    overflow-y:auto!important;
    overscroll-behavior-y:contain!important;
    scrollbar-width:none!important;
  }

  html.is-tools::-webkit-scrollbar,
  html.is-tools body.is-tools::-webkit-scrollbar{
    width:0!important;
    height:0!important;
    display:none!important;
  }

  body.is-tools{
    background:#17324d!important;
  }

  body.is-tools #main > .tools-snap-block{
    min-height:var(--mobile-vh,100svh)!important;
    height:var(--mobile-vh,100svh)!important;
    max-height:var(--mobile-vh,100svh)!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
    scroll-margin-top:0!important;
    overflow:hidden!important;
  }

  body.is-tools.tools-mobile-light-header .header .brandLogo,
  body.is-tools.tools-mobile-light-header.mobile-header-hidden .header .brandLogo,
  body.is-tools.tools-mobile-light-header.mobile-header-revealed .header .brandLogo{
    content:url("../images/logo-fnam-transparent.png")!important;
    background:transparent!important;
    box-shadow:none!important;
    filter:none!important;
  }

  body.is-tools.tools-mobile-light-header .menuBtn,
  body.is-tools.tools-mobile-light-header.mobile-header-hidden .menuBtn,
  body.is-tools.tools-mobile-light-header.mobile-header-revealed .menuBtn{
    background:#326191!important;
    border-color:#326191!important;
    color:#FBF8F1!important;
    box-shadow:0 10px 24px rgba(50,97,145,.22)!important;
    backdrop-filter:none!important;
  }

  body.is-tools .toolsAviationHub{
    min-height:var(--mobile-vh,100svh)!important;
    height:var(--mobile-vh,100svh)!important;
    max-height:var(--mobile-vh,100svh)!important;
    padding:0!important;
    display:block!important;
    color:#063964!important;
    background:
      radial-gradient(circle at 78% 18%,rgba(0,163,173,.1),transparent 28%),
      linear-gradient(180deg,#fbf8f1 0%,#f4ead8 54%,#efe5d3 100%)!important;
  }

  body.is-tools .toolsAviationHub__inner{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    height:var(--mobile-vh,100svh)!important;
    min-height:var(--mobile-vh,100svh)!important;
    padding:calc(var(--header-height,78px) + 12px) 18px 18px!important;
    display:grid!important;
    align-items:start!important;
  }

  body.is-tools .toolsAviationHub__grid{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    gap:clamp(12px,1.8svh,18px)!important;
    align-content:start!important;
    align-items:start!important;
  }

  body.is-tools .toolsAviationHub__copy{
    height:auto!important;
    min-height:0!important;
    display:grid!important;
    grid-template-rows:auto auto auto!important;
    gap:clamp(10px,1.4svh,14px)!important;
    align-content:start!important;
  }

  body.is-tools .toolsAviationHub__mainStack{
    margin:0!important;
    gap:clamp(8px,1.2svh,12px)!important;
  }

  body.is-tools .toolsAviationHub__titleBlock{
    gap:8px!important;
  }

  body.is-tools .toolsAviationHub__titleBlock .eyebrow{
    display:inline-flex!important;
    color:#326191!important;
    font-size:.66rem!important;
    line-height:1!important;
    letter-spacing:.16em!important;
    font-weight:900!important;
    text-transform:uppercase!important;
  }

  body.is-tools .toolsAviationHub__titleBlock .eyebrow:before{
    background:#be3c3f!important;
  }

  body.is-tools .toolsAviationHub__copy h2{
    position:relative!important;
    width:fit-content!important;
    max-width:13ch!important;
    margin:0!important;
    padding:0 0 14px!important;
    color:#063964!important;
    font-size:clamp(1.9rem,8vw,2.45rem)!important;
    line-height:1.04!important;
    letter-spacing:0!important;
    font-weight:700!important;
  }

  body.is-tools .toolsAviationHub__copy h2:after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    bottom:0!important;
    width:100%!important;
    height:3px!important;
    border-radius:3px!important;
    background:#be3c3f!important;
  }

  body.is-tools .toolsAviationHub__lead{
    margin:clamp(8px,1.2svh,12px) 0 0!important;
    color:#40576e!important;
    font-size:clamp(.84rem,3.4vw,.98rem)!important;
    line-height:1.32!important;
    font-weight:650!important;
  }

  body.is-tools .toolsAviationHub__question{
    max-width:none!important;
    padding:12px 14px!important;
    border-left-width:5px!important;
    border-radius:var(--r-4,10px)!important;
  }

  body.is-tools .toolsAviationHub__question span{
    margin-bottom:6px!important;
    font-size:.65rem!important;
  }

  body.is-tools .toolsAviationHub__question strong{
    font-size:clamp(.95rem,4.3vw,1.2rem)!important;
    line-height:1.12!important;
  }

  body.is-tools .toolsAviationHub__actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    width:100%!important;
    margin:0!important;
  }

  body.is-tools .toolsAviationHub__actions .btn{
    min-height:42px!important;
    padding:9px 10px!important;
    border-radius:var(--r-4,10px)!important;
    font-size:.8rem!important;
    line-height:1.1!important;
    text-align:center!important;
  }

  body.is-tools .toolsAviationHub__panel{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    display:grid!important;
    grid-template-rows:auto auto!important;
    gap:10px!important;
    padding:14px!important;
    border-radius:var(--r-4,10px)!important;
    align-self:stretch!important;
    overflow:hidden!important;
  }

  body.is-tools .toolsAviationHub__panelHead,
  body.is-tools .toolsAviationHub__themes,
  body.is-tools .toolsAviationHub__sources{
    display:none!important;
  }

  body.is-tools .toolsAviationHub__counter{
    padding:12px!important;
    border-radius:var(--r-4,10px)!important;
    gap:12px!important;
  }

  body.is-tools .toolsAviationHub__counter strong{
    font-size:clamp(2.8rem,13vw,4rem)!important;
  }

  body.is-tools .toolsAviationHub__counter span{
    font-size:clamp(.88rem,3.7vw,1.05rem)!important;
  }

  body.is-tools .toolsAviationHub__metrics{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }

  body.is-tools .toolsAviationHub__metrics div{
    min-height:70px!important;
    padding:10px 8px!important;
    border-radius:var(--r-4,10px)!important;
  }

  body.is-tools .toolsAviationHub__metrics strong{
    font-size:clamp(1.25rem,5.6vw,1.75rem)!important;
  }

  body.is-tools .toolsAviationHub__metrics span{
    margin-top:5px!important;
    font-size:.62rem!important;
    line-height:1.1!important;
  }
}

@media(max-width:640px) and (max-height:700px){
  body.is-tools .toolsAviationHub__inner{
    padding-top:calc(var(--header-height,78px) + 8px)!important;
    padding-bottom:14px!important;
  }

  body.is-tools .toolsAviationHub__grid{
    gap:9px!important;
  }

  body.is-tools .toolsAviationHub__copy h2{
    font-size:1.7rem!important;
    padding-bottom:12px!important;
  }

  body.is-tools .toolsAviationHub__lead{
    font-size:.78rem!important;
    line-height:1.25!important;
  }

  body.is-tools .toolsAviationHub__question{
    padding:10px 12px!important;
  }

  body.is-tools .toolsAviationHub__actions .btn{
    min-height:38px!important;
    font-size:.72rem!important;
  }

  body.is-tools .toolsAviationHub__metrics div{
    min-height:58px!important;
  }
}

/* Mobile V3 - Outils FNAM : composition section 2 revue */
@media(max-width:640px){
  body.is-tools .toolsAviationHub__inner{
    padding-top:calc(var(--header-height,78px) + 6px)!important;
    padding-bottom:18px!important;
  }

  body.is-tools .toolsAviationHub__grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto auto minmax(58px,.42fr) auto minmax(0,.58fr) auto!important;
    gap:clamp(8px,1.15svh,12px)!important;
    align-content:stretch!important;
    align-items:stretch!important;
  }

  body.is-tools .toolsAviationHub__copy,
  body.is-tools .toolsAviationHub__panel{
    display:contents!important;
    min-height:0!important;
    height:auto!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }

  body.is-tools .toolsAviationHub__mainStack{
    grid-row:1!important;
    margin:0!important;
    display:grid!important;
    gap:clamp(10px,1.45svh,13px)!important;
  }

  body.is-tools .toolsAviationHub__titleBlock{
    gap:clamp(8px,1.05svh,10px)!important;
  }

  body.is-tools .toolsAviationHub__titleBlock .eyebrow{
    transform:translateY(-15px)!important;
  }

  body.is-tools .toolsAviationHub__copy h2{
    max-width:13ch!important;
    padding-bottom:12px!important;
  }

  body.is-tools .toolsAviationHub__lead{
    margin:0!important;
    font-size:clamp(.8rem,3.25vw,.94rem)!important;
    line-height:1.28!important;
  }

  body.is-tools .toolsAviationHub__metrics{
    grid-row:2!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:clamp(10px,3vw,16px)!important;
    align-items:start!important;
    margin-top:clamp(8px,1.25svh,11px)!important;
    transform:none!important;
  }

  body.is-tools .toolsAviationHub__metrics div{
    min-height:0!important;
    height:auto!important;
    padding:0!important;
    display:block!important;
    align-content:normal!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  body.is-tools .toolsAviationHub__metrics strong{
    font-size:clamp(1.53rem,6.75vw,2.02rem)!important;
    line-height:1!important;
  }

  body.is-tools .toolsAviationHub__metrics span{
    margin-top:3px!important;
    font-size:clamp(.56rem,2.35vw,.66rem)!important;
    line-height:1.08!important;
  }

  body.is-tools .toolsAviationHub__question{
    grid-row:5!important;
    min-height:clamp(118px,17svh,148px)!important;
    height:auto!important;
    align-self:start!important;
    max-width:none!important;
    padding:clamp(16px,3.8vw,20px)!important;
    display:grid!important;
    align-content:center!important;
    border-left-width:7px!important;
    border-radius:var(--r-4,10px)!important;
    background:rgba(255,252,248,.78)!important;
    box-shadow:inset 0 0 0 1px rgba(170,192,210,.7)!important;
    margin-top:clamp(6px,1svh,10px)!important;
    transform:none!important;
  }

  body.is-tools .toolsAviationHub__question span{
    margin-bottom:8px!important;
    font-size:clamp(.66rem,2.85vw,.78rem)!important;
    letter-spacing:.16em!important;
  }

  body.is-tools .toolsAviationHub__question strong{
    font-size:clamp(1.08rem,4.9vw,1.42rem)!important;
    line-height:1.08!important;
  }

  body.is-tools .toolsAviationHub__counter{
    grid-row:4!important;
    align-self:center!important;
    display:flex!important;
    align-items:baseline!important;
    justify-content:center!important;
    gap:.42em!important;
    min-height:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#063964!important;
    white-space:nowrap!important;
    margin-top:clamp(8px,1.25svh,12px)!important;
    transform:none!important;
  }

  body.is-tools .toolsAviationHub__counter strong{
    font-size:clamp(2.35rem,10.2vw,3.05rem)!important;
    line-height:1!important;
  }

  body.is-tools .toolsAviationHub__counter span{
    color:#40576e!important;
    font-size:clamp(.98rem,4.25vw,1.22rem)!important;
    line-height:1!important;
    font-weight:850!important;
  }

  body.is-tools .toolsAviationHub__counter em{
    color:#be3c3f!important;
    font-style:normal!important;
  }

  body.is-tools .toolsAviationHub__sources{
    grid-row:3!important;
    min-height:0!important;
    display:grid!important;
    gap:6px!important;
    align-content:start!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
    margin-top:clamp(10px,1.45svh,14px)!important;
    transform:none!important;
  }

  body.is-tools .toolsAviationHub__sources > span{
    color:#607287!important;
    font-size:.58rem!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.12em!important;
  }

  body.is-tools .toolsAviationHub__sourceMarquee{
    position:relative!important;
    width:100%!important;
    box-sizing:border-box!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:0 10px 13px!important;
    scroll-padding-inline:10px!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    mask-image:none!important;
    background:
      linear-gradient(90deg,rgba(50,97,145,.72),rgba(50,97,145,.72)) 0 100%/35% 5px no-repeat,
      linear-gradient(90deg,rgba(50,97,145,.18),rgba(50,97,145,.18)) 0 100%/100% 5px no-repeat!important;
    border-radius:0!important;
    scrollbar-width:thin!important;
    scrollbar-color:rgba(50,97,145,.7) rgba(50,97,145,.18)!important;
  }

  body.is-tools .toolsAviationHub__sourceMarquee::-webkit-scrollbar{
    height:5px!important;
  }

  body.is-tools .toolsAviationHub__sourceMarquee::-webkit-scrollbar-track{
    background:rgba(50,97,145,.16)!important;
    border-radius:999px!important;
  }

  body.is-tools .toolsAviationHub__sourceMarquee::-webkit-scrollbar-thumb{
    background:rgba(50,97,145,.55)!important;
    border-radius:999px!important;
  }

  body.is-tools .toolsAviationHub__sourceTrack{
    width:auto!important;
    min-width:calc(100% - 20px)!important;
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:calc((100% - 12px) / 3)!important;
    gap:6px!important;
    animation:none!important;
  }

  body.is-tools .toolsAviationHub__sourceLogo{
    width:100%!important;
    max-width:none!important;
    height:clamp(58px,9svh,79px)!important;
    min-width:0!important;
    flex:none!important;
    display:grid!important;
    place-items:center!important;
    box-sizing:border-box!important;
    padding:6px 10px!important;
    border:1px solid rgba(170,192,210,.62)!important;
    border-radius:var(--r-4,10px)!important;
    background:rgba(255,255,255,.76)!important;
    scroll-snap-align:start!important;
  }

  body.is-tools .toolsAviationHub__sourceLogo--duplicate{
    display:none!important;
  }

  body.is-tools .toolsAviationHub__sourceLogo img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:82%!important;
    max-height:clamp(38px,6svh,51px)!important;
    object-fit:contain!important;
  }

  body.is-tools .toolsAviationHub__actions{
    grid-row:7!important;
    align-self:end!important;
    margin-top:0!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }

  body.is-tools .toolsAviationHub__actions .btn{
    min-height:46px!important;
    font-size:clamp(.76rem,3.25vw,.86rem)!important;
  }
}

@media(max-width:640px) and (max-height:700px){
  body.is-tools .toolsAviationHub__inner{
    padding-top:calc(var(--header-height,78px) + 6px)!important;
    padding-bottom:14px!important;
  }

  body.is-tools .toolsAviationHub__grid{
    grid-template-rows:auto auto auto minmax(48px,.42fr) auto minmax(0,.58fr) auto!important;
    gap:7px!important;
  }

  body.is-tools .toolsAviationHub__mainStack{
    gap:8px!important;
  }

  body.is-tools .toolsAviationHub__lead{
    font-size:.74rem!important;
    line-height:1.22!important;
  }

  body.is-tools .toolsAviationHub__metrics div{
    min-height:0!important;
    padding:0!important;
  }

  body.is-tools .toolsAviationHub__question{
    min-height:88px!important;
    padding:12px 14px!important;
    margin-top:4px!important;
  }

  body.is-tools .toolsAviationHub__counter{
    margin-top:6px!important;
  }

  body.is-tools .toolsAviationHub__sources{
    margin-top:8px!important;
  }

  body.is-tools .toolsAviationHub__sourceLogo{
    height:62px!important;
  }

  body.is-tools .toolsAviationHub__sourceLogo img{
    max-height:40px!important;
  }

  body.is-tools .toolsAviationHub__question span{
    margin-bottom:6px!important;
    font-size:.61rem!important;
  }

  body.is-tools .toolsAviationHub__question strong{
    font-size:.95rem!important;
  }

  body.is-tools .toolsAviationHub__counter strong{
    font-size:2.2rem!important;
  }

  body.is-tools .toolsAviationHub__counter span{
    font-size:.9rem!important;
  }

  body.is-tools .toolsAviationHub__actions .btn{
    min-height:40px!important;
    font-size:.72rem!important;
  }
}

/* Mobile V3 - Outils FNAM : convention collective */
@media(max-width:640px){
  body.is-tools .toolsConventionGateway{
    min-height:var(--mobile-vh,100svh)!important;
    height:var(--mobile-vh,100svh)!important;
    max-height:var(--mobile-vh,100svh)!important;
    padding:0!important;
    display:block!important;
    color:#fbf7f1!important;
    background:
      radial-gradient(circle at 78% 15%,rgba(126,211,229,.16),transparent 30%),
      linear-gradient(145deg,#18354e 0%,#244d6a 54%,#326191 100%)!important;
  }

  body.is-tools .toolsConventionGateway__inner{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    height:var(--mobile-vh,100svh)!important;
    min-height:var(--mobile-vh,100svh)!important;
    padding:calc(var(--header-height,78px) + 6px) 18px 18px!important;
    display:grid!important;
    align-items:start!important;
  }

  body.is-tools .toolsConventionGateway__grid{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-auto-columns:100%!important;
    grid-template-rows:auto auto auto auto minmax(78px,.26fr) minmax(132px,.42fr) minmax(0,.32fr) auto!important;
    gap:clamp(8px,1.15svh,12px)!important;
    align-content:stretch!important;
    align-items:stretch!important;
  }

  body.is-tools .toolsConventionGateway__copy,
  body.is-tools .toolsConventionGateway__panel{
    display:contents!important;
    min-height:0!important;
    height:auto!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }

  body.is-tools .toolsConventionGateway__copy .eyebrow{
    grid-row:1!important;
    grid-column:1!important;
    align-self:start!important;
    display:inline-flex!important;
    align-items:center!important;
    width:max-content!important;
    margin:0!important;
    transform:translateY(-15px)!important;
    color:#7ed3e5!important;
    font-size:.66rem!important;
    line-height:1!important;
    letter-spacing:.16em!important;
    font-weight:900!important;
    text-transform:uppercase!important;
  }

  body.is-tools .toolsConventionGateway__copy .eyebrow:before{
    background:#be3c3f!important;
  }

  body.is-tools .toolsConventionGateway__copy h2{
    grid-row:2!important;
    grid-column:1!important;
    align-self:start!important;
    position:relative!important;
    width:fit-content!important;
    max-width:13ch!important;
    margin:-.8px 0 0!important;
    padding:0 0 12px!important;
    color:#fbf7f1!important;
    font-size:clamp(1.9rem,8vw,2.45rem)!important;
    line-height:1.04!important;
    letter-spacing:0!important;
    font-weight:700!important;
  }

  body.is-tools .toolsConventionGateway__copy h2:after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    bottom:0!important;
    width:100%!important;
    height:3px!important;
    border-radius:3px!important;
    background:#be3c3f!important;
  }

  body.is-tools .toolsConventionGateway__lead{
    grid-row:3!important;
    grid-column:1!important;
    margin:0!important;
    max-width:none!important;
    color:rgba(251,247,241,.86)!important;
    font-size:clamp(.78rem,3.18vw,.94rem)!important;
    line-height:1.27!important;
    font-weight:650!important;
  }

  body.is-tools .toolsConventionGateway__panelHead{
    display:none!important;
  }

  body.is-tools .toolsConventionGateway__stats{
    grid-row:4!important;
    grid-column:1!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:clamp(10px,3vw,16px)!important;
    align-items:start!important;
    margin-top:calc(clamp(8px,1.25svh,11px) - 2mm)!important;
  }

  body.is-tools .toolsConventionGateway__stats div{
    min-height:0!important;
    height:auto!important;
    padding:0!important;
    display:block!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  body.is-tools .toolsConventionGateway__stats strong{
    margin:0!important;
    color:#fbf7f1!important;
    font-size:clamp(1.7rem,7.2vw,2.15rem)!important;
    line-height:1!important;
    font-weight:950!important;
  }

  body.is-tools .toolsConventionGateway__stats span{
    margin-top:4px!important;
    color:rgba(251,247,241,.78)!important;
    font-size:clamp(.56rem,2.35vw,.68rem)!important;
    line-height:1.08!important;
    font-weight:850!important;
  }

  body.is-tools .toolsConventionGateway__counter{
    grid-row:5!important;
    grid-column:1!important;
    align-self:center!important;
    display:grid!important;
    grid-template-columns:auto auto!important;
    align-items:baseline!important;
    justify-content:center!important;
    gap:.5em!important;
    min-height:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    white-space:nowrap!important;
    margin:0!important;
  }

  body.is-tools .toolsConventionGateway__counter strong{
    color:#fbf7f1!important;
    font-size:clamp(3.15rem,14vw,4.1rem)!important;
    line-height:1!important;
    font-weight:950!important;
  }

  body.is-tools .toolsConventionGateway__counter span{
    color:#f2d8ce!important;
    max-width:none!important;
    font-size:clamp(.78rem,3.15vw,.96rem)!important;
    line-height:1!important;
    font-weight:900!important;
    text-align:left!important;
    white-space:nowrap!important;
  }

  body.is-tools .toolsConventionGateway__ticker{
    grid-row:6!important;
    grid-column:1!important;
    width:100%!important;
    min-height:clamp(108px,16svh,142px)!important;
    height:auto!important;
    align-self:center!important;
    display:grid!important;
    align-content:center!important;
    margin:0!important;
    padding:clamp(16px,3.8vw,20px)!important;
    border-left-width:7px!important;
    border-radius:var(--r-4,10px)!important;
    background:rgba(251,247,241,.1)!important;
    box-shadow:inset 0 0 0 1px rgba(251,247,241,.18)!important;
    overflow:hidden!important;
  }

  body.is-tools .toolsConventionGateway__ticker span{
    margin-bottom:8px!important;
    color:rgba(251,247,241,.7)!important;
    font-size:clamp(.66rem,2.85vw,.78rem)!important;
    letter-spacing:.16em!important;
  }

  body.is-tools .toolsConventionGateway__ticker strong{
    color:#fbf7f1!important;
    font-size:clamp(1.1rem,5vw,1.45rem)!important;
    line-height:1.08!important;
  }

  body.is-tools .toolsConventionGateway__ticker em{
    margin-top:8px!important;
    color:rgba(251,247,241,.72)!important;
    font-size:clamp(.7rem,3vw,.84rem)!important;
    line-height:1.18!important;
  }

  body.is-tools .toolsConventionGateway__promise{
    display:none!important;
  }

  body.is-tools .toolsConventionGateway__promise article{
    min-height:0!important;
    padding:8px 10px!important;
    border-radius:var(--r-4,10px)!important;
    border-color:rgba(126,211,229,.28)!important;
    background:rgba(251,247,241,.08)!important;
  }

  body.is-tools .toolsConventionGateway__promise strong{
    margin:0 0 3px!important;
    color:#fbf7f1!important;
    font-size:clamp(.76rem,3.2vw,.9rem)!important;
    line-height:1.05!important;
  }

  body.is-tools .toolsConventionGateway__promise span{
    color:rgba(251,247,241,.72)!important;
    font-size:clamp(.66rem,2.85vw,.78rem)!important;
    line-height:1.14!important;
  }

  body.is-tools .toolsConventionGateway__actions{
    grid-row:8!important;
    grid-column:1!important;
    align-self:end!important;
    width:100%!important;
    margin:0!important;
  }

  body.is-tools .toolsConventionGateway__actions .btn{
    width:100%!important;
    min-height:46px!important;
    border-radius:var(--r-4,10px)!important;
    background:#c93f45!important;
    color:#fff!important;
    border-color:#c93f45!important;
    box-shadow:0 16px 28px rgba(8,32,55,.2)!important;
    font-size:clamp(.78rem,3.25vw,.9rem)!important;
    text-align:center!important;
  }
}

@media(max-width:640px) and (max-height:700px){
  body.is-tools .toolsConventionGateway__inner{
    padding-top:calc(var(--header-height,78px) + 6px)!important;
    padding-bottom:14px!important;
  }

  body.is-tools .toolsConventionGateway__grid{
    grid-template-rows:auto auto auto auto minmax(58px,.24fr) minmax(100px,.4fr) minmax(0,.36fr) auto!important;
    gap:7px!important;
  }

  body.is-tools .toolsConventionGateway__copy h2{
    font-size:1.7rem!important;
    padding-bottom:12px!important;
  }

  body.is-tools .toolsConventionGateway__lead{
    font-size:.74rem!important;
    line-height:1.22!important;
  }

  body.is-tools .toolsConventionGateway__counter strong{
    font-size:2.6rem!important;
  }

  body.is-tools .toolsConventionGateway__counter span{
    font-size:.84rem!important;
  }

  body.is-tools .toolsConventionGateway__ticker{
    min-height:86px!important;
    padding:12px 14px!important;
  }

  body.is-tools .toolsConventionGateway__ticker span{
    margin-bottom:6px!important;
    font-size:.61rem!important;
  }

  body.is-tools .toolsConventionGateway__ticker strong{
    font-size:.95rem!important;
  }

  body.is-tools .toolsConventionGateway__ticker em{
    font-size:.66rem!important;
  }

  body.is-tools .toolsConventionGateway__promise article{
    padding:7px 9px!important;
  }

  body.is-tools .toolsConventionGateway__promise span{
    display:none!important;
  }

  body.is-tools .toolsConventionGateway__actions .btn{
    min-height:40px!important;
    font-size:.72rem!important;
  }
}

/* Mobile V3 - Outils FNAM : carte CDG x indicateurs */
@media(max-width:640px){
  body.is-tools .toolsCdgMap{
    min-height:var(--mobile-vh,100svh)!important;
    height:var(--mobile-vh,100svh)!important;
    max-height:var(--mobile-vh,100svh)!important;
    padding:0!important;
    display:block!important;
    color:#063964!important;
    background:
      radial-gradient(circle at 78% 18%,rgba(0,163,173,.1),transparent 28%),
      linear-gradient(180deg,#fbf8f1 0%,#f4ead8 54%,#efe5d3 100%)!important;
  }

  body.is-tools .toolsCdgMap__inner{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    height:var(--mobile-vh,100svh)!important;
    min-height:var(--mobile-vh,100svh)!important;
    padding:calc(var(--header-height,78px) + 6px) 18px 18px!important;
    display:grid!important;
    align-items:start!important;
  }

  body.is-tools .toolsCdgMap__grid{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-auto-columns:100%!important;
    grid-template-rows:auto auto auto minmax(172px,.58fr) minmax(0,.42fr) auto!important;
    gap:clamp(8px,1.15svh,12px)!important;
    align-content:stretch!important;
    align-items:stretch!important;
  }

  body.is-tools .toolsCdgMap__copy,
  body.is-tools .toolsCdgMap__visual{
    display:contents!important;
    min-height:0!important;
    height:auto!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }

  body.is-tools .toolsCdgMap__copy .eyebrow{
    grid-row:1!important;
    grid-column:1!important;
    align-self:start!important;
    display:inline-flex!important;
    align-items:center!important;
    width:max-content!important;
    margin:0!important;
    transform:translateY(-15px)!important;
    color:#326191!important;
    font-size:.66rem!important;
    line-height:1!important;
    letter-spacing:.16em!important;
    font-weight:900!important;
    text-transform:uppercase!important;
  }

  body.is-tools .toolsCdgMap__copy .eyebrow:before{
    background:#be3c3f!important;
  }

  body.is-tools .toolsCdgMap__copy h2{
    grid-row:2!important;
    grid-column:1!important;
    align-self:start!important;
    position:relative!important;
    width:fit-content!important;
    max-width:15ch!important;
    margin:-.8px 0 0!important;
    padding:0 0 12px!important;
    color:#063964!important;
    font-size:clamp(1.72rem,7.3vw,2.12rem)!important;
    line-height:1.04!important;
    letter-spacing:0!important;
    font-weight:700!important;
  }

  body.is-tools .toolsCdgMap__copy h2:after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    bottom:0!important;
    width:100%!important;
    height:3px!important;
    border-radius:3px!important;
    background:#be3c3f!important;
  }

  body.is-tools .toolsCdgMap__copy p{
    grid-row:3!important;
    grid-column:1!important;
    max-width:none!important;
    margin:0!important;
    color:#40576e!important;
    font-size:clamp(.78rem,3.18vw,.94rem)!important;
    line-height:1.27!important;
    font-weight:650!important;
  }

  body.is-tools .toolsCdgMap__copy p.toolsCdgMap__dataLine{
    grid-row:5!important;
    grid-column:1!important;
    align-self:center!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:wrap!important;
    gap:7px!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    color:#607287!important;
    font-size:clamp(.62rem,2.65vw,.75rem)!important;
    line-height:1!important;
    font-weight:850!important;
    letter-spacing:0!important;
    text-align:center!important;
  }

  body.is-tools .toolsCdgMap__copy p.toolsCdgMap__dataLine span{
    width:100%!important;
    color:#607287!important;
    font-size:.58rem!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
  }

  body.is-tools .toolsCdgMap__copy p.toolsCdgMap__dataLine strong{
    color:#063964!important;
    font-size:inherit!important;
    line-height:1!important;
    font-weight:900!important;
    white-space:nowrap!important;
  }

  body.is-tools .toolsCdgMap__copy p.toolsCdgMap__dataLine em{
    flex:0 0 100%!important;
    color:#607287!important;
    font-size:clamp(.56rem,2.3vw,.66rem)!important;
    line-height:1.05!important;
    font-style:normal!important;
    font-weight:800!important;
    letter-spacing:.01em!important;
    white-space:normal!important;
  }

  body.is-tools .toolsCdgMap__copy p.toolsCdgMap__dataLine i{
    width:3px!important;
    height:3px!important;
    border-radius:50%!important;
    background:#be3c3f!important;
  }

  body.is-tools .toolsCdgMap__copy p.toolsCdgMap__dataLine:after{
    content:""!important;
    flex:0 0 min(220px,72%)!important;
    height:7px!important;
    margin-top:2px!important;
    border:1px solid rgba(112,180,190,.28)!important;
    border-radius:999px!important;
    background:linear-gradient(90deg,#cff8b8 0 20%,#fff58d 20% 40%,#ffc566 40% 60%,#f78476 60% 80%,#c25bbb 80% 100%)!important;
    box-shadow:0 8px 18px rgba(7,28,51,.08)!important;
  }

  body.is-tools .toolsCdgMap__search,
  body.is-tools .toolsCdgMap__cards,
  body.is-tools .toolsCdgMap__features,
  body.is-tools .toolsCdgMap__pin{
    display:none!important;
  }

  body.is-tools .toolsCdgMap__board{
    grid-row:4!important;
    grid-column:1!important;
    min-height:0!important;
    height:100%!important;
    display:block!important;
    margin-top:clamp(6px,1svh,10px)!important;
  }

  body.is-tools .toolsCdgMap__map{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }

  body.is-tools .toolsCdgMap__popup{
    position:static!important;
    width:auto!important;
    max-width:none!important;
    height:100%!important;
    min-height:0!important;
    display:grid!important;
    align-content:start!important;
    gap:6px!important;
    padding:12px!important;
    border:1px solid rgba(170,192,210,.72)!important;
    border-radius:var(--r-4,10px)!important;
    background:rgba(255,255,255,.78)!important;
    box-shadow:0 12px 26px rgba(7,28,51,.08)!important;
    backdrop-filter:none!important;
    overflow:hidden!important;
  }

  body.is-tools .toolsCdgMap__popupKicker{
    margin:0!important;
    color:#be3c3f!important;
    font-size:clamp(.55rem,2.25vw,.64rem)!important;
    line-height:1!important;
    letter-spacing:.1em!important;
  }

  body.is-tools .toolsCdgMap__popupTitle{
    margin:0!important;
    color:#063964!important;
    font-size:clamp(.82rem,3.55vw,.98rem)!important;
    line-height:1.04!important;
    font-weight:900!important;
  }

  body.is-tools .toolsCdgMap__popupValue{
    margin:2px 0!important;
    gap:3px!important;
  }

  body.is-tools .toolsCdgMap__popupValue strong{
    color:#326191!important;
    font-size:clamp(1.82rem,8vw,2.28rem)!important;
    line-height:.9!important;
  }

  body.is-tools .toolsCdgMap__popupValue span,
  body.is-tools .toolsCdgMap__popupNote{
    color:#607287!important;
    font-size:clamp(.56rem,2.45vw,.68rem)!important;
    line-height:1.12!important;
    font-weight:750!important;
  }

  body.is-tools .toolsCdgMap__popupRows{
    gap:3px!important;
    margin-top:auto!important;
  }

  body.is-tools .toolsCdgMap__popupRows div{
    gap:4px!important;
    padding:4px 0 0!important;
    border-top:1px solid rgba(112,180,190,.22)!important;
  }

  body.is-tools .toolsCdgMap__popupRows span,
  body.is-tools .toolsCdgMap__popupRows strong{
    font-size:clamp(.54rem,2.25vw,.63rem)!important;
    line-height:1.04!important;
  }

  body.is-tools .toolsCdgMap__copy > .btn{
    grid-row:6!important;
    grid-column:1!important;
    align-self:end!important;
    width:100%!important;
    min-height:46px!important;
    border-radius:var(--r-4,10px)!important;
    background:#c93f45!important;
    border-color:#c93f45!important;
    color:#fff!important;
    box-shadow:0 16px 28px rgba(8,32,55,.14)!important;
    font-size:clamp(.78rem,3.25vw,.9rem)!important;
    text-align:center!important;
  }
}

@media(max-width:640px) and (max-height:700px){
  body.is-tools .toolsCdgMap__inner{
    padding-top:calc(var(--header-height,78px) + 6px)!important;
    padding-bottom:14px!important;
  }

  body.is-tools .toolsCdgMap__grid{
    grid-template-rows:auto auto auto minmax(146px,.58fr) minmax(0,.42fr) auto!important;
    gap:7px!important;
  }

  body.is-tools .toolsCdgMap__copy h2{
    max-width:17ch!important;
    font-size:1.46rem!important;
    padding-bottom:12px!important;
  }

  body.is-tools .toolsCdgMap__copy p{
    font-size:.72rem!important;
    line-height:1.2!important;
  }

  body.is-tools .toolsCdgMap__board{
    margin-top:4px!important;
  }

  body.is-tools .toolsCdgMap__map{
    gap:8px!important;
  }

  body.is-tools .toolsCdgMap__popup{
    padding:10px!important;
    gap:4px!important;
  }

  body.is-tools .toolsCdgMap__popupValue strong{
    font-size:1.62rem!important;
  }

  body.is-tools .toolsCdgMap__copy > .btn{
    min-height:40px!important;
    font-size:.72rem!important;
  }
}

/* Mobile V3 - Outils FNAM : carte crise geopol NOTAM */
@media(max-width:640px){
  body.is-tools .toolsNotamSection{
    --notam-stack-shift:126px;
    --notam-map-shift:55px;
    min-height:var(--mobile-vh,100svh)!important;
    height:var(--mobile-vh,100svh)!important;
    max-height:var(--mobile-vh,100svh)!important;
    padding:0!important;
    display:block!important;
    color:#fbf7f1!important;
    background:
      radial-gradient(circle at 84% 18%,rgba(126,211,229,.12),transparent 26%),
      linear-gradient(180deg,#17324d 0%,#21435c 58%,#2f5d80 100%)!important;
  }

  body.is-tools .toolsNotamSection__inner{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    height:var(--mobile-vh,100svh)!important;
    min-height:var(--mobile-vh,100svh)!important;
    padding:calc(var(--header-height,78px) + 6px) 18px 18px!important;
    display:grid!important;
    align-items:start!important;
  }

  body.is-tools .toolsNotamSection__grid{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-auto-columns:100%!important;
    grid-template-rows:11px max-content max-content minmax(116px,.28fr) minmax(154px,.44fr) auto!important;
    gap:clamp(8px,1.12svh,11px)!important;
    align-content:stretch!important;
    align-items:stretch!important;
  }

  body.is-tools .toolsNotamSection__copy,
  body.is-tools .toolsNotamSection__panel{
    display:contents!important;
    min-height:0!important;
    height:auto!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }

  body.is-tools .toolsNotamSection__copy .eyebrow{
    grid-row:1!important;
    grid-column:1!important;
    align-self:start!important;
    display:inline-flex!important;
    align-items:center!important;
    width:max-content!important;
    margin:0!important;
    transform:translateY(-15px)!important;
    color:#7ed3e5!important;
    font-size:.66rem!important;
    line-height:1!important;
    letter-spacing:.16em!important;
    font-weight:900!important;
    text-transform:uppercase!important;
  }

  body.is-tools .toolsNotamSection__copy .eyebrow:before{
    background:#be3c3f!important;
  }

  body.is-tools .toolsNotamSection__copy h2{
    grid-row:2!important;
    grid-column:1!important;
    align-self:start!important;
    position:relative!important;
    width:fit-content!important;
    max-width:100%!important;
    margin:-.8px 0 0!important;
    padding:0 0 12px!important;
    color:#fbf7f1!important;
    font-family:var(--font-display)!important;
    font-size:clamp(1.62rem,7.3vw,1.95rem)!important;
    line-height:1.03!important;
    letter-spacing:0!important;
    font-weight:700!important;
  }

  body.is-tools .toolsNotamSection__copy h2:after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    bottom:0!important;
    width:100%!important;
    height:3px!important;
    border-radius:3px!important;
    background:#be3c3f!important;
  }

  body.is-tools .toolsNotamSection__copy p{
    grid-row:3!important;
    grid-column:1!important;
    max-width:none!important;
    margin:0!important;
    color:rgba(251,247,241,.84)!important;
    font-size:clamp(.76rem,3.1vw,.92rem)!important;
    line-height:1.24!important;
    font-weight:650!important;
    transform:translateY(11px)!important;
  }

  body.is-tools .toolsNotamMap{
    grid-row:4!important;
    grid-column:1!important;
    align-self:stretch!important;
    justify-self:stretch!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    border:1px solid rgba(251,247,241,.28)!important;
    border-radius:var(--r-4,10px)!important;
    background:#d6e6f0!important;
    box-shadow:0 14px 30px rgba(7,28,51,.18)!important;
    overflow:hidden!important;
    height:120%!important;
    transform:translateY(var(--notam-map-shift))!important;
  }

  body.is-tools .toolsNotamMap img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
  }

  body.is-tools .toolsNotamSection__features{
    grid-row:5!important;
    grid-column:1!important;
    align-self:stretch!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:clamp(7px,1svh,10px)!important;
    width:100%!important;
    margin:0!important;
    transform:translateY(var(--notam-stack-shift))!important;
  }

  body.is-tools .toolsNotamSection__features div{
    display:grid!important;
    grid-template-columns:30px minmax(118px,.38fr) minmax(0,1fr)!important;
    gap:10px!important;
    align-items:center!important;
    min-height:0!important;
    height:auto!important;
    padding:8px 10px!important;
    border:1px solid rgba(251,247,241,.22)!important;
    border-radius:var(--r-4,10px)!important;
    background:rgba(251,247,241,.08)!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }

  body.is-tools .toolsNotamSection__features i{
    width:28px!important;
    height:28px!important;
    color:#063964!important;
    background:#fbf7f1!important;
    font-size:.76rem!important;
    line-height:1!important;
  }

  body.is-tools .toolsNotamSection__features strong{
    color:#fbf7f1!important;
    font-size:clamp(.7rem,2.86vw,.82rem)!important;
    line-height:1.05!important;
    font-weight:900!important;
    overflow-wrap:anywhere!important;
  }

  body.is-tools .toolsNotamSection__features span{
    color:rgba(251,247,241,.74)!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
    overflow:hidden!important;
    font-size:clamp(.55rem,2.22vw,.65rem)!important;
    line-height:1.13!important;
    font-weight:820!important;
  }

  body.is-tools .toolsNotamSection__copy > .btn{
    grid-row:6!important;
    grid-column:1!important;
    align-self:end!important;
    width:100%!important;
    min-height:46px!important;
    border-radius:var(--r-4,10px)!important;
    background:#c93f45!important;
    border-color:#c93f45!important;
    color:#fff!important;
    box-shadow:0 16px 28px rgba(8,32,55,.22)!important;
    font-size:clamp(.78rem,3.25vw,.9rem)!important;
    text-align:center!important;
  }

  body.is-tools .toolsNotamSection__status,
  body.is-tools .toolsNotamSection__cards,
  body.is-tools .toolsNotamSection__warning{
    display:none!important;
  }
}

@media(max-width:640px) and (max-height:700px){
  body.is-tools .toolsNotamSection{
    --notam-stack-shift:83px;
    --notam-map-shift:38px;
  }

  body.is-tools .toolsNotamSection__inner{
    padding-top:calc(var(--header-height,78px) + 6px)!important;
    padding-bottom:14px!important;
  }

  body.is-tools .toolsNotamSection__grid{
    grid-template-rows:11px max-content max-content minmax(94px,.26fr) minmax(132px,.46fr) auto!important;
    gap:7px!important;
  }

  body.is-tools .toolsNotamSection__copy h2{
    max-width:17ch!important;
    font-size:1.42rem!important;
    padding-bottom:12px!important;
  }

  body.is-tools .toolsNotamSection__copy p{
    font-size:.7rem!important;
    line-height:1.18!important;
  }

  body.is-tools .toolsNotamSection__features{
    gap:6px!important;
  }

  body.is-tools .toolsNotamSection__features div{
    grid-template-columns:26px minmax(112px,.38fr) minmax(0,1fr)!important;
    gap:8px!important;
    padding:7px 8px!important;
  }

  body.is-tools .toolsNotamSection__features i{
    width:25px!important;
    height:25px!important;
    font-size:.68rem!important;
  }

  body.is-tools .toolsNotamSection__features strong{
    font-size:.62rem!important;
  }

  body.is-tools .toolsNotamSection__features span{
    -webkit-line-clamp:2!important;
    font-size:.5rem!important;
    line-height:1.1!important;
  }

  body.is-tools .toolsNotamSection__copy > .btn{
    min-height:40px!important;
    font-size:.72rem!important;
  }
}

@media(max-width:640px) and (min-height:701px) and (max-height:780px){
  body.is-tools .toolsNotamSection{
    --notam-stack-shift:113px;
    --notam-map-shift:51px;
  }
}

@media(max-width:640px) and (min-height:881px){
  body.is-tools .toolsNotamSection{
    --notam-stack-shift:144px;
    --notam-map-shift:62px;
  }
}

/* Mobile V3 - A propos : Qui sommes-nous plein ecran */
@media(max-width:640px){
  body.is-about{
    --about-intro-visible-height:calc(var(--mobile-vh,100svh) - 76px);
  }

  body.is-about .aboutIntro,
  body[data-responsive-mode].is-about .aboutIntro,
  body[data-responsive-mode="compact"].is-about .aboutIntro,
  body[data-responsive-mode="mobile"].is-about .aboutIntro{
    box-sizing:border-box!important;
    min-height:var(--about-intro-visible-height)!important;
    height:var(--about-intro-visible-height)!important;
    max-height:var(--about-intro-visible-height)!important;
    margin:0!important;
    padding:clamp(14px,2.2svh,20px) 18px 10px!important;
    display:grid!important;
    grid-template-rows:minmax(0,1fr)!important;
    align-content:stretch!important;
    overflow:hidden!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
  }

  body.is-about .aboutIntroText{
    box-sizing:border-box!important;
    min-height:0!important;
    height:100%!important;
    display:flex!important;
    flex-direction:column!important;
    padding:clamp(18px,3svh,24px) clamp(18px,5vw,24px) clamp(18px,3svh,24px)!important;
    overflow:hidden!important;
  }

  body.is-about .aboutIntro .eyebrow{
    display:flex!important;
    width:max-content!important;
    max-width:100%!important;
    margin:0 0 clamp(12px,2.1svh,18px)!important;
    color:#be3c3f!important;
    font-family:var(--font-sans,"DM Sans",Arial,sans-serif)!important;
    font-size:clamp(.56rem,2.45vw,.68rem)!important;
    line-height:1!important;
    letter-spacing:.16em!important;
    font-weight:850!important;
  }

  body.is-about .aboutIntro .eyebrow:before{
    width:28px!important;
    height:2px!important;
    background:#be3c3f!important;
  }

  body.is-about .aboutIntro h1{
    flex:0 0 auto!important;
    margin:0 0 clamp(12px,2.2svh,18px)!important;
    padding:0 0 clamp(12px,2svh,16px)!important;
    font-size:clamp(1.66rem,6.9vw,2.28rem)!important;
  }

  body.is-about .aboutIntro p,
  body.is-about .aboutIntro.aboutIntro--withVideo .aboutIntroText p{
    flex:0 0 auto!important;
    font-size:clamp(.88rem,3.75vw,1.02rem)!important;
    line-height:1.4!important;
  }

  body.is-about .aboutVideoBlock--mobile{
    flex:1 1 auto!important;
    min-height:0!important;
    display:grid!important;
    grid-template-rows:minmax(0,1fr) auto!important;
    gap:8px!important;
    margin:clamp(14px,2.4svh,22px) 0 0!important;
  }

  body.is-about .aboutVideoBlock--mobile .aboutVideoPreview{
    min-height:0!important;
    height:100%!important;
  }

  body.is-about .aboutVideoBlock--mobile .aboutVideo{
    height:100%!important;
    min-height:clamp(122px,20svh,190px)!important;
    max-height:none!important;
  }
}

@media(max-width:640px) and (max-height:700px){
  body.is-about .aboutIntro .eyebrow{
    margin-bottom:10px!important;
    font-size:.55rem!important;
  }

  body.is-about .aboutIntro h1{
    margin-bottom:10px!important;
    padding-bottom:10px!important;
    font-size:clamp(1.46rem,6.1vw,1.86rem)!important;
  }

  body.is-about .aboutIntro p,
  body.is-about .aboutIntro.aboutIntro--withVideo .aboutIntroText p{
    font-size:clamp(.79rem,3.45vw,.9rem)!important;
    line-height:1.32!important;
  }

  body.is-about .aboutVideoBlock--mobile{
    margin-top:12px!important;
    gap:6px!important;
  }

  body.is-about .aboutVideoBlock--mobile .aboutVideo{
    min-height:118px!important;
  }
}

@media(max-width:900px){
  /* Footer mobile - override final : le footer doit rester scrollable. */
  html.footer-scroll-free,
  html.footer-scroll-free.is-home,
  html.footer-scroll-free.is-about,
  html.footer-scroll-free.is-domaines,
  html.footer-scroll-free.is-publications,
  html.footer-scroll-free.is-tools,
  html.footer-scroll-free.is-snap-page,
  html.footer-scroll-free body.footer-scroll-free,
  html.footer-scroll-free.is-tools body.is-tools,
  html.footer-scroll-free.is-snap-page body.is-snap-page{
    scroll-snap-type:none!important;
    overscroll-behavior-y:auto!important;
  }

  body.footer-scroll-free .footer{
    scroll-snap-align:none!important;
    scroll-snap-stop:normal!important;
  }

  html.footer-scroll-free body.footer-scroll-free .header,
  html.footer-scroll-free body.footer-scroll-free.is-home .header,
  html.footer-scroll-free body.footer-scroll-free.mobile-header-hidden .header,
  html.footer-scroll-free body.footer-scroll-free.mobile-header-revealed .header{
    transform:translateY(-110%)!important;
    opacity:0!important;
    pointer-events:none!important;
  }

  body.is-contact .footer,
  body.is-member .footer{
    display:block!important;
  }
}

@media(max-width:900px){
  body.is-tools #main > .toolsEnvRestrictions.tools-snap-block{
    display:none!important;
    min-height:0!important;
    height:0!important;
    max-height:0!important;
    overflow:hidden!important;
    scroll-snap-align:none!important;
    scroll-snap-stop:normal!important;
  }
}

/* Accueil + A propos (regle commune : les deux pages partagent le meme
   composant "Groupements adherents" et doivent rester visuellement
   identiques) - la colonne de gauche (categories) et la colonne de droite
   (descriptif du groupement selectionne) doivent faire chacune 50% de la
   largeur totale, au lieu d'une colonne de gauche flexible + une colonne de
   droite a largeur fixe (~340-390px). Placee en fin de fichier pour
   l'emporter sur les regles precedentes qui fixaient ce ratio (dont la
   regle dupliquee plus haut pour la page A propos, qui datait d'avant ce
   correctif 50/50 et n'avait jamais ete mise a jour). */
@media (min-width:1221px) and (min-height:601px){
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementsChoiceDesktop,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementsChoiceDesktop{
    grid-template-columns:1fr 1fr!important;
  }
}

/* Accueil + A propos (regle commune) - dans l'en-tete de chaque categorie de
   groupements (Exploitants, Infrastructures & services, Aviation generale),
   le numero (1/2/3) et le libelle doivent etre cote a cote au lieu de l'un
   au-dessus de l'autre. On ne touche pas au reste de la structure : les
   groupements de la categorie restent affiches en dessous, sur toute la
   largeur du bloc. */
@media (min-width:1221px) and (min-height:601px){
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceFamily,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementChoiceFamily{
    display:grid!important;
    grid-template-columns:auto 1fr!important;
    grid-template-areas:"badge title" "stack stack"!important;
    align-items:center!important;
    column-gap:14px!important;
  }
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceNumber,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementChoiceNumber{
    grid-area:badge!important;
    margin-bottom:0!important;
  }
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceFamily h3,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementChoiceFamily h3{
    grid-area:title!important;
    margin:0!important;
  }
  html.is-home body.is-home #main > .home-snap-block--groups.fnamGroupementsShared .groupementChoiceStack,
  body.is-about .aboutGroupsHomeClone.fnamGroupementsShared .groupementChoiceStack{
    grid-area:stack!important;
  }
}

/* Bug "marge qui empeche le plein ecran" sur les pages construites avec le
   builder WPBakery natif de WordPress (ex: /adherents/, "Audience Hub").
   La regle generique ".section{padding:74px 0}" (et sa variante mobile
   ".section{padding:52px 0}") plus haut dans ce fichier est une classe
   utilitaire de notre design system, mais WPBakery donne aussi le nom de
   classe "section" a la ligne (vc_row) qui enveloppe tout le contenu de la
   page - collision de nom involontaire. Consequence : un espace vide
   d'environ 74px (52px en mobile) apparait entre le header et le contenu
   (et entre le contenu et le footer), qui donne l'impression que la page
   ne s'affiche pas en plein ecran. Le theme Bridge ne prevoit aucun
   padding par defaut pour ces lignes WPBakery (verifie : sa regle
   "div.section" ne definit ni padding ni margin), donc on neutralise
   uniquement les lignes WPBakery reelles (".vc_row.section", jamais
   utilise par nos propres composants) sans toucher aux composants qui
   utilisent volontairement ".section" comme base (ex: .audienceHubBuilder,
   qui a deja sa propre regle plus specifique et n'est donc pas affecte). */
.vc_row.section{
  padding:0!important;
}

/* Meme page /adherents/ ("Audience Hub") : il restait une petite marge
   (env. 20px en haut, 10px de chaque cote) meme apres le correctif
   ci-dessus. Source differente cette fois : pas notre fichier, mais
   fnam.css (a la racine du site), regle ".full_width .wpb_wrapper
   .wpb_wrapper{padding:20px 10px 0}" - un espacement par defaut de
   WPBakery/du theme pour les pages "boxed" classiques, qui tombe aussi
   sur la structure (doublement imbriquee) de nos pages Audience Hub.
   On ne touche pas a fnam.css (espacement voulu ailleurs sur le site,
   pages de contenu classiques) : on neutralise uniquement pour les pages
   Audience Hub via la classe body.is-audience-hub. Verifie en direct sur
   le site : plus aucun espace ni en haut ni sur les cotes, bord a bord. */
body.is-audience-hub .full_width .wpb_wrapper .wpb_wrapper{
  padding:0!important;
}

/* Page /nos-domaines-daction/ ("Nos domaines d'action") : au clic sur
   "Lire le detail", la carte creme (.domainesCopy) affiche un ascenseur
   interne des que le texte depasse la hauteur disponible (calc(100svh -
   header - clamp(...))) -- ca arrivait sur les 5 domaines en mode bureau
   large ("immersive", >=1180px), le domaine "outre-mer" etant le pire cas.
   Plutot que de retirer le scroll (qui sert de filet de securite si le
   texte s'allonge un jour), on elargit la carte : en mode immersive il y a
   largement la place (la 3e colonne de la grille ne contient que le fond
   photo, pas de contenu), donc on fait grandir .domainesCopy de 760px a
   960px et on redonne un peu de hauteur (clamp reduit de 52-78px a
   38-58px). Verifie en direct sur les 5 domaines (social, developpement
   durable, technique, economie, outre-mer) : 0px de depassement pour
   chacun sur un ecran 1920px. En dessous de 1180px le site bascule en mode
   "compact"/"mobile", deja gere par une regle existante plus haut
   (overflow:visible, pas de hauteur maximale) : cette regle-ci ne s'applique
   qu'au mode "immersive" et ne touche pas les autres modes. Entre 1180px et
   ~1400px (immersive le plus etroit), la carte se retrecit naturellement
   avec le reste de la grille -- comportement deja present avant ce
   correctif (donc pas de regression), l'ascenseur peut y reapparaitre si le
   texte est long, ce qui reste correct. */
body[data-responsive-mode="immersive"].is-domaines .domainesSectionLayout{
  grid-template-columns:minmax(190px,260px) minmax(0,960px) minmax(140px,1fr)!important;
}
body[data-responsive-mode="immersive"].is-domaines .domainesCopy{
  max-width:960px!important;
  max-height:calc(100svh - var(--domaines-fixed-header) - clamp(38px,5svh,58px))!important;
}
body[data-responsive-mode="immersive"].is-domaines .domainesCopy h2,
body[data-responsive-mode="immersive"].is-domaines .domainesLead,
body[data-responsive-mode="immersive"].is-domaines .domainesText p{
  max-width:900px!important;
}
