
.gsvc-steps{
  --gsvc-steps-accent: var(--gsvc-gold,   #e9b13b);
  --gsvc-steps-ink:    var(--gsvc-ink,    #ffffff);
  --gsvc-steps-soft:   var(--gsvc-soft,   rgba(255,255,255,.86));
  --gsvc-steps-muted:  var(--gsvc-muted,  rgba(255,255,255,.66));
  --gsvc-steps-font:   "Noto Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --gsvc-steps-bar-off: rgba(255,255,255,.16);

  --gsvc-steps-edge:clamp(48px, 30vw, 700px);
  --gsvc-steps-card-w:clamp(300px, 16vw, 360px);
  --gsvc-steps-gap:clamp(48px, 14vw, 340px);

  position:relative;
  width:100%;
  padding-block:clamp(64px,7vw,120px);
  color:var(--gsvc-steps-ink);
  font-family:var(--gsvc-steps-font);
}
html.groah-a11y-high-contrast .gsvc-steps{ --gsvc-steps-bar-off:rgba(255,255,255,.5); }

.gsvc-steps__head{
  padding-inline:var(--gsvc-steps-edge);
  margin-bottom:clamp(34px,4vw,62px);
  text-align:center;
}
.gsvc-steps__eyebrow{
  margin:0 0 .35em;
  font-size:clamp(1rem,.3vw + .95rem,1.2rem); font-weight:500; letter-spacing:.01em;
  color:var(--gsvc-steps-muted);
}
.gsvc-steps__title{
  margin:0;
  font-size:clamp(3.2rem,7vw,7rem);
  font-weight:800; line-height:1.0; letter-spacing:-.025em;
  color:var(--gsvc-steps-ink);
}

.gsvc-steps__track{
  display:flex;
  gap:var(--gsvc-steps-gap);
  align-items:flex-start;
  overflow-x:auto;
  overflow-y:hidden;
  padding-inline:var(--gsvc-steps-edge) max(24px,4vw);
  padding-block:20px;
  scroll-snap-type:x mandatory;
  scroll-padding-inline-start:var(--gsvc-steps-edge);
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  list-style:none; margin:0;
  outline:none;
}
.gsvc-steps.js-ready .gsvc-steps__track{ cursor:grab; scrollbar-width:none; }
.gsvc-steps.js-ready .gsvc-steps__track::-webkit-scrollbar{ display:none; }
.gsvc-steps__track.is-dragging{ cursor:grabbing; user-select:none; }
.gsvc-steps__track:focus-visible{
  outline:2px solid var(--gsvc-steps-accent);
  outline-offset:4px;
  border-radius:20px;
}

.gsvc-step{
  scroll-snap-align:start;
  flex:0 0 var(--gsvc-steps-card-w);
  width:var(--gsvc-steps-card-w);
  display:flex;
}
.gsvc-step__inner{
  display:flex; flex-direction:column;
  width:100%;
  transition:transform .3s ease;
}
.gsvc-step:hover .gsvc-step__inner{ transform:scale(1.01); }

.gsvc-step__bars{ margin-bottom:clamp(26px,2.6vw,40px); }
.gsvc-step__barsvg{ display:block; height:clamp(74px,7vw,96px); width:auto; overflow:visible; }
.gsvc-bar{
  fill:var(--gsvc-steps-bar-off);
  transition:fill .4s ease;
}
.gsvc-bar.is-on{
  fill:var(--gsvc-steps-accent);
  transform-box:fill-box; transform-origin:center bottom;
}

.gsvc-step__krok{
  margin:0 0 .85em;
  font-size:.82rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase;
  color:var(--gsvc-steps-soft);
}
.gsvc-step__title{
  margin:0;
  font-size:clamp(2rem,2.5vw,2.85rem);
  font-weight:500; line-height:1.1; letter-spacing:-.01em;
  color:var(--gsvc-steps-ink);
  text-wrap:balance;
}
.gsvc-step__lead{
  margin:.9em 0 0;
  font-size:clamp(1.12rem,.4vw + 1.02rem,1.32rem); font-weight:650; line-height:1.4;
  color:var(--gsvc-steps-soft);
}
.gsvc-step__body{
  margin:1.15em 0 0;
  font-size:clamp(.98rem,.25vw + .92rem,1.1rem); font-weight:420; line-height:1.6;
  color:var(--gsvc-steps-muted);
}
.gsvc-step__body:last-child{ margin-bottom:0; }

.gsvc-steps__controls{
  display:flex; align-items:center; justify-content:center; gap:clamp(16px,2vw,24px);
  padding-inline:max(24px,4vw);
  margin-top:clamp(34px,3.6vw,54px);
}
.gsvc-steps__progress{
  position:relative;
  width:clamp(100px,12vw,180px); height:3px;
  border-radius:99px; overflow:hidden;
  background:var(--gsvc-line,rgba(255,255,255,.16));
}
.gsvc-steps__progress-fill{
  position:absolute; inset:0 auto 0 0; width:0%;
  background:var(--gsvc-steps-accent); border-radius:99px;
  transition:width .2s ease;
}
.gsvc-steps__btn{
  --sz:clamp(58px,5vw,70px);
  width:var(--sz); height:var(--sz);
  display:grid; place-items:center;
  cursor:pointer;
  color:var(--gsvc-steps-accent);
  background:transparent;
  border:2px solid var(--gsvc-steps-accent);
  border-radius:50%;
  transition:background .22s ease, border-color .22s ease, color .22s ease,
             transform .16s ease, box-shadow .28s ease, opacity .22s ease;
}
.gsvc-steps__btn svg{ width:38%; height:38%; }
.gsvc-steps__btn:hover:not(:disabled){
  background:var(--gsvc-steps-accent);
  color:#0a0700;
  transform:translateY(-2px);
  box-shadow:0 14px 32px -12px rgba(233,177,59,.55);
}
.gsvc-steps__btn:active:not(:disabled){ transform:translateY(0) scale(.95); }
.gsvc-steps__btn:focus-visible{ outline:2px solid var(--gsvc-steps-accent); outline-offset:4px; }
.gsvc-steps__btn:disabled{
  border-color:rgba(255,255,255,.20);
  color:rgba(255,255,255,.28);
  cursor:default;
}

.gsvc-steps.js-ready .gsvc-step{
  opacity:0; transform:translateY(14px);
  transition:opacity .55s cubic-bezier(.22,.61,.36,1), transform .55s cubic-bezier(.22,.61,.36,1);
}
.gsvc-steps.js-ready .gsvc-step.is-inview{ opacity:1; transform:none; }

.gsvc-steps.js-ready .gsvc-step .gsvc-bar.is-on{
  transform:scaleY(.28); opacity:.15;
  transition:transform .5s cubic-bezier(.22,.61,.36,1), opacity .5s ease;
  transition-delay:calc(var(--bar-i,0) * 55ms);
}
.gsvc-steps.js-ready .gsvc-step.is-inview .gsvc-bar.is-on{ transform:none; opacity:1; }

@media (prefers-reduced-motion: reduce){
  .gsvc-steps *{ transition:none !important; scroll-behavior:auto !important; }
  .gsvc-steps.js-ready .gsvc-step{ opacity:1 !important; transform:none !important; }
  .gsvc-steps.js-ready .gsvc-bar.is-on{ opacity:1 !important; transform:none !important; }
  .gsvc-step:hover .gsvc-step__inner{ transform:none !important; }
}
html.groah-a11y-reduced-motion .gsvc-steps *{ transition:none !important; scroll-behavior:auto !important; }
html.groah-a11y-reduced-motion .gsvc-steps.js-ready .gsvc-step{ opacity:1 !important; transform:none !important; }
html.groah-a11y-reduced-motion .gsvc-steps.js-ready .gsvc-bar.is-on{ opacity:1 !important; transform:none !important; }
html.groah-a11y-reduced-motion .gsvc-step:hover .gsvc-step__inner{ transform:none !important; }

.gsvc-steps--fits .gsvc-steps__track{
  justify-content:center;
  padding-inline:max(24px,4vw);
}
.gsvc-steps--fits .gsvc-steps__controls{ display:none; }

#page-container .gsvc-steps .gsvc-steps__track{
  padding-block:20px;
  padding-inline:var(--gsvc-steps-edge, clamp(48px, 30vw, 700px)) max(24px,4vw);
}
#page-container .gsvc-steps.gsvc-steps--fits .gsvc-steps__track{
  padding-inline:max(24px,4vw);
}

@media (max-width:700px){
  .gsvc-steps{ --gsvc-steps-edge:max(18px, 8vw); --gsvc-steps-card-w:min(340px, 80vw); --gsvc-steps-gap:8vw; }
}
@media (max-width:400px){
  .gsvc-steps{ --gsvc-steps-card-w:86vw; }
}
