/* Shared language controls: CNR first, EN second, also available inside the lightbox. */
.language-switch { display:inline-flex; align-items:center; gap:.25rem; white-space:nowrap; font:400 .78rem 'DM Mono',monospace; letter-spacing:.04em; }
.language-switch button { appearance:none; border:0; border-radius:0; background:transparent; color:inherit; font:inherit; letter-spacing:inherit; padding:.4rem .2rem; margin:0; cursor:pointer; opacity:.55; min-height:28px; }
.language-switch button[aria-pressed="true"] { opacity:1; text-decoration:underline; text-underline-offset:.25em; }
.language-switch button:hover { opacity:1; }
.language-switch button:focus-visible { outline:2px solid currentColor; outline-offset:2px; }
.language-switch button:disabled { cursor:wait; }
.nav-lang.language-switch { color:#444; gap:.15rem; align-items:baseline; font:400 .88rem/1.2 'DM Mono',monospace; letter-spacing:.1em; }
/* Same framed control as the homepage, using the photography menu's type. */
.portfolio-language {
  color:var(--text);
  border:1px solid rgba(255,255,255,.3);
  padding:.28rem .65rem;
  gap:.15rem;
  align-items:baseline;
  font:500 15px/1 'Barlow Condensed',sans-serif;
  letter-spacing:.14em;
  flex-shrink:0;
  margin:0;
}
.lightbox-language { position:absolute; top:4rem; right:2rem; z-index:2; color:#fff; }
.panorama-language { position:fixed; top:12px; right:12px; z-index:100; color:#fff; background:rgba(0,0,0,.7); padding:.15rem .6rem; border-radius:3px; }
@media(max-width:560px) { .lightbox-language { right:1rem; } }

/* Localised static artwork is already available; keep the original English animations intact. */
html:is([data-site-language="cnr"], [data-site-language="fr"])[data-site-page="home"] #svc-photography .photography-infographic-static,
html:is([data-site-language="cnr"], [data-site-language="fr"])[data-site-page="home"] #svc-photoshop .retouching-prepress-infographic-static { display:block !important; }
html:is([data-site-language="cnr"], [data-site-language="fr"])[data-site-page="home"] #svc-photography .photography-infographic-hype,
html:is([data-site-language="cnr"], [data-site-language="fr"])[data-site-page="home"] #svc-photoshop .retouching-prepress-infographic-hype { display:none !important; }
.language-switch button[data-language-unavailable] { cursor:default; }

/* Seminar integration — 29 October 2026. Homepage-only controls; original mobile logo retained. */
html[data-site-page="home"] .nav-lang.language-switch{border:1px solid #c5c4c0;gap:10px;padding:8px 16px;color:#444}
html[data-site-page="home"] .nav-lang.language-switch button{padding:1px 2px;min-width:24px;min-height:24px;line-height:inherit}
@media(min-width:951px){html[data-site-page="home"] .banner-logo-svg{width:195px!important;height:auto!important;max-height:none!important;top:0!important}}
@media(min-width:755px) and (max-width:950px){html[data-site-page="home"] .banner-logo-svg{width:175px!important;height:auto!important;max-height:none!important;top:0!important}}
@media(max-width:754px){
 html[data-site-page="home"] .nav-lang.language-switch{width:auto!important;min-width:80px;height:36px!important;min-height:36px!important;max-height:36px!important;border:1px solid #c5c4c0!important;padding:5px 9px!important;gap:7px;line-height:1.3!important}
}
#svc-accessibility .seminar-banner{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;box-sizing:border-box;margin:24px 0 0;padding:12px 18px;background:#fff17d;color:#242719;text-align:left;text-decoration:none;font:400 16px/1.3 'Barlow',sans-serif;border:1px solid #d9c854;transition:background .2s}
#svc-accessibility .seminar-banner strong{font:600 18px/1.3 'Barlow',sans-serif}
#svc-accessibility .seminar-banner-date{font-weight:600}
#svc-accessibility .seminar-banner:hover{background:#ffec58}
#svc-accessibility .seminar-banner:focus-visible{outline:3px solid #244b7a;outline-offset:4px}
@media(max-width:700px){#svc-accessibility .seminar-banner{padding:12px 16px;font-size:15px;gap:4px}#svc-accessibility .seminar-banner strong{font-size:17px}}

html[data-site-page="home"] .nav-lang.language-switch button{opacity:1;color:#65655e}
html[data-site-page="home"] .nav-lang.language-switch button[aria-pressed="true"]{color:#242719}
/* The brand appears as the proposition image approaches the header. */
html[data-site-page="home"] .nav-brand{opacity:var(--brand-reveal,0);pointer-events:none}
html[data-site-page="home"] .nav-brand.is-brand-visible{pointer-events:auto}
html[data-site-page="home"] .nav-brand:focus-visible{opacity:1;outline:2px solid currentColor;outline-offset:5px}

#svc-accessibility .seminar-banner,#svc-accessibility .seminar-banner *{cursor:pointer!important}

/* French service titles wrap naturally at narrow desktop widths. */
html[data-site-page="home"][lang="fr"] .svc-detail-title{overflow-wrap:normal;hyphens:none}

/* Approved positioning and accessible homepage navigation. */
html[data-site-page="home"] .hero-agency-tagline{margin:0;font-weight:400;max-width:90vw!important}
html[data-site-page="home"] .hero-agency-tagline span + span{color:#65655e}
.skip-link{position:fixed;top:8px;left:8px;z-index:99999;padding:12px 18px;background:#fff;color:#1d1d1b;transform:translateY(-200%)}
.skip-link:focus{transform:none;outline:2px solid #1d3557;outline-offset:2px}
html[data-site-page="home"] .swi{text-decoration:none;min-height:24px}
html[data-site-page="home"] .swi:focus-visible{outline:2px solid #1d3557;outline-offset:4px}
html[data-site-page="home"] .svc-roulette.is-jumping .swi{opacity:1!important}
html[data-site-page="home"] .swi:not(.active) :is(.swi-name,.swi-num){color:#65655e!important}
html[data-site-page="home"] #contactHighlight{white-space:pre-line}

html[data-site-page="home"] :is(a,button,[role="button"]),html[data-site-page="home"] :is(a,button,[role="button"]) *{cursor:pointer}
html[data-site-page="home"] button:disabled{cursor:wait}
html[data-site-page="home"] :is(.cf-status,#contact .ct-sub){color:#65655e}
html[data-site-page="home"] #svc-accessibility .svc-detail-title{color:#5b9d75}
html[data-site-page="home"] .cf :is(input,select,textarea):focus-visible{outline:2px solid #1d3557;outline-offset:2px}

/* Compact proposition copy in every language and viewport; +8% after review. */
html[data-site-page="home"] #positioning .pos-body{line-height:1.4}

/* Desktop proposition: keep the photo anchored at right bottom;
   remove excess space above the copy and below the final labels. */
@media (min-width:775px){
  html[data-site-page="home"] #positioning{
    padding-top:70px;
    padding-bottom:50px;
  }
  html[data-site-page="home"] #positioning .pos-stats{margin-bottom:0}
}

/* Arrivée des liens du menu, uniquement sur ordinateur.
   Augmenter une valeur fait descendre la rubrique à l'écran. */
@media (min-width:901px){
  html[data-site-page="home"]{
    --services-menu-offset:70px; /* Position de l'entrée générale Services. */
    --service-menu-gap:50px; /* Espace sous la barre blanche pour chaque métier. */
  }
}
