.compactStaffGallery .staffCard{
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:stretch!important;
}
.compactStaffGallery .staffCard figure{
  flex:0 0 auto!important;
  margin:0!important;
}
.compactStaffGallery .staffCard>div{
  flex:0 0 auto!important;
}
.compactStaffGallery .staffTitle{
  margin:0 0 5px!important;
  min-height:1.2em!important;
  font-size:.72rem!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  color:var(--gold)!important;
  font-weight:700!important;
}
.compactStaffGallery .staffCard h3{
  margin-top:0!important;
  min-height:2.32em!important;
}
.staffLinkedinBtn{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  margin-top:14px!important;
  padding:9px 13px!important;
  border-radius:999px!important;
  border:1px solid var(--line)!important;
  background:#0a66c2!important;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:800!important;
  font-size:.84rem!important;
}
.staffLinkedinBtn svg{
  width:17px!important;
  height:17px!important;
  flex:0 0 auto!important;
}
.staffLinkedinBtn:hover{
  transform:translateY(-1px)!important;
}

/* Shared chef/staff CV overlay.
   Stable v3 composition with only the intentional later features reapplied. */
.staffModalBox{
  position:relative!important;
  width:min(720px,calc(100vw - 44px))!important;
  max-width:720px!important;
  max-height:88vh!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:30px!important;
  background:var(--bg,#fff)!important;
}
.staffModalBox>.close{
  position:absolute!important;
  top:58px!important;
  right:22px!important;
  z-index:20!important;
  float:none!important;
  margin:0!important;
  background:var(--bg,#fff)!important;
}
.staffModalBox .staffmodal{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:0!important;
  min-width:0!important;
  min-height:0!important;
  width:100%!important;
  max-height:88vh!important;
  overflow:hidden!important;
}
.staffModalBox .staffModalTitleRibbon{
  flex:0 0 auto!important;
  align-self:stretch!important;
  width:100%!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:15px 72px 14px 24px!important;
  background:var(--gold)!important;
  color:#fff!important;
  font-size:.76rem!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  text-align:center!important;
}
.staffModalBox .staffModalTopRow{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  min-height:0!important;
  padding:22px 24px 22px!important;
}
.staffModalBox .staffModalPortrait{
  position:static!important;
  flex:0 0 auto!important;
  width:auto!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:min(240px,calc(100vw - 96px))!important;
  max-height:min(26vh,240px)!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:24px!important;
  clip-path:inset(0 round 24px)!important;
  border:1px solid var(--line)!important;
  background:var(--ivory-2)!important;
  box-shadow:none!important;
}
.staffModalBox .staffModalPortrait img{
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:min(240px,calc(100vw - 96px))!important;
  max-height:min(26vh,240px)!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
  border-radius:inherit!important;
}
.staffModalBox .staffModalNameBand{
  flex:0 0 auto!important;
  align-self:stretch!important;
  width:100%!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:15px 24px 16px!important;
  border-top:1px solid rgba(180,150,90,.55)!important;
  border-bottom:1px solid rgba(180,150,90,.55)!important;
  background:var(--gold-soft)!important;
}
.staffModalBox .staffModalNameBand h2{
  margin:0!important;
  padding:0!important;
  color:var(--title-color,var(--text))!important;
  font-family:var(--serif)!important;
  font-size:clamp(34px,5vw,52px)!important;
  font-weight:500!important;
  letter-spacing:-.035em!important;
  line-height:.98!important;
}
.staffModalBox .staffModalContent{
  flex:1 1 auto!important;
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  padding:0!important;
}
.staffModalBox .staffModalDetailFade{
  position:relative!important;
  flex:1 1 auto!important;
  min-height:0!important;
  margin:0!important;
  padding:20px 24px 0!important;
  overflow:hidden!important;
}
.staffModalBox .staffModalDetailFade::after{
  content:""!important;
  position:absolute!important;
  left:24px!important;
  right:30px!important;
  bottom:0!important;
  height:48px!important;
  z-index:2!important;
  pointer-events:none!important;
  background:linear-gradient(to bottom,rgba(255,255,255,0),var(--bg,#fff))!important;
}
.staffModalBox .staffModalDetailScroll{
  height:clamp(150px,28vh,245px)!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  padding:0 10px 42px 0!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(180,150,90,.58) transparent!important;
}
.staffModalBox .staffModalDetailScroll::-webkit-scrollbar{
  width:6px!important;
}
.staffModalBox .staffModalDetailScroll::-webkit-scrollbar-track{
  background:transparent!important;
}
.staffModalBox .staffModalDetailScroll::-webkit-scrollbar-thumb{
  border-radius:999px!important;
  background:rgba(180,150,90,.58)!important;
}
.staffModalBox .staffModalDetailScroll p{
  margin:0!important;
  color:var(--muted)!important;
  font-size:16px!important;
  line-height:1.72!important;
  white-space:pre-line!important;
}
.staffModalBox .staffModalFooter{
  flex:0 0 auto!important;
  padding:14px 24px 20px!important;
}
.staffModalBox .staffModalFooter .staffLinkedinBtn{
  margin-top:0!important;
}
.staffModalBox .staffModalBottomEdge{
  flex:0 0 auto!important;
  width:100%!important;
  height:8px!important;
  background:var(--gold)!important;
}

/* Legacy modal rules in styles.v99.css target .staffmodal > div and figure.
   These guards match the stable v3 strategy only; no later experimental patches. */
.staffModalBox .staffmodal>.staffModalTopRow{
  max-height:none!important;
  overflow:visible!important;
  padding:22px 24px 22px!important;
}
.staffModalBox .staffmodal>.staffModalNameBand{
  max-height:none!important;
  overflow:visible!important;
  padding:15px 24px 16px!important;
}
.staffModalBox .staffmodal>.staffModalContent{
  max-height:none!important;
  overflow:hidden!important;
  padding:0!important;
}
.staffModalBox .staffmodal>.staffModalBottomEdge{
  max-height:none!important;
  overflow:hidden!important;
  padding:0!important;
}
.staffModalBox .staffmodal .staffModalPortrait{
  position:static!important;
  top:auto!important;
  align-self:auto!important;
  flex:0 0 auto!important;
  width:auto!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:min(240px,calc(100vw - 96px))!important;
  max-height:min(26vh,240px)!important;
  overflow:hidden!important;
  clip-path:inset(0 round 24px)!important;
}
.staffModalBox .staffmodal .staffModalPortrait img{
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:min(240px,calc(100vw - 96px))!important;
  max-height:min(26vh,240px)!important;
  object-fit:contain!important;
  object-position:center center!important;
}

body.theme-dark .staffModalBox .staffModalTitleRibbon{
  color:#fff!important;
}
body.theme-dark .staffModalBox .staffModalDetailFade::after{
  background:linear-gradient(to bottom,rgba(23,22,21,0),var(--bg,#171615))!important;
}
body.theme-dark .staffModalBox .staffModalPortrait{
  background:#1d1c19!important;
}

@media(max-width:760px){
  .staffModalBox{
    width:min(100%,calc(100vw - 18px))!important;
    max-width:calc(100vw - 18px)!important;
    max-height:calc(100dvh - 18px)!important;
    border-radius:24px!important;
  }
  .staffModalBox>.close{
    top:52px!important;
    right:14px!important;
    width:38px!important;
    height:38px!important;
  }
  .staffModalBox .staffmodal{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    grid-template-columns:none!important;
    grid-template-rows:none!important;
    max-height:calc(100dvh - 18px)!important;
  }
  .staffModalBox .staffModalTitleRibbon{
    width:100%!important;
    padding:13px 58px 13px 16px!important;
    font-size:.7rem!important;
    letter-spacing:.13em!important;
    text-align:left!important;
  }
  .staffModalBox .staffModalTopRow,
  .staffModalBox .staffmodal>.staffModalTopRow{
    padding:14px 16px 16px!important;
  }
  .staffModalBox .staffModalPortrait,
  .staffModalBox .staffmodal .staffModalPortrait{
    width:auto!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:min(180px,calc(100vw - 72px))!important;
    max-height:min(15dvh,130px)!important;
    overflow:hidden!important;
    border-radius:20px!important;
    clip-path:inset(0 round 20px)!important;
  }
  .staffModalBox .staffModalPortrait img,
  .staffModalBox .staffmodal .staffModalPortrait img{
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    min-height:0!important;
    max-width:min(180px,calc(100vw - 72px))!important;
    max-height:min(15dvh,130px)!important;
    object-fit:contain!important;
    border-radius:inherit!important;
  }
  .staffModalBox .staffModalNameBand,
  .staffModalBox .staffmodal>.staffModalNameBand{
    width:100%!important;
    padding:13px 16px 14px!important;
  }
  .staffModalBox .staffModalNameBand h2{
    font-size:clamp(31px,9vw,42px)!important;
  }
  .staffModalBox .staffModalDetailFade{
    padding:17px 16px 0!important;
  }
  .staffModalBox .staffModalDetailFade::after{
    left:16px!important;
    right:22px!important;
    height:42px!important;
  }
  .staffModalBox .staffModalDetailScroll{
    height:clamp(170px,31dvh,260px)!important;
    padding-right:8px!important;
    padding-bottom:38px!important;
  }
  .staffModalBox .staffModalDetailScroll p{
    font-size:15px!important;
    line-height:1.68!important;
  }
  .staffModalBox .staffModalFooter{
    padding:12px 16px 16px!important;
  }
}

/* Exact legacy figure override: clip descendant paint to the portrait box. */
.staffModalBox .staffmodal figure.staffModalPortrait{
  overflow:clip!important;
  overflow-clip-margin:0!important;
  contain:paint!important;
}
@media(max-width:760px){
  .staffModalBox .staffmodal figure.staffModalPortrait{
    overflow:clip!important;
    overflow-clip-margin:0!important;
    contain:paint!important;
  }
}

/* Match the high-specificity #modal figure reset in styles.v99.css. */
#modal .staffModalBox .staffmodal figure.staffModalPortrait,
.modalbox.staffModalBox .staffmodal figure.staffModalPortrait{
  width:auto!important;
  height:100%!important;
  min-height:0!important;
  max-height:min(26vh,240px)!important;
  padding:0!important;
  margin:0!important;
  display:block!important;
  overflow:hidden!important;
  overflow:clip!important;
  overflow-clip-margin:0!important;
  contain:paint!important;
  box-sizing:border-box!important;
}
@media(max-width:760px){
  #modal .staffModalBox .staffmodal figure.staffModalPortrait,
  .modalbox.staffModalBox .staffmodal figure.staffModalPortrait{
    width:auto!important;
    height:100%!important;
    overflow:hidden!important;
    overflow:clip!important;
    border-radius:20px!important;
    clip-path:inset(0 round 20px)!important;
  }
}
