.elementor-11 .elementor-element.elementor-element-9707851{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-e881f9e{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:90;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS */.rds-form .elementor-field-type-submit{display:flex!important;align-items:flex-start!important;}
.rds-form .elementor-field-type-submit .elementor-button,.rds-form .elementor-field-type-submit button{width:auto!important;align-self:flex-start!important;flex:0 0 auto!important;}
.rds-frame{bottom:110px;}

/* Service cards: image-led */
.rds-card{padding:0!important;min-height:0!important;gap:0!important;color:var(--rds-ink);text-decoration:none;position:relative;}
.rds-card .ph{height:210px;overflow:hidden;border-bottom:1px solid var(--rds-line);background:var(--rds-wash);}
.rds-card .ph img{width:100%;height:210px;object-fit:cover;display:block;transition:transform .5s ease;}
.rds-card:hover .ph img{transform:scale(1.05);}
.rds-card .bd{padding:24px 26px 28px;display:flex;flex-direction:column;gap:12px;flex:1;}
.rds-card .bd p{flex:1;}
.rds-card:hover h3{color:var(--rds-blue);}
@media(max-width:1200px){.rds-card .ph,.rds-card .ph img{height:190px;}}
@media(max-width:767px){.rds-card .ph,.rds-card .ph img{height:200px;}}

/* ===== Pipework flow animation =====
   A travelling pulse runs along the rules and section dividers,
   reading as product moving through a live line. */
@media (prefers-reduced-motion: no-preference){

  @keyframes rds-flow-h{0%{background-position:-55% 0;}100%{background-position:155% 0;}}
  @keyframes rds-flow-v{0%{background-position:0 -55%;}100%{background-position:0 155%;}}

  .rds-sec::after,.rds-sectors::after,.rds-hero::after,.rds-contact::after,
  .rds-step .rule::after,.rds-card::before,.rds-register .list a::after{
    background-image:linear-gradient(90deg,rgba(30,143,224,0) 0%,rgba(30,143,224,.85) 45%,rgba(30,143,224,.85) 55%,rgba(30,143,224,0) 100%);
    background-repeat:no-repeat;
    background-size:45% 100%;
  }

  /* Section dividers: slow, ambient */
  .rds-hero::after,.rds-sec::after,.rds-sectors::after,.rds-contact::after{
    content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
    pointer-events:none;z-index:4;
    animation:rds-flow-h 9s linear infinite;
  }
  .rds-sec#process::after{animation-duration:11s;animation-delay:1.5s;}
  .rds-sec#cases::after{animation-duration:10s;animation-delay:3s;}
  .rds-sectors::after{animation-duration:12s;animation-delay:2s;}
  .rds-contact::after{animation-duration:10.5s;animation-delay:4s;}

  /* Hero: vertical flow down the column divider */
  .rds-hero-copy::after{
    content:"";position:absolute;top:0;bottom:0;right:-1px;width:1px;
    pointer-events:none;z-index:4;
    background-image:linear-gradient(180deg,rgba(30,143,224,0) 0%,rgba(30,143,224,.9) 45%,rgba(30,143,224,.9) 55%,rgba(30,143,224,0) 100%);
    background-repeat:no-repeat;background-size:100% 40%;
    animation:rds-flow-v 6s linear infinite;
  }

  /* Process steps: pulse runs step to step, left to right */
  .rds-step .rule{position:relative;overflow:hidden;}
  .rds-step .rule::after{content:"";position:absolute;inset:0;animation:rds-flow-h 3.6s linear infinite;}
  .rds-steps>.rds-step:nth-child(1) .rule::after{animation-delay:0s;}
  .rds-steps>.rds-step:nth-child(2) .rule::after{animation-delay:.9s;}
  .rds-steps>.rds-step:nth-child(3) .rule::after{animation-delay:1.8s;}
  .rds-steps>.rds-step:nth-child(4) .rule::after{animation-delay:2.7s;}

  /* Service cards: flow across the top edge on hover */
  .rds-card::before{
    content:"";position:absolute;top:0;left:0;right:0;height:2px;z-index:3;
    opacity:0;transition:opacity .2s ease;pointer-events:none;
  }
  .rds-card:hover::before{opacity:1;animation:rds-flow-h 1.8s linear infinite;}

  /* Specialist register: pulse along the row on hover */
  .rds-register .list a{position:relative;}
  .rds-register .list a::after{
    content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
    opacity:0;pointer-events:none;
  }
  .rds-register .list a:hover::after{opacity:1;animation:rds-flow-h 1.5s linear infinite;}

  @media(max-width:1024px){.rds-hero-copy::after{display:none;}}

  /* Phones: drop the always-on ambient flows to save battery,
     keep the step-to-step flow which carries the meaning. */
  @media(max-width:767px){
    .rds-hero::after,.rds-sec::after,.rds-sectors::after,.rds-contact::after{
      animation:none;background-image:none;
    }
  }
}/* End custom CSS */