/* ============================================================
   gss-mod: cuerpo de las páginas de módulo (octubre de 2026)
   [gss_proof] [gss_mnorms] [gss_faq] [gss_related] + ajustes de
   los bloques comunes cuando el body lleva .gss-mpage.
   Controles de gss-ui (píldora, peso 400, hover aguamarina).
   ============================================================ */

.gss-proof, .gss-mnorms, .gss-mfaq, .gss-related {
  --pf-ink: #041438; --pf-soft: #4A5470; --pf-mute: #6B7591; --pf-line: #E3E8F2; --pf-neon: #5078FF; --pf-aqua: #00FFD7;
  font-family: 'Poppins', sans-serif; color: var(--pf-ink);
}
.gss-proof *, .gss-mnorms *, .gss-mfaq *, .gss-related * { box-sizing: border-box; }
.gss-proof h2, .gss-mnorms h2, .gss-mfaq h2, .gss-related h2 {
  margin: 0; padding: 0; font-family: inherit; font-size: clamp(28px, 3vw, 42px); line-height: 1.12; font-weight: 700;
  letter-spacing: -.02em; color: var(--pf-ink); text-wrap: balance;
}
.gss-mod-arrow { width: 16px; height: 16px; flex: none; transition: transform .3s; }

.gss-stars { display: inline-flex; gap: 2px; vertical-align: middle; }
.gss-stars svg { width: 15px; height: 15px; display: block; }

