/* Mapa de dos paquetes de Mantenimiento y Confiabilidad.
   Es autónomo: sólo hereda la tipografía del sitio. */
.mc-connection {
  padding: 78px 0 84px;
  background: #fff;
  color: #132239;
}
.mc-connection__grid {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  align-items: center;
  gap: clamp(34px, 5vw, 80px);
  width: min(1220px, calc(100% - 64px));
  margin-inline: auto;
}
.mc-connection__copy { min-width: 0; }
.mc-connection__eyebrow {
  margin: 0;
  color: #007956;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1.5;
  text-transform: uppercase;
}
.mc-connection__copy h2 {
  max-width: 520px;
  margin: 14px 0 0;
  font-size: clamp(33px, 3.3vw, 43px);
  line-height: 1.13;
  letter-spacing: -.04em;
}
.mc-connection__lead {
  max-width: 500px;
  margin: 19px 0 0;
  color: #526176;
  font-size: 15px;
  line-height: 1.75;
}
.mc-connection__legend {
  list-style: none;
  padding: 0;
  margin: 27px 0 0;
  border-top: 1px solid #dfe7e8;
}
.mc-connection__legend > li {
  padding: 17px 0 18px;
  border-bottom: 1px solid #dfe7e8;
}
.mc-connection__legend a {
  display: flex;
  align-items: center;
  gap: 13px;
  width: fit-content;
  max-width: 100%;
  color: #132239;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
}
.mc-connection__legend a:hover { text-decoration: underline; text-underline-offset: 4px; }
.mc-connection__legend a:focus-visible { outline: 3px solid #1669cf; outline-offset: 4px; border-radius: 4px; }
.mc-connection__badge {
  display: inline-grid;
  place-items: center;
  flex: none;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #007956;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
}
.mc-connection__legend [data-package="operation"] .mc-connection__badge { background: #265f83; }
.mc-connection__legend ul {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 7px;
  list-style: none;
  padding: 0 0 0 47px;
  margin: 9px 0 0;
  color: #647486;
  font-size: 11px;
  line-height: 1.5;
}
.mc-connection__legend ul li:not(:last-child)::after { content: " ·"; color: #8da29b; }
.mc-connection__note {
  margin: 17px 0 0;
  color: #657783;
  font-size: 12px;
  line-height: 1.65;
}
.mc-sunburst {
  min-width: 0;
  margin: 0;
  padding: 24px 26px 20px;
  border: 1px solid #dfe8e3;
  border-radius: 13px;
  background: #fafcfb;
}
.mc-sunburst__overline {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  color: #557166;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .1em;
  line-height: 1.5;
  text-transform: uppercase;
}
.mc-sunburst__overline span:last-child { color: #7b8e86; white-space: nowrap; }
.mc-sunburst__visual { width: min(100%, 600px); margin: 4px auto 0; }
.mc-sunburst__svg, .mc-sunburst__fallback { display: block; width: 100%; height: auto; }
.mc-sunburst__svg { display: none; overflow: visible; }
.mc-sunburst__visual.is-ready .mc-sunburst__svg { display: block; }
.mc-sunburst__visual.is-ready .mc-sunburst__fallback { display: none; }
.mc-sunburst__orbit { fill: none; stroke: #d5e4dd; stroke-dasharray: 2 7; }
.mc-sunburst__sector { cursor: pointer; outline: none; }
.mc-sunburst__main { stroke: #fafcfb; stroke-width: 3; transition: filter .16s ease; }
.mc-sunburst__outer { stroke: #fafcfb; stroke-width: 2; transition: filter .16s ease; }
.mc-sunburst__sector:hover .mc-sunburst__main,
.mc-sunburst__sector:hover .mc-sunburst__outer { filter: brightness(1.07); }
.mc-sunburst__sector:focus-visible .mc-sunburst__main,
.mc-sunburst__sector:focus-visible .mc-sunburst__outer { stroke: #153b46; stroke-width: 5; }
.mc-sunburst__number,
.mc-sunburst__sector-name,
.mc-sunburst__component-label,
.mc-sunburst__center-kicker,
.mc-sunburst__center-title,
.mc-sunburst__center-subtitle { font-family: inherit; text-anchor: middle; pointer-events: none; }
.mc-sunburst__number { fill: #fff; font-size: 33px; font-weight: 720; letter-spacing: -.04em; }
.mc-sunburst__sector-name { fill: #fff; font-size: 11px; font-weight: 750; letter-spacing: .07em; }
.mc-sunburst__component-label { fill: #136449; font-size: 12px; font-weight: 650; }
.mc-sunburst__sector[data-package="operation"] .mc-sunburst__component-label { fill: #245c7d; }
.mc-sunburst__center-disc { fill: #fff; stroke: #e1e9e4; stroke-width: 1; }
.mc-sunburst__center-kicker { fill: #007956; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.mc-sunburst__center-title { fill: #132239; font-size: 35px; font-weight: 730; letter-spacing: -.06em; }
.mc-sunburst__center-subtitle { fill: #61766c; font-size: 11px; font-weight: 550; }
.mc-sunburst figcaption {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-top: 14px;
  border-top: 1px solid #dfe8e3;
  color: #64786e;
  font-size: 11px;
  line-height: 1.6;
}
.mc-sunburst figcaption strong { color: #24453c; font-weight: 650; }
.mc-sunburst figcaption span { max-width: 265px; text-align: right; }
@media (max-width: 900px) {
  .mc-connection { padding-block: 58px; }
  .mc-connection__grid { grid-template-columns: 1fr; gap: 30px; }
  .mc-connection__copy { max-width: 650px; }
  .mc-sunburst { width: min(100%, 650px); margin-inline: auto; }
}
@media (max-width: 600px) {
  .mc-connection__grid { width: calc(100% - 32px); }
  .mc-connection__copy h2 { font-size: clamp(30px, 8vw, 38px); }
  .mc-connection__lead { font-size: 14px; }
  .mc-connection__legend ul { font-size: 13px; }
  .mc-sunburst { padding: 17px 13px 15px; }
  .mc-sunburst__component-label,
  .mc-sunburst__sector-name,
  .mc-sunburst__center-kicker,
  .mc-sunburst__center-subtitle { display: none; }
  .mc-sunburst__overline { font-size: 9px; letter-spacing: .06em; }
  .mc-sunburst figcaption { display: block; }
  .mc-sunburst figcaption span { display: block; max-width: none; margin-top: 3px; text-align: left; }
}
@media (max-width: 380px) {
  .mc-connection__legend ul { padding-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .mc-sunburst__main, .mc-sunburst__outer { transition: none; }
}
@media print {
  .mc-connection { padding-block: 25px; }
  .mc-connection__grid { display: block; }
  .mc-sunburst { max-width: 480px; margin: 22px auto 0; break-inside: avoid; }
}
