/* RAFimport patch v51: team carousel + fullscreen gallery */
.raf-team.raf-team-carousel-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at top left, rgba(36,135,216,.12), transparent 30%),
    radial-gradient(circle at top right, rgba(4,46,86,.10), transparent 28%),
    linear-gradient(180deg, #eef5fb 0%, #f8fbfe 100%);
}
.raf-team.raf-team-carousel-section > .container{
  position:relative;
  z-index:1;
}
.raf-team.raf-team-carousel-section .raf-section__head{
  display:grid;
  gap:16px;
  margin-bottom:32px;
  max-width:980px;
}
.raf-team-slider{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
}
.raf-team-slider__viewport{
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -ms-overflow-style:none;
  border-radius:32px;
}
.raf-team-slider__viewport::-webkit-scrollbar{display:none;}
.raf-team-slider__track{
  display:flex;
  gap:20px;
}
.raf-team-slider__nav{
  width:56px;
  height:56px;
  border-radius:999px;
  border:1px solid rgba(8,46,79,.14);
  background:rgba(255,255,255,.92);
  color:#08365a;
  font-size:34px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 16px 40px rgba(4,34,60,.10);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.raf-team-slider__nav:hover{
  transform:translateY(-2px);
  background:#fff;
  box-shadow:0 22px 46px rgba(4,34,60,.16);
}
.raf-team-card.raf-team-card--carousel{
  flex:0 0 calc((100% - 40px) / 3);
  min-width:calc((100% - 40px) / 3);
  display:flex !important;
  flex-direction:column;
  min-height:100%;
  overflow:hidden;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%) !important;
  border:1px solid rgba(155,198,225,.48) !important;
  border-radius:32px !important;
  box-shadow:0 24px 54px rgba(7,26,43,.10) !important;
}
.raf-team-card--carousel .raf-team-card__media{
  position:relative;
  aspect-ratio:4 / 4.6;
  overflow:hidden;
  background:linear-gradient(180deg,#f7fafc 0%, #edf4f8 100%);
}
.raf-team-card--carousel .raf-team-card__media img{
  width:100% !important;
  height:100% !important;
  object-fit:cover;
  object-position:center top;
  min-height:unset !important;
  background:transparent !important;
}
.raf-team-card--carousel .raf-team-card__content{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  padding:24px 24px 26px;
  min-height:230px;
}
.raf-team-card--carousel .raf-team-card__meta{
  font-size:14px;
  font-weight:700;
  color:#6f8195;
}
.raf-team-card--carousel h3{
  margin:0;
  font-size:28px;
  line-height:1.02;
  letter-spacing:-0.04em;
  color:#071827;
}
.raf-team-card--carousel p{
  margin:0;
  color:#23384f;
  font-size:17px;
  line-height:1.35;
}
.raf-team-card--carousel em{
  display:block;
  font-style:normal;
  color:#66798d;
  line-height:1.4;
}
.raf-team-card--carousel .raf-team-card__link{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border-radius:999px;
  text-decoration:none;
  font-weight:800;
  font-size:14px;
  color:#fff;
  background:linear-gradient(135deg,#1192da,#0b5f99);
  box-shadow:0 16px 32px rgba(17,146,218,.22);
}
.raf-team-slider__dots{
  display:flex;
  justify-content:center;
  gap:10px;
  margin-top:20px;
}
.raf-team-slider__dot{
  width:10px;
  height:10px;
  border-radius:999px;
  border:0;
  padding:0;
  background:rgba(8,54,90,.22);
  cursor:pointer;
  transition:transform .2s ease, background .2s ease;
}
.raf-team-slider__dot.is-active{
  background:#1192da;
  transform:scale(1.25);
}
.raf-team-summary{
  margin-top:26px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:24px 28px;
  background:linear-gradient(135deg, rgba(255,255,255,.95), rgba(245,250,255,.92)) !important;
  border:1px solid rgba(155,198,225,.42) !important;
  border-radius:28px !important;
  box-shadow:0 20px 50px rgba(8,40,68,.08) !important;
}
.raf-team-summary__text strong{
  display:block;
  margin-bottom:6px;
  font-size:22px;
  line-height:1.1;
  color:#071827;
}
.raf-team-summary__text p{
  margin:0;
  color:#52667c;
  line-height:1.55;
}
.raf-team-summary__more{
  flex-shrink:0;
  min-height:54px;
  padding:0 22px;
  border-radius:999px;
  border:0;
  background:linear-gradient(135deg,#082f53,#0f6fad);
  color:#fff;
  font-weight:800;
  font-size:15px;
  cursor:pointer;
  box-shadow:0 18px 38px rgba(10,73,116,.24);
}
.raf-team-modal[hidden]{display:none !important;}
.raf-team-modal{
  position:fixed;
  inset:0;
  z-index:1400;
}
.raf-team-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(5,17,30,.66);
  backdrop-filter:blur(8px);
}
.raf-team-modal__dialog{
  position:relative;
  z-index:1;
  width:min(1280px, calc(100% - 32px));
  max-height:calc(100vh - 32px);
  margin:16px auto;
  padding:28px;
  border-radius:28px;
  overflow:auto;
  background:linear-gradient(180deg,#f8fbfe 0%,#eef5fb 100%);
  box-shadow:0 30px 90px rgba(0,0,0,.25);
}
.raf-team-modal__head{
  max-width:860px;
  margin-bottom:24px;
}
.raf-team-modal__head span{
  display:inline-block;
  margin-bottom:10px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#278fda;
}
.raf-team-modal__head h3{
  margin:0 0 12px;
  font-size:46px;
  line-height:.98;
  letter-spacing:-.05em;
  color:#071827;
}
.raf-team-modal__head p{
  margin:0;
  color:#56697d;
  line-height:1.55;
}
.raf-team-modal__close{
  position:sticky;
  top:0;
  float:right;
  width:48px;
  height:48px;
  border-radius:999px;
  border:0;
  background:#0b5f99;
  color:#fff;
  font-size:28px;
  cursor:pointer;
  box-shadow:0 16px 36px rgba(11,95,153,.22);
}
.raf-team-modal__grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
}
.raf-team-modal-card{
  overflow:hidden;
  border-radius:26px;
  background:#fff;
  border:1px solid rgba(155,198,225,.45);
  box-shadow:0 18px 44px rgba(6,28,48,.10);
}
.raf-team-modal-card__media{
  aspect-ratio:4 / 4.6;
  background:#f1f6fa;
}
.raf-team-modal-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
.raf-team-modal-card__content{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  padding:18px 18px 22px;
}
.raf-team-modal-card__content span{
  font-size:13px;
  font-weight:700;
  color:#71859a;
}
.raf-team-modal-card__content h4{
  margin:0;
  font-size:24px;
  line-height:1.05;
  letter-spacing:-.04em;
  color:#071827;
}
.raf-team-modal-card__content p,
.raf-team-modal-card__content em{
  margin:0;
  color:#506378;
  font-style:normal;
  line-height:1.4;
}
.raf-team-modal-card__content a{
  margin-top:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  text-decoration:none;
  font-size:14px;
  font-weight:800;
  color:#fff;
  background:linear-gradient(135deg,#1192da,#0b5f99);
}
body.raf-team-modal-open{overflow:hidden;}
@media (max-width: 1199px){
  .raf-team-card.raf-team-card--carousel{
    flex-basis:calc((100% - 20px) / 2);
    min-width:calc((100% - 20px) / 2);
  }
  .raf-team-modal__grid{grid-template-columns:repeat(3, minmax(0, 1fr));}
}
@media (max-width: 860px){
  .raf-team-slider{
    grid-template-columns:1fr;
    gap:14px;
  }
  .raf-team-slider__nav{
    display:none;
  }
  .raf-team-card.raf-team-card--carousel{
    flex-basis:86%;
    min-width:86%;
  }
  .raf-team-card--carousel h3{font-size:24px;}
  .raf-team-summary{
    flex-direction:column;
    align-items:flex-start;
    padding:22px;
  }
  .raf-team-summary__text strong{font-size:20px;}
  .raf-team-summary__more{width:100%;}
  .raf-team-modal__dialog{
    width:calc(100% - 16px);
    max-height:calc(100vh - 16px);
    margin:8px auto;
    padding:18px;
    border-radius:22px;
  }
  .raf-team-modal__head h3{font-size:34px;}
  .raf-team-modal__grid{grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px;}
}
@media (max-width: 560px){
  .raf-team.raf-team-carousel-section .raf-section__head{margin-bottom:22px;}
  .raf-team-card.raf-team-card--carousel{
    flex-basis:92%;
    min-width:92%;
    border-radius:26px !important;
  }
  .raf-team-card--carousel .raf-team-card__content{
    padding:20px 18px 22px;
    min-height:unset;
  }
  .raf-team-card--carousel .raf-team-card__media{aspect-ratio:4 / 4.35;}
  .raf-team-modal__head h3{font-size:28px;}
  .raf-team-modal__grid{grid-template-columns:1fr;}
}
