/* V189 · Unified public navigation. Header/tools only; page typography remains untouched. */
.public-site-header{
  box-sizing:border-box;
  width:100%;
  height:92px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  grid-template-areas:"brand nav tools";
  align-items:center;
  column-gap:28px;
  padding:0 6vw;
  background:var(--bg,#f6f1ed);
  border-bottom:1px solid transparent;
}
.public-site-header .wordmark{
  grid-area:brand;
  font-family:var(--serif,Georgia,"Times New Roman","Songti SC",serif);
  font-size:28px;
  letter-spacing:.35em;
  white-space:nowrap;
}
.public-site-nav{
  grid-area:nav;
  display:flex!important;
  justify-content:flex-end;
  align-items:center;
  gap:24px;
  min-width:0;
  font:inherit;
  letter-spacing:.035em;
}
.public-site-nav>a{
  display:inline-flex!important;
  align-items:center;
  white-space:nowrap;
  font-size:12px;
}
.public-site-nav>a[aria-current="page"]{color:var(--accent,#cf8092)}
.public-site-tools{
  grid-area:tools;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  min-width:max-content;
}
.public-site-tools .global-lang-switch{
  font-size:9.5px;
  padding:2px;
  gap:1px;
  border-color:rgba(81,73,71,.13);
  background:rgba(255,255,255,.38);
}
.public-site-tools .global-lang-switch button{
  min-width:30px;
  padding:5px 7px;
  font-weight:500;
}
.public-site-tools .global-lang-switch button.active{
  color:#745b61;
  background:rgba(203,128,145,.10);
}
.public-site-header .reading-size-trigger{
  padding:3px 4px!important;
  gap:2px!important;
  font-size:8.5px!important;
  font-weight:400!important;
  color:var(--muted,#7d7370)!important;
  opacity:.58;
  background:transparent!important;
}
.public-site-header .reading-size-trigger:hover,
.public-site-header .reading-size-trigger:focus-visible{opacity:.9}
.public-site-header .reading-size-value{opacity:.65}

/* Homepage uses the same public navigation instead of a second mobile-only menu. */
.public-site-header.home-header{position:sticky;top:0;z-index:80}
.public-site-header.home-header .menu{display:none!important}
body.homepage-v2 .mobile-menu{display:none!important}

@media(max-width:760px){
  .public-site-header{
    height:auto!important;
    min-height:0;
    grid-template-columns:auto minmax(0,1fr);
    grid-template-areas:"brand tools" "nav nav";
    row-gap:10px;
    column-gap:14px;
    padding:13px 20px 10px!important;
    border-bottom-color:var(--line,rgba(24,21,20,.12));
  }
  .public-site-header .wordmark{
    font-size:18px!important;
    letter-spacing:.34em;
  }
  .public-site-tools{justify-self:end;gap:5px}
  .public-site-tools .global-lang-switch{
    display:inline-flex!important;
    font-size:9px;
    padding:2px;
  }
  .public-site-tools .global-lang-switch button{
    min-width:29px;
    padding:5px 6px;
  }
  .public-site-header .reading-size-trigger{
    padding:2px 2px!important;
    font-size:8px!important;
    opacity:.48;
  }
  .public-site-header .reading-size-value{opacity:.52}
  .public-site-nav{
    display:flex!important;
    justify-content:flex-start;
    gap:20px;
    overflow-x:auto;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    padding:9px 0 1px;
    border-top:1px solid rgba(125,115,112,.13);
  }
  .public-site-nav::-webkit-scrollbar{display:none}
  .public-site-nav>a{
    display:inline-flex!important;
    flex:0 0 auto;
    font-size:10.5px!important;
    letter-spacing:.03em!important;
  }
}


/* V191 · Route visibility: keep public navigation visible even when legacy page CSS hides header links. */
.public-mobile-nav-strip{
  display:none;
}
.public-breadcrumb{
  width:min(1240px,calc(100% - 12vw));
  margin:0 auto;
  padding:10px 0 0;
  font-size:9px;
  line-height:1.4;
  letter-spacing:.06em;
  color:var(--muted,#7d7370);
}
.public-breadcrumb a{color:inherit}
.public-breadcrumb .crumb-current{color:var(--text,#171313)}
.public-breadcrumb .crumb-sep{margin:0 7px;opacity:.45}

@media(max-width:760px){
  /* Force the header itself into a stable first row only. */
  body[data-surface="public"] > header.public-site-header{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    grid-template-areas:"brand tools"!important;
    height:64px!important;
    min-height:64px!important;
    padding:0 20px!important;
    row-gap:0!important;
    border-bottom:0!important;
  }
  body[data-surface="public"] > header.public-site-header .public-site-nav{
    display:none!important;
  }
  body[data-surface="public"] > header.public-site-header .public-site-tools{
    grid-area:tools!important;
    display:flex!important;
    justify-self:end!important;
  }

  /* Dedicated mobile nav lives outside <header>, so legacy "header nav>a{display:none}" cannot hide it. */
  .public-mobile-nav-strip{
    display:flex!important;
    align-items:center;
    gap:20px;
    width:100%;
    overflow-x:auto;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    padding:10px 20px 11px;
    border-top:1px solid rgba(125,115,112,.10);
    border-bottom:1px solid rgba(125,115,112,.16);
    background:var(--bg,#f6f1ed);
    white-space:nowrap;
  }
  .public-mobile-nav-strip::-webkit-scrollbar{display:none}
  .public-mobile-nav-strip a{
    display:inline-flex!important;
    flex:0 0 auto;
    align-items:center;
    min-height:28px;
    font-size:10.5px;
    line-height:1;
    letter-spacing:.03em;
    color:var(--text,#171313);
  }
  .public-mobile-nav-strip a[aria-current="page"]{
    color:var(--accent,#cf8092);
  }
  .public-breadcrumb{
    width:calc(100% - 40px);
    padding-top:9px;
    font-size:8.5px;
    letter-spacing:.04em;
  }

  /* Reading-size stays available but visually secondary. */
  .public-site-header .reading-size-trigger{
    padding:2px 1px!important;
    font-size:7.5px!important;
    opacity:.38!important;
  }
  .public-site-header .reading-size-aa{font-weight:500!important}
  .public-site-header .reading-size-value{opacity:.42!important}
}

/* V192 · Pure FR + compact mobile navigation */
html[data-language="fr"] [data-lang-en-only]{display:none!important}
html[data-language="fr"] [data-lang-fr-only]{display:initial!important}
html[data-language="fr"] :has(> [data-lang-fr-only]) > [data-lang-zh-only]{display:none!important}

/* Remove the horizontal mobile nav; return navigation to the top-right menu. */
@media(max-width:760px){
  .public-mobile-nav-strip{display:none!important}
  body[data-surface="public"] > header.public-site-header{
    grid-template-columns:auto minmax(0,1fr) auto!important;
    grid-template-areas:"brand tools menu"!important;
    height:64px!important;min-height:64px!important;
    padding:0 20px!important;
    row-gap:0!important;
    border-bottom:1px solid rgba(125,115,112,.10)!important;
  }
  body[data-surface="public"] > header.public-site-header .public-site-nav{display:none!important}
  .public-menu-toggle{
    grid-area:menu;display:inline-flex!important;align-items:center;justify-content:center;
    width:34px;height:34px;padding:0;border:0;background:transparent;
    color:var(--text,#171313);font:400 21px/1 var(--sans);cursor:pointer
  }
  .public-breadcrumb{
    width:calc(100% - 40px)!important;padding-top:6px!important;
    font-size:8px!important;letter-spacing:.02em!important;opacity:.48!important
  }
  body.homepage-v2 > .public-breadcrumb{display:none!important}
  .public-site-header .reading-size-trigger{
    padding:1px!important;font-size:7px!important;opacity:.22!important;background:transparent!important
  }
  .public-site-header .reading-size-value{display:none!important}
}
.public-menu-toggle,.public-nav-drawer,.public-nav-backdrop{display:none}
@media(max-width:760px){
  .public-nav-drawer{
    position:fixed;right:0;top:64px;z-index:130;
    display:none;width:min(300px,82vw);padding:16px 20px 24px;
    background:rgba(246,241,237,.985);
    border-left:1px solid rgba(125,115,112,.12);
    border-bottom:1px solid rgba(125,115,112,.12);
    box-shadow:0 18px 40px rgba(40,32,30,.08)
  }
  .public-nav-drawer.open{display:block}
  .public-nav-drawer a{
    display:flex!important;align-items:center;min-height:48px;
    border-bottom:1px solid rgba(125,115,112,.13);
    font-size:13px;letter-spacing:.02em
  }
  .public-nav-drawer a[aria-current="page"]{color:var(--accent,#cf8092)}
  .public-nav-backdrop{position:fixed;inset:64px 0 0;z-index:129;background:rgba(23,19,19,.04)}
  .public-nav-backdrop.open{display:block}
}

/* V193 · compact mobile header; no horizontal nav bar */
.public-mobile-nav-strip{display:none!important}
.public-menu-toggle,.public-nav-drawer,.public-nav-backdrop{display:none}
@media(max-width:760px){
  body[data-surface="public"] > header.public-site-header{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    grid-template-areas:"brand tools menu"!important;
    align-items:center!important;
    height:62px!important;
    min-height:62px!important;
    padding:0 18px!important;
    gap:8px!important;
    border-bottom:1px solid rgba(125,115,112,.09)!important;
  }
  body[data-surface="public"] > header.public-site-header .public-site-nav{display:none!important}
  body[data-surface="public"] > header.public-site-header .public-site-tools{
    grid-area:tools!important;display:flex!important;justify-self:end!important;gap:3px!important
  }
  .public-menu-toggle{
    grid-area:menu;display:inline-flex!important;align-items:center;justify-content:center;
    width:32px;height:32px;padding:0;border:0;background:transparent;color:var(--text,#171313);
    font:400 20px/1 var(--sans);cursor:pointer
  }
  .public-site-tools .global-lang-switch{
    font-size:9px!important;padding:2px!important;background:rgba(255,255,255,.34)!important;
    border-color:rgba(81,73,71,.11)!important
  }
  .public-site-tools .global-lang-switch button{min-width:27px!important;padding:5px 6px!important}
  .public-site-header .reading-size-trigger{
    padding:0 1px!important;font-size:6.5px!important;opacity:.18!important;background:transparent!important
  }
  .public-site-header .reading-size-value{display:none!important}
  .public-breadcrumb{
    width:calc(100% - 36px)!important;padding:6px 0 0!important;
    font-size:8px!important;letter-spacing:.02em!important;opacity:.42!important
  }
  body.homepage-v2 > .public-breadcrumb{display:none!important}
  .public-nav-drawer{
    position:fixed;right:0;top:62px;z-index:130;display:none;width:min(292px,82vw);
    padding:14px 18px 22px;background:rgba(246,241,237,.99);
    border-left:1px solid rgba(125,115,112,.10);border-bottom:1px solid rgba(125,115,112,.10);
    box-shadow:0 18px 40px rgba(40,32,30,.08)
  }
  .public-nav-drawer.open{display:block!important}
  .public-nav-drawer a{
    display:flex!important;align-items:center;min-height:46px;border-bottom:1px solid rgba(125,115,112,.12);
    font-size:13px;letter-spacing:.02em
  }
  .public-nav-drawer a[aria-current="page"]{color:var(--accent,#cf8092)}
  .public-nav-backdrop{position:fixed;inset:62px 0 0;z-index:129;background:rgba(23,19,19,.035)}
  .public-nav-backdrop.open{display:block!important}
}
