/* Gabriel Nion V99 — navigation clarity, editorial rhythm, no redesign of client interfaces. */
:root{
  --gn99-navy:#172b48;
  --gn99-blue:#3158f4;
  --gn99-ink:#263650;
  --gn99-body:clamp(15px,1vw + 10.5px,16px);
  --gn99-small:13px;
  --gn99-caption:12px;
  --gn99-header:var(--gn88-site-header,77px);
}
html{scroll-padding-top:calc(var(--gn99-header) + 16px)}
body.home-page [data-client],body.home-page #malakoff-experience,body.home-page #interface-en-contexte,body.home-page #allianz-trade-pay,
body.home-page #gn47-after,body.home-page #autres-realisations,body.home-page #mh-story-end{
 scroll-margin-top:calc(var(--gn99-header) + var(--gn94-project-nav,54px) + 8px)
}
body.home-page #parcours,body.home-page #ia,body.home-page #contact,body.home-page #apphalt-produit{scroll-margin-top:calc(var(--gn99-header) + 14px)}
body.home-page .desktop-nav{gap:clamp(18px,2.2vw,31px)}
body.home-page .desktop-nav>a{font:550 13px/1.35 var(--sans,Arial,sans-serif);color:#33425c;white-space:nowrap}
body.home-page .desktop-nav>a:hover,body.home-page .desktop-nav>a[aria-current="location"]{color:var(--gn99-blue)}
body.home-page .header-cv{padding:7px 14px;border-radius:999px;border:1px solid #d7dfeb;color:#193356;font:600 13px/1.25 var(--sans,Arial,sans-serif);background:#f8faff;gap:5px;transition:border-color .18s,background .18s}
body.home-page .header-cv:hover,body.home-page .header-cv:focus-visible{border-color:#7b9bf7;background:#eff3ff;color:#244ad2}
body.home-page .header-cv .icon{display:none}
body.home-page .header-cv:after{content:'↗';font:600 15px/1 Arial,sans-serif;display:inline-block;margin-left:4px}
body.home-page .gn94-project-links a{font-size:13px}
body.home-page .gn94-nav-label{font-size:11px;letter-spacing:.075em}
body.home-page .gn95-quick-menu__items a{font-size:14px}
/* A scroll invitation is a secondary action; it never competes with the primary CTA. */
body.home-page .gn99-scroll-cue{
 position:absolute;bottom:-67px;left:0;z-index:4;display:inline-flex;align-items:center;gap:10px;
 min-height:44px;padding:5px 0;text-decoration:none;font:500 12px/1.4 var(--sans,Arial,sans-serif);
 color:#516583;letter-spacing:.01em;white-space:nowrap
}
body.home-page .gn99-scroll-cue:hover{color:#224acf}
body.home-page .gn99-scroll-cue:focus-visible{outline:3px solid #3158f4;outline-offset:5px;border-radius:4px}
.gn99-scroll-cue-icon{display:grid;place-items:center;width:32px;height:32px;border:1px solid #ccd7ed;border-radius:50%;background:#fff;color:#3054d7;font:600 18px/1 Arial,sans-serif;transition:transform .2s,border-color .2s}
body.home-page .gn99-scroll-cue:hover .gn99-scroll-cue-icon{transform:translateY(3px);border-color:#3158f4}
/* Floating return command, outside the sticky storytelling command rows. */
.gn99-back-top{
 position:fixed;z-index:50;right:clamp(17px,2.5vw,32px);bottom:calc(20px + env(safe-area-inset-bottom,0px));
 display:flex;align-items:center;justify-content:center;gap:10px;min-width:48px;min-height:48px;padding:9px 16px;
 background:#fff;color:#173454;border:1px solid #d7dfec;border-radius:999px;
 box-shadow:0 9px 25px rgba(18,34,63,.12);font:600 12px/1.3 var(--sans,Arial,sans-serif);
 cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px);
 transition:opacity .2s,transform .2s,visibility .2s,bottom .2s
}
.gn99-back-top>span:first-child{font:500 22px/1 Arial,sans-serif}
.gn99-back-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.gn99-back-top.is-over-scene{bottom:calc(93px + env(safe-area-inset-bottom,0px))}
.gn99-back-top:hover{border-color:#3158f4;color:#3158f4}
.gn99-back-top:focus-visible{outline:3px solid #3158f4;outline-offset:3px}
/* Cetelem's visible chapter brand now identifies the parent company unambiguously. */
.gn94-cetelem-id{gap:13px}
.gn94-cetelem-id .gn99-cetelem-subtitle{display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0}
.gn94-cetelem-id .gn99-cetelem-subtitle strong{font:600 11.5px/1.3 var(--sans,Arial,sans-serif);color:#f1f8ee}
.gn94-cetelem-id .gn99-cetelem-subtitle small{font:400 11px/1.3 var(--sans,Arial,sans-serif);color:#bad8c1}
.home-page #autres-realisations .gn94-scope-heading p{font:600 12px/1.4 var(--sans,Arial,sans-serif);color:#3c6748;letter-spacing:.012em}
/* Consistent type roles: editorial copy is readable; tiny labels remain illustrative where appropriate. */
.home-page .hero94-description,.home-page .about94 p:not(.eyebrow),.home-page .ah94-copy>p,.home-page .gn47-lede,
.home-page .ai94-intro-note>p{font-size:var(--gn99-body);line-height:1.61}
.home-page .about94 h2{font-size:clamp(38px,4.1vw,58px);line-height:1.08;letter-spacing:-.048em}
.home-page .about94 .experience h3{font-size:15px;line-height:1.4}
.home-page .about94 .experience li p{font-size:var(--gn99-small);line-height:1.55}
.home-page .about94 .text-link{font-size:14px;line-height:1.4}
.home-page .gn47-reduced-grid article p{font-size:14px;line-height:1.55}
.home-page .gn94-controls .gn93-progress{font-size:12px;line-height:1.35}
.home-page .gn94-cetelem-id,.home-page .gn94-client-id{letter-spacing:0}
.home-page .gn94-scope-heading h3{font-size:clamp(27px,2.5vw,36px)}
.home-page .gn98-ai-roles strong{font-size:15px}
.home-page .gn98-bridge-heading>p:last-child{font-size:14px}
@media(max-width:800px){
 :root{--gn99-header:0px}
 html{scroll-padding-top:12px}
 body.home-page [data-client],body.home-page #malakoff-experience,body.home-page #interface-en-contexte,body.home-page #allianz-trade-pay,
 body.home-page #gn47-after,body.home-page #autres-realisations,body.home-page #mh-story-end{scroll-margin-top:calc(var(--gn94-project-nav,54px) + 8px)}
 body.home-page #parcours,body.home-page #ia,body.home-page #contact,body.home-page #apphalt-produit{scroll-margin-top:15px}
 body.home-page .mobile-menu[open] nav{padding-block:14px 18px}
 body.home-page .mobile-menu nav a{font-size:15px;min-height:48px}
 body.home-page .mobile-menu nav .header-cv{margin-top:9px;padding:12px 18px;display:flex;justify-content:center;max-width:240px;border:1px solid #d7dfeb}
 body.home-page .gn99-scroll-cue{bottom:0;left:auto;right:0;min-height:46px;gap:6px;font-size:12px}
 body.home-page .gn99-scroll-cue-icon{width:32px;height:32px}
 .gn99-back-top{right:14px;bottom:calc(18px + env(safe-area-inset-bottom,0px));min-width:46px;min-height:46px;width:46px;padding:8px}
 .gn99-back-top-label{display:none}
 .gn99-back-top.is-over-scene{bottom:calc(89px + env(safe-area-inset-bottom,0px))}
 .gn94-cetelem-id .gn99-cetelem-subtitle strong{font-size:10.5px;line-height:1.25}
 .gn94-cetelem-id .gn99-cetelem-subtitle small{font-size:10px}
 .home-page .hero94-description{font-size:15px;line-height:1.56}
 .home-page .about94 h2{font-size:clamp(34px,8.1vw,45px);line-height:1.09}
 .home-page .about94 p:not(.eyebrow),.home-page .ah94-copy>p,.home-page .ai94-intro-note>p{font-size:15px;line-height:1.6}
 .home-page .gn94-scope-heading p{font-size:11px}
 .home-page .gn94-project-links a{font-size:clamp(12px,3.4vw,14px)}
}
@media(max-width:360px){body.home-page .gn99-scroll-cue{font-size:11px;gap:5px}body.home-page .gn99-scroll-cue-icon{width:28px;height:28px}}
@media(prefers-reduced-motion:reduce){
 .gn99-back-top,.gn99-scroll-cue-icon,body.home-page .header-cv{transition:none!important}
 body.home-page .gn99-scroll-cue:hover .gn99-scroll-cue-icon{transform:none!important}
}
html.motion-reduced .gn99-back-top,html.motion-reduced .gn99-scroll-cue-icon{transition:none!important}
@media print{.gn99-scroll-cue,.gn99-back-top{display:none!important}}

/* Footer contains a permanent, keyboard-accessible return link. Fixed helper yields to contact area. */
.home-page .gn99-footer-top{font:600 13px/1.45 var(--sans,Arial,sans-serif);color:#274bb6;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.home-page .gn99-footer-top:hover{text-decoration:underline;text-underline-offset:4px}
.home-page .gn99-footer-top:focus-visible{outline:3px solid #3158f4;outline-offset:4px;border-radius:4px}
.gn99-back-top.is-near-contact{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(9px)}
.home-page .about94 .experience strong{font-size:clamp(13px,1.05vw,15px)}

/* The no-motion Cetelem introduction must also disclose its parent company. */
.home-page .gn47-reduced .gn99-reading-company{display:flex;flex-direction:column;align-items:flex-start;gap:4px;max-width:330px;color:#1f533e;line-height:1.35}
.home-page .gn47-reduced .gn99-reading-company strong{font:600 12px/1.4 var(--sans,Arial,sans-serif)}
.home-page .gn47-reduced .gn99-reading-company small{font:400 12px/1.4 var(--sans,Arial,sans-serif);opacity:.85}
@media(max-width:540px){.home-page .gn47-reduced .gn99-reading-company strong{font-size:11px}.home-page .gn47-reduced .gn99-reading-company small{font-size:11px}}
