/* Language is an editorial utility, not a flag picker or a booking widget. */
.site-header .language-switch { position:relative; flex:none; color:var(--ink,#1a1a1a); }
.language-switch summary { display:flex; align-items:center; justify-content:center; gap:.42rem; min-width:44px; min-height:44px; padding:.3rem; list-style:none; cursor:pointer; font-family:Inter,sans-serif; font-size:.64rem; font-weight:500; letter-spacing:.11em; }
.language-switch summary::-webkit-details-marker { display:none; }
.language-switch summary svg { width:11px; height:11px; fill:none; stroke:currentColor; stroke-width:1; transition:transform 180ms cubic-bezier(.2,0,0,1); }
.language-switch[open] summary svg { transform:rotate(180deg); }
.language-switch nav { position:absolute; top:calc(100% + .6rem); right:0; width:218px; max-width:calc(100vw - 2rem); padding:.4rem .85rem; background:#faf9f6; border:1px solid rgba(26,26,26,.2); box-shadow:0 7px 18px rgba(26,26,26,.055); }
.language-switch[open] nav { animation:language-arrive 220ms cubic-bezier(.2,0,0,1) both; }
.language-switch nav a { display:grid; grid-template-columns:1.5rem 1fr 1rem; align-items:center; gap:.65rem; min-height:52px; color:inherit; text-decoration:none; font-family:'Cormorant Garamond',Georgia,serif; font-size:1.45rem; }
.language-switch nav a + a { border-top:1px solid rgba(26,26,26,.15); }
.language-switch .language-code { font:500 .54rem/1 Inter,sans-serif; letter-spacing:.1em; color:#6b645a; }
.language-switch .language-check { font:400 .75rem/1 Inter,sans-serif; color:#92703f; text-align:right; }
.language-switch a[aria-current] { color:#876538; }
.language-switch a:hover { color:#876538; }
.language-switch :is(a,summary):focus-visible { outline:2px solid #92703f; outline-offset:3px; }
/* Make room for the language control before French navigation becomes cramped. */
@media(min-width:1121px) and (max-width:1390px) {
  .site-header .main-nav { gap:1.15rem; }
  .site-header .header-actions { gap:.5rem; }
  .site-header .portal-link { display:none; }
}
@media(max-width:560px) {
  .site-header .header-actions { gap:.1rem; }
  .site-header .language-switch nav { right:-3rem; }
  .site-header .brand-name { font-size:1.04rem; }
  .site-header .brand-mark { width:2rem; height:2rem; }
  .site-header .brand { gap:.7rem; }
}
html[lang="fr"] .page-hero-copy { min-width:0; }
html[lang="fr"] .page-title-mask h1 { overflow-wrap:normal; }
html[lang="fr"] .editorial-page .page-title-mask h1 {
  max-width:100%;
  font-size:min(clamp(3rem, 10.5vw, 12.5rem), calc(135cqi / var(--title-word-length, 10)));
  line-height:.98;
}
@media(min-width:761px) {
  html[lang="fr"] .editorial-page .page-hero-copy { grid-column:1 / span 6; }
}
/* French lines are longer than the approved English art direction. Let them
   wrap inside their own column, without changing the English composition. */
html[lang="fr"] .voyager-home :is(.vh-agency-title-line,.vh-expertise-header .vh-display-line) { white-space:normal; }
html[lang="fr"] .voyager-home :is(.vh-expertise-header > div,.vh-expertise-header h2,.vh-hero-value-overlay > .vh-text-mask) { min-width:0; max-width:100%; }
html[lang="fr"] .voyager-home .vh-agency-value-title { line-height:.98; }
@media(max-width:560px) {
  html[lang="fr"] .voyager-home .vh-hero .vh-eyebrow { font-size:.5rem; letter-spacing:.12em; }
  html[lang="fr"] .voyager-home .vh-hero-caption { left:1.25rem; right:1rem; font-size:.43rem; letter-spacing:.1em; line-height:1.4; }
  html[lang="fr"] .voyager-home .vh-hero-caption > span:last-child { min-width:0; white-space:normal; }
}
html[lang="fr"] .page-chapter.is-expanded .chapter-toggle::after { content:"Fermer la rubrique"; }
html[lang="fr"] .page-chapter.has-no-media.is-heading-only:not(.is-collapsible) .chapter-copy-inner::after { content:"VOYAGER / GRÈCE"; }
@keyframes language-arrive { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) {
  .language-switch[open] nav { animation:none; }
  .language-switch summary svg { transition:none; }
}
