/* H&S — coverage (parte de la antigua home.css). Depende de tokens.css y base.css. */
/* ---------- Cobertura ---------- */
.hs-coverage { display: grid; gap: 36px; align-items: center; }
@media (min-width: 1024px) { .hs-coverage { grid-template-columns: 1fr 1fr; gap: 56px; } }
.hs-coverage__facts { display: flex; flex-direction: column; gap: 16px; }
.hs-coverage__facts li { display: flex; gap: 14px; align-items: center; }
.hs-coverage__facts h3 { font-size: 17px; font-weight: 700; }
.hs-coverage__facts p { font-size: 14.5px; line-height: 1.55; color: var(--text-muted); }
.hs-coverage__map { margin: 0; padding: 18px 18px 14px; background: var(--bg-secondary); }
.hs-map [data-dept] { transition: opacity .2s, stroke .2s, fill .2s; }
.hs-map.is-exploring [data-dept]:not(.is-active) { opacity: .35; }
.hs-map .hs-map__line.is-active { stroke: var(--lime-bright); stroke-width: 4; }
.hs-map .hs-map__node.is-active { stroke: var(--lime-bright); fill: var(--lime-deep); }
.hs-map .hs-map__label.is-active { fill: var(--lime-bright); }
.hs-map__node, .hs-map__hub { cursor: pointer; }
.hs-map__explore { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.hs-map__hint { min-height: 3.2em; margin-bottom: 10px; font-size: 15px; line-height: 1.6; color: var(--text); }
.hs-map__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.hs-map__chip { padding: 6px 12px; border: 1px solid var(--line-strong); border-radius: var(--radius-pill); background: var(--surface-sunken); font-family: var(--font-display); font-size: 14px; font-weight: 700; color: var(--ink); cursor: pointer; transition: color .2s, border-color .2s, background-color .2s, box-shadow .2s; }
.hs-map__chip:hover, .hs-map__chip:focus-visible, .hs-map__chip.is-active { border-color: var(--line-lime); background: var(--surface); color: var(--lime-text); box-shadow: 0 0 14px var(--lime-soft); }
.hs-coverage__map figcaption { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 4px; font-size: 13.5px; color: var(--text-muted); }
.hs-map { display: block; width: 100%; height: auto; max-height: 560px; }
.hs-map path { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.hs-map__jacket { stroke: var(--blue-soft); stroke-width: 9; }
.hs-map__line { stroke: var(--lime-deep); stroke-width: 3; }
.hs-map__pulse { stroke: #fff; stroke-width: 3; stroke-dasharray: .06 1; animation: hs-pulse 5s linear infinite; }
.hs-map__node { fill: var(--bg-secondary); stroke: var(--blue); stroke-width: 4; }
.hs-map__node--sub { stroke: var(--lime-deep); }
.hs-map__hub-ring { fill: var(--lime-soft); stroke: var(--lime-deep); stroke-width: 2; stroke-dasharray: 4 5; }
.hs-map__hub { fill: var(--lime); stroke: var(--navy); stroke-width: 4; }
.hs-map__label { font-family: var(--font-display); font-size: 15px; font-weight: 700; fill: var(--ink); }
.hs-map__label--sub { font-size: 13px; fill: var(--lime-text); }
.hs-map__label--hub { font-size: 16px; font-weight: 800; font-style: italic; }
@media (prefers-reduced-motion: reduce) { .hs-map__pulse, .hs-tr--pulse { display: none; } }
.hs-coverage__text .hs-btn { align-self: flex-start; margin-top: 22px; }
