.sidra-purification {
  font-family: inherit;
 
  padding: var(--sidra-purification-padding, 70px 24px);
}
.sidra-purification * { box-sizing: border-box; }
.sidra-purification__inner {
  width: min(100%, 1660px);
  margin: 0 auto;
}
.sidra-purification__header {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 54px;
}
.sidra-purification__title,
.sidra-purification__subtitle,
.sidra-purification__step-title,
.sidra-purification__step-text,
.sidra-purification__step-kicker { font-family: inherit; }
.sidra-purification__title {
  margin: 0 0 14px;
  color: var(--sidra-blue-dark, #004c78);
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.15;
}
.sidra-purification__subtitle {
  margin: 0;
  color: inherit;
  opacity: .78;
  font-size: 1rem;
  line-height: 1.7;
}
.sidra-purification__panel {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 42px;
  align-items: center;
  padding: clamp(28px, 4vw, 50px);
  background: var(--sidra-purification-panel-bg, #fff);
  border-radius: var(--sidra-purification-radius, 28px);
  box-shadow: 0 24px 60px rgba(18, 63, 91, .10);
}
.sidra-purification__diagram-wrap {
  min-width: 0;
}
.sidra-purification__diagram {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  max-height: 520px;
}
.sidra-purification__placeholder {
  aspect-ratio: 1 / 1;
  border: 2px dashed rgba(0,0,0,.12);
  border-radius: 50%;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 24px;
  opacity: .65;
}
.sidra-purification__steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.sidra-purification__step {
  border: 1px solid rgba(0,108,168,.14);
  background: rgba(0,108,168,.035);
  border-radius: 16px;
  padding: 20px 18px;
  min-height: 128px;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.sidra-purification__step:hover {
  transform: translateY(-4px);
  border-color: rgba(0,108,168,.28);
  box-shadow: 0 14px 30px rgba(0,76,120,.10);
}
.sidra-purification__step-kicker {
  display: block;
  margin-bottom: 10px;
  color: var(--sidra-purification-accent, #006ca8);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.sidra-purification__step-title {
  margin: 0 0 8px;
  color: inherit;
  font-size: 1.05rem;
  line-height: 1.3;
}
.sidra-purification__step-text {
  margin: 0;
  color: inherit;
  opacity: .78;
  font-size: .92rem;
  line-height: 1.55;
}
.sidra-purification--animate .sidra-purification__reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .7s ease, transform .7s ease;
}
.sidra-purification--animate.is-visible .sidra-purification__reveal {
  opacity: 1;
  transform: translateY(0);
}
.sidra-purification--animate .sidra-purification__step:nth-child(1){transition-delay:.08s}
.sidra-purification--animate .sidra-purification__step:nth-child(2){transition-delay:.14s}
.sidra-purification--animate .sidra-purification__step:nth-child(3){transition-delay:.20s}
.sidra-purification--animate .sidra-purification__step:nth-child(4){transition-delay:.26s}
.sidra-purification--animate .sidra-purification__step:nth-child(5){transition-delay:.32s}
.sidra-purification--animate .sidra-purification__step:nth-child(6){transition-delay:.38s}
.sidra-purification--animate .sidra-purification__step:nth-child(7){transition-delay:.44s}
@media (max-width: 1024px) {
  .sidra-purification__panel { grid-template-columns: 1fr; }
  .sidra-purification__diagram { max-height: 440px; }
}
@media (max-width: 767px) {
  .sidra-purification { padding: 48px 16px; }
  .sidra-purification__header { margin-bottom: 30px; }
  .sidra-purification__panel { padding: 20px; gap: 28px; border-radius: 20px; }
  .sidra-purification__steps { grid-template-columns: 1fr; gap: 14px; }
  .sidra-purification__step { min-height: auto; padding: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .sidra-purification *, .sidra-purification *::before, .sidra-purification *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
