/* Ravak Team Motion — isolated, no inherited document background. */
.rvk-team-motion {
  --rvk-team-card-width: 300px;
  --rvk-team-card-height: 430px;
  --rvk-team-card-background: #232627;
  --rvk-team-card-border: #494a45;
  --rvk-team-card-text: #f7f5ef;
  --rvk-team-distance-factor: 100%;
  --rvk-team-spread: 100%;
  --rvk-team-overlap: 59%;
  --rvk-team-rotation: 11deg;
  --rvk-team-hover-lift: 18px;
  --rvk-team-hover-x: 0px;
  --rvk-team-hover-factor: 0;
  --rvk-team-head-gap: 74px;
  --rvk-team-pin-offset: 0px;
  position: relative;
  width: 100%;
  max-width: 100%;
  isolation: isolate;
  overflow: clip;
  background: transparent;
  color: #f7f5ef;
}
.rvk-team-motion, .rvk-team-motion * { box-sizing: border-box; }
.rvk-team-stage {
  position: relative;
  height: max(530px, calc(max(660px, 100svh) - var(--rvk-team-pin-offset)));
  padding: clamp(30px, 5.5vh, 74px) 18px 18px;
  overflow: visible;
  display: flex;
  align-items: center;
  flex-direction: column;
}
.rvk-team-head { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; width: min(100%, 1000px); transform-origin: center; position:relative; z-index: 1; flex-shrink: 0; }
.rvk-team-title { margin:0; font-family:inherit; font-weight: 800; letter-spacing:-.045em; font-size: clamp(33px, 5vw, 78px); line-height: 1.17; color:#f5f3ef; }
.rvk-team-subtitle { margin:0; color:#b8b8b3; font-size:clamp(13px, 1.25vw, 18px); line-height:1.8; }
.rvk-team-deck { position:relative; flex: 1; width:min(100%, 1500px); min-height:0; margin-top:var(--rvk-team-head-gap); isolation:isolate; direction:ltr; }
.rvk-team-position {
  position: absolute;
  left:50%;
  top:0;
  width: min(var(--rvk-team-card-width), 86vw);
  height: min(var(--rvk-team-card-height), 100%);
  transform-origin:center 44%;
  transform:translate3d(-50%, 0, 0);
  transition: none;
  will-change:auto;
  z-index: 1;
}
.rvk-team-neighbor { width:100%; height:100%; transform:translate3d(0,0,0); transition:transform .52s cubic-bezier(.22,.7,.23,1); }
.rvk-team-card {
  width:100%; height:100%; display:flex; flex-direction:column;
  overflow:hidden; position:relative; direction:rtl;
  border:1px solid var(--rvk-team-card-border);
  border-radius:18px;
  background: var(--rvk-team-individual-bg, var(--rvk-team-card-background));
  color:var(--rvk-team-individual-color, var(--rvk-team-card-text));
  /* Nested hover transform: the scroll-controlled parent never changes here. */
  transform:translate3d(var(--rvk-team-hover-x,0px),calc(-1 * var(--rvk-team-hover-lift) * var(--rvk-team-hover-factor,0)),0) rotate(calc(var(--rvk-team-counterangle,0deg) * var(--rvk-team-hover-factor,0)));
  transition: box-shadow .28s ease;
  box-shadow:0 15px 32px rgb(0 0 0 / .19);
  outline-offset:3px;
}
.rvk-team-position:is(.rvk-team-hovering, .rvk-team-selected) .rvk-team-card {
  box-shadow:0 23px 48px rgb(0 0 0 / .31);
}
.rvk-team-card:focus-visible, .rvk-team-link:focus-visible { outline:2px solid #ffc32e; }
.rvk-team-portrait { position:relative; width:100%; flex:1; min-height:0; overflow:hidden; background:#363733; }
.rvk-team-portrait img { width:100%;height:100%;display:block;object-fit:cover;object-position:center; }
.rvk-team-photo-placeholder { position:absolute;inset:0;background:linear-gradient(155deg, #57534a, #343532 55%, #1d1e1c); }
.rvk-team-photo-placeholder::after { content:'';position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:42%;aspect-ratio:1;border-radius:50%;background:rgb(255 255 255 / .11);box-shadow:0 95px 0 26px rgb(255 255 255 / .075); }
.rvk-team-badge { position:absolute;top:14px;right:14px;max-width:calc(100% - 28px);font-size:11px;background:var(--rvk-team-individual-badge-bg,var(--rvk-team-badge-bg,#ffc32e));color:var(--rvk-team-individual-badge,var(--rvk-team-badge-color,#17140b));border:1px solid transparent;border-radius:100px;padding:5px 10px; }
.rvk-team-card-info { position:relative; flex-shrink:0; padding:19px; min-height:91px; background:var(--rvk-team-individual-bg, var(--rvk-team-card-background)); }
.rvk-team-name { font-size:clamp(15px,1.45vw,22px);line-height:1.45;font-weight:750;margin:0; color:var(--rvk-team-individual-color,var(--rvk-team-name-color,var(--rvk-team-card-text))); }
.rvk-team-role { margin:5px 0 0;color:var(--rvk-team-individual-role,var(--rvk-team-role-color,#ffc32e));font-size:13px;line-height:1.55; }
.rvk-team-desc { font-size:12px;line-height:1.6;color:inherit;opacity:.73;margin:6px 0 0; }
.rvk-team-link { position:absolute;left:14px;bottom:16px;width:33px;height:33px;border-radius:100%;background:#ffc32e;color:#141414;display:grid;place-items:center;text-decoration:none;font-size:20px; }
.rvk-team-motion.rvk-team-running .rvk-team-position { opacity:0; pointer-events:none; }
/* Let the running, visible team sequence escape its outer clipping context. */
.rvk-team-motion.rvk-team-running.rvk-team-in-view { overflow: unset; }
.rvk-team-motion.rvk-team-native .rvk-team-stage { position:sticky;top:calc(var(--rvk-team-pin-offset) - var(--rvk-team-mobile-start-lead, 0px)); }
/* JS disabled, Elementor editor and reduced-motion: always show all members. */
.rvk-team-motion:not(.rvk-team-running) .rvk-team-stage { height:auto;min-height:480px; }
.rvk-team-motion:not(.rvk-team-running) .rvk-team-deck { display:flex; flex-wrap:wrap; gap:18px; justify-content:center; min-height:0; }
.rvk-team-motion:not(.rvk-team-running) .rvk-team-position { position:relative;left:auto;top:auto;flex:0 0 min(var(--rvk-team-card-width),86vw);height:var(--rvk-team-card-height);transform:none!important;opacity:1!important;pointer-events:auto!important; }
@media(max-width:1023.98px){
  .rvk-team-motion { --rvk-team-mobile-start-lead:22px; }
  .rvk-team-stage { height:max(490px,calc(max(610px, 100svh) - var(--rvk-team-pin-offset)));padding:clamp(25px,5vh,48px) 14px 12px; }
  .rvk-team-title { font-size:clamp(30px,6.3vw,54px); }
  .rvk-team-subtitle {font-size:clamp(12px,2vw,16px);}
  .rvk-team-deck {margin-top:22px;}
  .rvk-team-position {width:min(var(--rvk-team-card-width), 78vw);height:min(var(--rvk-team-card-height),calc(100% - 4px));}
  .rvk-team-motion:not(.rvk-team-running) .rvk-team-position {height:min(390px,var(--rvk-team-card-height));}
}
@media(max-width:520px){
  .rvk-team-stage { height:max(530px,calc(100svh - var(--rvk-team-pin-offset)));padding:23px 12px 14px; }
  .rvk-team-title {font-size:clamp(26px,7.1vw,39px);}
  .rvk-team-head {gap:8px;}
  .rvk-team-deck {margin-top:15px;}
  .rvk-team-position {width:min(82vw, 330px);height:min(calc(100% - 9px),440px);}
  .rvk-team-card-info{padding:13px 15px;min-height:83px;}
  .rvk-team-role{font-size:12px;}
  .rvk-team-motion:not(.rvk-team-running) .rvk-team-position {flex-basis:min(82vw,330px);height:350px;}
}
@media(prefers-reduced-motion:reduce){
  .rvk-team-position, .rvk-team-card {will-change:auto; transition:none!important; transform:none;}
}

/* Hover colors apply after widget and per-member defaults. */
.rvk-team-position:is(.rvk-team-hovering,.rvk-team-selected) .rvk-team-name { color:var(--rvk-team-name-hover,var(--rvk-team-individual-color,var(--rvk-team-name-color,var(--rvk-team-card-text)))); }
.rvk-team-position:is(.rvk-team-hovering,.rvk-team-selected) .rvk-team-role { color:var(--rvk-team-role-hover,var(--rvk-team-individual-role,var(--rvk-team-role-color,#ffc32e))); }
.rvk-team-position:is(.rvk-team-hovering,.rvk-team-selected) .rvk-team-badge { color:var(--rvk-team-badge-hover,var(--rvk-team-individual-badge,var(--rvk-team-badge-color,#17140b))); }
.rvk-team-motion:not(.rvk-team-running) .rvk-team-neighbor { transform:none!important; }
@media(max-width:1023.98px){.rvk-team-deck{margin-top:22px}.rvk-team-neighbor{transition:none}}

/* Motion layers are promoted only while the team sequence is near the viewport. */
.rvk-team-motion.rvk-team-running.rvk-team-in-view .rvk-team-position { will-change: transform, opacity; }
@media (max-width:1023.98px), (hover:none) and (pointer:coarse) {
  .rvk-team-motion .rvk-team-position:is(.rvk-team-hovering,.rvk-team-selected) .rvk-team-card { box-shadow: 0 15px 32px rgb(0 0 0 / .19); }
}
