:where(.process-flow, .ws-proc),
:where(.process-flow, .ws-proc) *{
  box-sizing:border-box;
}

:where(.process-flow, .ws-proc){
  position:relative;
  width:100%;
  padding:0 0 32px;
  background:
    radial-gradient(140% 180% at 0% 0%, #ffffff 0, #f6f7fb 38%, #eef2fb 70%, #f6f7fb 100%);
  color:#111;
}

:where(.process-flow__container, .ws-proc__container){
  max-width:90rem;
  margin:0 auto;
  padding:0;
}

:where(.process-flow__header, .ws-proc__head){
  margin:0;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  max-width:86.25rem;
  margin-left:auto;
  margin-right:auto;
}

:where(.process-flow__header, .ws-proc__head) > *{
  min-width:0;
}

:where(.process-flow__title, .ws-proc__title){
  margin:2rem 0 0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  font-family:var(--font-head, "Roboto Slab", serif);
  color:#111 !important;
  font-size:var(--h2-size);
  line-height:1.15;
  font-weight:700;
  letter-spacing:var(--h-track);
}

:where(.process-flow__title, .ws-proc__title)::before,
:where(.process-flow__title, .ws-proc__title)::after{
  flex:0 0 auto;
  display:inline-block;
  font-family:inherit;
  font-size:1.12em;
  line-height:1;
  font-weight:700;
  color:#FFD152;
  transform:translateY(-0.04em);
}

:where(.process-flow__title, .ws-proc__title)::before{
  content:"{";
}

:where(.process-flow__title, .ws-proc__title)::after{
  content:"}";
}

:where(.process-flow__subtitle, .ws-proc__sub),
:where(.process-flow__subtitle, .ws-proc__sub) *,
:where(.process-flow__subtitle, .ws-proc__sub) p{
  color:#111 !important;
}

:where(.process-flow__subtitle, .ws-proc__sub){
  margin:.25rem 0 1.125rem;
  max-width:100%;
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:var(--txt-size);
  line-height:1.45;
  font-weight:500;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}

:where(.process-flow__subtitle, .ws-proc__sub) p{
  margin:0;
}

:where(.process-flow__subtitle, .ws-proc__sub) .ws-proc__hl,
:where(.process-flow__subtitle, .ws-proc__sub) .ws-proc__hl *,
:where(.process-flow__subtitle, .ws-proc__sub) mark,
:where(.process-flow__subtitle, .ws-proc__sub) mark *{
  display:inline;
  padding:.08em .34em;
  border-radius:.38em;
  background:#FFD152;
  color:#111 !important;
  -webkit-text-fill-color:#111 !important;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}

:where(.process-flow__grid, .ws-proc__grid){
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
}

/*
  Swiper's bundle CSS (if loaded) sets .swiper-wrapper { display:flex } with normal
  specificity and wins over :where() (0 spec). From 641px up we are NOT using Swiper
  (JS only initializes ≤640px); keep the original CSS grid layout on desktop/tablet.
*/
@media (min-width: 641px){
  .process-flow .process-flow__slider.swiper,
  .ws-proc .ws-proc__slider.swiper{
    overflow:visible;
    padding:0;
  }

  .process-flow .process-flow__grid.swiper-wrapper,
  .ws-proc .ws-proc__grid.swiper-wrapper{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:20px;
    align-items:stretch;
    width:100%;
    box-sizing:border-box;
    transform:none !important;
  }

  .process-flow .process-flow__card.swiper-slide,
  .ws-proc .ws-proc__card.swiper-slide{
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    height:auto !important;
  }
}

@media (min-width: 641px) and (max-width: 1200px){
  .process-flow .process-flow__grid.swiper-wrapper,
  .ws-proc .ws-proc__grid.swiper-wrapper{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 641px) and (max-width: 991.98px){
  .process-flow .process-flow__grid.swiper-wrapper,
  .ws-proc .ws-proc__grid.swiper-wrapper{
    grid-template-columns:1fr !important;
  }
}

@media (min-width: 641px) and (max-width: 767.98px){
  .process-flow .process-flow__grid.swiper-wrapper,
  .ws-proc .ws-proc__grid.swiper-wrapper{
    gap:20px;
  }
}

:where(.process-flow__card, .ws-proc__card){
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:0;
  padding:10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:26px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01)),
    #1d1b1b;
  box-shadow:
    0 22px 48px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.04);
}

