.dhw-wrap{--dhw-line:#cbd5e1;display:flex;flex-direction:column;align-items:center;width:100%;padding:8px 12px 24px;box-sizing:border-box;background:transparent}
.dhw-main-wrap{display:flex;justify-content:center;align-items:center}
.dhw-tree-line{width:1px;height:28px;background:var(--dhw-line);transform-origin:top}
.dhw-row{width:100%;display:flex;justify-content:space-evenly;align-items:flex-start;gap:28px;position:relative;padding-top:16px;box-sizing:border-box}
.dhw-row:before{content:"";position:absolute;left:calc(var(--dhw-card-width, 160px)/2);right:calc(var(--dhw-card-width, 160px)/2);top:0;height:1px;background:var(--dhw-line)}
.dhw-row .dhw-card{position:relative;flex:0 0 auto}
.dhw-row .dhw-card:before{content:"";position:absolute;top:-16px;left:50%;width:1px;height:16px;background:var(--dhw-line);z-index:1}
.dhw-card{background:transparent;border:0;overflow:visible;box-sizing:border-box;position:relative;transition:transform .3s ease,filter .3s ease;}
.dhw-card:hover{transform:translateY(-6px);filter:drop-shadow(0 9px 14px rgba(24,52,94,.12))}
.dhw-photo-wrap{position:relative;width:100%;height:190px;overflow:hidden;background:#e5e7eb;border-radius:8px}
.dhw-photo{display:block;width:100%;height:100%;object-fit:cover}
.dhw-photo-placeholder{width:100%;height:100%;background:#e5e7eb}
.dhw-content{position:absolute;left:50%;right:auto;bottom:6px;width:92%;transform:translateX(-50%);min-height:48px;padding:7px 6px 6px;background:#fff;border-radius:5px;box-sizing:border-box;text-align:center;box-shadow:0 1px 5px rgba(24,52,94,.08)}
.dhw-content h3{font-size:11px;line-height:1.2;margin:0 0 4px;font-weight:600;color:#18345e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dhw-qualification{font-size:9px;line-height:1.2;color:#6b7280;margin:0}
.dhw-main-card .dhw-photo-wrap{height:210px}
.dhw-anim-fade .dhw-card{opacity:1}
.dhw-ready.dhw-anim-fade .dhw-card{opacity:0;animation:dhwFade .65s ease forwards}.dhw-ready.dhw-anim-fade .dhw-main-card{animation-delay:.05s}.dhw-ready.dhw-anim-fade .dhw-child-card:nth-child(1){animation-delay:.22s}.dhw-ready.dhw-anim-fade .dhw-child-card:nth-child(2){animation-delay:.36s}.dhw-ready.dhw-anim-fade .dhw-child-card:nth-child(3){animation-delay:.5s}
.dhw-anim-draw .dhw-card,.dhw-anim-float .dhw-card{opacity:1}
.dhw-ready.dhw-anim-draw .dhw-card,.dhw-ready.dhw-anim-float .dhw-card{opacity:0;animation:dhwFade .6s ease forwards}.dhw-ready.dhw-anim-draw .dhw-main-card,.dhw-ready.dhw-anim-float .dhw-main-card{animation-delay:.05s}.dhw-ready.dhw-anim-draw .dhw-child-card:nth-child(1),.dhw-ready.dhw-anim-float .dhw-child-card:nth-child(1){animation-delay:.58s}.dhw-ready.dhw-anim-draw .dhw-child-card:nth-child(2),.dhw-ready.dhw-anim-float .dhw-child-card:nth-child(2){animation-delay:.72s}.dhw-ready.dhw-anim-draw .dhw-child-card:nth-child(3),.dhw-ready.dhw-anim-float .dhw-child-card:nth-child(3){animation-delay:.86s}
.dhw-ready.dhw-anim-draw .dhw-tree-line,.dhw-ready.dhw-anim-draw .dhw-row:before,.dhw-ready.dhw-anim-draw .dhw-row .dhw-card:before,.dhw-ready.dhw-anim-float .dhw-tree-line,.dhw-ready.dhw-anim-float .dhw-row:before,.dhw-ready.dhw-anim-float .dhw-row .dhw-card:before{animation:dhwLine .55s ease forwards}
.dhw-ready.dhw-anim-draw .dhw-tree-line,.dhw-ready.dhw-anim-float .dhw-tree-line{transform:scaleY(0);animation:dhwVLine .35s ease .15s forwards}
.dhw-ready.dhw-anim-draw .dhw-row:before,.dhw-ready.dhw-anim-float .dhw-row:before{transform-origin:center;transform:scaleX(0);animation-delay:.5s}
.dhw-ready.dhw-anim-draw .dhw-row .dhw-card:before,.dhw-ready.dhw-anim-float .dhw-row .dhw-card:before{transform-origin:top;transform:scaleY(0);animation:dhwVLine .3s ease .7s forwards}
.dhw-ready.dhw-anim-float .dhw-child-card{animation-name:dhwFadeFloat}
.dhw-no-main .dhw-row{padding-top:0}
.dhw-no-main .dhw-row:before,.dhw-no-main .dhw-row .dhw-card:before{display:none}
@keyframes dhwFade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes dhwFadeFloat{0%{opacity:0;transform:translateY(14px)}100%{opacity:1;transform:translateY(0)}}
@keyframes dhwLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes dhwVLine{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media (max-width:767px){
  .dhw-wrap{padding-left:12px;padding-right:12px;width:100%;overflow:visible}
  .dhw-main-wrap{width:100%;justify-content:center}
  .dhw-row{width:100%;max-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:32px;padding-top:0;padding-bottom:8px;overflow:visible;position:relative}
  .dhw-row:before{display:none}
  .dhw-row .dhw-card{width:min(220px,78vw)!important;flex:0 0 auto!important}
  .dhw-row .dhw-card:before{top:-32px;height:32px;left:50%;transform:none;animation:none}
  .dhw-row .dhw-card:not(:last-child):after{content:"";position:absolute;left:50%;bottom:-32px;width:1px;height:32px;background:var(--dhw-line);z-index:1}
  .dhw-photo-wrap{height:180px}
  .dhw-main-card .dhw-photo-wrap{height:210px}
  .dhw-content{bottom:5px;min-height:48px;padding:7px 6px}
  .dhw-content h3{font-size:11px;margin-bottom:4px}
  .dhw-qualification{font-size:9px}
  .dhw-tree-line{height:26px}
}
@media (max-width:380px){
  .dhw-row .dhw-card{width:min(210px,82vw)!important}
  .dhw-photo-wrap{height:170px}
  .dhw-main-card .dhw-photo-wrap{height:195px}
  .dhw-row{gap:30px}
  .dhw-row .dhw-card:before{top:-30px;height:30px}
  .dhw-row .dhw-card:not(:last-child):after{bottom:-30px;height:30px}
}
@media (prefers-reduced-motion:reduce){.dhw-card,.dhw-tree-line,.dhw-row:before,.dhw-row .dhw-card:before{animation:none!important;opacity:1!important;transform:none!important}}

/* Elementor editor/frontend entrance-animation safety.
   The widget must remain visible even if Elementor adds elementor-invisible
   before its entrance animation JavaScript initializes. */
.elementor-widget-doctor_hierarchy.elementor-invisible,
.elementor-widget-doctor_hierarchy.elementor-invisible .elementor-widget-container,
.elementor-widget-doctor_hierarchy.elementor-invisible .dhw-wrap {
  visibility: visible !important;
  opacity: 1 !important;
}
