/* Composição da seção de operação. Mantém a paleta e a tipografia do site. */
.operations-overview {
  --operations-brand: #37517e;
  --operations-accent: #47b2e4;
  --operations-ink: #17263c;
  --operations-text: #526278;
  --operations-surface: #f3f5fa;
  --operations-paper: #ffffff;
  --operations-line: #d7e0eb;
  --operations-inverse-muted: #dde8e9;
  --operations-space-xs: 8px;
  --operations-space-sm: 12px;
  --operations-space-md: 16px;
  --operations-space-lg: 24px;
  --operations-space-xl: 32px;
  --operations-space-2xl: 48px;
  --operations-space-3xl: 64px;
  --operations-space-section: 96px;
  --operations-radius: 12px;
  --operations-rule: 1px;
  --operations-marker: 5px;
  --operations-icon: 24px;
  --operations-icon-large: 32px;
  --operations-label: 12px;
  --operations-body: 16px;
  --operations-intro: 18px;
  --operations-subtitle: 22px;
  --operations-title-small: 32px;
  --operations-title-large: 42px;
  padding: var(--operations-space-section) 0;
  background: var(--operations-paper);
  color: var(--operations-ink);
}

.operations-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--operations-space-3xl);
  align-items: center;
}

.operations-eyebrow,
.operations-stage-label {
  margin: 0;
  font-size: var(--operations-label);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--operations-brand);
}

.operations-eyebrow {
  display: flex;
  align-items: center;
  gap: var(--operations-space-sm);
  margin-bottom: var(--operations-space-lg);
}

.operations-eyebrow::before {
  content: "";
  width: var(--operations-space-lg);
  height: var(--operations-rule);
  background: var(--operations-accent);
}

.operations-copy h2 {
  margin: 0 0 var(--operations-space-lg);
  font-size: clamp(var(--operations-title-small), 3.4vw, var(--operations-title-large));
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: var(--operations-brand);
}

.operations-intro {
  margin-bottom: var(--operations-space-xl);
  font-size: var(--operations-intro);
  line-height: 1.7;
  color: var(--operations-text);
}

.operations-principles {
  display: grid;
  gap: var(--operations-space-lg);
  margin: 0 0 var(--operations-space-xl);
  padding: 0;
  list-style: none;
}

.operations-principles li {
  display: flex;
  align-items: flex-start;
  gap: var(--operations-space-md);
  font-size: var(--operations-body);
}

.operations-marker {
  flex: 0 0 var(--operations-marker);
  height: var(--operations-marker);
  margin-top: var(--operations-space-xs);
  background: var(--operations-accent);
}

.operations-principles strong { font-weight: 600; }
.operations-principles p {
  margin: var(--operations-space-xs) 0 0;
  color: var(--operations-text);
  line-height: 1.6;
}

.operations-link {
  display: inline-flex;
  align-items: center;
  gap: var(--operations-space-xs);
  font-size: var(--operations-body);
  font-weight: 600;
  color: var(--operations-brand);
}
.operations-link i { font-size: var(--operations-icon); }
.operations-link:hover { color: var(--operations-brand); text-decoration: underline; }
.operations-link:focus-visible {
  outline: calc(var(--operations-rule) * 2) solid var(--operations-brand);
  outline-offset: var(--operations-space-xs);
}

.operations-diagram {
  margin: 0;
  padding: var(--operations-space-xl);
  border: var(--operations-rule) solid var(--operations-line);
  border-radius: var(--operations-radius);
  background: var(--operations-surface);
}

.operations-diagram-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--operations-space-xs);
  margin-bottom: var(--operations-space-lg);
  padding-bottom: var(--operations-space-md);
  border-bottom: var(--operations-rule) solid var(--operations-line);
}
.operations-diagram-heading h3 {
  margin: 0;
  font-size: var(--operations-body);
  font-weight: 600;
  color: var(--operations-brand);
}
.operations-diagram-heading > span {
  font-size: var(--operations-label);
  color: var(--operations-text);
}

.operations-sources {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--operations-space-xs);
  margin-top: var(--operations-space-sm);
}
.operations-sources > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--operations-space-xs);
  padding: var(--operations-space-md) var(--operations-space-xs);
  border: var(--operations-rule) solid var(--operations-line);
  border-radius: calc(var(--operations-radius) / 2);
  background: var(--operations-paper);
}
.operations-sources i { font-size: var(--operations-icon); color: var(--operations-brand); }
.operations-sources span { font-size: var(--operations-label); font-weight: 600; }

.operations-connector {
  display: flex;
  justify-content: center;
  padding: var(--operations-space-xs) 0;
  font-size: var(--operations-icon);
  color: var(--operations-brand);
}

.operations-engine {
  display: flex;
  align-items: center;
  gap: var(--operations-space-lg);
  padding: var(--operations-space-lg);
  border-radius: calc(var(--operations-radius) / 2);
  background: var(--operations-brand);
  color: var(--operations-paper);
}
.operations-engine > i { font-size: var(--operations-icon-large); }
.operations-engine .operations-stage-label { color: var(--operations-inverse-muted); }
.operations-engine h4,
.operations-result h4 {
  margin: var(--operations-space-xs) 0;
  font-size: var(--operations-subtitle);
  font-weight: 600;
}
.operations-engine p:last-child,
.operations-result p:last-child {
  margin: 0;
  font-size: var(--operations-label);
  line-height: 1.7;
}
.operations-engine p:last-child { color: var(--operations-inverse-muted); }

.operations-result {
  padding: var(--operations-space-lg);
  border: var(--operations-rule) solid var(--operations-line);
  border-radius: calc(var(--operations-radius) / 2);
  background: var(--operations-paper);
}
.operations-result h4 { color: var(--operations-brand); }
.operations-result p:last-child { color: var(--operations-text); }
.operations-diagram figcaption {
  margin-top: var(--operations-space-lg);
  font-size: var(--operations-label);
  line-height: 1.7;
  color: var(--operations-text);
}

@media (max-width: 991px) {
  .operations-overview { padding: var(--operations-space-3xl) 0; }
  .operations-layout { grid-template-columns: minmax(0, 1fr); gap: var(--operations-space-2xl); }
}
@media (max-width: 575px) {
  .operations-diagram { padding: var(--operations-space-lg); }
  .operations-engine { gap: var(--operations-space-md); padding: var(--operations-space-md); }
  .operations-result { padding: var(--operations-space-md); }
}
@media (prefers-reduced-motion: reduce) {
  .operations-overview [data-aos] { opacity: 1 !important; transform: none !important; transition: none !important; }
}