:where(.process-flow__media, .ws-proc__media-wrap){
  position:relative;
  margin-bottom:14px;
  border-radius:20px;
  overflow:hidden;
  background:#141414;
  isolation:isolate;
}

:where(.process-flow__video, .ws-proc__video),
:where(.process-flow__image, .ws-proc__image){
  display:block;
  width:100%;
  aspect-ratio:4 / 5;
  min-height:460px;
  object-fit:cover;
  border-radius:20px;
  background:#111;
  transition:transform .3s ease;
}

:where(.process-flow__poster, .ws-proc__poster){
  position:absolute;
  inset:0;
  z-index:2;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:20px;
  background:#111;
  pointer-events:none;
  transition:opacity .18s ease;
}

:where(.process-flow__card, .ws-proc__card):where(.process-flow__card--poster-hidden, .ws-proc__card--poster-hidden) :where(.process-flow__poster, .ws-proc__poster){
  opacity:0;
}

:where(.process-flow__card--zoom, .ws-proc__card--zoom) :where(.process-flow__video, .ws-proc__video),
:where(.process-flow__card--zoom, .ws-proc__card--zoom) :where(.process-flow__image, .ws-proc__image),
:where(.process-flow__card--zoom, .ws-proc__card--zoom) :where(.process-flow__poster, .ws-proc__poster){
  transform:scale(1.03);
}

:where(.process-flow__controls, .ws-proc__controls){
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
}