/* ---------------------------------------------------------------- proof */
.gss-proof { background: #fff; padding: 40px 0 104px; }
.gss-proof__wrap { max-width: 1366px; margin: 0 auto; padding-inline: 40px; }

.gss-proof__head { margin-bottom: 32px; }
.gss-proof__title { max-width: 24ch; }
.gss-proof__scores { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.gss-proof__score {
  display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto; column-gap: 10px; align-items: center;
  padding: 12px 18px; text-decoration: none; color: var(--pf-ink);
  background: #fff; border: 1px solid var(--pf-line); border-radius: var(--gss-r-card, 20px);
  transition: border-color .3s, box-shadow .3s;
}
.gss-proof__score:hover { border-color: var(--pf-neon); box-shadow: 0 10px 28px rgba(4, 20, 56, .08); color: var(--pf-ink); }
.gss-proof__src { grid-column: 1 / -1; font-size: 12px; line-height: 1.2; font-weight: 600; color: var(--pf-mute); margin-bottom: 4px; }
.gss-proof__score b { font-size: 26px; line-height: 1; font-weight: 700; }
.gss-proof__score small { grid-column: 1 / -1; font-size: 12.5px; line-height: 1.3; color: var(--pf-soft); margin-top: 4px; }
.gss-proof__badges { display: flex; gap: 6px; padding-left: 6px; }
.gss-proof__badges img { display: block; width: 64px; height: auto; transition: transform .3s; }
.gss-proof__badges:hover img { transform: translateY(-3px); }

/* casos en slider: foto del caso a sangre con degradado, logo del cliente en grande, cita y dos cifras */
.gss-proof__slider { position: relative; }
.gss-proof__slides { display: grid; }
.gss-proof__slide {
  grid-area: 1 / 1; position: relative; display: flex; align-items: stretch; min-height: 500px; overflow: hidden;
  background: var(--pf-ink); border-radius: var(--gss-r-panel, 28px); box-shadow: 0 24px 60px rgba(4, 20, 56, .18);
  opacity: 0; visibility: hidden; transition: opacity .5s ease, visibility 0s linear .5s;
}
.gss-proof__slide.is-on { opacity: 1; visibility: visible; transition: opacity .5s ease; }
.gss-proof__bg { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 70% center; transform: scale(1.04); transition: transform 6s ease-out; }
.gss-proof__slide.is-on .gss-proof__bg { transform: scale(1); }
.gss-proof__bg--flip { scale: -1 1; }
.gss-proof__slide::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, rgba(4, 20, 56, .96) 0%, rgba(4, 20, 56, .9) 38%, rgba(4, 20, 56, .55) 62%, rgba(4, 20, 56, .12) 100%);
}
.gss-proof__body { position: relative; z-index: 1; display: flex; flex-direction: column; width: min(640px, 62%); padding: 48px 56px 88px; color: #fff; }
.gss-proof__logo {
  display: inline-grid; place-items: center; align-self: flex-start; min-width: 200px; height: 96px; padding: 0 30px; margin-bottom: 26px;
  background: #fff; border-radius: var(--gss-r-card, 20px); box-shadow: 0 12px 30px rgba(4, 20, 56, .3);
}
.gss-proof__logo img { display: block; max-height: 54px; max-width: 220px; width: auto; height: auto; }
.gss-proof__logo b { font-size: 22px; font-weight: 700; color: var(--pf-ink); }
.gss-proof__sector { margin: 0 0 14px; padding: 0; font-size: 14px; line-height: 1.4; color: rgba(255, 255, 255, .7); }
.gss-proof__quote { margin: 0; padding: 0; border: 0; background: none; quotes: none; }
.gss-proof__quote::before, .gss-proof__quote::after { display: none; content: none; }
.gss-proof__quote p {
  margin: 0; padding: 0; font-size: clamp(18px, 1.5vw, 21px); line-height: 1.5; font-weight: 500; font-style: normal; color: #fff; text-wrap: pretty;
}
.gss-proof__quote p::before { content: '\201C'; } .gss-proof__quote p::after { content: '\201D'; }
.gss-proof__who { margin: 20px 0 0; padding: 0; display: grid; gap: 2px; font-size: 14.5px; line-height: 1.45; }
.gss-proof__who b { font-weight: 600; color: #fff; }
.gss-proof__who span { color: rgba(255, 255, 255, .72); }
.gss-proof__metrics {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin: 28px 0 0; padding: 24px 0 0;
  border-top: 1px solid rgba(255, 255, 255, .16);
}
.gss-proof__metrics div { margin: 0; }
.gss-proof__metrics dt { margin: 0; font-size: clamp(30px, 2.8vw, 40px); line-height: 1; font-weight: 700; letter-spacing: -.02em; color: var(--pf-aqua); }
.gss-proof__metrics dd { margin: 8px 0 0; font-size: 14px; line-height: 1.45; color: rgba(255, 255, 255, .8); }
.gss-proof__more {
  display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; margin-top: auto; padding-top: 28px;
  font-size: 15px; font-weight: 500; color: #fff; text-decoration: none;
}
.gss-proof__more:hover { color: var(--pf-aqua); }
.gss-proof__more:hover .gss-mod-arrow { transform: translateX(4px); }
.gss-proof__nav { position: absolute; right: 32px; bottom: 76px; z-index: 2; display: flex; align-items: center; gap: 14px; }
.gss-proof__nav .gss-proof__arr { color: #fff; background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .35); }
.gss-proof__nav .gss-proof__dot { background: rgba(255, 255, 255, .4); }
.gss-proof__nav .gss-proof__dot[aria-current="true"] { background: #fff; }
.gss-proof__trust {
  position: relative; z-index: 3; display: flex; align-items: center; justify-content: center; gap: 16px 28px; flex-wrap: wrap;
  width: fit-content; max-width: calc(100% - 48px); margin: -52px auto 0; padding: 14px 18px 14px 14px;
  background: #fff; border-radius: var(--gss-r-panel, 28px); box-shadow: 0 22px 50px rgba(4, 20, 56, .16);
}
.gss-proof__trust .gss-proof__score { border-color: transparent; }
.gss-proof__trust .gss-proof__score:hover { border-color: var(--pf-line); box-shadow: none; }
.gss-proof__trust .gss-proof__scores { gap: 4px; }
.gss-proof__close { display: grid; justify-items: center; gap: 18px; margin-top: 56px; text-align: center; }
.gss-proof__close p { margin: 0; padding: 0; font-size: clamp(20px, 2vw, 26px); line-height: 1.3; font-weight: 600; color: var(--pf-ink); }
.gss-proof__arr {
  display: grid; place-items: center; width: 48px; height: 48px; margin: 0; padding: 0; cursor: pointer;
  color: var(--pf-ink); background: #fff; border: 1px solid var(--pf-line); border-radius: var(--gss-r-round, 50%);
  transition: background-color .3s, border-color .3s, color .3s;
}
.gss-proof__arr svg { width: 20px; height: 20px; }
.gss-proof__arr:hover { color: var(--gss-ink-hover, #1a1a1a); background: var(--gss-aqua, #00FFD7); border-color: var(--gss-aqua, #00FFD7); }
.gss-proof__dots { display: flex; gap: 8px; }
.gss-proof__dot { width: 10px; height: 10px; margin: 0; padding: 0; border: 0; border-radius: var(--gss-r-control, 999px); background: #CBD3E6; cursor: pointer; transition: width .3s, background-color .3s; }
.gss-proof__dot[aria-current="true"] { width: 28px; background: var(--pf-neon); }
.gss-proof__arr:focus-visible, .gss-proof__dot:focus-visible { outline: 3px solid var(--pf-aqua); outline-offset: 2px; }

/* reseñas de G2: separadas del slider, con su línea y el enlace a todas */
.gss-proof__rev { margin-top: 64px; }
.gss-proof__rhead { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
.gss-proof__rhead h3 { margin: 0; padding: 0; font-family: inherit; font-size: 20px; line-height: 1.3; font-weight: 600; color: var(--pf-ink); }
.gss-proof__rhead a { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 500; color: var(--pf-neon); text-decoration: none; }
.gss-proof__rhead a:hover .gss-mod-arrow { transform: translateX(4px); }

/* reseñas de G2 */
.gss-proof__reviews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 24px; }
.gss-proof__review {
  display: flex; flex-direction: column; gap: 14px; padding: 26px 26px 22px; text-decoration: none; color: var(--pf-ink);
  background: #F6F8FF; border: 1px solid transparent; border-radius: var(--gss-r-card, 20px); transition: border-color .3s, background-color .3s;
}
.gss-proof__review:hover { border-color: var(--pf-neon); background: #fff; color: var(--pf-ink); }
.gss-proof__review p { margin: 0; padding: 0; font-size: 15.5px; line-height: 1.6; color: var(--pf-ink); }
.gss-proof__review p::before { content: '\201C'; } .gss-proof__review p::after { content: '\201D'; }
.gss-proof__meta { display: flex; align-items: center; gap: 8px; margin-top: auto; font-size: 12.5px; line-height: 1.3; color: var(--pf-mute); }
.gss-proof__meta i {
  display: grid; place-items: center; width: 22px; height: 22px; flex: none; border-radius: 50%;
  background: #FF492C; color: #fff; font-style: normal; font-size: 9.5px; font-weight: 700; letter-spacing: -.02em;
}

@media (max-width: 1100px) {
  .gss-proof__body { width: min(620px, 72%); padding: 40px 40px 96px; }
  .gss-proof__reviews { grid-template-columns: repeat(3, minmax(280px, 1fr)); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; }
  .gss-proof__review { scroll-snap-align: start; }
}
@media (max-width: 860px) {
  .gss-proof__slide { min-height: 0; align-items: flex-end; }
  .gss-proof__bg { height: 260px; object-position: center; }
  .gss-proof__slide::after { background: linear-gradient(180deg, rgba(4, 20, 56, .1) 0, rgba(4, 20, 56, .75) 200px, rgba(4, 20, 56, .97) 260px, #041438 100%); }
  .gss-proof__body { width: 100%; padding: 170px 32px 32px; }
}
@media (max-width: 767px) {
  .gss-proof { padding: 24px 0 72px; }
  .gss-proof__wrap { padding-inline: 16px; }
  .gss-proof__head { margin-bottom: 24px; gap: 20px; }
  .gss-proof__scores { gap: 8px; }
  .gss-proof__score { padding: 10px 14px; }
  .gss-proof__score b { font-size: 22px; }
  .gss-proof__badges { width: 100%; padding: 4px 0 0; }
  .gss-proof__badges img { width: 56px; }
  .gss-proof__body { padding: 150px 22px 92px; }
  .gss-proof__nav { left: 22px; right: auto; bottom: 26px; }
  .gss-proof__trust { margin-top: -28px; max-width: calc(100% - 24px); padding: 10px; gap: 8px; }
  .gss-proof__close { margin-top: 40px; }
  .gss-proof__logo { min-width: 0; height: 76px; padding: 0 22px; }
  .gss-proof__logo img { max-height: 42px; max-width: 170px; }
  .gss-proof__rev { margin-top: 56px; }
  .gss-proof__quote p { font-size: 17px; }
  .gss-proof__metrics { gap: 16px; margin-top: 24px; padding-top: 20px; }
  .gss-proof__reviews { grid-template-columns: repeat(3, 84%); margin-inline: -16px; padding-inline: 16px; scroll-padding-inline: 16px; gap: 12px; }
}

/* ---------------------------------------------------------------- el módulo en acción */
.gss-mshow {
  --pf-ink: #041438; font-family: 'Poppins', sans-serif; color: #fff;
  padding: 104px 0;
  background:
    radial-gradient(50% 70% at 100% 0%, rgba(80, 120, 255, .38) 0%, rgba(54, 86, 184, .16) 45%, transparent 75%),
    radial-gradient(40% 60% at 0% 100%, rgba(0, 255, 215, .12) 0%, transparent 70%),
    linear-gradient(180deg, #041438 0%, #0a1d4f 60%, #0f2560 100%);
}
.gss-mshow * { box-sizing: border-box; }
.gss-mshow__wrap { max-width: 1366px; margin: 0 auto; padding-inline: 40px; }
.gss-mshow__head { max-width: 760px; margin-bottom: 48px; }
.gss-mshow h2 {
  margin: 0; padding: 0; font-family: inherit; font-size: clamp(30px, 3.4vw, 48px); line-height: 1.1; font-weight: 700;
  letter-spacing: -.02em; color: #fff; text-wrap: balance;
}
.gss-mshow__head p { margin: 18px 0 0; padding: 0; font-size: 18px; line-height: 1.6; color: rgba(255, 255, 255, .78); }
.gss-mshow__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 40px; align-items: center; }
.gss-mshow__tabs { display: grid; gap: 10px; }
.gss-mshow__tab {
  display: flex; gap: 16px; align-items: flex-start; width: 100%; margin: 0; padding: 20px 22px; text-align: left; cursor: pointer;
  font-family: inherit; color: #fff; background: transparent; border: 1px solid rgba(255, 255, 255, .14);
  border-radius: var(--gss-r-card, 20px); transition: background-color .3s, border-color .3s, color .3s;
}
.gss-mshow__tab:hover { border-color: rgba(255, 255, 255, .4); }
.gss-mshow__tab[aria-selected="true"] { background: #fff; border-color: #fff; color: var(--pf-ink); }
.gss-mshow__tab:focus-visible { outline: 3px solid var(--gss-aqua, #00FFD7); outline-offset: 2px; }
.gss-mshow__n {
  flex: none; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%;
  font-size: 14px; font-weight: 600; color: #fff; border: 1px solid rgba(255, 255, 255, .3);
}
.gss-mshow__tab[aria-selected="true"] .gss-mshow__n { background: var(--gss-neon, #5078FF); border-color: var(--gss-neon, #5078FF); }
.gss-mshow__txt { display: grid; gap: 6px; }
.gss-mshow__txt b { display: flex; align-items: center; gap: 8px; font-size: 17px; line-height: 1.35; font-weight: 600; }
.gss-mshow__txt > span { font-size: 14.5px; line-height: 1.5; color: rgba(255, 255, 255, .7); }
.gss-mshow__tab[aria-selected="true"] .gss-mshow__txt > span { color: #4A5470; }
.gss-mshow__ai { width: 20px; height: 21px; flex: none; }
.gss-mshow__media { position: relative; }
.gss-mshow__frame {
  padding: 10px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16);
  border-radius: var(--gss-r-panel, 28px); box-shadow: 0 30px 80px rgba(0, 0, 0, .35);
}
.gss-mshow__frame[hidden] { display: none; }
.gss-mshow__frame video { display: block; width: 100%; height: auto; object-fit: cover; border-radius: 20px; background: #fff; }
.gss-mshow__crop { position: relative; overflow: hidden; border-radius: 20px; background: #fff; }
.gss-mshow__crop img { position: absolute; max-width: none; height: auto; transform-origin: 45% 35%; }
.gss-mshow__frame.is-on .gss-mshow__crop img { animation: gss-mshow-zoom 4.5s cubic-bezier(.2, .7, .2, 1) both; }
@keyframes gss-mshow-zoom { from { transform: scale(1.08); } to { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .gss-mshow__frame.is-on .gss-mshow__crop img { animation: none; } }
@media (max-width: 1000px) {
  .gss-mshow { padding: 72px 0; }
  .gss-mshow__grid { grid-template-columns: 1fr; gap: 24px; }
  .gss-mshow__media { order: -1; }
}
@media (max-width: 767px) {
  .gss-mshow__wrap { padding-inline: 16px; }
  .gss-mshow__head { margin-bottom: 28px; }
  .gss-mshow__head p { font-size: 16px; }
  .gss-mshow__tab { padding: 16px; }
  .gss-mshow__frame { padding: 6px; border-radius: 20px; }
  .gss-mshow__frame video, .gss-mshow__crop { border-radius: 14px; }
}

/* ---------------------------------------------------------------- normas: cifra a la izquierda, sellos sueltos a la derecha */
.gss-mnorms { background: linear-gradient(135deg, #F4F6FF 0%, #E6ECFF 55%, #D9E3FF 100%); padding: 96px 0; }
.gss-mnorms__wrap { max-width: 1366px; margin: 0 auto; padding-inline: 40px; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px 80px; align-items: center; }
.gss-mnorms__copy h2 { font-size: clamp(30px, 3.4vw, 48px); line-height: 1.08; }
.gss-mnorms__copy p { margin: 18px 0 0; padding: 0; font-size: 16.5px; line-height: 1.6; color: var(--pf-soft); max-width: 42ch; }
.gss-mnorms__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 16px; }
.gss-mnorms__card { display: grid; justify-items: center; gap: 10px; text-decoration: none; color: var(--pf-ink); text-align: center; }
.gss-mnorms__seal { display: grid; place-items: center; width: 76px; height: 76px; border-radius: 50%; background: #fff; box-shadow: 0 10px 24px rgba(4, 20, 56, .08); transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s; }
.gss-mnorms__seal img { display: block; width: 64px; height: 64px; object-fit: contain; }
/* Sellos de la familia propia (seals.php, 2026-10-09): el sello ya tiene su aro o su hexágono, sin disco blanco */
.gss-mnorms__seal:has(.gss-seal) { width: 118px; height: 118px; border-radius: 0; background: none; box-shadow: none; }
.gss-mnorms__seal svg.gss-seal { display: block; width: 100%; height: 100%; }
.gss-mnorms__seal img.gss-seal { width: 84%; height: auto; border-radius: 6px; box-shadow: 0 8px 20px rgba(4, 20, 56, .1); }
a.gss-mnorms__card:hover .gss-mnorms__seal:has(.gss-seal) { box-shadow: none; }
.gss-mnorms__txt { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: #E3EAFF; font-size: 10px; font-weight: 700; line-height: 1.1; text-align: center; color: #2F55D9; padding: 4px; }
.gss-mnorms__name { font-size: 13.5px; font-weight: 500; line-height: 1.3; }
a.gss-mnorms__card:hover { color: var(--pf-neon); }
a.gss-mnorms__card:hover .gss-mnorms__seal { transform: translateY(-4px); box-shadow: 0 16px 30px rgba(4, 20, 56, .14); }
@media (max-width: 1000px) {
  .gss-mnorms { padding: 64px 0; }
  .gss-mnorms__wrap { grid-template-columns: 1fr; padding-inline: 16px; }
  .gss-mnorms__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .gss-mnorms__seal { width: 64px; height: 64px; }
  .gss-mnorms__seal img, .gss-mnorms__txt { width: 54px; height: 54px; }
  .gss-mnorms__seal:has(.gss-seal) { width: 96px; height: 96px; }
  .gss-mnorms__seal img.gss-seal { width: 84%; height: auto; }
}

/* ---------------------------------------------------------------- capacidades: tarjetas con la ilustración en grande */
.gss-mcaps { font-family: 'Poppins', sans-serif; color: #041438; background: #fff; padding: 104px 0 96px; }
.gss-mcaps * { box-sizing: border-box; }
.gss-mcaps__wrap { max-width: 1366px; margin: 0 auto; padding-inline: 40px; }
.gss-mcaps__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px 64px; align-items: end; margin-bottom: 44px; }
.gss-mcaps h2 { margin: 0; padding: 0; font-family: inherit; font-size: clamp(32px, 3.6vw, 52px); line-height: 1.05; font-weight: 700; letter-spacing: -.025em; color: #041438; text-wrap: balance; }
.gss-mcaps__head p { margin: 0; padding: 0; font-size: 17px; line-height: 1.6; color: #4A5470; max-width: 48ch; }
.gss-mcaps__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; }
.gss-mcaps__card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; background: #F4F6FF; border-radius: var(--gss-r-panel, 28px); transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s; }
.gss-mcaps__card:hover { transform: translateY(-4px); box-shadow: 0 20px 44px rgba(4, 20, 56, .1); }
.gss-mcaps__card:nth-child(1), .gss-mcaps__card:nth-child(4) { grid-column: span 4; }
.gss-mcaps__card:nth-child(2), .gss-mcaps__card:nth-child(3) { grid-column: span 2; }
.gss-mcaps__card:nth-child(5), .gss-mcaps__card:nth-child(6) { grid-column: span 3; }
.gss-mcaps__txt { padding: 30px 32px 22px; }
.gss-mcaps__card h3 { display: flex; align-items: center; gap: 12px; margin: 0; padding: 0; font-family: inherit; font-size: 20px; line-height: 1.25; font-weight: 600; color: #041438; }
.gss-mcaps__ico { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; color: #fff; background: #5078FF; }
.gss-mcaps__ico svg { width: 20px; height: 20px; }
.gss-mcaps__txt p { margin: 12px 0 0; padding: 0; font-size: 15.5px; line-height: 1.55; color: #4A5470; max-width: 52ch; }
.gss-mcaps__img { margin-top: auto; height: 270px; padding: 0 32px; overflow: hidden; display: flex; align-items: flex-start; justify-content: center; }
.gss-mcaps__img img {
  display: block; width: 100%; max-width: 540px; height: auto; background: #fff; border-radius: 18px 18px 0 0;
  box-shadow: 0 -10px 34px rgba(4, 20, 56, .08); transition: transform .5s cubic-bezier(.2, .7, .2, 1); transform-origin: bottom center;
}
.gss-mcaps__card:hover .gss-mcaps__img img { transform: translateY(-6px); }

.gss-mcaps__more { margin: 28px 0 0; padding: 0; font-size: 15px; line-height: 1.6; color: #4A5470; text-align: center; }
@media (max-width: 1100px) {
  .gss-mcaps__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gss-mcaps__card:nth-child(n) { grid-column: span 1; }
  .gss-mcaps__card:nth-child(1), .gss-mcaps__card:nth-child(4) { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
  .gss-mcaps { padding: 64px 0; }
  .gss-mcaps__wrap { padding-inline: 16px; }
  .gss-mcaps__head { grid-template-columns: 1fr; margin-bottom: 28px; }
  .gss-mcaps__grid { grid-template-columns: 1fr; gap: 14px; }
  .gss-mcaps__card:nth-child(n) { grid-column: auto; }
  .gss-mcaps__txt { padding: 24px 22px 18px; }
  .gss-mcaps__img { height: 220px; padding-inline: 22px; }
}

/* ---------------------------------------------------------------- preguntas */
.gss-mfaq { background: #F6F8FF; padding: 96px 0; }
.gss-mfaq__wrap {
  max-width: 1366px; margin: 0 auto; padding-inline: 40px;
  display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 40px 64px; align-items: start;
}
.gss-mfaq__side { position: sticky; top: calc(var(--header-height, 84px) + 24px); }
.gss-mfaq__side p { margin: 16px 0 0; padding: 0; font-size: 16px; line-height: 1.6; color: var(--pf-soft); }
.gss-mfaq__list { display: grid; gap: 12px; }
.gss-mfaq__item { background: #fff; border: 1px solid var(--pf-line); border-radius: var(--gss-r-card, 20px); transition: border-color .3s; }
.gss-mfaq__item[open] { border-color: #C9D4FF; }
.gss-mfaq__item summary {
  display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 26px;
  font-size: 17px; line-height: 1.4; font-weight: 600; color: var(--pf-ink); cursor: pointer; list-style: none;
}
.gss-mfaq__item summary::-webkit-details-marker { display: none; }
.gss-mfaq__item summary:focus-visible { outline: 3px solid var(--pf-aqua); outline-offset: 2px; border-radius: var(--gss-r-card, 20px); }
.gss-mfaq__item summary i { position: relative; flex: none; width: 32px; height: 32px; border-radius: 50%; background: #EEF2FF; }
.gss-mfaq__item summary i::before, .gss-mfaq__item summary i::after {
  content: ''; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; margin: -1px 0 0 -6px; background: var(--pf-neon); border-radius: 2px; transition: transform .3s;
}
.gss-mfaq__item summary i::after { transform: rotate(90deg); }
.gss-mfaq__item[open] summary i::after { transform: rotate(0deg); }
.gss-mfaq__a { padding: 0 26px 24px; }
.gss-mfaq__a p { margin: 0; padding: 0; font-size: 15.5px; line-height: 1.65; color: var(--pf-soft); max-width: 68ch; }
.gss-mfaq__apps { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.gss-mfaq__apps img { display: block; width: 40px; height: 40px; padding: 8px; background: #F6F8FF; border-radius: 50%; }
@media (max-width: 900px) {
  .gss-mfaq { padding: 64px 0; }
  .gss-mfaq__wrap { grid-template-columns: 1fr; padding-inline: 16px; }
  .gss-mfaq__side { position: static; }
  .gss-mfaq__item summary { padding: 18px 20px; font-size: 16px; }
  .gss-mfaq__a { padding: 0 20px 20px; }
}

/* ---------------------------------------------------------------- relacionados */
.gss-related { background: #fff; padding: 88px 0; }
.gss-related__wrap { max-width: 1366px; margin: 0 auto; padding-inline: 40px; }
.gss-related__copy { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px 48px; flex-wrap: wrap; margin-bottom: 32px; }
.gss-related__copy p { margin: 0; padding: 0; font-size: 16px; line-height: 1.6; color: var(--pf-soft); max-width: 46ch; }
.gss-related__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.gss-related__card {
  position: relative; display: grid; gap: 6px; padding: 28px 64px 28px 28px; text-decoration: none; color: var(--pf-ink);
  background: #fff; border: 1px solid var(--pf-line); border-radius: var(--gss-r-card, 20px);
  transition: border-color .3s, box-shadow .3s, transform .3s;
}
.gss-related__card b { font-size: 19px; line-height: 1.3; font-weight: 600; }
.gss-related__card span { font-size: 14.5px; line-height: 1.5; color: var(--pf-soft); }
.gss-related__card .gss-mod-arrow {
  position: absolute; right: 24px; top: 50%; width: 36px; height: 36px; margin-top: -18px; padding: 9px;
  color: var(--pf-neon); background: #EEF2FF; border-radius: 50%; transition: background-color .3s, color .3s, transform .3s;
}
.gss-related__card:hover { border-color: var(--pf-neon); box-shadow: 0 14px 34px rgba(4, 20, 56, .08); color: var(--pf-ink); }
.gss-related__card:hover .gss-mod-arrow { background: var(--gss-aqua, #00FFD7); color: var(--gss-ink-hover, #1a1a1a); transform: translateX(3px); }
@media (max-width: 900px) {
  .gss-related { padding: 64px 0; }
  .gss-related__wrap { padding-inline: 16px; }
  .gss-related__grid { grid-template-columns: 1fr; gap: 12px; }
}

/* ============================================================
   Bloques comunes en las páginas de módulo (body.gss-mpage)
   ============================================================ */

/* Sin rótulos pequeños sobre los titulares (norma de la casa) */
.gss-mpage .gss-security-day-one .eyebrow,
.gss-mpage .gss-security-platform .eyebrow,
.gss-mpage .gss-ai-caps__eyebrow { display: none; }

/* Aire: dos secciones blancas seguidas no suman 220 px */
.gss-mpage .gss-security-day-one { padding-bottom: 56px; }
.gss-mpage .gss-security-platform { padding: 96px 0; }
.gss-mpage .gss-integrations { padding-top: 40px; padding-bottom: 72px; }

/* El bloque de IA (bloque reutilizable 108421) va en filas de «alto completo» centradas: con
   menos contenido que la pantalla dejaban 70 px en blanco arriba y abajo. */
.gss-mpage .l-section.full_height:has(.gss-ai-caps),
.gss-mpage .l-section.full_height:has(.gss-ai-caps) > .l-section-h { min-height: 0 !important; }

/* IA compacta: fuera la órbita, las capacidades en rejilla */
.gss-mpage .gss-ai-caps { padding: 88px 0 72px; }
.gss-mpage .gss-ai-caps .gss-ai-caps__stage {
  aspect-ratio: auto; max-width: 1180px; height: auto; min-height: 0; margin-top: 40px;
  display: block;
}
.gss-mpage .gss-ai-caps .gss-ai-caps__rings,
.gss-mpage .gss-ai-caps .gss-ai-caps__lines,
.gss-mpage .gss-ai-caps .gss-ai-caps__core { display: none; }
.gss-mpage .gss-ai-caps .gss-ai-caps__nodes {
  position: static; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; width: 100%; height: auto;
}
.gss-mpage .gss-ai-caps .gss-ai-caps__node {
  position: relative; top: auto; left: auto; width: 100%; max-width: none; opacity: 1;
  transform: none !important; animation: none;
}
@media (max-width: 980px) {
  .gss-mpage .gss-ai-caps { padding: 64px 0 56px; }
  .gss-mpage .gss-ai-caps .gss-ai-caps__nodes { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .gss-mpage .gss-ai-caps .gss-ai-caps__nodes { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .gss-mpage .gss-security-day-one { padding-bottom: 40px; }
  .gss-mpage .gss-security-platform { padding: 64px 0; }
}

/* ================= copia de gss-bento.css (2026-10-06) ================= */
.gss-bento {
  --gb-neon: #5078FF;
  --gb-neon-ink: #2F55D9;
  --gb-quantum: #041438;
  --gb-text: #3d4766;
  --gb-muted: #6b7591;
  --gb-line: #DCE2EE;
  --gb-tint: #EEF2FF;
  --gb-tile: #F4F6FF;
  --gb-white: #ffffff;
  --gb-ok: #3a9a2a;
  --gb-warn: #f5a524;
  --gb-w: 1366px;
  --gb-gut: 40px;
  padding: 96px 0;
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: var(--gb-text);
  background: var(--gb-white);
  -webkit-font-smoothing: antialiased;
}
.gss-bento *, .gss-bento *::before, .gss-bento *::after { box-sizing: border-box; }
.gss-bento h2, .gss-bento h3 { margin: 0; padding: 0; color: var(--gb-quantum); font-weight: 600; text-transform: none; letter-spacing: 0; text-wrap: balance; }
.gss-bento p { margin: 0; padding: 0; }
.gss-bento sup { position: relative; top: -.42em; margin-left: .05em; font-size: .72em; font-weight: 400; line-height: 0; vertical-align: baseline; }
.gss-bento .gb-wrap { max-width: var(--gb-w); margin: 0 auto; padding-left: var(--gb-gut); padding-right: var(--gb-gut); }
@media (max-width: 720px) { .gss-bento { --gb-gut: 16px; } }

/* Cabecera: titular a la izquierda, una línea a la derecha */
.gss-bento .gb-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: end; margin-bottom: 40px; }
.gss-bento .gb-head h2 { font-size: clamp(26px, 2.8vw, 36px); line-height: 1.2; }
.gss-bento .gb-head p { max-width: 46ch; font-size: 16px; color: var(--gb-muted); }

/* Rejilla: una tarjeta alta a la izquierda y dos a la derecha.
   Variante .gss-bento--flip: la alta a la derecha. Variante .gss-bento--row: tres iguales. */
.gss-bento .gb-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); gap: 20px; }
.gss-bento--flip .gb-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); grid-auto-flow: dense; }
.gss-bento--flip .gb-tile--tall { grid-column: 2; grid-row: 1 / span 2; }
.gss-bento--flip .gb-tile:not(.gb-tile--tall) { grid-column: 1; }
.gss-bento--row .gb-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.gss-bento .gb-tile { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 32px 32px 0; background: var(--gb-tile); border-radius: var(--gss-r-panel, 28px); overflow: hidden; }
.gss-bento .gb-tile--tall { grid-row: span 2; }
.gss-bento .gb-tile h3 { font-size: 20px; line-height: 1.3; }
.gss-bento .gb-tile > p { margin: 8px 0 28px; max-width: 44ch; font-size: 14.5px; line-height: 1.55; color: var(--gb-muted); }

/* El fragmento: tarjeta blanca que asoma por abajo */
.gss-bento .gb-ui { margin-top: auto; padding: 20px; background: var(--gb-white); border: 1px solid #E3E8F5; border-bottom: 0; border-radius: 16px 16px 0 0; box-shadow: 0 -6px 30px rgba(4, 20, 56, .07); }
.gss-bento .gb-tile--tall .gb-ui { margin-top: 0; flex: 1; }
.gss-bento .gb-ui--img { padding: 10px 10px 0; }
.gss-bento .gb-ui--img img { display: block; width: 100%; height: auto; }

/* Pasos (asistentes, flujos de trabajo) */
.gss-bento .gb-steps { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.gss-bento .gb-steps span { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; font-size: 12px; font-weight: 500; border-radius: var(--gss-r-control, 999px); }
.gss-bento .gb-steps .is-done { color: #2a7a1f; background: #e9f7e3; border: 1px solid #b9e2a8; }
.gss-bento .gb-steps .is-now { color: var(--gb-neon-ink); background: var(--gb-white); border: 1px solid var(--gb-neon); }

/* Cifra destacada */
.gss-bento .gb-stat { padding: 16px 18px; background: var(--gb-tint); border-radius: 12px; }
.gss-bento .gb-stat small { display: block; font-size: 12.5px; font-weight: 500; color: var(--gb-quantum); }
.gss-bento .gb-stat strong { display: block; margin-top: 2px; font-size: 32px; font-weight: 600; line-height: 1.15; color: var(--gb-neon-ink); }
.gss-bento .gb-stat em { display: block; margin-top: 4px; font-size: 12px; font-style: normal; color: var(--gb-muted); }

/* Lista de registros (análisis, auditorías, proveedores, controles…) */
.gss-bento .gb-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid var(--gb-line); }
.gss-bento .gb-row:first-child { padding-top: 0; border-top: 0; }
.gss-bento .gb-row b { display: block; font-size: 13.5px; font-weight: 500; color: var(--gb-quantum); }
.gss-bento .gb-row span { display: block; margin-top: 2px; font-size: 12px; color: var(--gb-muted); }
.gss-bento .gb-row i { display: inline-flex; align-items: center; gap: 4px; flex: none; font-size: 12px; font-style: normal; font-weight: 500; color: var(--gb-ok); }
.gss-bento .gb-row i.is-warn { color: #b26b00; }

/* Barras de progreso (cumplimiento por norma, madurez, avance de plan…) */
.gss-bento .gb-bar { display: grid; grid-template-columns: minmax(0, 1fr) 90px 44px; align-items: center; gap: 12px; padding: 8px 0; font-size: 13px; font-weight: 500; color: var(--gb-quantum); }
.gss-bento .gb-bar span { height: 6px; background: var(--gb-tint); border-radius: var(--gss-r-control, 999px); overflow: hidden; }
.gss-bento .gb-bar span i { display: block; height: 100%; background: var(--gb-neon); border-radius: inherit; }
.gss-bento .gb-bar span i.is-ok { background: #2fbf71; }
.gss-bento .gb-bar span i.is-warn { background: var(--gb-warn); }
.gss-bento .gb-bar b { font-weight: 600; text-align: right; }

@media (max-width: 960px) {
  .gss-bento { padding: 64px 0; }
  .gss-bento .gb-head { grid-template-columns: 1fr; gap: 12px; margin-bottom: 28px; }
  .gss-bento .gb-grid,
  .gss-bento--flip .gb-grid,
  .gss-bento--row .gb-grid { grid-template-columns: 1fr; }
  .gss-bento .gb-tile--tall,
  .gss-bento--flip .gb-tile--tall,
  .gss-bento--flip .gb-tile:not(.gb-tile--tall) { grid-column: auto; grid-row: auto; }
}
@media (max-width: 520px) { .gss-bento .gb-tile { padding: 24px 20px 0; } }

/* ---------------------------------------------------------------- bento del módulo
   Las reglas base de .gss-bento son una copia de gss-bento.css (aprobado el 2026-10-06), para no
   depender de que ese componente esté subido. Aquí solo lo propio de las páginas de módulo. */
.gss-mbento { padding: 104px 0 96px; }
.gss-bento .gb-stat strong u { text-decoration: none; font-size: 18px; font-weight: 500; color: var(--gb-quantum); }
.gss-bento .gb-row i svg { flex: none; }
.gss-bento .gb-tile--tall .gb-ui--img { display: flex; align-items: flex-start; }

/* Entrada de una sola vez al llegar a la pantalla (gss-mod.js añade is-armed e is-in) */
.gss-mbento.is-armed .gb-tile { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s cubic-bezier(.2, .7, .2, 1); }
.gss-mbento.is-armed .gb-tile:nth-child(2) { transition-delay: .12s; }
.gss-mbento.is-armed .gb-tile:nth-child(3) { transition-delay: .24s; }
.gss-mbento.is-armed .gb-ui--img img { transform: scale(1.05); transform-origin: 70% 30%; transition: transform 1.4s cubic-bezier(.2, .7, .2, 1) .1s; }
.gss-mbento.is-armed .gb-row { opacity: 0; transform: translateX(-12px); transition: opacity .45s ease, transform .45s ease; transition-delay: calc(.45s + var(--d, 0ms)); }
.gss-mbento.is-in .gb-tile, .gss-mbento.is-in .gb-row { opacity: 1; transform: none; }
.gss-mbento.is-in .gb-ui--img img { transform: scale(1); }

/* ---------------------------------------------------------------- IA: píldoras de vídeo (como el blog) */
.gss-mai {
  font-family: 'Poppins', sans-serif; color: #fff; padding: 96px 0;
  background:
    radial-gradient(55% 85% at 0% 100%, rgba(54, 86, 184, .6) 0%, rgba(15, 37, 96, .3) 45%, transparent 75%),
    radial-gradient(38% 60% at 100% 0%, rgba(0, 255, 215, .14) 0%, transparent 70%),
    linear-gradient(180deg, #041438 0%, #0a1d4f 60%, #0f2560 100%);
}
.gss-mai * { box-sizing: border-box; }
.gss-mai__wrap {
  max-width: 1366px; margin: 0 auto; padding-inline: 40px;
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 56px; align-items: center;
}
.gss-mai__ico { display: block; width: 44px; height: 46px; margin-bottom: 20px; }
.gss-mai h2 { margin: 0; padding: 0; font-family: inherit; font-size: clamp(28px, 3vw, 42px); line-height: 1.12; font-weight: 700; letter-spacing: -.02em; color: #fff; text-wrap: balance; }
.gss-mai__head p { margin: 16px 0 0; padding: 0; font-size: 16.5px; line-height: 1.6; color: #B8C4E0; max-width: 44ch; }
.gss-mai__cta { display: inline-flex; align-items: center; gap: 8px; margin-top: 24px; font-size: 15px; font-weight: 500; color: #fff; text-decoration: none; }
.gss-mai__cta:hover { color: var(--gss-aqua, #00FFD7); }
.gss-mai__cta:hover .gss-mod-arrow { transform: translateX(4px); }
.gss-mai__tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.gss-mai__tile { display: grid; gap: 6px; align-content: start; color: #fff; text-decoration: none; }
.gss-mai__thumb { position: relative; display: block; aspect-ratio: 1 / 1; margin-bottom: 8px; border-radius: 16px; overflow: hidden; background: #0C1F4D; box-shadow: inset 0 0 0 1px rgba(14, 232, 189, .25); }
.gss-mai__thumb img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .5s ease; }
.gss-mai__tile:hover .gss-mai__thumb img { transform: scale(1.06); }
.gss-mai__play { position: absolute; left: 50%; top: 50%; width: 48px; height: 48px; margin: -24px 0 0 -24px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: rgba(4, 20, 56, .8); box-shadow: 0 0 0 1.5px #0EE8BD, 0 6px 18px rgba(4, 20, 56, .35); transition: transform .25s; }
.gss-mai__play svg { margin-left: 2px; }
.gss-mai__tile:hover .gss-mai__play { transform: scale(1.1); }
.gss-mai__dur { position: absolute; top: 8px; right: 8px; padding: 3px 7px; border-radius: 6px; background: rgba(4, 20, 56, .8); font-size: 11.5px; line-height: 1.2; color: #fff; font-variant-numeric: tabular-nums; }
.gss-mai__tt { font-size: 15px; font-weight: 600; line-height: 1.35; transition: color .2s; }
.gss-mai__d { font-size: 13px; line-height: 1.45; color: #B8C4E0; }
.gss-mai__tile:hover .gss-mai__tt { color: var(--gss-aqua, #00FFD7); }
@media (max-width: 1100px) {
  .gss-mai__wrap { grid-template-columns: 1fr; gap: 36px; }
}
@media (max-width: 767px) {
  .gss-mai { padding: 64px 0; }
  .gss-mai__wrap { padding-inline: 16px; }
  .gss-mai__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
}

/* Visor de vídeo */
.gss-mod-vid { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 24px; background: rgba(4, 20, 56, .86); }
.gss-mod-vid[hidden] { display: none; }
.gss-mod-vid__box { width: min(1100px, 100%); aspect-ratio: 16 / 9; background: #000; border-radius: 16px; overflow: hidden; }
.gss-mod-vid__box iframe { display: block; width: 100%; height: 100%; border: 0; }
.gss-mod-vid__x {
  position: absolute; top: 20px; right: 20px; display: grid; place-items: center; width: 48px; height: 48px; margin: 0; padding: 0;
  font-size: 28px; line-height: 1; color: var(--gss-quantum, #041438); background: #fff; border: 0; border-radius: 50%; cursor: pointer;
}
.gss-mod-vid__x:hover { background: var(--gss-aqua, #00FFD7); color: var(--gss-ink-hover, #1a1a1a); }

/* ---------------------------------------------------------------- plataforma (módulos sin «Qué incluye»)
   Las flechas del carrusel de plataforma iban a -20px y pisaban las tarjetas: bajan debajo, centradas,
   como controles circulares de gss-ui. */
.gss-mpage .gss-security-platform .carousel-viewport { padding-bottom: 68px; }
.gss-mpage .gss-security-platform .carousel-arrow {
  top: auto; bottom: 0; transform: none; width: 48px; height: 48px;
  color: var(--gss-quantum, #041438); background: #fff; border: 1px solid var(--gss-line, #DCE2EE); box-shadow: none;
}
.gss-mpage .gss-security-platform .carousel-arrow:hover { transform: none; color: var(--gss-ink-hover, #1a1a1a); background: var(--gss-aqua, #00FFD7); border-color: var(--gss-aqua, #00FFD7); }
.gss-mpage .gss-security-platform .carousel-arrow-prev { left: calc(50% - 58px); }
.gss-mpage .gss-security-platform .carousel-arrow-next { right: calc(50% - 58px); }

/* ---------------------------------------------------------------- pantallas animadas (Controles, Encuestas)
   HTML rehecho con los datos de capturas reales (data/anim/*.html). Ciclo de 10 s en bucle, como los
   vídeos de las otras pestañas: entra, se queda y vuelve a empezar. Solo corre con la pestaña abierta. */
.gss-mshow .ga {
  position: relative; overflow: hidden; display: grid; gap: 14px; align-content: start; min-height: 400px; padding: 20px 22px;
  font-family: 'Poppins', sans-serif; color: #041438; background: #F5F7FC; border-radius: 20px; --cyc: 10s;
}
.gss-mshow .ga * { box-sizing: border-box; }
.gss-mshow .ga small { display: block; font-size: 11px; line-height: 1.3; font-weight: 500; color: #6B7591; }
.gss-mshow .ga--ctrl { min-height: 0; }
.gss-mshow .ga-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.gss-mshow .ga-top b { font-size: 16px; font-weight: 600; }
.gss-mshow .ga-filter { font-size: 11.5px; color: #6B7591; padding: 6px 12px; background: #fff; border: 1px solid #E3E8F2; border-radius: 999px; }
.gss-mshow .ga-btn { font-size: 12px; font-weight: 500; color: #fff; padding: 8px 14px; background: #5078FF; border-radius: 999px; white-space: nowrap; }

@keyframes ga-in { 0% { opacity: 0; transform: translateY(10px); } 6%, 88% { opacity: 1; transform: none; } 96%, 100% { opacity: 0; transform: none; } }
@keyframes ga-pop { 0%, 3% { opacity: 0; transform: scale(.6); } 7% { opacity: 1; transform: scale(1.08); } 9%, 88% { opacity: 1; transform: scale(1); } 96%, 100% { opacity: 0; } }
@keyframes ga-gauge { 0% { stroke-dashoffset: 157; } 16%, 88% { stroke-dashoffset: calc(157 * (1 - var(--p))); } 96%, 100% { stroke-dashoffset: 157; } }
@keyframes ga-bar { 0% { transform: scaleY(0); } 12%, 88% { transform: scaleY(1); } 96%, 100% { transform: scaleY(0); } }
@keyframes ga-val { 0% { opacity: 0; background: #DCE6FF; } 4% { opacity: 1; background: #DCE6FF; } 12%, 88% { opacity: 1; background: #fff; } 96%, 100% { opacity: 0; background: #fff; } }

.gss-mshow__frame.is-on .ga-kpis > div, .gss-mshow__frame.is-on .ga-card, .gss-mshow__frame.is-on .ga-tr,
.gss-mshow__frame.is-on .ga-fields > div { animation: ga-in var(--cyc) cubic-bezier(.2, .7, .2, 1) infinite both; animation-delay: calc(var(--i) * .22s); }

/* Controles */
.gss-mshow .ga-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.gss-mshow .ga-kpis > div { padding: 12px 14px; background: #fff; border: 1px solid #E3E8F2; border-radius: 12px; }
.gss-mshow .ga-kpis strong { display: block; margin-top: 2px; font-size: 22px; line-height: 1.15; font-weight: 600; color: #1F3A8A; }
.gss-mshow .ga-kpis strong.is-warn { color: #C0392B; }
.gss-mshow .ga-grid { display: grid; grid-template-columns: 1fr 1fr 1.5fr; gap: 10px; }
.gss-mshow .ga-card { display: grid; justify-items: center; align-content: start; gap: 2px; padding: 12px 14px; background: #fff; border: 1px solid #E3E8F2; border-radius: 12px; }
.gss-mshow .ga-card small { justify-self: start; margin-bottom: 4px; }
.gss-mshow .ga-gauge { width: 100%; max-width: 150px; height: auto; overflow: visible; }
.gss-mshow .ga-gauge path { fill: none; stroke-width: 16; }
.gss-mshow .ga-gauge-bg { stroke: #EEF0F5; }
.gss-mshow .ga-gauge-fg { stroke-dasharray: 157; stroke-dashoffset: calc(157 * (1 - var(--p))); }
.gss-mshow__frame.is-on .ga-gauge-fg { animation: ga-gauge var(--cyc) cubic-bezier(.3, .7, .2, 1) infinite both; animation-delay: .7s; }
.gss-mshow .ga-card strong { margin-top: -26px; font-size: 26px; line-height: 1; font-weight: 300; color: #333; }
.gss-mshow .ga-card em { font-size: 11px; font-style: normal; color: #6B7591; }
.gss-mshow .ga-card--bars { justify-items: stretch; }
.gss-mshow .ga-bars { display: flex; align-items: flex-end; gap: 8px; height: 118px; padding-top: 16px; }
.gss-mshow .ga-bars span { position: relative; flex: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; height: 100%; }
.gss-mshow .ga-bars span::after {
  content: ''; display: block; width: 100%; height: calc(var(--h) * 78px); border-radius: 4px 4px 0 0; transform-origin: bottom;
  background: linear-gradient(180deg, #2C4FA3, #1F3A8A);
}
.gss-mshow .ga-bars span:nth-child(n+3)::after { background: #7FA3E0; }
.gss-mshow__frame.is-on .ga-bars span::after { animation: ga-bar var(--cyc) cubic-bezier(.3, .7, .2, 1) infinite both; animation-delay: calc(1s + var(--j) * .12s); }
.gss-mshow .ga-bars i { order: -1; margin-bottom: 3px; font-size: 10px; font-style: normal; font-weight: 600; color: #333; }
.gss-mshow .ga-bars b { order: 2; margin-top: 6px; font-size: 9.5px; font-weight: 500; color: #6B7591; white-space: nowrap; }

/* Encuestas */
.gss-mshow .ga-el { display: grid; gap: 2px; }
.gss-mshow .ga-el b { font-size: 15px; font-weight: 600; color: #1F3A8A; }
.gss-mshow .ga-fields { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; padding: 12px; background: #fff; border: 1px solid #E3E8F2; border-left: 3px solid #5078FF; border-radius: 12px; }
.gss-mshow .ga-fields > div { display: grid; gap: 6px; }
.gss-mshow .ga-fields span:not(.ga-chip) { display: block; padding: 7px 10px; font-size: 12px; border: 1px solid #E3E8F2; border-radius: 8px; }
.gss-mshow__frame.is-on .ga-fields span:not(.ga-chip) { animation: ga-val var(--cyc) ease infinite both; animation-delay: calc(.4s + var(--i) * .45s); }
.gss-mshow .ga-table { display: grid; gap: 6px; padding: 12px; background: #fff; border: 1px solid #E3E8F2; border-radius: 12px; }
.gss-mshow .ga-th, .gss-mshow .ga-tr { display: grid; grid-template-columns: 2.2fr 1fr 1fr 1fr; gap: 10px; align-items: center; font-size: 12px; }
.gss-mshow .ga-th { font-size: 11px; font-weight: 600; color: #6B7591; padding-bottom: 4px; border-bottom: 1px solid #EEF0F5; }
.gss-mshow .ga-tr span:first-child { font-weight: 500; color: #1F3A8A; }
.gss-mshow .ga-chip { display: inline-flex; align-items: center; justify-self: start; gap: 6px; padding: 4px 10px; font-size: 11.5px; font-weight: 500; border-radius: 999px; }
.gss-mshow .ga-chip::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.gss-mshow .ga-chip--malto { color: #C0392B; background: #FDE7E4; }
.gss-mshow .ga-chip--alto { color: #C2620A; background: #FEEBD8; }
.gss-mshow .ga-chip--medio { color: #A07800; background: #FFF4CC; }
.gss-mshow__frame.is-on .ga-chip { animation: ga-pop var(--cyc) ease infinite both; animation-delay: calc(1.2s + var(--i) * .45s); }
.gss-mshow__frame.is-on .ga-tr .ga-chip { animation-delay: calc(1.4s + var(--i) * .45s); }

@media (max-width: 767px) {
  .gss-mshow .ga { min-height: 0; padding: 14px; gap: 10px; }
  .gss-mshow .ga-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gss-mshow .ga-grid { grid-template-columns: 1fr 1fr; }
  .gss-mshow .ga-card--bars { grid-column: 1 / -1; }
  .gss-mshow .ga-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gss-mshow .ga-th span:nth-child(2), .gss-mshow .ga-th span:nth-child(3), .gss-mshow .ga-tr span:nth-child(2), .gss-mshow .ga-tr span:nth-child(3) { display: none; }
  .gss-mshow .ga-th, .gss-mshow .ga-tr { grid-template-columns: 1fr auto; }
  .gss-mshow .ga-filter { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .gss-mshow .ga *, .gss-mshow .ga *::before, .gss-mshow .ga *::after { animation: none !important; }
}

/* ---------------------------------------------------------------- «Del mapa de riesgos a la pérdida en euros»
   Pestañas en horizontal arriba (número + nombre), la frase de la pestaña abierta encima de su pantalla
   y la pantalla a todo el ancho, para que se lea bien. */
.gss-mshow--top .gss-mshow__head { max-width: 860px; margin: 0 auto 36px; text-align: center; }
.gss-mshow--top .gss-mshow__tabs { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
.gss-mshow--top .gss-mshow__tab { width: auto; align-items: center; gap: 10px; padding: 10px 20px 10px 10px; border-radius: var(--gss-r-control, 999px); }
.gss-mshow--top .gss-mshow__txt > span { display: none; }
.gss-mshow--top .gss-mshow__txt b { font-size: 15px; white-space: nowrap; }
.gss-mshow--top .gss-mshow__n { width: 30px; height: 30px; font-size: 13px; }
.gss-mshow--top .gss-mshow__media { max-width: 1120px; margin: 0 auto; }
.gss-mshow__cap { margin: 0 auto 18px; padding: 0; max-width: 70ch; font-size: 16.5px; line-height: 1.55; text-align: center; color: rgba(255, 255, 255, .82); }
.gss-mshow:not(.gss-mshow--top) .gss-mshow__cap { display: none; }
.gss-mshow--top .gss-mshow__frame { padding: 0; background: none; border: 0; box-shadow: none; }
.gss-mshow--top .gss-mshow__frame > video, .gss-mshow--top .gss-mshow__frame > .gss-mshow__crop, .gss-mshow--top .gss-mshow__frame > .ga {
  box-shadow: 0 0 0 10px rgba(255, 255, 255, .08), 0 30px 80px rgba(0, 0, 0, .35);
}
@media (max-width: 767px) {
  .gss-mshow--top .gss-mshow__head { text-align: left; }
  .gss-mshow--top .gss-mshow__tabs { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; margin-inline: -16px; padding: 4px 16px; scrollbar-width: none; }
  .gss-mshow--top .gss-mshow__tabs::-webkit-scrollbar { display: none; }
  .gss-mshow--top .gss-mshow__tab { flex: none; }
  .gss-mshow--top .gss-mshow__media { order: 0; }
  .gss-mshow__cap { text-align: left; font-size: 15px; }
}

/* ---------------------------------------------------------------- normativa local por país (bajo los sellos) */
.gss-mnorms__local { grid-column: 1 / -1; margin-top: 24px; padding: 32px; background: rgba(255, 255, 255, .7); border: 1px solid rgba(255, 255, 255, .9); border-radius: var(--gss-r-panel, 28px); }
.gss-mnorms__lhead { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px 40px; flex-wrap: wrap; margin-bottom: 22px; }
.gss-mnorms__lhead h3 { margin: 0; padding: 0; font-family: inherit; font-size: 22px; line-height: 1.25; font-weight: 600; color: var(--pf-ink); }
.gss-mnorms__lhead p { margin: 0; padding: 0; font-size: 15px; line-height: 1.55; color: var(--pf-soft); max-width: 52ch; }
.gss-mnorms__countries { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.gss-mnorms__countries li { display: flex; align-items: center; gap: 14px; margin: 0; padding: 14px 16px; background: #fff; border-radius: 16px; box-shadow: 0 6px 18px rgba(4, 20, 56, .06); }
.gss-mnorms__flag { flex: none; display: block; width: 36px; height: 24px; border-radius: 4px; overflow: hidden; }
.gss-mnorms__countries span { display: grid; gap: 1px; }
.gss-mnorms__countries b { font-size: 15px; line-height: 1.25; font-weight: 600; color: var(--pf-ink); }
.gss-mnorms__countries small { font-size: 13.5px; line-height: 1.3; color: var(--pf-neon); font-weight: 500; }
@media (max-width: 767px) {
  .gss-mnorms__local { padding: 20px 16px; }
  .gss-mnorms__countries { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .gss-mnorms__countries li { padding: 12px; gap: 10px; }
  .gss-mnorms__flag { width: 30px; height: 20px; }
}

/* ---------------------------------------------------------------- pantallas de producto (gss_mod_screen)
   Mismo diseño que las pantallas de las hojas de producto. Ciclo de 10 s en bucle, solo con la pestaña abierta. */
.gss-mshow .gd { --cyc: 14s; font-family: 'Poppins', sans-serif; color: #041438; background: #fff; border-radius: 20px; overflow: hidden; text-align: left; }
.gss-mshow .gd * { box-sizing: border-box; }
.gss-mshow .gd small { display: block; font-size: 11px; line-height: 1.35; color: #6B7591; font-weight: 400; }
.gss-mshow .gd-top { display: flex; align-items: center; gap: 12px; padding: 12px 18px; background: #F5F7FC; border-bottom: 1px solid #E8ECF5; }
.gss-mshow .gd-top b { flex: 1; font-size: 13px; font-weight: 600; color: #1F2A4A; }
.gss-mshow .gd-dots { display: flex; gap: 6px; } .gss-mshow .gd-dots i { width: 9px; height: 9px; border-radius: 50%; background: #D5DBE8; }
.gss-mshow .gd-iachip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; font-size: 12px; font-weight: 500; color: #3E63E8; background: #fff; border: 1px solid #DCE4FF; border-radius: 999px; }
.gss-mshow .gd-iachip svg, .gss-mshow .gd-ai-h svg { width: 15px; height: 16px; }
.gss-mshow .gd-body { display: grid; grid-template-columns: 1fr 2.05fr 1.25fr; gap: 16px; padding: 18px; }
.gss-mshow .gd-col { display: grid; gap: 12px; align-content: start; min-width: 0; }
.gss-mshow .gd-card { padding: 14px 16px; border: 1px solid #E8ECF5; border-radius: 14px; background: #fff; }
.gss-mshow .gd-kpi strong { display: block; margin-top: 4px; font-size: 30px; line-height: 1.1; font-weight: 700; color: #041438; }
.gss-mshow .gd-kpi strong span { font-size: 16px; font-weight: 500; color: #9AA3BA; }
.gss-mshow .gd-kpi strong em { margin-left: 8px; font-size: 12px; font-style: normal; font-weight: 500; color: #E8930C; }
.gss-mshow .gd-bar { display: block; height: 6px; margin-top: 10px; background: #EEF1F7; border-radius: 999px; overflow: hidden; }
.gss-mshow .gd-bar i { display: block; height: 100%; width: calc(var(--p) * 100%); background: linear-gradient(90deg, #5078FF, #50DCFF); border-radius: inherit; transform-origin: left; }
.gss-mshow .gd-sub { margin-top: 6px; }
.gss-mshow .gd-cap { margin-bottom: 8px; font-size: 10.5px !important; font-weight: 600 !important; letter-spacing: .06em; text-transform: uppercase; color: #8A93AB !important; }
.gss-mshow .gd-legend ul, .gss-mshow .gd-bars ul, .gss-mshow .gd-list ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.gss-mshow .gd-legend li { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: #1F2A4A; }
.gss-mshow .gd-legend li b { margin-left: auto; font-weight: 600; }
.gss-mshow .gd-dot { width: 9px; height: 9px; border-radius: 50%; }
.gss-mshow .gd-bars li { display: grid; gap: 4px; font-size: 12px; color: #1F2A4A; }
.gss-mshow .gd-bars li > span:first-child { display: flex; justify-content: space-between; }
.gss-mshow .gd-bars .gd-bar { margin-top: 0; }
.gss-mshow .gd-table { min-width: 0; }
.gss-mshow .gd-thead { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin-bottom: 6px; }
.gss-mshow .gd-thead b { font-size: 13px; font-weight: 600; }
.gss-mshow .gd-tr { display: grid; grid-template-columns: 1.9fr 1fr .9fr; gap: 10px; align-items: center; padding: 9px 0; border-bottom: 1px solid #EEF1F7; font-size: 12.5px; }
.gss-mshow .gd-tr > span:last-child { justify-self: end; }
.gss-mshow .gd-tr b { display: block; font-weight: 600; color: #041438; }
.gss-mshow .gd-tr small { font-size: 10.5px; }
.gss-mshow .gd-th { padding: 4px 0 6px; font-size: 10.5px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: #8A93AB; }
.gss-mshow .gd-c-r { color: #E5484D; font-weight: 500; } .gss-mshow .gd-c-b { color: #3E63E8; font-weight: 500; } .gss-mshow .gd-c-g { color: #1FA67A; font-weight: 500; }
.gss-mshow .gd-c-a { color: #E8930C; font-weight: 500; } .gss-mshow .gd-c-m { color: #6B7591; }
.gss-mshow .gd-tag { display: inline-block; padding: 3px 10px; font-size: 11px; font-style: normal; font-weight: 600; border-radius: 999px; white-space: nowrap; }
.gss-mshow .gd-crit, .gss-mshow .gd-dot.gd-crit { color: #D93F3F; background: #FDE8E8; } .gss-mshow .gd-dot.gd-crit { background: #EF5350; }
.gss-mshow .gd-high { color: #E07A1F; background: #FEEEDD; } .gss-mshow .gd-dot.gd-high { background: #FF9A3C; }
.gss-mshow .gd-med { color: #C99A06; background: #FFF6D6; } .gss-mshow .gd-dot.gd-med { background: #FFD54A; }
.gss-mshow .gd-low { color: #2E8B57; background: #E2F5EA; } .gss-mshow .gd-dot.gd-low { background: #6CC77E; }
.gss-mshow .gd-ok { color: #1FA67A; background: #E2F7EF; } .gss-mshow .gd-prog { color: #3E63E8; background: #E8EEFF; }
.gss-mshow .gd-plan { color: #C2780A; background: #FFF1D9; } .gss-mshow .gd-info { color: #4A5470; background: #EEF1F7; }
.gss-mshow .gd-list li { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 12.5px; color: #1F2A4A; }
.gss-mshow .gd-ai { border: 1.5px solid #3FD9C1; background: #fff; }
.gss-mshow .gd-ai-h { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; }
.gss-mshow .gd-ai p { margin: 10px 0 12px; padding: 12px; font-size: 12.5px; line-height: 1.5; color: #1F2A4A; background: #F5F7FC; border-radius: 10px; }
.gss-mshow .gd-ai p b { font-weight: 600; color: #041438; }
.gss-mshow .gd-btns { display: flex; flex-wrap: wrap; gap: 8px; }
.gss-mshow .gd-btn { padding: 6px 12px; font-size: 11.5px; font-weight: 500; color: #3E63E8; border: 1px solid #DCE4FF; border-radius: 999px; }
.gss-mshow .gd-btn--main { background: #EEF2FF; }

@keyframes gd-in { 0% { opacity: 0; transform: translateY(10px); } 6%, 90% { opacity: 1; transform: none; } 97%, 100% { opacity: 0; } }
@keyframes gd-fill { 0% { transform: scaleX(0); } 14%, 90% { transform: scaleX(1); } 97%, 100% { transform: scaleX(0); } }
@keyframes gd-pop { 0%, 3% { opacity: 0; transform: scale(.6); } 7% { opacity: 1; transform: scale(1.08); } 9%, 90% { opacity: 1; transform: none; } 97%, 100% { opacity: 0; } }
@keyframes gd-type { 0%, 10% { clip-path: inset(0 100% 0 0); } 26%, 90% { clip-path: inset(0 0 0 0); } 97%, 100% { clip-path: inset(0 100% 0 0); } }
.gss-mshow__frame.is-on .gd-col > *, .gss-mshow__frame.is-on .gd-thead, .gss-mshow__frame.is-on .gd-th { animation: gd-in var(--cyc) cubic-bezier(.2, .7, .2, 1) infinite both; animation-delay: calc(var(--i, 0) * .18s); }
.gss-mshow__frame.is-on .gd-tr:not(.gd-th) { animation: gd-in var(--cyc) cubic-bezier(.2, .7, .2, 1) infinite both; animation-delay: calc(.4s + var(--r) * .14s); }
.gss-mshow__frame.is-on .gd-tr .gd-tag { animation: gd-pop var(--cyc) ease infinite both; animation-delay: calc(1s + var(--r) * .14s); }
.gss-mshow__frame.is-on .gd-bar i { animation: gd-fill var(--cyc) cubic-bezier(.3, .7, .2, 1) infinite both; animation-delay: .6s; }
.gss-mshow__frame.is-on .gd-ai p { animation: gd-type var(--cyc) linear infinite both; animation-delay: .8s; }
@media (max-width: 900px) {
  .gss-mshow .gd-body { grid-template-columns: 1fr; }
  .gss-mshow .gd-col:last-child { display: none; }
  .gss-mshow .gd-col:first-child { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gss-mshow .gd-col:first-child > :nth-child(n+3) { display: none; }
  .gss-mshow .gd-top b { font-size: 11.5px; }
}
@media (prefers-reduced-motion: reduce) { .gss-mshow .gd *, .gss-mshow .gd *::before { animation: none !important; } }

/* ---------------------------------------------------------------- primer día: pantalla del módulo y normas */
/* Pantalla al estilo de GlobalSuite Quantum dentro de .hero-mockup (la pinta dayone.php) */
.gss-security-day-one .hero-mockup:has(.qs) { background: #F5F6FA; }
.gss-security-day-one .qs { position: relative; width: 100%; height: 100%; box-sizing: border-box; background: #F5F6FA; border-radius: inherit; font-family: Poppins, sans-serif; color: #2A2F3A; overflow: hidden; display: grid; grid-template-rows: auto auto 1fr; gap: 10px; padding: 14px 16px 16px; text-align: left; }
.gss-security-day-one .qs-tabs { display: flex; justify-content: flex-end; gap: 16px; padding-left: 48%; font-size: 11px; line-height: 1.3; color: #6A7183; }
.gss-security-day-one .qs-tabs span { padding-bottom: 5px; white-space: nowrap; }
.gss-security-day-one .qs-tabs .on { color: #3B5BDB; border-bottom: 2px solid #3B5BDB; font-weight: 500; }
.gss-security-day-one .qs-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.gss-security-day-one .qs-k { background: #fff; border: 1px solid #E4E7EF; border-radius: 8px; padding: 8px 10px; font-size: 10.5px; line-height: 1.35; color: #2A2F3A; min-width: 0; }
.gss-security-day-one .qs-k b { display: block; font-size: 17px; line-height: 1.3; font-weight: 500; margin: 2px 0 4px; }
.gss-security-day-one .qs-k b span { font-size: 11px; color: #6A7183; font-weight: 400; }
.gss-security-day-one .qs-k b.warn { color: #C2410C; }
.gss-security-day-one .qs-k small { display: block; margin-top: 3px; font-size: 9.5px; line-height: 1.3; color: #6A7183; }
.gss-security-day-one .qs-g { display: block; width: 54px !important; height: 30px !important; max-width: none; margin: 2px 0; }
.gss-security-day-one .qs-bar { height: 5px; border-radius: 9px; background: #DDE1EA; overflow: hidden; }
.gss-security-day-one .qs-bar i { display: block; height: 100%; width: var(--p); background: #3B5BDB; border-radius: 9px; animation: gss-q-bar 1.4s .3s both; }
.gss-security-day-one .qs-card { background: #fff; border: 1px solid #E4E7EF; border-radius: 10px; padding: 10px 12px; display: grid; gap: 8px; align-content: start; min-height: 0; overflow: hidden; }
.gss-security-day-one .qs-card .qs-h { margin: 0; padding: 0; font-family: inherit; font-size: 12.5px; line-height: 1.3; font-weight: 500; color: #2A2F3A; display: flex; justify-content: space-between; }
.gss-security-day-one .qs-card .qs-h i { font-style: normal; color: #9AA1B2; }
/* mapa de calor */
.gss-security-day-one .q-grid { display: grid; grid-template-columns: 62px repeat(5, minmax(0, 1fr)); gap: 4px; align-items: center; }
.gss-security-day-one .q-c { display: grid; place-items: center; height: 30px; border-radius: 2px; font-size: 11px; color: #2A2F3A; animation: gss-q-in .45s both; animation-delay: calc(var(--k) * 22ms); }
.gss-security-day-one .q-yl { font-size: 10px; color: #4A5160; }
.gss-security-day-one .q-ax { font-size: 9px; line-height: 1.15; color: #4A5160; }
.gss-security-day-one .q-xl { font-size: 9.5px; color: #4A5160; text-align: center; }
.gss-security-day-one .q-leg { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 12px; font-size: 9.5px; color: #4A5160; }
.gss-security-day-one .q-leg i { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 4px; vertical-align: -1px; }
/* barras */
.gss-security-day-one .q-bars { display: grid; gap: 11px; padding-top: 4px; }
.gss-security-day-one .q-bars.q-abs { gap: 20px; padding-top: 14px; }
.gss-security-day-one .q-bars.q-abs .q-track { height: 18px; }
.gss-security-day-one .q-row { display: grid; grid-template-columns: minmax(0, 42%) minmax(0, 1fr) 38px; gap: 10px; align-items: center; font-size: 10.5px; color: #2A2F3A; animation: gss-q-in .45s both; animation-delay: calc(var(--k) * 70ms); }
.gss-security-day-one .q-row span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gss-security-day-one .q-row b { font-weight: 500; text-align: right; }
.gss-security-day-one .q-track { height: 10px; border-radius: 3px; background: #EEF0F5; overflow: hidden; }
.gss-security-day-one .q-track i { display: block; height: 100%; width: var(--p); border-radius: 3px; animation: gss-q-bar 1.2s .3s both; }
/* anillos */
.gss-security-day-one .q-rings { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; padding: 18px 0 8px; align-items: start; }
.gss-security-day-one .q-ring { display: grid; justify-items: center; gap: 6px; font-size: 10px; color: #2A2F3A; text-align: center; }
.gss-security-day-one .q-ring svg { display: block; width: 100% !important; max-width: 92px; height: auto !important; }
/* tabla */
.gss-security-day-one .q-table { display: grid; font-size: 10.5px; color: #2A2F3A; }
.gss-security-day-one .q-tr { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, .8fr); gap: 8px; align-items: center; padding: 7px 2px; border-bottom: 1px solid #EEF0F5; animation: gss-q-in .45s both; animation-delay: calc(var(--k) * 70ms); }
.gss-security-day-one .q-tr:last-child { border-bottom: 0; }
.gss-security-day-one .q-tr span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gss-security-day-one .q-th { font-size: 9.5px; color: #6A7183; animation: none; }
.gss-security-day-one .q-pill { display: inline-block; font-style: normal; font-size: 9.5px; font-weight: 500; padding: 2px 8px; border-radius: 999px; }
/* matriz de doble materialidad */
.gss-security-day-one .q-sc { display: grid; grid-template-columns: 16px minmax(0, 1fr); grid-template-rows: minmax(150px, 1fr) auto; gap: 4px; }
.gss-security-day-one .q-sc-y { writing-mode: vertical-rl; transform: rotate(180deg); font-size: 9px; color: #6A7183; text-align: center; }
.gss-security-day-one .q-sc-x { grid-column: 2; font-size: 9px; color: #6A7183; text-align: center; }
.gss-security-day-one .q-sc-area { position: relative; border-left: 1px solid #D5DAE5; border-bottom: 1px solid #D5DAE5; background: linear-gradient(#EEF0F5 1px, transparent 1px) 0 0 / 100% 25%, linear-gradient(90deg, #EEF0F5 1px, transparent 1px) 0 0 / 25% 100%; }
.gss-security-day-one .q-sc-q { position: absolute; right: 0; top: 0; width: 45%; height: 45%; background: rgba(214, 47, 47, .07); border-left: 1px dashed rgba(214, 47, 47, .4); border-bottom: 1px dashed rgba(214, 47, 47, .4); }
.gss-security-day-one .q-pt { position: absolute; transform: translate(-50%, 50%); display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; font-size: 9px; font-weight: 600; color: #2A2F3A; box-shadow: 0 2px 6px rgba(4, 20, 56, .18); animation: gss-q-in .45s both; animation-delay: calc(var(--k) * 80ms); }
/* pirámide */
.gss-security-day-one .q-pyr { display: grid; gap: 5px; justify-items: center; padding-top: 4px; }
.gss-security-day-one .q-py { width: var(--w); display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 4px; font-size: 10.5px; color: #2A2F3A; box-sizing: border-box; animation: gss-q-in .45s both; animation-delay: calc(var(--k) * 90ms); }
.gss-security-day-one .q-py b { font-size: 13px; font-weight: 600; }
@keyframes gss-q-in { from { opacity: 0; transform: scale(.85); } to { opacity: 1; transform: none; } }
@keyframes gss-q-bar { from { width: 0; } }
.gss-security-day-one .q-pt { animation-name: gss-q-pt; }
@keyframes gss-q-pt { from { opacity: 0; transform: translate(-50%, 50%) scale(.6); } to { opacity: 1; transform: translate(-50%, 50%); } }
@media (prefers-reduced-motion: reduce) { .gss-security-day-one .qs * { animation: none !important; } }
/* tarjeta flotante «Normas ya cargadas» (sustituye a «1 control = hasta 4 normas») */
.gss-security-day-one .floating-badge.d1-norms { flex-direction: column; align-items: flex-start; gap: 8px; padding: 14px 16px; }
.gss-security-day-one .d1-norms .d1-nh { display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 14px; line-height: 1.3; }
.gss-security-day-one .d1-norms .d1-nh small { display: block; font-weight: 400; font-size: 11.5px; color: #6B7794; }
.gss-security-day-one .d1-norms .icon-pill svg { width: 18px; height: 18px; }
.gss-security-day-one .d1-seals { display: flex; gap: 8px; margin: 0; padding: 0; list-style: none; }
.gss-security-day-one .d1-seals li { width: 46px; margin: 0; padding: 0; }
.gss-security-day-one .d1-seals svg { display: block; width: 100%; height: auto; }
@media (max-width: 600px) {
  .gss-security-day-one .qs-tabs { display: none; }
  .gss-security-day-one .qs-kpis { grid-template-columns: 1fr 1fr; }
  .gss-security-day-one .qs-kpis .qs-k:nth-child(3) { display: none; }
  .gss-security-day-one .q-grid { grid-template-columns: 46px repeat(5, minmax(0, 1fr)); }
  .gss-security-day-one .q-c { height: 22px; font-size: 9.5px; }
  .gss-security-day-one .q-leg { display: none; }
  .gss-security-day-one .q-rings { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gss-security-day-one .q-ring:nth-child(n+4) { display: none; }
  .gss-security-day-one .d1-seals li { width: 38px; }
}
