/* The original Growth Process copy and icons, in a Fluid-inspired card stack. */
.savio-home-process {
  background: #fff;
  color: #2e1142;
  font-family: 'Forma DJR Display', sans-serif;
}
.savio-home-process .padding-section-medium { padding-top: 100px; padding-bottom: 100px; }
.savio-home-process .container-large { max-width: 1184px; }
.savio-home-process .margin-custom2 { margin-bottom: 66px; }
.savio-home-process .margin-custom1 { margin-bottom: 20px; }
.savio-home-process h2 {
  color: #211827;
  font-size: clamp(36px, 4.5vw, 64px);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.05;
}
.savio-home-process .max-width-medium { max-width: 650px; }
.savio-home-process .max-width-medium p { color: #61566b; font-size: 21px; line-height: 1.55; }
.savio-home-process .home-growth_component {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  width: 100%;
  max-width: 1040px;
  margin-inline: auto;
}
.savio-home-process .home-growth_card {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  grid-template-areas: 'icon heading' 'icon description';
  gap: 14px 28px;
  width: calc(100% - 32px);
  min-height: 0;
  margin: 0;
  padding: 38px 48px;
  border: 1px solid #f0e9f7;
  border-radius: 26px;
  background: #fff;
  background-image: none;
  box-shadow: 0 0 0 12px #f8f5fc, 0 20px 40px -28px rgba(46, 17, 66, .16);
  transform: rotate(.55deg);
  overflow: visible;
}
.savio-home-process .home-growth_card:nth-child(even) { transform: rotate(-.55deg); }
.savio-home-process .home-growth_card > .max-width-full { grid-area: heading; width: 100%; }
.savio-home-process .home-growth_card .margin-xsmall { margin-bottom: 8px; }
.savio-home-process .home-growth_card .max-width-full .text-size-big {
  color: #5b258f;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .06em;
  line-height: 1.25;
  text-transform: uppercase;
}
.savio-home-process .home-growth_card h3 {
  margin: 0;
  color: #2e1142;
  font-size: clamp(27px, 3.3vw, 43px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.025em;
}
.savio-home-process .home-growth_card h3 br { display: none; }
.savio-home-process .home-growth_card > .icon-1x1-large {
  grid-area: icon !important;
  align-self: start;
  width: 64px;
  height: 64px;
  margin-top: 18px;
}
.savio-home-process .home-growth_card > p {
  grid-area: description;
  grid-column: 2 !important;
  grid-row: 2 !important;
  max-width: 65ch;
  margin: 0;
  color: #463a51;
  font-size: 19px;
  line-height: 1.55;
}
.savio-home-process .home-growth_component > .text-align-center { margin-top: 30px; }
.savio-home-process .home-growth_component > .text-align-center .button { background-color: #fe5e3b; }
@media (max-width: 767px) {
  .savio-home-process .padding-section-medium { padding-top: 64px; padding-bottom: 64px; }
  .savio-home-process .margin-custom2 { margin-bottom: 42px; }
  .savio-home-process .max-width-medium p { font-size: 18px; }
  .savio-home-process .home-growth_component { gap: 26px; }
  .savio-home-process .home-growth_card {
    width: calc(100% - 12px);
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 14px;
    padding: 25px 22px;
    border-radius: 20px;
    transform: none;
    box-shadow: 0 0 0 6px #f8f5fc;
  }
  .savio-home-process .home-growth_card:nth-child(even) { transform: none; }
  .savio-home-process .home-growth_card > .icon-1x1-large { width: 42px; height: 42px; margin-top: 22px; }
  .savio-home-process .home-growth_card h3 { font-size: clamp(25px, 5.8vw, 32px); }
  .savio-home-process .home-growth_card > p { grid-column: 1 / -1 !important; font-size: 17px; }
  .savio-home-process .home-growth_component > .text-align-center { margin-top: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .savio-home-process .home-growth_card { transform: none; }
}


/* Fluid-style scroll stack: each incoming step pins and layers over the previous one. */
@media (min-width: 768px) and (prefers-reduced-motion: no-preference) {
  .savio-home-process .home-growth_component { gap: clamp(250px, 40vh, 360px); }
  .savio-home-process .home-growth_card {
    position: sticky;
    top: clamp(108px, 16vh, 152px);
    z-index: 1;
    margin-bottom: 0;
    will-change: transform;
  }
  .savio-home-process .home-growth_card:nth-of-type(1) { z-index: 1; transform: rotate(.55deg); }
  .savio-home-process .home-growth_card:nth-of-type(2) { top: calc(clamp(108px, 16vh, 152px) + 16px); z-index: 2; transform: rotate(-.5deg); }
  .savio-home-process .home-growth_card:nth-of-type(3) { top: calc(clamp(108px, 16vh, 152px) + 32px); z-index: 3; transform: rotate(.4deg); }
  .savio-home-process .home-growth_card:nth-of-type(4) { top: calc(clamp(108px, 16vh, 152px) + 48px); z-index: 4; transform: rotate(-.35deg); }
  .savio-home-process .home-growth_component > .text-align-center {
    position: relative;
    z-index: 5;
    margin-top: calc(30px - clamp(250px, 40vh, 360px));
  }
}
@media (max-width: 767px), (prefers-reduced-motion: reduce) {
  .savio-home-process .home-growth_component { gap: 26px; }
  .savio-home-process .home-growth_card {
    position: static;
    top: auto;
    z-index: auto;
    margin-bottom: 0;
    transform: none;
    transition: none;
    will-change: auto;
  }
}

/* Mobile gets the same scroll-pinned stack when motion is allowed. */
@media (max-width: 767px) and (prefers-reduced-motion: no-preference) {
  .savio-home-process .home-growth_component { gap: clamp(160px, 22vh, 220px); }
  .savio-home-process .home-growth_card {
    position: sticky;
    top: calc(env(safe-area-inset-top, 0px) + 12px);
    z-index: 1;
    width: calc(100% - 12px);
    margin-bottom: 0;
    will-change: transform;
  }
  .savio-home-process .home-growth_card:nth-of-type(1) { top: calc(env(safe-area-inset-top, 0px) + 12px); z-index: 1; }
  .savio-home-process .home-growth_card:nth-of-type(2) { top: calc(env(safe-area-inset-top, 0px) + 24px); z-index: 2; }
  .savio-home-process .home-growth_card:nth-of-type(3) { top: calc(env(safe-area-inset-top, 0px) + 36px); z-index: 3; }
  .savio-home-process .home-growth_card:nth-of-type(4) { top: calc(env(safe-area-inset-top, 0px) + 48px); z-index: 4; }
  .savio-home-process .home-growth_component > .text-align-center {
    position: relative;
    z-index: 5;
    margin-top: calc(12px - clamp(160px, 22vh, 220px));
  }
}
@media (max-width: 379px) and (prefers-reduced-motion: no-preference) {
  .savio-home-process .home-growth_component { gap: clamp(130px, 20vh, 190px); }
  .savio-home-process .home-growth_component > .text-align-center {
    margin-top: calc(12px - clamp(130px, 20vh, 190px));
  }
}