:where(.process-flow__play, .ws-proc__play){
  pointer-events:auto;
  position:absolute;
  top:50%;
  left:50%;
  z-index:4;
  width:72px;
  height:72px;
  display:none;
  align-items:center;
  justify-content:center;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(10,10,10,.62);
  color:#fff;
  cursor:pointer;
  transform:translate(-50%, -50%);
  box-shadow:0 18px 38px rgba(0,0,0,.34);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

:where(.process-flow__play-ripple, .ws-proc__play-ripple){
  position:absolute;
  inset:-10px;
  border:1px solid rgba(255,255,255,.36);
  border-radius:inherit;
  animation:ws-proc-play-pulse 1.8s ease-out infinite;
}

:where(.process-flow__play-icon, .ws-proc__play-icon){
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-left:3px;
}

:where(.process-flow__play-icon, .ws-proc__play-icon) svg{
  width:28px;
  height:28px;
  display:block;
  fill:currentColor;
}

:where(.process-flow__card, .ws-proc__card).is-desktop-idle :where(.process-flow__play, .ws-proc__play){
  display:flex;
}

:where(.process-flow__card, .ws-proc__card).is-desktop-idle :where(.process-flow__mute, .ws-proc__mute){
  opacity:0;
  pointer-events:none;
}

@keyframes ws-proc-play-pulse{
  0%{
    transform:scale(.92);
    opacity:.9;
  }
  70%{
    transform:scale(1.2);
    opacity:0;
  }
  100%{
    transform:scale(1.26);
    opacity:0;
  }
}

:where(.process-flow__mute, .ws-proc__mute){
  pointer-events:auto;
  position:absolute;
  top:12px;
  left:12px;
  width:40px;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(10,10,10,.58);
  color:#fff;
  cursor:pointer;
  box-shadow:0 4px 14px rgba(0,0,0,.22);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}

:where(.process-flow__mute, .ws-proc__mute):hover{
  transform:scale(1.04);
  background:rgba(10,10,10,.74);
  box-shadow:0 6px 18px rgba(0,0,0,.28);
}

:where(.process-flow__mute-icon, .ws-proc__mute-i){
  position:absolute;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
}

:where(.process-flow__mute-icon, .ws-proc__mute-i) svg{
  width:19px;
  height:19px;
  display:block;
  stroke:currentColor;
  fill:none;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

:where(.process-flow__mute, .ws-proc__mute)[data-state="off"] .ws-proc__mute-i--off{
  display:flex;
}

:where(.process-flow__mute, .ws-proc__mute)[data-state="on"] .ws-proc__mute-i--on{
  display:flex;
}

:where(.process-flow__step, .ws-proc__step){
  position:absolute;
  left:18px;
  bottom:18px;
  z-index:2;
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#FFD152;
  color:#111;
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:18px;
  line-height:1;
  font-weight:800;
  box-shadow:0 10px 20px rgba(255,209,82,.28);
}

:where(.process-flow__body, .ws-proc__body){
  min-width:0;
  padding:0 4px 6px;
}

:where(.process-flow__card-title, .ws-proc__card-title),
:where(.process-flow__card-title, .ws-proc__card-title) *{
  margin:0 0 12px;
  display:inline-block;
  padding:.12em .36em;
  border-radius:.38em;
  font-family:var(--font-head, "Roboto Slab", serif);
  font-size:var(--h5-size);
  line-height:var(--h-lh);
  letter-spacing:var(--h-track);
  color:#fff !important;
  background:#0f0f10;
  -webkit-text-fill-color:#fff !important;
}

:where(.process-flow__text, .ws-proc__text),
:where(.process-flow__text, .ws-proc__text) *,
:where(.process-flow__text, .ws-proc__text) p{
  color:#f5f7fa !important;
}

:where(.process-flow__text, .ws-proc__text){
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:var(--txt-size);
  line-height:var(--txt-lh);
  max-width:none;
  background-image:none;
  -webkit-background-clip:border-box;
  background-clip:border-box;
  -webkit-text-fill-color:#f5f7fa;
  text-shadow:none;
}

:where(.process-flow__text, .ws-proc__text) .ws-proc__hl,
:where(.process-flow__text, .ws-proc__text) mark{
  display:inline;
  padding:.04em .24em;
  border-radius:.28em;
  background:#FFD152;
  color:#111 !important;
  -webkit-text-fill-color:#111 !important;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}

:where(.process-flow__text, .ws-proc__text) p{
  margin:0 0 10px;
  color:inherit !important;
}

:where(.process-flow__text, .ws-proc__text) p:last-child{
  margin-bottom:0;
}

:where(.ws-proc__text-wrap){
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:4px;
}

:where(.ws-proc__text-wrap[data-clamp-active]:not(.is-expanded)) .ws-proc__text-inner{
  position:relative;
  max-height:var(--ws-proc-clamp, 7.5rem);
  overflow:hidden;
  transition:max-height .35s ease;
}

:where(.ws-proc__text-wrap.is-expanded) .ws-proc__text-inner{
  max-height:none;
  overflow:visible;
}

:where(.ws-proc__text-wrap[data-clamp-active]:not(.is-expanded)) .ws-proc__text-inner::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2.75rem;
  pointer-events:none;
  background:linear-gradient(to bottom, rgba(29,27,27,0), #1d1b1b);
}

:where(.ws-proc__more){
  align-self:center;
  margin:0;
  padding:.52em 1.05em;
  border:none;
  border-radius:.42em;
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:clamp(13px, 2.8vw, 14px);
  font-weight:600;
  letter-spacing:.02em;
  line-height:1.25;
  cursor:pointer;
  color:#111;
  background:#FFD152;
  background:var(--ws-proc-accent, #FFD152);
  box-shadow:0 1px 0 rgba(0,0,0,.12);
  transition:transform .18s ease, filter .18s ease, box-shadow .18s ease;
}

:where(.ws-proc__more:hover){
  filter:brightness(1.05);
  box-shadow:0 2px 10px rgba(255,209,82,.28);
}

:where(.ws-proc__more:active){
  transform:translateY(1px);
}

:where(.ws-proc__more:focus-visible){
  outline:2px solid var(--ws-proc-accent, #FFD152);
  outline-offset:3px;
}

@media (max-width: 991.98px){
  :where(.process-flow__grid, .ws-proc__grid){
    grid-template-columns:1fr;
    gap:20px;
  }
}

@media (max-width: 767.98px){
  :where(.process-flow__container, .ws-proc__container){
    padding:0 16px;
  }

  :where(.process-flow__header, .ws-proc__head){
    margin-bottom:20px;
  }

  :where(.process-flow__title, .ws-proc__title){
    gap:8px;
    font-size:clamp(28px, 9vw, 44px);
  }

  :where(.process-flow__title, .ws-proc__title)::before,
  :where(.process-flow__title, .ws-proc__title)::after{
    font-size:1em;
  }

  :where(.process-flow__subtitle, .ws-proc__sub){
    font-size:15px;
  }

  :where(.process-flow__card, .ws-proc__card){
    padding:8px;
    border-radius:22px;
  }

  :where(.process-flow__media, .ws-proc__media-wrap){
    margin-bottom:12px;
    border-radius:18px;
  }

  :where(.process-flow__video, .ws-proc__video),
  :where(.process-flow__image, .ws-proc__image){
    min-height:420px;
    aspect-ratio:4 / 5;
    border-radius:18px;
  }

  :where(.process-flow__poster, .ws-proc__poster){
    border-radius:18px;
  }

  :where(.process-flow__step, .ws-proc__step){
    left:14px;
    bottom:14px;
    width:38px;
    height:38px;
    font-size:16px;
  }

  :where(.process-flow__mute, .ws-proc__mute){
    top:10px;
    left:10px;
  }

  :where(.process-flow__mute-icon, .ws-proc__mute-i) svg{
    width:18px;
    height:18px;
  }

  :where(.process-flow__card-title, .ws-proc__card-title),
  :where(.process-flow__card-title, .ws-proc__card-title) *{
    font-size:22px;
  }

  :where(.process-flow__text, .ws-proc__text){
    font-size:14px;
    line-height:1.58;
  }
}

/* Strong component layer:
   :where() has zero specificity, so enforce process-flow typography/layout
   against global h2/p typography rules. */
.process-flow,
.ws-proc{
  padding-top:32px;
  padding-bottom:32px;
}

.process-flow .process-flow__container,
.ws-proc .ws-proc__container{
  max-width:90rem;
  margin:0 auto;
  padding:0 24px;
}

.process-flow .process-flow__header,
.ws-proc .ws-proc__head{
  margin:0 auto;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  max-width:86.25rem;
}

.process-flow .process-flow__header > *,
.ws-proc .ws-proc__head > *{
  min-width:0;
}

.process-flow .process-flow__title,
.ws-proc .ws-proc__title{
  margin:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  font-family:var(--font-head, "Roboto Slab", serif);
  font-size:var(--h2-size);
  line-height:1.15;
  font-weight:700;
  letter-spacing:var(--h-track);
  color:#111 !important;
}

.process-flow .process-flow__title::before,
.process-flow .process-flow__title::after,
.ws-proc .ws-proc__title::before,
.ws-proc .ws-proc__title::after{
  flex:0 0 auto;
  display:inline-block;
  font-family:inherit;
  font-size:1.12em;
  line-height:1;
  font-weight:700;
  color:#FFD152;
  transform:translateY(-0.04em);
}

.process-flow .process-flow__subtitle,
.process-flow .process-flow__subtitle *,
.process-flow .process-flow__subtitle p,
.ws-proc .ws-proc__sub,
.ws-proc .ws-proc__sub *,
.ws-proc .ws-proc__sub p{
  color:#111 !important;
}

.process-flow .process-flow__subtitle,
.ws-proc .ws-proc__sub{
  margin:.25rem 0 1.125rem;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:var(--txt-size);
  line-height:1.45;
  font-weight:500;
}

.process-flow .process-flow__card-title,
.process-flow .process-flow__card-title *,
.ws-proc .ws-proc__card-title,
.ws-proc .ws-proc__card-title *{
  font-family:var(--font-head, "Roboto Slab", serif);
  font-size:var(--h5-size);
  line-height:var(--h-lh);
  letter-spacing:var(--h-track);
}

.process-flow .process-flow__text,
.process-flow .process-flow__text *,
.process-flow .process-flow__text p,
.ws-proc .ws-proc__text,
.ws-proc .ws-proc__text *,
.ws-proc .ws-proc__text p{
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:var(--txt-size);
  line-height:var(--txt-lh);
}

@media (max-width: 1200px){
  .process-flow .process-flow__grid,
  .ws-proc .ws-proc__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

/* Tablets: show steps in a single column, same as phone */
@media (max-width: 991.98px){
  .process-flow .process-flow__grid,
  .ws-proc .ws-proc__grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 767.98px){
  .process-flow,
  .ws-proc{
    padding-top:32px;
    padding-bottom:32px;
  }

  .process-flow .process-flow__grid,
  .ws-proc .ws-proc__grid{
    grid-template-columns:1fr;
    gap:20px;
  }

  .process-flow .process-flow__container,
  .ws-proc .ws-proc__container{
    padding:0 16px;
  }

  .process-flow .process-flow__title,
  .ws-proc .ws-proc__title{
    gap:7px;
  }

  .process-flow .process-flow__title::before,
  .process-flow .process-flow__title::after,
  .ws-proc .ws-proc__title::before,
  .ws-proc .ws-proc__title::after{
    font-size:1em;
  }
}

/* Reference-style process cards */
.process-flow.ws-proc,
.ws-proc{
  --ws-proc-accent:#FFD152;
  --ws-proc-card:#18191d;
  --ws-proc-line:rgba(255,255,255,.11);
  --ws-proc-muted:rgba(245,247,250,.78);
  padding-top:28px;
  padding-bottom:32px;
}

.process-flow .process-flow__header,
.ws-proc .ws-proc__head{
  margin-bottom:18px;
}

.process-flow .process-flow__title,
.ws-proc .ws-proc__title{
  max-width:1100px;
  margin:0 auto;
}

.process-flow .process-flow__title::before,
.process-flow .process-flow__title::after,
.ws-proc .ws-proc__title::before,
.ws-proc .ws-proc__title::after{
  color:var(--ws-proc-accent);
}

.process-flow .process-flow__subtitle,
.ws-proc .ws-proc__sub{
  max-width:1050px;
  margin:.55rem auto 0;
}

.process-flow .process-flow__subtitle mark,
.ws-proc .ws-proc__sub mark,
.process-flow .process-flow__subtitle .ws-proc__hl,
.ws-proc .ws-proc__sub .ws-proc__hl{
  margin:0 .25em;
  padding:0;
  background:transparent;
  color:var(--ws-proc-accent) !important;
  -webkit-text-fill-color:var(--ws-proc-accent) !important;
}

.process-flow .process-flow__grid,
.ws-proc .ws-proc__grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:20px;
  align-items:stretch;
}

.process-flow .process-flow__card,
.ws-proc .ws-proc__card{
  position:relative;
  min-height:100%;
  padding:9px;
  overflow:hidden;
  border:1px solid var(--ws-proc-line);
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.015)), var(--ws-proc-card);
  box-shadow:0 20px 44px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.06);
  transition:border-color .32s ease, box-shadow .32s ease;
}

.process-flow .process-flow__card::before,
.ws-proc .ws-proc__card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(360px 180px at 18% 0%, rgba(255,209,82,.13), transparent 62%);
  opacity:.45;
  transition:opacity .32s ease;
}

.process-flow .process-flow__card:hover,
.ws-proc .ws-proc__card:hover{
  border-color:rgba(255,209,82,.36);
  box-shadow:0 26px 58px rgba(0,0,0,.28), 0 0 0 1px rgba(255,209,82,.08), inset 0 1px 0 rgba(255,255,255,.08);
}

.process-flow .process-flow__card:hover::before,
.ws-proc .ws-proc__card:hover::before{
  opacity:.9;
}

.process-flow .process-flow__media,
.ws-proc .ws-proc__media-wrap{
  margin-bottom:0;
  border-radius:15px;
  background:#0f1013;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}

.process-flow .process-flow__video,
.process-flow .process-flow__image,
.ws-proc .ws-proc__video,
.ws-proc .ws-proc__image{
  aspect-ratio:4 / 5;
  min-height:460px;
  max-height:none;
  border-radius:15px;
  filter:saturate(1.04) contrast(1.02);
  transition:transform .45s ease, filter .45s ease;
}

.process-flow .process-flow__poster,
.ws-proc .ws-proc__poster{
  border-radius:15px;
  transition:opacity .18s ease, transform .45s ease, filter .45s ease;
}

.process-flow .process-flow__card:hover .process-flow__video,
.process-flow .process-flow__card:hover .process-flow__image,
.process-flow .process-flow__card:hover .process-flow__poster,
.ws-proc .ws-proc__card:hover .ws-proc__video,
.ws-proc .ws-proc__card:hover .ws-proc__image,
.ws-proc .ws-proc__card:hover .ws-proc__poster{
  transform:scale(1.045);
  filter:saturate(1.1) contrast(1.05);
}

.process-flow .process-flow__play,
.ws-proc .ws-proc__play{
  width:58px;
  height:58px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(10,10,12,.64);
  color:var(--ws-proc-accent);
  transition:transform .24s ease, background .24s ease, box-shadow .24s ease;
}

.process-flow .process-flow__play:hover,
.ws-proc .ws-proc__play:hover{
  transform:translate(-50%, -50%) scale(1.08);
  background:rgba(10,10,12,.82);
  box-shadow:0 16px 34px rgba(0,0,0,.34), 0 0 0 7px rgba(255,209,82,.12);
}

.process-flow .process-flow__play-ripple,
.ws-proc .ws-proc__play-ripple{
  border-color:rgba(255,209,82,.5);
}

.process-flow .process-flow__body,
.ws-proc .ws-proc__body{
  position:relative;
  z-index:1;
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  padding:15px 5px 4px;
}

.process-flow .process-flow__card-head,
.ws-proc .ws-proc__card-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 9px;
}

.process-flow .process-flow__card-icon,
.ws-proc .ws-proc__card-icon{
  flex:0 0 auto;
  width:48px;
  height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  border:1px solid rgba(255,209,82,.18);
  border-radius:8px;
  background:rgba(255,209,82,.055);
  color:var(--ws-proc-accent);
  box-shadow:none;
  transition:transform .24s ease, border-color .24s ease, background .24s ease;
}

.process-flow .process-flow__card-icon svg,
.ws-proc .ws-proc__card-icon svg{
  width:28px;
  height:28px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.process-flow .process-flow__card:hover .process-flow__card-icon,
.ws-proc .ws-proc__card:hover .ws-proc__card-icon{
  transform:translateY(-2px) scale(1.04);
  border-color:rgba(255,209,82,.32);
  background:rgba(255,209,82,.09);
  animation:none;
}

.process-flow .process-flow__card-title,
.process-flow .process-flow__card-title *,
.ws-proc .ws-proc__card-title,
.ws-proc .ws-proc__card-title *{
  margin:0;
  padding:0;
  display:block;
  background:transparent;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

.process-flow .process-flow__text,
.process-flow .process-flow__text *,
.process-flow .process-flow__text p,
.ws-proc .ws-proc__text,
.ws-proc .ws-proc__text *,
.ws-proc .ws-proc__text p{
  color:var(--ws-proc-muted) !important;
  -webkit-text-fill-color:var(--ws-proc-muted) !important;
}

.process-flow .process-flow__text,
.ws-proc .ws-proc__text{
  margin-bottom:16px;
}

.process-flow .process-flow__text .ws-proc__hl,
.process-flow .process-flow__text mark,
.ws-proc .ws-proc__text .ws-proc__hl,
.ws-proc .ws-proc__text mark{
  padding:0;
  background:transparent;
  color:var(--ws-proc-accent) !important;
  -webkit-text-fill-color:var(--ws-proc-accent) !important;
}

.process-flow .process-flow__badges,
.ws-proc .ws-proc__badges{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:0;
  margin:auto -5px -4px;
  padding:0;
  list-style:none;
  border-top:1px solid var(--ws-proc-line);
}

.process-flow .process-flow__badge,
.ws-proc .ws-proc__badge{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:76px;
  padding:11px 8px 10px;
  text-align:center;
  border-right:1px solid var(--ws-proc-line);
  color:#fff;
}

.process-flow .process-flow__badge:last-child,
.ws-proc .ws-proc__badge:last-child{
  border-right:0;
}

.process-flow .process-flow__badge-icon,
.ws-proc .ws-proc__badge-icon{
  flex:0 0 auto;
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  border:1px solid rgba(255,209,82,.18);
  border-radius:8px;
  background:rgba(255,209,82,.055);
  color:var(--ws-proc-accent);
  transition:transform .24s ease, border-color .24s ease, background .24s ease;
}

.process-flow .process-flow__badge-icon svg,
.ws-proc .ws-proc__badge-icon svg{
  width:22px;
  height:22px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.85;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.process-flow .process-flow__badge-text,
.ws-proc .ws-proc__badge-text{
  display:block;
  width:100%;
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:12.5px;
  line-height:1.12;
  font-weight:700;
  color:rgba(255,255,255,.86);
}

.process-flow .process-flow__badge:hover .process-flow__badge-icon,
.ws-proc .ws-proc__badge:hover .ws-proc__badge-icon{
  transform:translateY(-2px) scale(1.04);
  border-color:rgba(255,209,82,.32);
  background:rgba(255,209,82,.09);
  animation:none;
}

.process-flow .process-flow__trust,
.ws-proc .ws-proc__trust{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  margin-top:20px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015)), var(--ws-proc-card);
  box-shadow:0 16px 36px rgba(0,0,0,.18);
}

.process-flow .process-flow__trust-item,
.ws-proc .ws-proc__trust-item{
  display:flex;
  align-items:center;
  gap:13px;
  min-width:0;
  padding:16px 22px;
  border-right:1px solid var(--ws-proc-line);
}

.process-flow .process-flow__trust-item:last-child,
.ws-proc .ws-proc__trust-item:last-child{
  border-right:0;
}

.process-flow .process-flow__trust-icon,
.ws-proc .ws-proc__trust-icon{
  flex:0 0 auto;
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  border:1px solid rgba(255,209,82,.18);
  border-radius:8px;
  background:rgba(255,209,82,.055);
  color:var(--ws-proc-accent);
  transition:transform .24s ease, border-color .24s ease, background .24s ease, filter .24s ease;
}

.process-flow .process-flow__trust-icon svg,
.ws-proc .ws-proc__trust-icon svg{
  width:26px;
  height:26px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.process-flow .process-flow__trust-item:hover .process-flow__trust-icon,
.ws-proc .ws-proc__trust-item:hover .ws-proc__trust-icon{
  transform:translateY(-2px) scale(1.04);
  border-color:rgba(255,209,82,.32);
  background:rgba(255,209,82,.09);
  filter:none;
  animation:none;
}

.process-flow .process-flow__trust-copy,
.ws-proc .ws-proc__trust-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
  font-family:var(--font-body, "Montserrat", sans-serif);
}

.process-flow .process-flow__trust-copy strong,
.ws-proc .ws-proc__trust-copy strong{
  color:#fff;
  font-size:13px;
  line-height:1.2;
  font-weight:800;
  text-transform:uppercase;
}

.process-flow .process-flow__trust-copy span,
.ws-proc .ws-proc__trust-copy span{
  color:rgba(255,255,255,.72);
  font-size:12px;
  line-height:1.25;
  font-weight:500;
}


@media (max-width: 1200px){
  .process-flow .process-flow__grid,
  .ws-proc .ws-proc__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .process-flow .process-flow__trust,
  .ws-proc .ws-proc__trust{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .process-flow .process-flow__trust-item:nth-child(2n),
  .ws-proc .ws-proc__trust-item:nth-child(2n){
    border-right:0;
  }
}

@media (max-width: 991.98px){
  .process-flow .process-flow__grid,
  .ws-proc .ws-proc__grid{
    grid-template-columns:1fr;
  }

  .process-flow .process-flow__video,
  .process-flow .process-flow__image,
  .ws-proc .ws-proc__video,
  .ws-proc .ws-proc__image{
    max-height:none;
  }
}

@media (max-width: 767.98px){
  .process-flow.ws-proc,
  .ws-proc{
    padding-top:28px;
  }

  .process-flow .process-flow__header,
  .ws-proc .ws-proc__head{
    margin-bottom:16px;
  }

  .process-flow .process-flow__video,
  .process-flow .process-flow__image,
  .ws-proc .ws-proc__video,
  .ws-proc .ws-proc__image{
    aspect-ratio:4 / 5;
    min-height:420px;
  }

  .process-flow .process-flow__card-head,
  .ws-proc .ws-proc__card-head{
    gap:10px;
  }

  .process-flow .process-flow__card-icon,
  .ws-proc .ws-proc__card-icon{
    width:42px;
    height:42px;
  }

  .process-flow .process-flow__card-icon svg,
  .ws-proc .ws-proc__card-icon svg{
    width:26px;
    height:26px;
  }

  .process-flow .process-flow__badges,
  .ws-proc .ws-proc__badges{
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }

  .process-flow .process-flow__badge:nth-child(2n),
  .ws-proc .ws-proc__badge:nth-child(2n){
    border-right:1px solid var(--ws-proc-line);
  }

  .process-flow .process-flow__badge:nth-child(n+3),
  .ws-proc .ws-proc__badge:nth-child(n+3){
    border-top:0;
  }

  .process-flow .process-flow__badge:last-child,
  .ws-proc .ws-proc__badge:last-child{
    border-right:0;
  }

  .process-flow .process-flow__trust,
  .ws-proc .ws-proc__trust{
    grid-template-columns:1fr;
  }

  .process-flow .process-flow__trust-item,
  .ws-proc .ws-proc__trust-item{
    border-right:0;
    border-bottom:1px solid var(--ws-proc-line);
    padding:15px 18px;
  }

  .process-flow .process-flow__trust-item:last-child,
  .ws-proc .ws-proc__trust-item:last-child{
    border-bottom:0;
  }
}

/* Mobile Swiper (arrows + bullets), same breakpoint/pattern as ws-quality-grid */
.process-flow__slider,
.ws-proc__slider{
  position:relative;
}

.process-flow__nav,
.ws-proc__nav{
  display:none;
}

@media (max-width: 640px){
  .process-flow .process-flow__slider.swiper,
  .ws-proc .ws-proc__slider.swiper{
    overflow:hidden;
    padding:0 0 46px;
  }

  .process-flow .process-flow__grid.swiper-wrapper,
  .ws-proc .ws-proc__grid.swiper-wrapper{
    display:flex;
    gap:0;
  }

  .process-flow .process-flow__card.swiper-slide,
  .ws-proc .ws-proc__card.swiper-slide{
    width:100%;
    height:auto;
  }

  .process-flow__nav,
  .ws-proc__nav{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:5;
    display:grid;
    grid-template-columns:38px minmax(0, 1fr) 38px;
    align-items:center;
    gap:12px;
    padding:0 4px;
  }

  .process-flow__arrow,
  .ws-proc__arrow{
    width:38px;
    height:38px;
    border:1px solid rgba(17,17,17,.14);
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.88);
    color:var(--ws-proc-accent, #FFD152);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95), 0 8px 20px rgba(0,0,0,.08);
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
    cursor:pointer;
    padding:0;
    margin:0;
  }

  .process-flow__arrow svg,
  .ws-proc__arrow svg{
    width:20px;
    height:20px;
    display:block;
  }

  .process-flow__arrow.swiper-button-disabled,
  .ws-proc__arrow.swiper-button-disabled{
    opacity:.38;
  }

  .process-flow__pagination,
  .ws-proc__pagination{
    position:static;
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
  }

  .process-flow__pagination .swiper-pagination-bullet,
  .ws-proc__pagination .swiper-pagination-bullet{
    width:7px;
    height:7px;
    margin:0 !important;
    border-radius:999px;
    background:rgba(17,17,17,.28);
    opacity:1;
    transition:width .2s ease, background-color .2s ease;
  }

  .process-flow__pagination .swiper-pagination-bullet-active,
  .ws-proc__pagination .swiper-pagination-bullet-active{
    width:22px;
    background:var(--ws-proc-accent, #FFD152);
  }
}
