/* V70 is deliberately a small, separate editorial layer over V69. */
.home-page .hero-intro-stage,
.home-page .hero-intro-stage.hero66-ready {
  height:148svh!important;
  min-height:0!important;
  background:#f5f2ea;
}
.home-page .hero-intro-stage .hero--editorial,
.home-page .hero-intro-stage.hero66-ready .hero--editorial {
  position:sticky!important;
  top:var(--header)!important;
  height:calc(100svh - var(--header))!important;
  min-height:0!important;
  overflow:hidden;
  isolation:isolate;
  background:#f5f2ea;
}
.home-page .hero-intro-stage .hero--editorial::after {
  content:"";
  position:absolute;
  z-index:8;
  inset:0;
  background:#172b48;
  transform:translate3d(0,calc(100% - var(--h70-cover,0%)),0);
  pointer-events:none;
  will-change:transform;
}
.home-page .hero--editorial .hero-copy {
  transform:translate3d(0,var(--h70-copy-y,0px),0)!important;
}
.home-page .hero--editorial .hero-portrait,
.home-page .hero--editorial .hero-portrait:hover {
  width:min(31vw,430px);
  height:min(72svh,580px);
  right:auto;
  bottom:auto;
  margin:0;
  overflow:hidden;
  border:1px solid #dbe1fa;
  border-radius:48% 48% 8px 8px / 35% 35% 8px 8px;
  background:linear-gradient(155deg,#edf0ff 4%,#e6eafe 72%,#dfe6fa);
  box-shadow:0 1px 0 #ffffffbb,0 24px 54px #18284a0d;
  transform:translate3d(var(--h70-arch-x,0px),var(--h70-arch-y,0px),0)!important;
  will-change:transform;
}
.home-page .hero--editorial .hero-portrait::before {
  content:"";
  display:block!important;
  position:absolute;
  z-index:0;
  width:83%;
  aspect-ratio:1;
  left:8.5%;
  top:9%;
  border:1px solid #3158f42b;
  border-radius:50%;
  pointer-events:none;
}
.home-page .hero--editorial .hero-portrait .portrait-window {
  z-index:1;
  overflow:hidden;
  inset:0;
  background:transparent;
}
.home-page .hero--editorial .hero-portrait .portrait-window img {
  z-index:1;
  left:50%;
  right:auto;
  bottom:0;
  width:auto;
  max-width:none;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  transform:translate3d(calc(-50% + var(--h70-photo-x,0px)),var(--h70-photo-y,0px),0)!important;
  will-change:transform;
}
.home-page .hero--editorial .hero-aperture{display:none!important}
.home-page .hero--editorial h1{max-width:780px}
.home-page .hero--editorial h1 em{white-space:nowrap;max-width:none}
.home-page #malakoff-experience{position:relative;z-index:2}

/* Client identification belongs to the case, not the hero. */
.mh3-rail .mh70-logo {
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  width:112px;
  height:36px;
  overflow:hidden;
  border-radius:5px;
  background:#fff;
  position:relative;
  isolation:isolate;
}
.mh3-rail .mh70-logo img {
  position:absolute;
  width:123px;
  max-width:none;
  height:auto;
  left:-9px;
  top:-26px;
}
.mh3-rail .mh70-client-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.mh3-stage .mh3-rail{min-height:52px;align-items:center}
.home-page .mh3-stage{grid-template-rows:52px 1fr 48px 24px}
.home-page #interface-en-contexte .gn47-intro{min-height:68px!important}
.gn70-cetelem-mark{display:flex;align-items:center;gap:13px}
.gn70-cetelem-mark img{width:92px;height:auto;max-height:28px;object-fit:contain}
.gn70-cetelem-mark .eyebrow{font-size:10px!important;letter-spacing:.11em!important}

/* The exploratory map is a designed explanation, not a historic screenshot. */
.mh10-audit-tile strong{font-size:14px;line-height:1.2}
.mh10-audit-grid{grid-template-rows:repeat(2,1fr)}
.mh10-audit-heading>span{font-size:12px}
.mh10-audit-tile small{font-size:11px}
.mh10-audit-points>span{font-size:10px}

/* The real case studies are now the first projects, so the list holds only the
   distinct personal product; it should not announce another duplicate index. */
.home-page #contributions{padding-top:clamp(52px,6vw,88px)}
.home-page #contributions .personal-project{border-top:1px solid #dfe3e8}

@media(max-width:1100px){
  .home-page .hero--editorial .hero-portrait{width:min(38vw,390px);height:min(70svh,530px)}
}
@media(max-width:800px){
  .home-page .hero-intro-stage,
  .home-page .hero-intro-stage.hero66-ready{height:145svh!important}
  .home-page .hero--editorial .hero-copy{margin-top:0}
  .home-page .hero--editorial .hero-portrait,
  .home-page .hero--editorial .hero-portrait:hover{
    position:absolute;
    width:min(64vw,260px);
    height:min(48svh,376px);
    right:clamp(14px,5vw,28px);
    bottom:clamp(12px,4svh,30px);
  }
  .home-page .hero--editorial h1{max-width:100%}
  .home-page .hero--editorial h1 em{max-width:100%}
  .mh3-rail .mh70-logo{width:96px;height:30px}
  .mh3-rail .mh70-logo img{width:105px;left:-7px;top:-22px}
  .mh3-stage .mh3-rail{min-height:42px}
  .home-page .mh3-stage{grid-template-rows:42px 1fr 44px 16px}
  .mh3-rail>span+span{display:none}
  .mh10-audit-heading>span{font-size:10px}
  .mh10-audit-tile strong{font-size:12px;line-height:1.2}
  .mh10-audit-tile small{font-size:10px}
  .mh10-audit-line{display:none}
  .mh10-audit-points>span{font-size:9px}
  .gn70-cetelem-mark img{width:72px;max-height:22px}
  .gn70-cetelem-mark .eyebrow{font-size:9px!important}
}
@media(min-width:700px) and (max-width:800px){
  .home-page .hero--editorial .hero-portrait,
  .home-page .hero--editorial .hero-portrait:hover{
    width:min(45vw,330px);
    height:min(60svh,470px);
    right:30px;
    bottom:24px;
  }
  .home-page .hero--editorial h1{max-width:calc(100vw - 60px)}
}
@media(max-width:374px){
  .home-page .hero--editorial .hero-portrait,
  .home-page .hero--editorial .hero-portrait:hover{width:min(63vw,214px);height:min(44svh,318px);right:16px;bottom:14px}
  .home-page .hero--editorial h1{font-size:clamp(31px,10vw,38px)}
  .mh10-audit-tile strong{font-size:11px}
  .mh10-audit-points>span{font-size:8px}
  .mh10-full-view[data-mh10-full="mobile"] .mh10-app-hero{height:auto;min-height:210px;padding:18px 16px 20px}
  .mh10-full-view[data-mh10-full="mobile"] .mh10-app-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:none;gap:6px}
  .mh10-full-view[data-mh10-full="mobile"] .mh10-app-actions>span{min-width:0;max-width:none;font-size:10px;padding:7px 5px}
  .mh10-full-view[data-mh10-full="mobile"] .mh10-app-actions>span:last-child{grid-column:1/-1}
  .mh10-full-view[data-mh10-full="mobile"] .mh10-app-row{display:grid;grid-template-columns:22px minmax(0,1fr);gap:7px 8px}
  .mh10-full-view[data-mh10-full="mobile"] .mh10-app-row>b{grid-column:2;justify-self:start;text-align:left}
}
@media(max-height:700px) and (max-width:800px){
  .home-page .hero--editorial .hero-portrait,
  .home-page .hero--editorial .hero-portrait:hover{width:min(55vw,225px);height:min(43svh,305px)}
}
@media(prefers-reduced-motion:reduce){
  .home-page .hero-intro-stage,
  .home-page .hero-intro-stage.hero66-ready{height:auto!important}
  .home-page .hero-intro-stage .hero--editorial,
  .home-page .hero-intro-stage.hero66-ready .hero--editorial{position:relative!important;top:auto!important}
  .home-page .hero-intro-stage .hero--editorial::after{display:none}
  .home-page .hero--editorial .hero-copy,
  .home-page .hero--editorial .hero-portrait,
  .home-page .hero--editorial .portrait-window img{transform:none!important}
  .home-page .hero--editorial .portrait-window img{transform:translateX(-50%)!important}
}
html[data-motion="reduced"] .home-page .hero-intro-stage,
.motion-reduced .home-page .hero-intro-stage{height:auto!important}
html[data-motion="reduced"] .home-page .hero-intro-stage .hero--editorial,
.motion-reduced .home-page .hero-intro-stage .hero--editorial{position:relative!important;top:auto!important}
html[data-motion="reduced"] .home-page .hero-intro-stage .hero--editorial::after,
.motion-reduced .home-page .hero-intro-stage .hero--editorial::after{display:none}
