/* V95 — editorial navigation and mobile reading comfort.
   Design constraint: one persistent navigation surface in client stories.
   This file changes the home page ONLY; case-study detail pages are preserved.
   Desktop V94 client navigation and illustrations remain unchanged. */
.gn95-mobile-label { display:none }
.gn95-desktop-label { display:inline }
.home-page.v95 .gn94-project-links a { transition:background .16s ease,color .16s ease }
/* A project is a link to a chapter, not an ARIA tab panel. */
.home-page.v95 .gn94-project-links a:focus-visible {outline:3px solid #294be8;outline-offset:-4px;border-radius:4px}
.home-page.v95 .gn94-project-links a[aria-current="location"]:focus-visible {outline-color:currentColor}
/* Better grouping: logo and scope work as one connected piece of editorial context. */
.home-page.v95 .gn94-client-id>span{line-height:1.45}
/* Keep the interactive lab readable in its own narrow cards. */
@media (max-width:800px) {
  :root {
    --gn88-site-header:0px;
    --gn94-project-nav:54px;
    --gn88-story-top:var(--gn94-project-nav);
    --gn95-gutter:clamp(18px,5.4vw,26px);
  }
  /* On small screens the global header scrolls away. In the three case studies
     the sole sticky surface is the project switcher; no stacked navigation. */
  .home-page.v95 .site-header {position:relative;top:auto;z-index:40;}
  .home-page.v95 .gn94-project-nav{
    top:0;height:var(--gn94-project-nav);z-index:35;
    border-top:0;box-shadow:0 1px 0 rgba(20,38,66,.06);
  }
  .home-page.v95 .gn94-project-nav>.wrap{width:100%;padding-inline:var(--gn95-gutter);}
  .home-page.v95 .gn94-project-links{
    flex:1 1 auto;width:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
    gap:clamp(4px,1.2vw,10px);min-width:0;
  }
  .home-page.v95 .gn94-project-links a{
    display:flex;min-width:0;width:100%;min-height:48px;height:100%;
    justify-content:center;align-items:center;
    padding:0 4px;
    font:600 clamp(12px,3.5vw,14px)/1.2 var(--sans,Arial,sans-serif);
    white-space:nowrap;text-align:center;
  }
  .home-page.v95 .gn94-project-links a:after{left:3px;right:3px;height:3px;}
  .home-page.v95 .gn94-project-links a[aria-current="location"]{border-radius:7px 7px 0 0}
  .home-page.v95 .gn94-project-number,.gn95-desktop-label{display:none}
  .home-page.v95 .gn95-mobile-label{display:inline}
  /* Do not reserve space for a header that has already scrolled off-screen. */
  .home-page.v95 .mh9 .mh3-stage {top:var(--gn94-project-nav);height:calc(100svh - var(--gn94-project-nav));}
  .home-page.v95 .gn47-scene-sticky,.home-page.v95 .at84-stage{top:var(--gn94-project-nav);height:calc(100svh - var(--gn94-project-nav));}
  .home-page.v95 [data-client],.home-page.v95 #interface-en-contexte{scroll-margin-top:calc(var(--gn94-project-nav) + 12px)}
  .home-page.v95 #ia,.home-page.v95 #apphalt-produit,.home-page.v95 #parcours,.home-page.v95 #contact{scroll-margin-top:18px}
  .home-page.v95 .gn94-client-id{gap:12px;min-height:36px;margin-bottom:14px;flex-wrap:wrap;align-items:center}
  .home-page.v95 .gn94-client-id img{height:34px;width:126px;max-width:42%;object-fit:contain;}
  .home-page.v95 .gn94-client-id>span{font-size:12px;letter-spacing:0;opacity:.88;max-width:25ch}
  /* Full-size typography is a priority; extra vertical room comes from
     removing the 67px pinned global header, not shrinking media indefinitely. */
  .home-page.v95 #malakoff-experience .mh3-stage{
    padding:clamp(16px,2.7svh,24px) var(--gn95-gutter) 84px;
  }
  .home-page.v95 #malakoff-experience .mh3-main{
    grid-template-rows:clamp(220px,30svh,255px) minmax(0,1fr);gap:12px;
  }
  .home-page.v95 #malakoff-experience .mh3-copy-stack{height:clamp(220px,30svh,255px)}
  .home-page.v95 #malakoff-experience .mh3-copy{padding:0;justify-content:flex-start}
  .home-page.v95 #malakoff-experience .mh3-copy h2{font-size:clamp(29px,7.8vw,37px);line-height:1.09;letter-spacing:-.045em;max-width:21ch}
  .home-page.v95 #malakoff-experience .mh3-copy .mh3-intro{font-size:15px;line-height:1.45;margin-top:12px;max-width:39ch}
  .home-page.v95 #malakoff-experience .mh3-kicker{font-size:11px;letter-spacing:.11em;margin:0 0 10px}
  .home-page.v95 .gn94-controls{padding:10px var(--gn95-gutter) 6px;gap:10px;height:68px;min-height:68px}
  .home-page.v95 .gn94-meter{left:var(--gn95-gutter);right:var(--gn95-gutter)}
  .home-page.v95 .gn94-controls .gn93-progress{font-size:12px;line-height:1.3;max-width:40%;letter-spacing:0}
  .home-page.v95 .gn94-skip{font-size:12px;padding:0 6px;min-height:44px}
  .home-page.v95 .gn94-controls .gn93-buttons button,
  .home-page.v95 .gn94-controls .mh3-controls button{height:44px;width:44px;min-width:44px}
  /* Context labels and editorials are no longer squeezed against scene edges. */
  .home-page.v95 .gn47-intro{padding-block:36px 28px;}
  .home-page.v95 .gn47-intro h2{font-size:clamp(32px,8vw,40px);line-height:1.11;margin-bottom:16px;}
  .home-page.v95 .gn47-lede{font-size:16px;line-height:1.55;}
  .home-page.v95 .gn47-context{font-size:12px;line-height:1.55;}
  .home-page.v95 .gn94-cetelem-id{padding-inline:var(--gn95-gutter);height:50px;gap:12px}
  .home-page.v95 .gn94-cetelem-id img{width:110px;height:34px}
  .home-page.v95 .gn94-cetelem-id span{font-size:12px}
  .home-page.v95 .gn47-scene-sticky iframe{height:calc(100% - 118px)!important}
  .home-page.v95 .gn93-scene-context{top:63px;left:var(--gn95-gutter);right:var(--gn95-gutter);width:auto;max-width:40ch;font-size:14px}
  .home-page.v95 .gn47-reduced-grid article{padding:clamp(16px,5vw,22px)}
  .home-page.v95 #autres-realisations{padding-block:40px 60px}
  .home-page.v95 #autres-realisations .gn94-scope-heading{gap:12px;align-items:flex-start}
  .home-page.v95 #autres-realisations .gn94-scope-heading img{flex:0 0 95px;width:95px;object-fit:contain}
  .home-page.v95 #autres-realisations .gn94-scope-heading h3{font-size:clamp(22px,6vw,27px);line-height:1.13}
  .home-page.v95 #autres-realisations .gn94-scope-heading p{font-size:12px}
  /* Allianz controls inherit precisely the same horizontal rhythm. */
  .home-page.v95 .at84-stage-inner{
    padding:clamp(17px,2.9svh,26px) var(--gn95-gutter) 0;
    grid-template-rows:clamp(230px,32svh,275px) minmax(0,1fr);gap:12px;
  }
  .home-page.v95 .at84-beat .gn94-client-id{margin-bottom:12px}
  .home-page.v95 .at84-beat .gn94-client-id img{height:34px;width:120px;max-width:none;padding:5px 7px;}
  .home-page.v95 .at84-beat h3{font-size:clamp(29px,7.8vw,38px);line-height:1.09;margin:9px 0 12px;max-width:19ch}
  .home-page.v95 .at84-beat p{font-size:15px;line-height:1.5;max-width:38ch}
  .home-page.v95 .at84-beat .at84-tag{font-size:11px}
  /* Neutral and personal chapters share the same reading gutter. */
  .home-page.v95 .ai94,.home-page.v95 .ah94{padding-block:clamp(60px,9vw,76px)}
  .home-page.v95 .ai94 h2,.home-page.v95 .ah94 h2{font-size:clamp(36px,9vw,48px);line-height:1.09}
  .home-page.v95 .ai94-intro-note>p,.home-page.v95 .ah94-copy>p{font-size:16px;line-height:1.62}
  .home-page.v95 .ai94-panel-copy>p{font-size:15px;line-height:1.55}
  .home-page.v95 .ai94-panel{padding:clamp(20px,5.4vw,28px)}
  .home-page.v95 .ai94-art{min-height:310px}
  .home-page.v95 .ai94-tabs button{font-size:clamp(11px,2.9vw,13px);padding:12px 4px;min-height:50px}
  .home-page.v95 .ai94-option>p,.home-page.v95 .ai94-questions p{font-size:12px;line-height:1.4}
  .home-page.v95 .ai94-option>span,.home-page.v95 .ai94-form-lines i{font-size:11px}
  .home-page.v95 .ah94-views button{font-size:12px;min-height:44px;line-height:1.35;padding-inline:8px}
  .home-page.v95 .ah94-demo{padding:clamp(16px,4.6vw,24px)}
  .home-page.v95 .about94{padding-block:64px}
  .home-page.v95 .about94 p:not(.eyebrow){line-height:1.6;font-size:15px}
  .home-page.v95 .v37-contact{padding-block:64px}
  /* Near-safe reading without a special smartphone width whitelist. */
  .home-page.v95 .gn93-summary,
  .home-page.v95 .mh9 .mh-after{padding-inline:var(--gn95-gutter)}
}
/* Tablet: room for full, recognizable client names without cramped tabs. */
@media (min-width:601px) and (max-width:800px) {
  .home-page.v95 .gn94-project-links a{font-size:14px}
  .home-page.v95 .gn95-mobile-label{display:none}
  .home-page.v95 .gn95-desktop-label{display:inline}
}
@media (max-width:375px) {
  :root{--gn95-gutter:18px}
  .home-page.v95 #malakoff-experience .mh3-main{grid-template-rows:clamp(242px,34svh,280px) minmax(0,1fr)}
  .home-page.v95 #malakoff-experience .mh3-copy-stack{height:clamp(242px,34svh,280px)}
  .home-page.v95 .at84-stage-inner{grid-template-rows:clamp(245px,35svh,280px) minmax(0,1fr)}
  .home-page.v95 .gn94-client-id img{width:110px;height:32px}
  .home-page.v95 .gn94-client-id>span{font-size:12px}
  .home-page.v95 #malakoff-experience .mh3-copy h2,.home-page.v95 .at84-beat h3{font-size:clamp(28px,8vw,31px)}
  .home-page.v95 .gn94-controls .gn93-progress{max-width:34%;font-size:11px}
  .home-page.v95 #autres-realisations .gn94-scope-heading{display:block}
  .home-page.v95 #autres-realisations .gn94-scope-heading img{width:110px;height:34px;margin-bottom:14px}
}
/* Windows too short for a pinned presentation retain the existing full static reading path. */
@media (prefers-reduced-motion:reduce) {
  .home-page.v95 .gn94-project-links a{transition:none}
}
html.motion-reduced .home-page.v95 .gn94-project-links a{transition:none}
@media print {
  .home-page.v95 .gn94-project-nav{display:none!important}
}

