@import url("/site-menu-button.css?v=20261029-adaptive-plus-source-v1");
/* Shared top-header motion for the public site, private gallery and Studio. */
html body .site-header {
  transition: transform .34s cubic-bezier(.2, 0, 0, 1), color .48s cubic-bezier(.2, 0, 0, 1), height .38s cubic-bezier(.2, 0, 0, 1), min-height .38s cubic-bezier(.2, 0, 0, 1), padding .38s cubic-bezier(.2, 0, 0, 1);
}
html.header-scroll-hidden body .site-header {
  transform: translate3d(0, -100%, 0);
  pointer-events: none;
}
/* Public navigation belongs to the document: scrolling moves the entire bar
   away, including when the native header gains its is-scrolled class. */
html body #accueil > .site-header,
html body #accueil > .site-header:not(.is-scrolled) {
  position: absolute;
  top: 0;
  transform: none;
  pointer-events: auto;
}
@media (min-width: 1101px) {
  /* Only the private horizontal header belongs to the page. */
  html body .site-header.client-private-header { position: absolute; top: 0; }
  html.header-scroll-hidden body .site-header.client-private-header { transform: none; pointer-events: auto; }
  html {
    --header-quick-surface: rgba(22, 22, 22, .9);
    --header-quick-border: rgba(255, 255, 255, .18);
    --header-quick-ink: #fff;
  }
  html[data-header-quick-tone="dark"] {
    --header-quick-surface: rgba(248, 248, 246, .94);
    --header-quick-border: rgba(16, 16, 16, .18);
    --header-quick-ink: #101010;
  }
  html body .header-quick-toggle {
    position: fixed;
    z-index: 1201;
    bottom: max(24px, env(safe-area-inset-bottom));
    right: max(24px, env(safe-area-inset-right));
    box-sizing: border-box;
    width: 52px;
    height: 52px;
    padding: 0;
    border: 1px solid var(--header-quick-border);
    border-radius: 50%;
    background: var(--header-quick-surface);
    box-shadow: 0 8px 26px rgba(0, 0, 0, .22);
    color: var(--header-quick-ink);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(0, 80px, 0);
    transition: transform .42s cubic-bezier(.2, 0, 0, 1), opacity .3s ease, visibility 0s linear .42s, background-color .35s ease, color .35s ease, border-color .35s ease;
    -webkit-backdrop-filter: blur(18px) saturate(135%);
    backdrop-filter: blur(18px) saturate(135%);
  }
  html.header-scroll-hidden body .header-quick-toggle,
  html body.header-quick-menu-open .header-quick-toggle {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate3d(0, 0, 0);
    transition-delay: 0s;
  }
  html body .header-quick-toggle > span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 21px;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
    transform: translate(-50%, -50%);
    transition: transform .32s cubic-bezier(.2, 0, 0, 1);
  }
  html body .header-quick-toggle > span + span { transform: translate(-50%, -50%) rotate(90deg); }
  html body.header-quick-menu-open .header-quick-toggle > span:first-child { transform: translate(-50%, -50%) rotate(45deg); }
  html body.header-quick-menu-open .header-quick-toggle > span + span { transform: translate(-50%, -50%) rotate(-45deg); }
  html body .header-quick-toggle:focus-visible { outline: 2px solid var(--header-quick-ink); outline-offset: 3px; }
  html body .header-quick-overlay {
    position: fixed;
    z-index: 1200;
    inset: 0;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    padding: 88px 6vw 42px;
    overflow-y: auto;
  }
  html body .header-quick-overlay[hidden] { display: none; }
  html body .header-quick-overlay nav > :is(a,button):focus-visible,
  html body .header-quick-overlay .language-switch button:focus-visible { outline: 2px solid #f4f4f4; outline-offset: 4px; }
}
/* One visual rule for the existing iPhone menu and its desktop overlay. */
html body :is(.site-header:not(#site-header) .mobile-menu, .header-quick-overlay) {
  background: rgba(0, 0, 0, .75);
  color: #f1f1f1;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
/* Native public touch menu only; private desktop quick-menu stays unchanged.
   The fallback matches Studio's shared navigation/gallery scrim token. */
html body #accueil > .site-header .mobile-menu {
  background: var(--studio-ui-navigation-scrim-surface, rgba(0,0,0,.85));
}
html body :is(.site-header:not(#site-header) .mobile-menu, .header-quick-overlay) nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
}
html body :is(.site-header:not(#site-header) .mobile-menu, .header-quick-overlay) nav > :is(a, button) {
  width: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: #f1f1f1;
  font: inherit;
  font-size: clamp(27px, 8.2vw, 38px);
  font-weight: 500;
  line-height: 1.16;
  letter-spacing: -.03em;
  text-align: left;
  text-decoration: none;
  opacity: var(--menu-item-opacity, .28);
  cursor: pointer;
}
html body :is(.site-header:not(#site-header) .mobile-menu, .header-quick-overlay) nav > :is(a, button).active,
html body :is(.site-header:not(#site-header) .mobile-menu, .header-quick-overlay) nav > :is(a, button):is(:hover, :focus-visible) {
  opacity: 1;
}
html body :is(.site-header:not(#site-header) .mobile-menu, .header-quick-overlay) .language-switch {
  --header-text: #f1f1f1;
  display: flex !important;
  flex-wrap: wrap;
  gap: 7px;
  margin: 28px 0 0;
  color: #f1f1f1;
  font-size: 14px;
}
html body :is(.site-header:not(#site-header) .mobile-menu, .header-quick-overlay) .language-switch button {
  color: #f1f1f1;
  opacity: .28;
  font-size: 14px;
  font-weight: 500;
}
html body :is(.site-header:not(#site-header) .mobile-menu, .header-quick-overlay) .language-switch button.is-active { opacity: 1; }
@media (max-width: 1100px) {
  html body .header-quick-toggle,
  html body .header-quick-overlay { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  html body .site-header { transition: none; }
  html body .header-quick-toggle,
  html body .header-quick-toggle > span { transition: none; }
}

/* Editorial title model: Studio's “Évolution du chiffre d’affaires”. */
#accueil .hero-title,
#accueil .manifesto.language-copy > h2 {
  font-family: "Suisse Int’l", Arial, sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: normal;
  letter-spacing: -.035em;
  text-rendering: optimizeLegibility;
}
@media (max-width: 600px) {
  #accueil .hero-title,
  #accueil .manifesto.language-copy > h2 {
    font-size: 24px;
    line-height: normal;
    letter-spacing: -.035em;
  }
}

/* BEGIN surface-profile-phone-menu-20261024
   The presentation-only device marker also covers iPhone landscape. Tablet
   navigation and the private desktop quick overlay retain their materials. */
html[data-studio-surface-device=phone]{--studio-ui-navigation-scrim-surface-phone:rgba(9,9,9,.627);--studio-ui-navigation-scrim-blur-phone:12.5px}
html[data-studio-surface-device=phone] body .site-header:not(#site-header) .mobile-menu{background:var(--studio-ui-navigation-scrim-surface-phone);-webkit-backdrop-filter:blur(var(--studio-ui-navigation-scrim-blur-phone));backdrop-filter:blur(var(--studio-ui-navigation-scrim-blur-phone))}
@media(forced-colors:active){html[data-studio-surface-device=phone] body .site-header:not(#site-header) .mobile-menu{background:Canvas!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}
/* END surface-profile-phone-menu-20261024 */

/* Public home: the native scrolled header keeps its dark material even above
   white sections. Top-of-page transparency, blur, menu and motion stay native. */
html body #accueil>.site-header.is-scrolled{
  --header-text:#fff;
  --header-muted:#a3a3a3;
  --header-separator:#5c5c5c;
  --header-surface:#121212d1;
  --header-line:#ffffff14;
}
@media(forced-colors:active){html body #accueil>.site-header.is-scrolled{--header-text:CanvasText;--header-muted:CanvasText;--header-separator:CanvasText;--header-surface:Canvas;--header-line:CanvasText}}

/* Public/private navigation is transparent over the photograph at every scroll
   position. Keep the independent mobile-menu surface and its events intact. */
html body :is(#accueil>.site-header,.site-header.client-private-header){background:transparent!important;box-shadow:none!important;border:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html body :is(#accueil>.site-header,.site-header.client-private-header)::before,
html body :is(#accueil>.site-header,.site-header.client-private-header)::after{background:transparent!important;box-shadow:none!important;border:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;opacity:0!important}

/* Desktop site menu: one persistent native header, transparent and page-bound. */
@media(min-width:1101px){
 html body [data-site-desktop-shell]{position:absolute;inset:0 0 auto;z-index:100;pointer-events:none;isolation:isolate;overflow:visible;background:transparent}
 html body [data-site-desktop-shell]>.site-header{position:absolute!important;inset:0 0 auto!important;pointer-events:auto;overflow:visible!important;transform:none!important;background:transparent!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
 html body [data-site-desktop-shell]>.site-header::before,html body [data-site-desktop-shell]>.site-header::after{display:none!important}
 html body [data-site-desktop-shell] .site-nav{position:relative;gap:clamp(14px,1.3vw,24px);overflow:visible}
 html body [data-site-desktop-shell] .site-nav-viewport{overflow:visible!important;clip-path:none!important;-webkit-mask:none!important;mask:none!important;contain:none!important}
 html body [data-site-desktop-shell] .site-nav-separator{display:none}
 html body [data-site-desktop-shell] .site-nav>.site-tab-group>:is(a,button){color:var(--header-text);opacity:.42;transition:opacity .35s cubic-bezier(.2,0,0,1),color .48s cubic-bezier(.2,0,0,1)}
 html body [data-site-desktop-shell] .site-nav>.site-tab-group>:is(.site-nav-current,[aria-expanded=true]){color:var(--header-text);opacity:1}
 html body [data-site-desktop-shell] .site-nav>.site-tab-group>:is(a,button):focus-visible{opacity:1;outline:2px solid var(--header-text);outline-offset:5px}
}
@media(prefers-reduced-motion:reduce){html body [data-site-desktop-shell] .site-nav>.site-tab-group>:is(a,button){transition:none!important}}

@media(min-width:1101px) and (hover:hover) and (pointer:fine){html body [data-site-desktop-shell] .site-nav>.site-tab-group>:is(a,button):hover{opacity:1}}

/* Existing native menu controls consume the shared secondary command role.
   Only their surrounding layout and selected ink differ between canvases. */
@media(min-width:1101px){
 html body .site-header{box-sizing:border-box!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:28px 40px;column-gap:24px;row-gap:20px;width:calc(100% - 2 * var(--site-card-gutter));max-width:var(--site-card-max);height:auto!important;min-height:0!important;margin-inline:auto!important;padding:32px 0 16px!important;left:0!important;right:0!important;--header-text:#fff}
 html:has(#accueil) body .site-header{--header-text:#181818;--header-muted:#6b6b6b}
 html body .site-header .site-identity{grid-column:1;grid-row:1;color:var(--header-text)}
 html body .site-header .header-language-switch{grid-column:2;grid-row:1;justify-self:end;color:var(--header-text)}
 html body .site-header .site-nav-viewport{grid-column:1/-1;grid-row:2;width:100%;overflow:visible}
 html body .site-header .site-nav{display:flex;flex-wrap:nowrap;align-items:center;gap:8px!important;padding:0;max-width:100%}
 html body .site-header .site-tab-group{gap:0}
 html body .site-header .site-nav-separator{display:none}
 html body .site-header .site-nav>.site-tab-group>:is(a,button){--studio-command-ink:var(--header-text);--studio-ui-muted:var(--header-text);--studio-ui-button-border:color-mix(in srgb,var(--header-text) 26%,transparent);font-family:inherit;opacity:.42}
 html body .site-header .site-nav>.site-tab-group>:is(.site-nav-current,[aria-expanded=true]){--studio-command-bg:transparent;--studio-command-ink:var(--header-text);--studio-ui-muted:var(--header-text);--studio-ui-button-border:var(--header-text);--studio-ui-selection-ink:var(--header-text);color:var(--header-text)!important;opacity:1}
 html body .site-header .site-nav>.site-tab-group>:is(a,button):focus-visible{outline:2px solid var(--header-text);outline-offset:3px}
}
@media(min-width:1101px){
 html body .site-header .site-tab-group+.site-tab-group{margin-inline-start:0}
}
/* The popup keeps the shared dark ink role on either outer page canvas. */
@media(min-width:1101px){html body .site-header #public-account-menu{color:var(--studio-ui-ink,#eee)}}
@media(min-width:1101px){
 html body .site-header .site-nav>.site-tab-group>:is(a,button){--studio-command-hover:color-mix(in srgb,var(--header-text) 12%,transparent)}
 html body .site-header .site-nav>.site-tab-group>:is(.site-nav-current,[aria-expanded=true]){--studio-command-hover:color-mix(in srgb,var(--header-text) 12%,transparent)}
}

@media(min-width:1101px){html body .site-header .site-identity{white-space:nowrap}html body .site-header [data-site-profession]{margin-inline-start:8px;font:inherit;font-weight:400;opacity:.42}}

/* Over a full-width photograph, profession uses translucent white ink. */
@media(max-width:1100px){html body .site-header .mobile-profession{color:rgba(255,255,255,.68)!important;opacity:1}}
