.ib-members{ --gap:28px; --ink:#15161a }
.ib-members .ibm-grid{ list-style:none;margin:0;padding:0;display:grid;gap:var(--gap);grid-template-columns:repeat(4,minmax(0,1fr)) }
@media (max-width:1024px){ .ib-members .ibm-grid{ grid-template-columns:repeat(3,1fr) } }
@media (max-width:768px){  .ib-members .ibm-grid{ grid-template-columns:repeat(2,1fr) } }
.ibm-item{ position:relative }
.ibm-card{ appearance:none;border:0;background:transparent;cursor:pointer;width:100%;padding:0;display:block;position:relative;border-radius:0;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.12); transition:box-shadow .25s }
.ibm-ph{ display:block;width:100%;aspect-ratio:3/4;background:#eaeff3;overflow:hidden }
.ibm-ph img{ width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s cubic-bezier(.2,.7,.2,1);will-change:transform }
.ibm-card:hover{ box-shadow:0 14px 36px rgba(0,0,0,.18) }
.ibm-card:hover .ibm-ph img{ transform:scale(1.1) }
.ibm-tags{
  position:absolute; left:14px; right:auto; bottom:14px;
  display:flex; flex-direction:column; gap:8px;
  text-align:left; align-items:flex-start;
}
.ibm-tag{
  display:inline-block; font-weight:700; letter-spacing:.06em; color:#fff;
  padding:.38rem .6rem; border-radius:6px; font-size:14px;
  background:var(--tag-bg,#15161a); text-align:left;
}
.ibm-tag--role{}
body.ibm-anim #body_wrap{
  transition-property: transform;
  transition-duration: .95s;
  transition-timing-function: cubic-bezier(.2,.7,.2,1);
  will-change: transform;
}
body.ibm-anim.ibm-shifted #body_wrap{ transform: translateX(-5vw) }
body.ibm-noanim #body_wrap{
  transition: none !important;
  transform: none !important;
  will-change: auto !important;
}
body.ibm-ui-off #wpadminbar,
body.ibm-ui-off #header,
body.ibm-ui-off #sp_menu,
body.ibm-ui-off .p-fixBtnWrap,
body.ibm-ui-off #pagetop,
body.ibm-ui-off .p-mainVisual__scroll { display:none !important }
.ibm-modal[hidden]{ display:none }
.ibm-modal{
  position:fixed; inset:0; z-index:2147483646;
  background:transparent; display:block; padding:0;
}
.ibm-modal__inner{
  width:100vw;height:100vh;background:#fff;border-radius:0;
  display:grid;grid-template-columns:60% 40%; overflow:hidden;position:relative
}
@media (max-width:900px){ .ibm-modal__inner{ grid-template-columns:1fr } }
.ibm-modal.is-open .ibm-modal__inner{ animation:ibSlideInR .95s cubic-bezier(.2,.7,.2,1) both }
.ibm-modal.is-closing .ibm-modal__inner{ animation:ibSlideOutR .95s cubic-bezier(.2,.7,.2,1) both }
@keyframes ibSlideInR{ from{ transform:translateX(100%) } to{ transform:translateX(0) } }
@keyframes ibSlideOutR{ from{ transform:translateX(0) } to{ transform:translateX(100%) } }
@media (prefers-reduced-motion:reduce){
  .ibm-modal.is-open .ibm-modal__inner,
  .ibm-modal.is-closing .ibm-modal__inner{ animation:none }
}
.ibm-modal__left{ position:relative;background:#000;overflow:hidden }
.ibm-modal__hero{ position:absolute;inset:0 }
.ibm-modal__hero img{ width:100%; height:100%; object-fit:cover; object-position:center; display:block }
.ibm-modal__right{ overflow:auto;padding:32px 48px 40px 32px }
.ibm-modal__head .ibm-modal__name{ font-size:28px; margin:0 0 12px; line-height:1.2 }
.ibm-modal__body{ line-height:1.9; font-size:15px }
.ibm-modal__body ul{ padding-left:1.2em }
.ib-guard img{ -webkit-user-drag:none; user-select:none }
html{ background:#0d0f12 }
.ibm-modal,.ibm-modal__inner{
  will-change: auto;           
  backface-visibility: hidden;
}
.ibm-modal__right{
  overflow:auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  --ib-scrollbar-w: 16px;         
  padding-right: var(--ib-scrollbar-w);
  margin-right: calc(var(--ib-scrollbar-w) * -1);
}
.ibm-modal__right::-webkit-scrollbar{ width:0; height:0; }
.ibm-modal__right{ scrollbar-width: none; }          
.ibm-modal__right{ -ms-overflow-style: none; }       
.ib-members{
  --gap: 28px;                       
  --gutter: calc(var(--gap) / 2);    
}
.ib-members .ibm-grid{
  gap: var(--gap);
  padding-inline: var(--gutter);     
  box-sizing: border-box;            
}
@media (max-width: 900px){
  .ibm-modal__inner{
    grid-template-areas:
      "left"
      "right";
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;      
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  .ibm-modal__inner::-webkit-scrollbar{ width:0; height:0; }
  .ibm-modal__inner{ scrollbar-width:none; -ms-overflow-style:none; }
  .ibm-modal__left{
    position: relative;
    overflow: hidden;
    height: 66vh;        
    height: 72svh;       
  }
  @supports (height: 1dvh){
    .ibm-modal__left{ height: 72dvh; }  
  }
  .ibm-modal__hero{ position:absolute; inset:0; }
  .ibm-modal__right{
    overflow: visible !important;
    max-height: none !important;
    margin-right: 0 !important;     
    padding: 24px 24px 40px 24px;    
  }
}
.ibm-modal.ibm-ready .ibm-modal__inner{
  transform: none;   
}
.ibm-modal__close{
  position: fixed;
  top: 12px;                     
  top: calc(env(safe-area-inset-top) + 12px);
  right: 12px;
  right: calc(env(safe-area-inset-right) + 12px);
  z-index: 2147483647;
  padding: 0;
  margin: 0;
  background: none;              
  border: 0;
  cursor: pointer;
}
.ibm-modal__close img{
  display: block;
  width: 28px;
  height: 28px;
  pointer-events: none;
}
@media (min-width: 901px){
  .ibm-modal__close img{ width: 36px; height: 36px; }
}
@media (max-width: 900px){
  .ibm-modal__close img{ width: 36px; height: 36px; }
}
.ibm-modal.is-closing .ibm-modal__close { display: none !important; }
.ibm-modal.is-open:not(.ibm-ready) .ibm-modal__close {
  display: none !important;
}
.ibm-ph, .ibm-modal__hero{
  -webkit-touch-callout: none; 
}
.ibm-ph img,
.ibm-modal__hero img{
  pointer-events: none;        
  -webkit-user-drag: none;
  user-select: none;
}
.ibm-ph{
  position: relative;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.ibm-ph img{ display: none !important; }  
.ibm-modal__hero{
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.ibm-modal__hero img{ display: none !important; }
.ibm-ph{
  transition: transform .45s cubic-bezier(.2,.7,.2,1);
  transform-origin: center;
  will-change: transform;
  backface-visibility: hidden;
}
.ibm-card:hover .ibm-ph,
.ibm-card:focus-visible .ibm-ph{
  transform: scale(1.08);  
}
@media (hover: none){
  .ibm-card:hover .ibm-ph,
  .ibm-card:focus-visible .ibm-ph{ transform:none; }
}
@media (prefers-reduced-motion: reduce){
  .ibm-ph{ transition: none; }
}
.ibm-modal__left{ background:#eaeff3; }
.ibm-card{ touch-action: manipulation; }
.ibm-modal.is-loading .ibm-modal__hero{ filter: blur(2px); opacity:.95; transition: filter .25s, opacity .25s; }
.ibm-modal:not(.is-open):not(.is-closing) .ibm-modal__inner {
  transform: translateX(100%);
}
@media (prefers-reduced-motion: reduce){
  .ibm-modal:not(.is-open):not(.is-closing) .ibm-modal__inner { transform:none; }
}
