
/* SAVOY_FAMILY_20261023 -- four linked institutions with native identities. */
.savoy-family{display:flex;align-items:stretch;min-width:0;gap:clamp(.55rem,1.2vw,1.3rem);}
.savoy-family > a, .savoy-family > .brand-group{box-sizing:border-box;align-self:stretch;}
.savoy-family > a{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;
  padding:8px clamp(8px,1.1vw,17px);min-height:70px;text-decoration:none!important;cursor:pointer;
  -webkit-tap-highlight-color:rgba(140,112,65,.14);transition:background-color .17s ease;}
.savoy-family > a:not(:first-child),.savoy-family > .brand-group + a{border-left:1px solid #cec5b8;}
.savoy-family > a:hover, .savoy-family > a:focus-visible{background:rgba(140,112,65,.065);}
.savoy-family > a:focus-visible{outline:2px solid #906e43;outline-offset:2px}
.savoy-family .savoy-link__sup,.savoy-family .savoy-link__tag{font:700 .48rem/1.25 "Savoy Source Sans 3",Arial,sans-serif;
 letter-spacing:.09em;text-transform:uppercase;color:#806d52;white-space:nowrap;}
.savoy-family .savoy-link--corpus strong{font:400 clamp(1.16rem,1.42vw,1.42rem)/1.12 "Savoy EB Garamond",Georgia,serif;
 color:#282923;white-space:nowrap;}
.savoy-family .savoy-link--maker strong{font:400 clamp(1.26rem,1.52vw,1.57rem)/1.05 "Savoy EB Garamond",Georgia,serif;
 color:#28453b;letter-spacing:-.055em;white-space:nowrap;}
.savoy-family .savoy-link--maker strong span{color:#ab8252}
.savoy-family .savoy-link--person img{width:85px;max-width:100%;height:auto;max-height:41px;display:block;}
.savoy-family .savoy-link--editions{flex-direction:row;align-items:center;gap:11px;}
.savoy-family .savoy-herald{display:block;width:57px;height:58px;border:1px solid #baac95;
 background:url('/assets/savoy-family-herald.svg') center / 39px 47px no-repeat;flex:none;}
.savoy-family .savoy-editions-name{display:flex;flex-direction:column;gap:0;color:#332f29}
.savoy-family .savoy-editions-name small{font:700 .54rem/1.2 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.savoy-family .savoy-editions-name strong{font:400 1.38rem/1.05 "Savoy EB Garamond",Georgia,serif;letter-spacing:.05em;text-transform:uppercase}
.savoy-family .brand-group{display:flex;align-items:center;min-width:0;gap:clamp(.4rem,1vw,1.3rem);}
.savoy-family .brand-group .collection-signature{display:flex;flex-direction:column;justify-content:center;min-height:65px;
 padding-left:clamp(.5rem,1vw,1rem);border-left:1px solid #cec5b8;text-decoration:none;}
.savoy-family .brand-group .collection-signature span{font:700 .46rem/1.4 Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#806d52;}
.savoy-family .brand-group .collection-signature strong{font:400 1.3rem/1.13 "Savoy EB Garamond",Georgia,serif;color:#282923}
@media(max-width:850px){
 .savoy-family{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;
  gap:0 9px;align-items:stretch;}
 .savoy-family > a,.savoy-family > .brand-group{min-width:0;min-height:65px;}
 .savoy-family > a{padding:8px 4px;justify-self:stretch;}
 .savoy-family > a:not(:first-child){border-left:0;}
 .savoy-family > :nth-child(even){border-left:1px solid #cec5b8!important;padding-left:10px!important;}
 .savoy-family > :nth-child(n + 3){border-top:1px solid #cec5b8}
 .savoy-family .savoy-link__sup,.savoy-family .savoy-link__tag{font-size:.41rem;white-space:normal;}
 .savoy-family .savoy-link--corpus strong{font-size:1.11rem;white-space:normal;}
 .savoy-family .savoy-link--maker strong{font-size:1.25rem}
 .savoy-family .savoy-herald{height:43px;width:42px;background-size:27px 35px;}
 .savoy-family .savoy-editions-name strong{font-size:1.02rem}
 .savoy-family .savoy-editions-name small{font-size:.48rem}
 .savoy-family .savoy-link--person img{max-width:80px}
 .savoy-family .brand-group{gap:7px}
 .savoy-family .brand-group .collection-signature{padding-left:6px}
 .savoy-family .brand-group .collection-signature strong{font-size:1.06rem;white-space:normal}
 .savoy-family .brand-group .collection-signature span{font-size:.40rem;white-space:normal}
}
@media(max-width:375px){
 .savoy-family{column-gap:5px;}
 .savoy-family > :nth-child(even){padding-left:6px!important;}
 .savoy-family .savoy-editions-name strong{font-size:.94rem}
 .savoy-family .savoy-link--maker strong{font-size:1.12rem}
}
@media(prefers-reduced-motion:reduce){.savoy-family a{transition:none}}

.site-header .header-inner{gap:clamp(.8rem,1.2vw,1.6rem)}
.site-header .savoy-family{flex:0 1 auto}
.site-header .savoy-family .brand{min-width:0;align-self:stretch;padding:5px 4px;flex-direction:row;align-items:center;gap:10px;}
.site-header .savoy-family .brand:hover,.site-header .savoy-family .brand:focus-visible{background:rgba(140,112,65,.065)}
.site-header .savoy-family .brand .brand-monogram{height:56px;width:56px}
.site-header .savoy-family .brand .brand-wordmark strong{font-size:1.25rem}
.site-header .main-nav{flex-shrink:0;gap:clamp(.8rem,1.3vw,1.4rem)}
@media(max-width:1480px){
 .site-header .header-inner{flex-direction:column;align-items:stretch;padding-top:10px;padding-bottom:10px;gap:5px}
 .site-header .main-nav{width:100%;justify-content:flex-end;border-top:1px solid #cbc9bd;padding-top:7px}
}
@media(max-width:850px){
 .site-header .header-inner{padding:12px 18px!important;}
 .site-header .savoy-family{width:100%;flex:unset;}
 .site-header .main-nav{justify-content:space-between;gap:10px;flex-wrap:wrap}
 .site-header .savoy-family .brand{padding:4px 2px}
 .site-header .savoy-family .brand .brand-monogram{height:44px;width:44px}
 .site-header .savoy-family .brand .brand-wordmark strong{font-size:1.05rem}
}

/* SAVOY_SHARED_NATIVE_MENU_V1: reusable responsive menu with native HTML details */
.site-header .savoy-native-menu{display:none}
@media(max-width:850px){
  .site-header .main-nav{display:none!important}
  .site-header .savoy-native-menu{display:block;position:relative;align-self:flex-end;margin-top:4px;z-index:30}
  .site-header .savoy-native-menu summary{
    display:flex;align-items:center;justify-content:center;gap:12px;
    min-width:88px;min-height:44px;padding:9px 14px;
    border:1px solid #cdd4c9;background:#f8f6f0;color:#29473b;
    list-style:none;font:700 13px/1.25 "Savoy Source Sans 3",Arial,sans-serif;
    cursor:pointer;
  }
  .site-header .savoy-native-menu summary::-webkit-details-marker{display:none}
  .site-header .savoy-native-menu summary:hover{background:#eeeadf}
  .site-header .savoy-native-menu summary:focus-visible{outline:2px solid #9a7747;outline-offset:2px}
  .site-header .savoy-native-menu > nav{
    display:flex;flex-direction:column;align-items:stretch;gap:0;
    position:absolute;right:0;top:calc(100% + 7px);z-index:40;
    width:min(275px,calc(100vw - 34px));padding:5px 0;
    background:#fffdf8;border:1px solid #d5d7cf;
    box-shadow:0 15px 28px rgba(32,37,30,.15);
  }
  .site-header .savoy-native-menu:not([open]) > nav{display:none}
  .site-header .savoy-native-menu nav a{
    display:flex;align-items:center;min-height:44px;padding:10px 16px;
    font:600 14px/1.3 "Savoy Source Sans 3",Arial,sans-serif;
    letter-spacing:0;text-transform:none;text-decoration:none;
    border-bottom:1px solid #eee9df;color:#28382f;
  }
  .site-header .savoy-native-menu nav a:last-child{border-bottom:0}
  .site-header .savoy-native-menu nav a:hover,
  .site-header .savoy-native-menu nav a:focus-visible{background:#efe9dd}
}


/* SAVOY_COMMON_HEADER_METRICS_V1_20261023
   Shared sizing vocabulary for all 4 institutional sites.
   Keep this whole block identical on every site.
   Only the institutional masthead is affected, never page-specific H1s.
*/
:root {
  --savoy-masthead-bg: #f7f5f0;
  --savoy-masthead-border: #d6d0c5;
  --savoy-masthead-brand-height: 72px;
}
body .site-header, body .masthead {
  background: var(--savoy-masthead-bg) !important;
  border-bottom: 1px solid var(--savoy-masthead-border) !important;
}
body .site-header .header-inner, body .masthead .nav.wrap {
  box-sizing: border-box !important;
  width: min(calc(100% - 48px), 1280px) !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 8px 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: 14px !important;
  min-height: 88px !important;
}
body .site-header :is(.savoy-family,.brand-group),
body .masthead .savoy-family {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 150px 202px 145px 152px !important;
  gap: 0 !important;
  min-width: 649px !important;
  width: 649px !important;
  max-width: 649px !important;
  flex: 0 0 649px !important;
  align-items: stretch !important;
}
body .site-header :is(.savoy-family,.brand-group) > a,
body .masthead .savoy-family > a {
  box-sizing: border-box !important;
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 4px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: var(--savoy-masthead-brand-height) !important;
  height: var(--savoy-masthead-brand-height) !important;
  align-self: stretch !important;
  padding: 7px 10px !important;
  margin: 0 !important;
  border-top: none !important;
  border-bottom: none !important;
  border-left: 1px solid var(--savoy-masthead-border) !important;
  text-decoration: none !important;
  transition: background-color .17s ease;
}
body .site-header :is(.savoy-family,.brand-group) > a:first-child,
body .masthead .savoy-family > a:first-child {
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  border-left: 0 !important;
  padding-left: 0 !important;
}
body .site-header :is(.savoy-family,.brand-group) > a:hover,
body .masthead .savoy-family > a:hover {
  background: rgba(140,112,65,.065) !important;
}
body .site-header :is(.savoy-family,.brand-group) > a:focus-visible,
body .masthead .savoy-family > a:focus-visible {
  outline: 2px solid #906e43 !important;
  outline-offset: -2px !important;
}
/* First identity: identical emblem frame and title metrics, irrespective of logo file. */
body .site-header :is(.savoy-family,.brand-group) :is(.savoy-herald,.brand-monogram),
body .masthead .savoy-family .savoy-herald {
  box-sizing: border-box !important;
  flex: 0 0 48px !important;
  width: 48px !important;
  height: 50px !important;
  background-size: 32px 40px !important;
  font-size: 35px !important;
}
body .site-header :is(.savoy-family,.brand-group) :is(.savoy-editions-name,.brand-wordmark),
body .masthead .savoy-family .savoy-editions-name {
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
}
body .site-header :is(.savoy-family,.brand-group) :is(.savoy-editions-name,.brand-wordmark) strong,
body .masthead .savoy-family .savoy-editions-name strong {
  font-family: "Savoy EB Garamond",Georgia,serif !important;
  font-weight: 400 !important;
  font-size: 20px !important;
  line-height: 1.04 !important;
  white-space: nowrap !important;
  letter-spacing: .02em !important;
}
body .site-header :is(.savoy-family,.brand-group) :is(.savoy-editions-name,.brand-wordmark) :is(small,span:not(.brand-star)),
body .masthead .savoy-family .savoy-editions-name small {
  font: 700 8px/1.3 Arial,sans-serif !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
}
/* Second identity: Corpus title stays at precisely the same size across domains. */
body .site-header :is(.savoy-family,.brand-group) :is(.savoy-link--corpus,.collection-signature) strong,
body .masthead .savoy-family .savoy-link--corpus strong {
  font: 400 21px/1.08 "Savoy EB Garamond",Georgia,serif !important;
  letter-spacing: -.025em !important;
  white-space: nowrap !important;
}
body .site-header :is(.savoy-family,.brand-group) :is(.savoy-link--corpus,.collection-signature) :is(small,span),
body .masthead .savoy-family .savoy-link--corpus small {
  font: 700 7px/1.25 Arial,sans-serif !important;
  letter-spacing: .075em !important;
  white-space: nowrap !important;
  text-transform: uppercase !important;
}
/* Third identity: Abergement's own letterform and bronze dot. */
body .site-header :is(.savoy-family,.brand-group) :is(.savoy-link--maker,.ecosystem-mark--abergement) strong,
body .masthead .savoy-family .wordmark strong {
  font: 400 23px/1.06 "Savoy EB Garamond",Georgia,serif !important;
  letter-spacing: -.048em !important;
  white-space: nowrap !important;
  color: #294139 !important;
}
body .site-header :is(.savoy-family,.brand-group) :is(.savoy-link--maker,.ecosystem-mark--abergement) small,
body .masthead .savoy-family .wordmark small {
  font: 700 8px/1.22 Arial,sans-serif !important;
  letter-spacing: .11em !important;
  white-space: nowrap !important;
  text-transform: uppercase !important;
  color: #746246 !important;
  margin: 0 !important;
}
/* Fourth identity: original paraphe plus readable name on every site. */
body .site-header :is(.savoy-family,.brand-group) :is(.savoy-link--person,.ecosystem-mark--author,.identity) img,
body .masthead .savoy-family .savoy-link--person img {
  box-sizing: border-box !important;
  width: 82px !important;
  height: 37px !important;
  max-width: 82px !important;
  max-height: 37px !important;
  object-fit: contain !important;
  object-position: left center !important;
}
body .site-header .savoy-family a.identity span {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
body .site-header .savoy-family a.identity span strong,
body .site-header .savoy-family :is(.savoy-link--person,.ecosystem-mark--author) small,
body .site-header .brand-group .ecosystem-mark--author small,
body .masthead .savoy-family .savoy-link--person small {
  font: 400 12px/1.15 "Savoy EB Garamond",Georgia,serif !important;
  text-transform: none !important;
  letter-spacing: -.01em !important;
  color: #514536 !important;
  white-space: nowrap !important;
}
body .site-header .savoy-family a.identity span small { display: none !important; }
/* Desktop local links: always share a single masthead row. */
@media (min-width: 1200px) {
  body .site-header :is(.desktop-nav,.main-nav),
  body .masthead .nav.wrap > nav[aria-label="Navigation principale"] {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 0 1 auto !important;
    gap: 11px !important;
    width: auto !important;
    min-width: 0 !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  body .site-header :is(.desktop-nav,.main-nav) a,
  body .masthead .nav.wrap > nav[aria-label="Navigation principale"] a {
    white-space: nowrap !important;
    font-size: 11px !important;
  }
  body .site-header :is(.mobile-nav,.savoy-native-menu),
  body .masthead .nav.wrap > details.mobile-menu { display: none !important; }
}
/* Medium widths: signatures remain in one row and page navigation is a dropdown. */
@media (min-width: 981px) and (max-width: 1199px) {
  body .site-header :is(.desktop-nav,.main-nav),
  body .masthead .nav.wrap > nav[aria-label="Navigation principale"] { display: none !important; }
  body .site-header :is(.mobile-nav,.savoy-native-menu),
  body .masthead .nav.wrap > details.mobile-menu {
    display: block !important;
    flex: 0 0 auto !important;
    align-self: center !important;
    margin: 0 0 0 auto !important;
    position: relative !important;
    z-index: 80 !important;
  }
}
/* Corresponding native details — also shared on phones. */
@media (max-width: 1199px) {
  body .site-header :is(.mobile-nav,.savoy-native-menu) summary,
  body .masthead .nav.wrap > details.mobile-menu summary {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-height: 44px !important;
    min-width: 88px !important;
    padding: 9px 12px !important;
    background: #f8f6f0 !important;
    border: 1px solid #cdd4c9 !important;
    color: #29473b !important;
    font: 700 13px/1.25 Arial,sans-serif !important;
    list-style: none !important;
    cursor: pointer !important;
  }
  body .site-header :is(.mobile-nav,.savoy-native-menu) summary::-webkit-details-marker,
  body .masthead .nav.wrap > details.mobile-menu summary::-webkit-details-marker { display: none !important; }
  body .site-header :is(.mobile-nav,.savoy-native-menu) nav,
  body .masthead .nav.wrap > details.mobile-menu nav {
    box-sizing: border-box !important;
    display: flex !important;
    position: absolute !important;
    flex-direction: column !important;
    align-items: stretch !important;
    top: calc(100% + 7px) !important;
    right: 0 !important;
    width: min(275px,calc(100vw - 34px)) !important;
    z-index: 100 !important;
    padding: 5px 0 !important;
    background: #fffdf8 !important;
    border: 1px solid #d5d7cf !important;
    box-shadow: 0 15px 28px rgba(32,37,30,.15) !important;
  }
  body .site-header :is(.mobile-nav,.savoy-native-menu):not([open]) nav,
  body .masthead .nav.wrap > details.mobile-menu:not([open]) nav { display: none !important; }
  body .site-header :is(.mobile-nav,.savoy-native-menu) nav a,
  body .masthead .nav.wrap > details.mobile-menu nav a {
    box-sizing: border-box !important;
    display: flex !important;
    min-height: 44px !important;
    align-items: center !important;
    padding: 10px 16px !important;
    font: 600 14px/1.3 Arial,sans-serif !important;
    color: #28382f !important;
    text-decoration: none !important;
    border-bottom: 1px solid #eee9df !important;
  }
}
/* All four domains wrap on exactly the same breakpoint and use two balanced rows. */
@media (max-width: 980px) {
  body .site-header .header-inner, body .masthead .nav.wrap {
    width: calc(100% - 36px) !important;
    padding: 10px 0 !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 7px !important;
    min-height: 0 !important;
  }
  body .site-header :is(.savoy-family,.brand-group), body .masthead .savoy-family {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    grid-auto-rows: 64px !important;
    gap: 0 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
  }
  body .site-header :is(.savoy-family,.brand-group) > a, body .masthead .savoy-family > a {
    height: 64px !important;
    min-height: 64px !important;
    padding: 7px 6px !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
  }
  body .site-header :is(.savoy-family,.brand-group) > a:nth-child(odd),
  body .masthead .savoy-family > a:nth-child(odd) {
    border-left: 0 !important; padding-left: 0 !important;
  }
  body .site-header :is(.savoy-family,.brand-group) > a:nth-child(even),
  body .masthead .savoy-family > a:nth-child(even) {
    border-left: 1px solid var(--savoy-masthead-border) !important;
    padding-left: 10px !important;
  }
  body .site-header :is(.savoy-family,.brand-group) > a:nth-child(n + 3),
  body .masthead .savoy-family > a:nth-child(n + 3) {
    border-top: 1px solid var(--savoy-masthead-border) !important;
  }
  body .site-header :is(.desktop-nav,.main-nav),
  body .masthead .nav.wrap > nav[aria-label="Navigation principale"] { display: none !important; }
  body .site-header :is(.mobile-nav,.savoy-native-menu),
  body .masthead .nav.wrap > details.mobile-menu {
    display: block !important;
    align-self: flex-end !important;
    position: relative !important;
    flex: 0 0 auto !important;
    z-index: 80 !important;
    margin: 0 !important;
  }
}
@media (max-width: 400px) {
  body .site-header :is(.savoy-family,.brand-group) :is(.savoy-link--corpus,.collection-signature) strong,
  body .masthead .savoy-family .savoy-link--corpus strong {font-size: 18px !important;}
  body .site-header :is(.savoy-family,.brand-group) :is(.savoy-link--corpus,.collection-signature) :is(span,small),
  body .masthead .savoy-family .savoy-link--corpus small {font-size: 6px !important;}
  body .site-header :is(.savoy-family,.brand-group) :is(.savoy-editions-name,.brand-wordmark) strong,
  body .masthead .savoy-family .savoy-editions-name strong {font-size: 18px !important;}
  body .site-header :is(.savoy-family,.brand-group) :is(.savoy-link--maker,.ecosystem-mark--abergement) strong,
  body .masthead .savoy-family .wordmark strong {font-size: 20px !important;}
}
@media (prefers-reduced-motion: reduce) {
  body .site-header :is(.savoy-family,.brand-group) > a,
  body .masthead .savoy-family > a { transition: none !important; }
}

/* Corpus monogram is an SVG background: do not repaint the legacy HTML S. */
body.corpus-unified .site-header .brand-monogram {
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
}
body.corpus-unified .site-header .brand-monogram .brand-star { display: none !important; }


/* SAVOY_SHARED_RIGHT_MENU_V1_20261023
   Same menu typography, vertical rhythm, spacing and interaction on all four domains.
   Labels and contextual page identities remain site-specific.
*/
:root {
 --savoy-local-nav-font: Arial, Helvetica, sans-serif;
 --savoy-local-nav-size: 11px;
 --savoy-local-nav-tracking: .095em;
 --savoy-local-nav-height: 44px;
}
@media (min-width: 1200px) {
 body .site-header .header-inner > :is(.desktop-nav,.main-nav),
 body .masthead .nav.wrap > nav[aria-label="Navigation principale"] {
   display: flex !important;
   align-items: center !important;
   justify-content: flex-end !important;
   flex-wrap: nowrap !important;
   gap: 10px !important;
   height: var(--savoy-local-nav-height) !important;
   min-height: var(--savoy-local-nav-height) !important;
   line-height: 1.2 !important;
 }
 body .site-header .header-inner > :is(.desktop-nav,.main-nav) > a,
 body .masthead .nav.wrap > nav[aria-label="Navigation principale"] > a {
   box-sizing: border-box !important;
   display: inline-flex !important;
   align-items: center !important;
   justify-content: center !important;
   flex: 0 0 auto !important;
   height: var(--savoy-local-nav-height) !important;
   min-height: var(--savoy-local-nav-height) !important;
   padding: 0 3px !important;
   margin: 0 !important;
   border-top: 0 !important;
   border-bottom: 0 !important;
   font-family: var(--savoy-local-nav-font) !important;
   font-size: var(--savoy-local-nav-size) !important;
   font-weight: 700 !important;
   font-style: normal !important;
   line-height: 1.2 !important;
   letter-spacing: var(--savoy-local-nav-tracking) !important;
   text-transform: uppercase !important;
   text-decoration: none !important;
   white-space: nowrap !important;
   vertical-align: middle !important;
   transition: color .15s ease, background-color .15s ease !important;
 }
 body .site-header .header-inner > :is(.desktop-nav,.main-nav) > a:hover,
 body .masthead .nav.wrap > nav[aria-label="Navigation principale"] > a:hover {
   color: #906e43 !important;
   text-decoration: underline !important;
   text-underline-offset: 5px !important;
   text-decoration-thickness: 1px !important;
 }
 body .site-header .header-inner > :is(.desktop-nav,.main-nav) > a:focus-visible,
 body .masthead .nav.wrap > nav[aria-label="Navigation principale"] > a:focus-visible {
   outline: 2px solid #906e43 !important;
   outline-offset: -2px !important;
   text-decoration: none !important;
 }
 /* Keep the personal site's framed CTA but make its metrics identical. */
 body .site-header .desktop-nav > a.nav-highlight {
   padding: 0 11px !important;
   border: 1px solid #c4ccbf !important;
   background: transparent !important;
 }
 body .site-header .desktop-nav > a.nav-highlight:hover {
   background: #efeae0 !important;
   text-decoration: none !important;
 }
 body .site-header .desktop-nav > a.nav-highlight > span {
   display: inline !important;
   margin-left: 7px !important;
   font-size: 11px !important;
   line-height: 1 !important;
   letter-spacing: 0 !important;
 }
 /* Preserve Corpus icon search link without inflating the row. */
 body .site-header .main-nav > a.header-nav-link--search {
   width: var(--savoy-local-nav-height) !important;
   padding: 0 !important;
 }
 body .site-header .main-nav > a.header-nav-link--search svg {
   width: 19px !important;
   height: 19px !important;
   flex: 0 0 19px !important;
 }
}
/* Dropdown trigger shares the same sizes and alignment on every domain. */
@media (max-width: 1199px) {
 body .site-header :is(.mobile-nav,.savoy-native-menu) summary,
 body .masthead .nav.wrap > details.mobile-menu summary {
   box-sizing: border-box !important;
   min-height: 44px !important;
   height: 44px !important;
   min-width: 94px !important;
   padding: 0 13px !important;
   display: flex !important;
   align-items: center !important;
   justify-content: center !important;
   gap: 8px !important;
   font-family: var(--savoy-local-nav-font) !important;
   font-size: 13px !important;
   font-weight: 700 !important;
   font-style: normal !important;
   line-height: 1.2 !important;
   letter-spacing: 0 !important;
   text-transform: none !important;
 }
 body .site-header :is(.mobile-nav,.savoy-native-menu) nav a,
 body .masthead .nav.wrap > details.mobile-menu nav a {
   min-height: 44px !important;
   font-family: var(--savoy-local-nav-font) !important;
   font-size: 14px !important;
   font-weight: 600 !important;
   line-height: 1.3 !important;
   text-transform: none !important;
   letter-spacing: 0 !important;
 }
}
@media (prefers-reduced-motion: reduce) {
 body .site-header .header-inner > :is(.desktop-nav,.main-nav) > a,
 body .masthead .nav.wrap > nav[aria-label="Navigation principale"] > a {
   transition: none !important;
 }
}

/* SAVOY_SHARED_EDITORIAL_TYPE_SCALE_V1_20261023
   Common optical scale on the four institutional homepages.
   Preserve individual typeface, colours, italic treatments, and reading pages.
*/
:root {
  --savoy-display-h1: clamp(52px, 5vw, 72px);
  --savoy-display-h2: clamp(38px, 3.85vw, 56px);
  --savoy-display-lead: clamp(16px, 1.4vw, 19px);
  --savoy-display-h1-leading: 1.075;
  --savoy-display-h2-leading: 1.13;
}
/* Pierre-Alain: smaller, more human hero; unified section hierarchy. */
body:not(.corpus-unified) .hero .hero-copy > h1#hero-title {
  font-size: var(--savoy-display-h1) !important;
  line-height: var(--savoy-display-h1-leading) !important;
  letter-spacing: -.06em !important;
  margin-bottom: 24px !important;
  max-width: 720px !important;
}
body:not(.corpus-unified) .hero .hero-copy > p.profession {
  font-size: clamp(23px, 2.15vw, 28px) !important;
  line-height: 1.36 !important;
  margin-bottom: 21px !important;
}
body:not(.corpus-unified) .hero .hero-copy > p.hero-text {
  font-size: clamp(15px, 1.25vw, 17px) !important;
  line-height: 1.85 !important;
}
body:not(.corpus-unified) .portrait-head h2,
body:not(.corpus-unified) .pathway-intro h2,
body:not(.corpus-unified) .principles-grid h2,
body:not(.corpus-unified) .publication-heading h2,
body:not(.corpus-unified) .section-heading h2,
body:not(.corpus-unified) .contact-layout h2 {
  font-size: var(--savoy-display-h2) !important;
  line-height: var(--savoy-display-h2-leading) !important;
  letter-spacing: -.05em !important;
}
/* Editions Savoy: a matching title scale, while keeping editorial line breaks. */
body:not(.corpus-unified) main#contenu > section.hero .hero-content h1#hero-title {
  font-size: var(--savoy-display-h1) !important;
  line-height: var(--savoy-display-h1-leading) !important;
  letter-spacing: -.045em !important;
}
body:not(.corpus-unified) main#contenu > section.hero .hero-content .hero-intro {
  font-size: var(--savoy-display-lead) !important;
  line-height: 1.7 !important;
  max-width: 620px !important;
}
body:not(.corpus-unified) main#contenu .catalogue-head h2,
body:not(.corpus-unified) main#contenu .panorama-head h2,
body:not(.corpus-unified) main#contenu .intro-grid > h2,
body:not(.corpus-unified) main#contenu .editions-corpus-feature__intro h2 {
  font-size: var(--savoy-display-h2) !important;
  line-height: var(--savoy-display-h2-leading) !important;
  letter-spacing: -.045em !important;
}
/* Abergement: client-facing site is concise and professionally proportioned. */
body#haut main#contenu > section.hero.hero-home h1 {
  font-size: var(--savoy-display-h1) !important;
  line-height: var(--savoy-display-h1-leading) !important;
  letter-spacing: -.04em !important;
}
body#haut main#contenu > section.hero.hero-home .lead {
  font-size: var(--savoy-display-lead) !important;
  line-height: 1.7 !important;
  max-width: 680px !important;
}
body#haut main#contenu > section.section h2 {
  font-size: var(--savoy-display-h2) !important;
  line-height: var(--savoy-display-h2-leading) !important;
  letter-spacing: -.035em !important;
}
/* Corpus: homepage only. Never touch work titles, Bible chapters or article headers. */
body.corpus-unified.collection-portal .collection-home h1 {
  font-size: var(--savoy-display-h1) !important;
  line-height: var(--savoy-display-h1-leading) !important;
  letter-spacing: -.045em !important;
}
body.corpus-unified.collection-portal .collection-home .collection-intro {
  font-size: var(--savoy-display-lead) !important;
  line-height: 1.75 !important;
  max-width: 620px !important;
}
body.corpus-unified.collection-portal .cs-home-pathways__heading h2 {
  font-size: var(--savoy-display-h2) !important;
  line-height: var(--savoy-display-h2-leading) !important;
}
/* Mobile: optically similar sizes and consistent reading rhythm. */
@media(max-width:700px) {
  :root {
    --savoy-display-h1: clamp(40px, 10.8vw, 48px);
    --savoy-display-h2: clamp(33px, 8.5vw, 40px);
    --savoy-display-lead: 16px;
  }
  body:not(.corpus-unified) .hero .hero-copy > h1#hero-title {
    letter-spacing: -.055em !important;
    margin-bottom: 18px !important;
  }
  body:not(.corpus-unified) .hero .hero-copy > p.profession {
    font-size: clamp(21px, 5.4vw, 25px) !important;
    margin-bottom: 17px !important;
  }
}
/* Avoid interrupting users who prefer reduced motion. */
@media(prefers-reduced-motion:reduce) {
  body:not(.corpus-unified) .hero .hero-copy > h1#hero-title {scroll-behavior:auto;}
}