/* A compact route to CV and contact prevents a dead end in long stories,
   without introducing another pinned header. Native <details> = no JS dependency. */
.gn95-quick-menu{display:none}
@media (max-width:800px){
  .home-page.v95 .gn94-project-nav>.wrap{gap:6px}
  .home-page.v95 .gn95-quick-menu{display:block;flex:0 0 46px;height:100%;position:relative;align-self:stretch;z-index:5}
  .home-page.v95 .gn95-quick-menu>summary{
    display:flex;gap:3px;align-items:center;justify-content:center;min-width:46px;
    min-height:48px;height:100%;list-style:none;cursor:pointer;
    font:600 12px/1.25 var(--sans,Arial,sans-serif);color:#455367;
    border-left:1px solid #e7eaf0;padding:0 2px;
  }
  .home-page.v95 .gn95-quick-menu>summary::-webkit-details-marker{display:none}
  .home-page.v95 .gn95-quick-menu>summary::marker{content:''}
  .home-page.v95 .gn95-quick-menu>summary span{font-size:13px;transform:translateY(-1px);transition:transform .15s}
  .home-page.v95 .gn95-quick-menu[open]>summary{color:#294be8;background:#f1f4ff}
  .home-page.v95 .gn95-quick-menu[open]>summary span{transform:translateY(-1px) rotate(180deg)}
  .home-page.v95 .gn95-quick-menu>summary:focus-visible{outline:3px solid #294be8;outline-offset:-4px}
  .home-page.v95 .gn95-quick-menu__items{
    position:absolute;right:0;top:calc(100% + 7px);min-width:min(232px,calc(100vw - 36px));
    max-height:min(58svh,250px);overflow:auto;background:#fff;
    border:1px solid #dce2eb;border-radius:12px;padding:8px;
    box-shadow:0 12px 40px rgba(20,32,58,.15);color:#23334d;
  }
  .home-page.v95 .gn95-quick-menu__items a{
    display:flex;align-items:center;min-height:48px;padding:10px 14px;
    font:500 14px/1.35 var(--sans,Arial,sans-serif);text-decoration:none;border-radius:7px;
  }
  .home-page.v95 .gn95-quick-menu__items a:hover,
  .home-page.v95 .gn95-quick-menu__items a:focus-visible{background:#eef3fd;color:#173a8a}
  .home-page.v95 .gn95-quick-menu__items a:focus-visible{outline:2px solid #294be8;outline-offset:-2px}
}
@media (prefers-reduced-motion:reduce){.home-page.v95 .gn95-quick-menu>summary span{transition:none}}
html.motion-reduced .home-page.v95 .gn95-quick-menu>summary span{transition:none}

/* V95.1 — restore readable body copy in the expanded Malakoff transcript.
   Historical .mh-after p CSS carried light-on-dark colors into the new
   warm-paper treatment. Override paragraph color at the component boundary. */
.home-page.v95 #malakoff-experience .mh-after .mh3-transcript p {
  color:#65453d;
  opacity:1;
}
