/* Homepage process cards — clean technical style based on the approved reference. */
.home .sb-process-grid{
  gap:16px;
  align-items:stretch;
}
.home .sb-process-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:220px;
  padding:25px 68px 23px 22px;
  overflow:hidden;
  isolation:isolate;
  border:1px solid rgba(21,143,184,.22);
  border-radius:14px;
  background:linear-gradient(150deg,rgba(255,255,255,.97),rgba(244,250,252,.93));
  box-shadow:0 10px 30px rgba(16,67,88,.065);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease;
}

.home .sb-process-card::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 15% 0%,rgba(84,215,255,.13),transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.16),transparent 42%);
  opacity:.9;
}

/* Step number sits in a dedicated right-side rail and never overlaps the content. */
body.home .sb-process-card::after{
  content:attr(data-step)!important;
  position:absolute!important;
  z-index:1!important;
  right:14px!important;
  top:50%!important;
  width:42px!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:rgba(20,151,195,.16)!important;
  font-size:2.8rem!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:-.07em!important;
  text-align:center!important;
  transform:translateY(-50%)!important;
  writing-mode:horizontal-tb!important;
  transition:color .22s ease,text-shadow .22s ease!important;
}

.home .sb-process-card h3{
  position:relative;
  z-index:2;
  display:block;
  margin:0 0 10px;
  padding-top:58px;
  color:#153642;
  font-size:1.04rem;
  line-height:1.22;
  letter-spacing:-.018em;
}

.home .sb-process-card h3::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  display:block;
  width:38px;
  height:38px;
  background-position:center;
  background-repeat:no-repeat;
  background-size:34px 34px;
  filter:drop-shadow(0 0 7px rgba(84,215,255,.16));
  transition:transform .22s ease,filter .22s ease;
}

/* Technical connector now remains only between the icon and the card content. */
.home .sb-process-card h3::after{
  content:"";
  position:absolute;
  left:48px;
  top:18px;
  width:min(86px,42%);
  height:8px;
  background:
    radial-gradient(circle,#0797c8 0 3px,transparent 3.4px) left center/8px 8px no-repeat,
    linear-gradient(90deg,rgba(7,151,200,.72),rgba(7,151,200,.20) 58%,transparent 100%) 12px center/calc(100% - 12px) 1px no-repeat;
  opacity:.9;
  transition:width .22s ease,filter .22s ease,opacity .22s ease;
}

.home .sb-process-card:nth-child(1) h3::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%2300a9df' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 25l1.6-4.2A10 10 0 1 1 12 24l-5 1z'/%3E%3Ccircle cx='12' cy='14' r='1' fill='%2300a9df' stroke='none'/%3E%3Ccircle cx='16' cy='14' r='1' fill='%2300a9df' stroke='none'/%3E%3Ccircle cx='20' cy='14' r='1' fill='%2300a9df' stroke='none'/%3E%3C/svg%3E");
}
.home .sb-process-card:nth-child(2) h3::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%2300a9df' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4h13l5 5v19H7z'/%3E%3Cpath d='M20 4v6h6M11 14h10M11 18h10M11 22h7M4 8v18'/%3E%3C/svg%3E");
}
.home .sb-process-card:nth-child(3) h3::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%2300a9df' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='16' cy='16' r='5'/%3E%3Cpath d='M16 3v4M16 25v4M3 16h4M25 16h4M6.8 6.8l2.8 2.8M22.4 22.4l2.8 2.8M25.2 6.8l-2.8 2.8M9.6 22.4l-2.8 2.8'/%3E%3C/svg%3E");
}
.home .sb-process-card:nth-child(4) h3::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%2300a9df' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 26h22M8 23v-5M14 23V12M20 23v-8M26 23V7'/%3E%3Cpath d='m7 15 6-5 6 2 7-7'/%3E%3Cpath d='M22 5h4v4'/%3E%3C/svg%3E");
}

.home .sb-process-card p{
  position:relative;
  z-index:2;
  flex:1;
  margin:0;
  color:#526f7a;
  font-size:.89rem;
  line-height:1.48;
}

.home .sb-process-card:hover,
.home .sb-process-card:focus-within{
  transform:translateY(-4px);
  border-color:rgba(0,169,223,.34);
  background:linear-gradient(150deg,rgba(255,255,255,.99),rgba(238,249,252,.96));
  box-shadow:0 18px 42px rgba(16,67,88,.11),0 0 24px rgba(84,215,255,.07);
}
body.home .sb-process-card:hover::after,
body.home .sb-process-card:focus-within::after{
  color:rgba(20,151,195,.28)!important;
  transform:translateY(-50%) scale(1.04)!important;
  text-shadow:0 0 12px rgba(84,215,255,.13);
}
.home .sb-process-card:hover h3::before,
.home .sb-process-card:focus-within h3::before{
  transform:translateY(-1px) scale(1.05);
  filter:drop-shadow(0 0 10px rgba(84,215,255,.30));
}
.home .sb-process-card:hover h3::after,
.home .sb-process-card:focus-within h3::after{
  width:min(96px,46%);
  opacity:1;
  filter:drop-shadow(0 0 5px rgba(84,215,255,.24));
}

