/* H&S — shared (parte de la antigua home.css). Depende de tokens.css y base.css. */
/* ---------- Fondo secundario: sección (Certificaciones / Fluke) y tarjetas ---------- */
.hs-bg-alt { position: relative; overflow: hidden; background: var(--bg-alt-image); color: var(--text); }
/* Tarjetas con relleno plano --bg-secondary (azul eléctrico) para resaltar sobre el fondo
   principal. Aún sin decidir: métricas, tarjeta del hero, pasos, tarjetas Fluke, caja de
   sectores y banda. .hs-coverage__map declara su propio fondo más abajo. */
.hs-division, .hs-service, .hs-case, .hs-office, .hs-form { background: var(--bg-secondary); }
.hs-fluke { display: grid; gap: 28px; align-items: start; }
@media (min-width: 1024px) { .hs-fluke { grid-template-columns: 1fr 1.1fr; gap: 48px; } }
.hs-fluke__cards { display: grid; gap: 18px; }
.hs-fluke__card { display: flex; gap: 16px; padding: 22px; }
.hs-fluke__card h3 { font-size: 18px; font-weight: 700; margin-bottom: 4px; }
.hs-fluke__card p { font-size: 14.5px; line-height: 1.55; color: var(--text-muted); }
.hs-fluke__card .hs-chip { margin-top: 10px; display: inline-block; }
.hs-norms { display: flex; flex-direction: column; gap: 10px; margin-top: 8px; }
.hs-norms li { display: flex; gap: 10px; font-size: 14.5px; line-height: 1.5; color: var(--text); }
.hs-norms .material-symbols-outlined { color: var(--lime-text); font-size: 20px; flex-shrink: 0; }
.hs-creds { margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--line); }
.hs-creds__title { margin-bottom: 10px; font-family: var(--font-wide); font-size: 11px; letter-spacing: .1em; line-height: 1.4; text-transform: uppercase; color: var(--text-muted); }
.hs-shots { display: grid; gap: 22px; margin-top: 44px; }
.hs-shots__pair { display: grid; gap: 18px; }
.hs-shots__certs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
@media (min-width: 720px) { .hs-shots__pair { grid-template-columns: 1fr 1fr; } }
@media (min-width: 900px) { .hs-shots__certs { grid-template-columns: repeat(4, 1fr); } }
.hs-shots__cap { margin-top: 10px; font-size: 14.5px; font-weight: 600; color: var(--text-muted); }

/* Lightbox (main.js) */
.hs-lb { width: min(1100px, 94vw); max-height: 94vh; padding: 0; border: 1px solid var(--line-strong); border-radius: var(--radius-lg); background: var(--navy); color: var(--text); box-shadow: var(--shadow-band); }
.hs-lb::backdrop { background: rgba(0, 12, 40, .82); }
.hs-lb img { display: block; width: 100%; max-height: calc(94vh - 64px); object-fit: contain; background: var(--sky-100); }
.hs-lb__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; font-size: 15px; font-weight: 600; }
.hs-lb__close { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex-shrink: 0; border: 1px solid var(--line-strong); border-radius: 50%; background: var(--surface); color: var(--ink); cursor: pointer; }
.hs-lb__close:hover, .hs-lb__close:focus-visible { border-color: var(--line-lime); color: var(--lime-text); }
