/* French navigation follows the English portfolio header. */
html[lang="fr-FR"] .site-header{--header:4.8rem;--container:90rem;position:sticky;top:0;z-index:100;min-height:var(--header);border-bottom:1px solid transparent;background:color-mix(in srgb,var(--page) 82%,transparent);backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%)}
html[lang="fr-FR"] .site-header.is-scrolled{border-color:var(--line);box-shadow:var(--shadow-sm)}
html[lang="fr-FR"] .site-header .nav-shell{width:min(calc(100% - 2rem),var(--container));min-height:var(--header);margin-inline:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.25rem}
html[lang="fr-FR"] .site-header .brand{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none}
html[lang="fr-FR"] .site-header .brand-mark{display:grid;place-items:center;width:3.3rem;height:3.3rem;flex:0 0 auto;border:1px solid var(--line);border-radius:1rem;background:color-mix(in srgb,var(--surface-glass) 90%,transparent);box-shadow:var(--shadow-sm);overflow:visible}
html[lang="fr-FR"] .site-header .brand-mark .krm-logo,html[lang="fr-FR"] .site-header .brand-mark img{width:3.05rem;height:3.05rem;overflow:visible}
html[lang="fr-FR"] .site-header .brand-name{display:inline;font-size:1rem;font-weight:820;letter-spacing:-.02em;max-width:none}
html[lang="fr-FR"] .site-header .desktop-nav{justify-self:center;display:flex;align-items:center;gap:.12rem}
html[lang="fr-FR"] .site-header .desktop-nav>a,html[lang="fr-FR"] .site-header .nav-dropdown>summary{position:relative;display:inline-flex;align-items:center;gap:.35rem;min-height:2.75rem;padding:.65rem .78rem;color:var(--ink-soft);font-size:.84rem;font-weight:760;text-decoration:none;cursor:pointer;white-space:nowrap}
html[lang="fr-FR"] .site-header .desktop-nav>a::after,html[lang="fr-FR"] .site-header .nav-dropdown>summary::after{position:absolute;right:.78rem;bottom:.28rem;left:.78rem;height:2px;border-radius:999px;background:var(--acid);content:"";opacity:0;transform:scaleX(0);transform-origin:center;transition:opacity 170ms ease,transform 170ms var(--ease)}
html[lang="fr-FR"] .site-header .desktop-nav>a:hover,html[lang="fr-FR"] .site-header .desktop-nav>a[aria-current],html[lang="fr-FR"] .site-header .nav-dropdown>summary:hover,html[lang="fr-FR"] .site-header .nav-dropdown[open]>summary,html[lang="fr-FR"] .site-header .nav-dropdown>summary[data-current="true"]{color:var(--ink)}
html[lang="fr-FR"] .site-header .desktop-nav>a:hover::after,html[lang="fr-FR"] .site-header .nav-dropdown>summary:hover::after{opacity:.55;transform:scaleX(.55)}
html[lang="fr-FR"] .site-header .desktop-nav>a[aria-current]::after,html[lang="fr-FR"] .site-header .nav-dropdown[open]>summary::after,html[lang="fr-FR"] .site-header .nav-dropdown>summary[data-current="true"]::after{opacity:1;transform:scaleX(1)}
html[lang="fr-FR"] .site-header .nav-dropdown{position:relative}
html[lang="fr-FR"] .site-header .nav-dropdown>summary{list-style:none}
html[lang="fr-FR"] .site-header .nav-dropdown>summary::-webkit-details-marker{display:none}
html[lang="fr-FR"] .site-header .nav-dropdown>summary svg{width:.85rem;height:.85rem;transition:transform 180ms ease}
html[lang="fr-FR"] .site-header .nav-dropdown[open]>summary svg{transform:rotate(180deg)}
html[lang="fr-FR"] .site-header .dropdown-panel{position:absolute;top:calc(100% + .6rem);left:50%;right:auto;width:min(25rem,calc(100vw - 2rem));padding:.75rem;border:1px solid var(--line);border-radius:1.2rem;background:var(--surface);box-shadow:var(--shadow-lg);transform:translateX(-50%)}
html[lang="fr-FR"] .site-header .dropdown-link{display:grid;gap:.2rem;padding:.9rem;border-radius:.85rem;text-decoration:none;font-size:.9rem;white-space:normal}
html[lang="fr-FR"] .site-header .dropdown-link strong{font-weight:760;line-height:1.25}
html[lang="fr-FR"] .site-header .dropdown-link small{color:var(--ink-soft);font-size:.8rem;font-weight:400;line-height:1.35}
html[lang="fr-FR"] .site-header .dropdown-link:hover{background:var(--page-soft)}
html[lang="fr-FR"] .site-header .nav-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem}
html[lang="fr-FR"] .site-header .icon-button{display:inline-grid;place-items:center;width:2.75rem;height:2.75rem;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;background:var(--surface-glass);color:var(--ink);cursor:pointer}
html[lang="fr-FR"] .site-header .icon-button svg{width:1.1rem;height:1.1rem}
html[lang="fr-FR"] .site-header .theme-icon-sun{display:none}
html[lang="fr-FR"] .site-header .theme-icon-moon{display:block}
html[lang="fr-FR"][data-theme="dark"] .site-header .theme-icon-sun{display:block}
html[lang="fr-FR"][data-theme="dark"] .site-header .theme-icon-moon{display:none}
html[lang="fr-FR"] .site-header .header-cta{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:2.75rem;padding:.7rem 1.05rem;border:1px solid transparent;border-radius:999px;background:var(--deep);color:var(--inverse);font-size:.84rem;font-weight:830;text-decoration:none}
html[lang="fr-FR"] .site-header .site-locale>summary{display:inline-flex;justify-content:center;min-width:2.75rem;height:2.75rem;padding:.35rem;border:1px solid var(--line);border-radius:50%;background:var(--surface-glass);font-size:.8rem}
html[lang="fr-FR"] .site-header .site-locale>summary::after,html[lang="fr-FR"] .site-header .language-menu>summary svg{display:none}
html[lang="fr-FR"] .site-header .site-locale-menu{position:absolute;top:calc(100% + .6rem);right:0;left:auto;transform:none;min-width:10rem;width:10rem;max-width:calc(100vw - 2rem);padding:.6rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface);box-shadow:var(--shadow-lg)}
html[lang="fr-FR"] .site-header .language-menu{display:block}
html[lang="fr-FR"] .site-header .language-menu .site-locale-menu{width:18rem}
html[lang="fr-FR"] .site-header .site-locale-menu a{display:block;padding:.65rem .75rem;border-radius:.6rem;color:var(--ink);font-size:.85rem;text-decoration:none;white-space:normal}
html[lang="fr-FR"] .site-header .site-locale-menu a:hover{background:var(--page-soft)}
html[lang="fr-FR"] .site-header .site-locale-menu .language-heading{display:block;padding:.45rem .75rem;color:var(--ink-soft);font-size:.72rem;font-weight:700}
html[lang="fr-FR"] .site-header .mobile-menu{display:none;position:static}
html[lang="fr-FR"] .site-header .mobile-menu>summary{list-style:none}
html[lang="fr-FR"] .site-header .mobile-menu>summary::-webkit-details-marker{display:none}
html[lang="fr-FR"] .site-header .mobile-panel{position:absolute;top:calc(100% + .4rem);right:1rem;width:min(22rem,calc(100vw - 2rem));max-height:calc(100svh - var(--header) - 1.5rem);overflow:auto;padding:.75rem;border:1px solid var(--line);border-radius:1.2rem;background:var(--surface);box-shadow:var(--shadow-lg)}
html[lang="fr-FR"] .site-header .mobile-panel a{display:flex;align-items:center;min-height:3rem;padding:.8rem;border-bottom:1px solid var(--line);color:var(--ink);font-size:.9rem;font-weight:700;text-decoration:none}
html[lang="fr-FR"] .site-header .mobile-panel .mobile-nav-heading,html[lang="fr-FR"] .site-header .mobile-panel .language-heading{display:block;padding:.9rem .8rem .45rem;color:var(--ink-soft);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
html[lang="fr-FR"] .site-header .mobile-panel .mobile-sub-link{min-height:2.75rem;padding-left:1.35rem;font-size:.85rem;font-weight:650}
html[lang="fr-FR"] .site-header .mobile-panel a:last-child{border-bottom:0}
@media(max-width:75rem){html[lang="fr-FR"] .site-header .desktop-nav{display:none}html[lang="fr-FR"] .site-header .mobile-menu{display:block}html[lang="fr-FR"] .site-header .nav-shell{grid-template-columns:1fr auto}html[lang="fr-FR"] .site-header .header-cta{display:none}}
@media(max-width:40rem){html[lang="fr-FR"] .site-header{--header:4.4rem}html[lang="fr-FR"] .site-header .brand-name{display:none}html[lang="fr-FR"] .site-header .nav-shell{width:calc(100% - 1.25rem);gap:.6rem}html[lang="fr-FR"] .site-header .nav-actions{gap:.35rem}html[lang="fr-FR"] .site-header .language-menu{position:static}html[lang="fr-FR"] .site-header .language-menu .site-locale-menu{right:.625rem}}
@media print{html[lang="fr-FR"] .site-header{display:none}}