@media(max-width:1080px){
  .home .sb-process-card{min-height:200px;padding-right:62px}
  body.home .sb-process-card::after{right:12px!important;font-size:2.55rem!important;width:38px!important}
}
@media(max-width:620px){
  .home .sb-process-card{min-height:0;padding:22px 58px 20px 19px}
  .home .sb-process-card h3{padding-top:54px}
  body.home .sb-process-card::after{right:10px!important;font-size:2.35rem!important;width:36px!important}
  .home .sb-process-card h3::after{width:64px}
}
@media(prefers-reduced-motion:reduce){
  .home .sb-process-card,
  body.home .sb-process-card::after,
  .home .sb-process-card h3::before,
  .home .sb-process-card h3::after{transition:none!important}
  .home .sb-process-card:hover,
  .home .sb-process-card:focus-within{transform:none}
}

/* Sequential workflow progress. Replaces only the old top connector/dot. */
.home .sb-process-card h3::after{
  content:none!important;
  display:none!important;
}

.home .sb-process-progress{
  position:absolute;
  z-index:3;
  left:48px;
  top:9px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 34px;
  align-items:center;
  gap:8px;
  width:min(152px,calc(100% - 6px));
  height:20px;
  pointer-events:none;
}

.home .sb-process-progress__track{
  position:relative;
  display:block;
  width:100%;
  height:2px;
  overflow:visible;
  border-radius:999px;
  background:rgba(7,151,200,.14);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.3),0 0 7px rgba(84,215,255,.05);
}

.home .sb-process-progress__fill{
  position:absolute;
  left:0;
  top:0;
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#79e6ff 0%,#2bc7ef 48%,#00a9df 100%);
  box-shadow:0 0 7px rgba(0,169,223,.28),0 0 13px rgba(84,215,255,.12);
  will-change:width;
}

.home .sb-process-progress__fill::before{
  content:"";
  position:absolute;
  inset:-3px 0;
  overflow:hidden;
  border-radius:999px;
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.78) 50%,transparent 100%);
  background-size:30px 100%;
  background-repeat:no-repeat;
  opacity:0;
}

.home .sb-process-progress__fill::after{
  content:"";
  position:absolute;
  right:-3px;
  top:50%;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#dcfaff;
  box-shadow:0 0 0 2px rgba(84,215,255,.14),0 0 8px rgba(0,169,223,.72),0 0 15px rgba(84,215,255,.52);
  opacity:0;
  transform:translateY(-50%);
}

.home .sb-process-progress__value{
  display:block;
  min-width:34px;
  color:rgba(7,119,158,.52);
  font-size:.67rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.01em;
  text-align:right;
  font-variant-numeric:tabular-nums;
  transition:color .2s ease,text-shadow .2s ease,opacity .2s ease;
}

.home .sb-process-card.is-progress-active .sb-process-progress__fill::before{
  opacity:.72;
  animation:sb-process-sheen .9s linear infinite;
}

.home .sb-process-card.is-progress-active .sb-process-progress__fill::after{
  opacity:1;
  animation:sb-process-pulse .9s ease-in-out infinite;
}

.home .sb-process-card.is-progress-active .sb-process-progress__value{
  color:#008fbe;
  text-shadow:0 0 8px rgba(84,215,255,.2);
}

.home .sb-process-card.is-progress-complete .sb-process-progress__fill::after{
  opacity:.66;
}

.home .sb-process-card.is-progress-complete .sb-process-progress__value{
  color:#087ea6;
}

@keyframes sb-process-sheen{
  from{background-position:-30px 50%}
  to{background-position:calc(100% + 30px) 50%}
}

@keyframes sb-process-pulse{
  0%,100%{transform:translateY(-50%) scale(.88);filter:brightness(.98)}
  50%{transform:translateY(-50%) scale(1.16);filter:brightness(1.1)}
}

@media(max-width:620px){
  .home .sb-process-progress{
    left:48px;
    top:8px;
    width:min(160px,calc(100% - 4px));
  }
}

@media(prefers-reduced-motion:reduce){
  .home .sb-process-progress__fill::before,
  .home .sb-process-progress__fill::after{
    animation:none!important;
  }
  .home .sb-process-progress__value{
    transition:none!important;
  }
}
