/* ============================================================
   gss-pcap — Capacidades de la plataforma (marker .gss-pcap)
   Página hub del mega menú: cada capacidad con su ancla.
   CSS solo, sin JS. Controles con la forma de gss-ui (píldora,
   peso 400, hover aguamarina) y valores de reserva.
   ============================================================ */

.gss-pcap {
  --pc-neon: #5078FF;
  --pc-ink: #041438;
  --pc-ink2: #3A4560;
  --pc-gray: #6B7488;
  --pc-aqua: #00FFD7;
  --pc-sky: #50DCFF;
  --pc-bg: #F5F7FB;
  --pc-tint: #EEF2FF;
  --pc-line: #E3E8F2;
  --pc-r-card: var(--gss-r-card, 20px);
  --pc-r-panel: var(--gss-r-panel, 28px);
  --pc-shadow: 0 18px 44px rgba(4, 20, 56, .10);
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--pc-ink);
  -webkit-font-smoothing: antialiased;
  contain: layout paint;
}
.gss-pcap *, .gss-pcap *::before, .gss-pcap *::after { box-sizing: border-box; }
.gss-pcap img { display: block; max-width: 100%; height: auto; }
.gss-pcap h1, .gss-pcap h2, .gss-pcap h3, .gss-pcap p, .gss-pcap ul, .gss-pcap ol, .gss-pcap figure { margin: 0; padding: 0; }
.gss-pcap ul, .gss-pcap ol { list-style: none; }
.gss-pcap li::before { content: none; }
.gss-pcap a { text-decoration: none; }
.gss-pcap section[id], .gss-pcap [id] { scroll-margin-top: 110px; }

.gss-pcap .pc-wrap { max-width: 1366px; margin: 0 auto; padding: 0 40px; }
.gss-pcap h2 { font-size: clamp(28px, 3vw, 40px); font-weight: 600; line-height: 1.12; letter-spacing: -.015em; text-wrap: balance; }
.gss-pcap h3 { font-size: 19px; font-weight: 600; line-height: 1.25; }
.gss-pcap p { font-size: 16px; line-height: 1.6; color: var(--pc-ink2); }

/* Enlace de texto con flecha */
.gss-pcap .pc-link { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 500; color: var(--pc-neon); }
.gss-pcap .pc-link span { transition: transform .2s; }
.gss-pcap .pc-link:hover { color: #2F55D9; }
.gss-pcap .pc-link:hover span { transform: translateX(3px); }
.gss-pcap .pc-link--light { color: var(--pc-aqua); }
.gss-pcap .pc-link--light:hover { color: #fff; }

.gss-pcap .pc-card { background: #fff; border: 1px solid var(--pc-line); border-radius: var(--pc-r-card); box-shadow: var(--pc-shadow); }

/* ---------- 1 · Cabecera ---------- */
.gss-pcap .pc-hero { padding: 56px 0 0; background: linear-gradient(180deg, #fff 0%, var(--pc-bg) 100%); overflow: hidden; }
.gss-pcap .pc-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 56px; align-items: center; }
.gss-pcap .pc-crumb { font-size: 13px; color: var(--pc-gray); display: flex; gap: 8px; margin-bottom: 20px; }
.gss-pcap .pc-crumb a { color: var(--pc-neon); }
.gss-pcap h1 { font-size: clamp(38px, 4.4vw, 60px); font-weight: 600; line-height: 1.04; letter-spacing: -.025em; text-wrap: balance; }
.gss-pcap .pc-lead { margin-top: 20px; font-size: 18px; max-width: 34em; }
.gss-pcap .pc-actions { margin-top: 32px; display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.gss-pcap a.pc-btn {
  display: inline-flex; align-items: center; padding: 14px 28px; font-size: 15px; font-weight: var(--gss-btn-weight, 400);
  color: #fff; background: var(--pc-neon); border: 2px solid var(--pc-neon); border-radius: var(--gss-r-control, 999px);
  transition: background-color .3s, border-color .3s, color .3s;
}
.gss-pcap a.pc-btn:hover { color: var(--gss-hover-fg, #1a1a1a); background: var(--gss-hover-bg, #00FFD7); border-color: var(--gss-hover-bg, #00FFD7); }
/* La captura sale del borde derecho, como un trozo de la aplicación */
.gss-pcap .pc-hero__shot { margin-right: calc(-1 * max(40px, (100vw - 1366px) / 2 + 40px)); }
.gss-pcap .pc-hero__shot img {
  width: 100%; border-radius: 16px 0 0 16px; border: 1px solid var(--pc-line); border-right: 0;
  box-shadow: -24px 30px 60px rgba(4, 20, 56, .14);
}

/* Índice de capacidades */
.gss-pcap .pc-index { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 44px; padding-bottom: 44px; }
.gss-pcap .pc-index a {
  padding: 9px 16px; font-size: 14px; color: var(--pc-ink); background: #fff; border: 1px solid var(--pc-line);
  border-radius: var(--gss-r-control, 999px); transition: border-color .2s, color .2s;
}
.gss-pcap .pc-index a:hover { color: var(--pc-neon); border-color: var(--pc-neon); }

/* ---------- 2 · Controles + biblioteca ---------- */
.gss-pcap .pc-controls { padding: 104px 0; background: #fff; }
.gss-pcap .pc-controls__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 72px; align-items: start; }
.gss-pcap .pc-controls__text > p { margin-top: 18px; max-width: 31em; }
.gss-pcap .pc-library { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--pc-line); display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.gss-pcap .pc-norms { font-size: 14px; color: var(--pc-ink); font-weight: 500; letter-spacing: .01em; }

.gss-pcap .pc-map { padding: 28px; position: sticky; top: 120px; }
.gss-pcap .pc-map__head { display: grid; gap: 4px; padding-bottom: 20px; border-bottom: 1px solid var(--pc-line); }
.gss-pcap .pc-map__kind { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--pc-neon); }
.gss-pcap .pc-map__head strong { font-size: 22px; font-weight: 600; }
.gss-pcap .pc-map__ev { font-size: 13px; color: var(--pc-gray); }
.gss-pcap .pc-map__rows li {
  display: grid; grid-template-columns: 92px minmax(0, 1fr) auto; gap: 14px; align-items: center;
  padding: 15px 0; border-bottom: 1px solid var(--pc-line); font-size: 14px;
}
.gss-pcap .pc-map__rows b { font-weight: 600; }
.gss-pcap .pc-map__rows span { color: var(--pc-ink2); }
.gss-pcap .pc-map__rows i {
  font-style: normal; font-size: 12px; font-weight: 500; color: #0B7A5F; background: #DDFBF4;
  padding: 3px 10px; border-radius: var(--gss-r-control, 999px);
}
.gss-pcap .pc-map__foot { margin-top: 18px; font-size: 14px; font-weight: 500; color: var(--pc-ink); }

/* ---------- 3 · Automatización ---------- */
.gss-pcap .pc-auto { padding: 104px 0; background: var(--pc-ink); color: #fff; }
.gss-pcap .pc-auto__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 72px; align-items: center; }
.gss-pcap .pc-auto__shot img { border-radius: 16px; box-shadow: 0 30px 70px rgba(0, 0, 0, .35); }
.gss-pcap .pc-auto h2 { color: #fff; }
.gss-pcap .pc-auto__text > p { margin-top: 18px; color: #C9D3E8; }
.gss-pcap .pc-steps { margin-top: 32px; display: grid; gap: 0; counter-reset: pc; }
.gss-pcap .pc-steps li {
  counter-increment: pc; display: grid; grid-template-columns: 34px 120px minmax(0, 1fr); gap: 12px; align-items: baseline;
  padding: 13px 0; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 14.5px; color: #C9D3E8; line-height: 1.5;
}
.gss-pcap .pc-steps li::before { content: counter(pc, decimal-leading-zero); font-size: 12px; font-weight: 600; color: var(--pc-aqua); }
.gss-pcap .pc-steps b { color: #fff; font-weight: 600; }
.gss-pcap .pc-example { margin-top: 28px; padding: 18px 20px; border-radius: 14px; background: rgba(80, 120, 255, .16); color: #E3E9FF; font-size: 15px; }
.gss-pcap .pc-example span { display: block; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--pc-aqua); margin-bottom: 4px; }
.gss-pcap .pc-auto .pc-link { margin-top: 28px; }

/* ---------- 4 · Encuestas y 4a · Informes: las dos capacidades con más peso ---------- */
.gss-pcap .pc-head { max-width: 46em; }
.gss-pcap .pc-head > p:not(.pc-sub) { margin-top: 18px; }

/* Escenario: captura principal + trozos de pantalla superpuestos */
.gss-pcap .pc-stage { position: relative; }
.gss-pcap .pc-stage__main img { border-radius: 14px; border: 1px solid var(--pc-line); box-shadow: var(--pc-shadow); background: #fff; }
.gss-pcap .pc-stage__main figcaption { margin-top: 12px; font-size: 13px; color: var(--pc-gray); }
.gss-pcap .pc-stage__card { position: absolute; background: #fff; border-radius: 14px; box-shadow: 0 22px 50px rgba(4, 20, 56, .18); overflow: hidden; }
.gss-pcap .pc-stage__card img { width: 100%; }

.gss-pcap .pc-survey { padding: 104px 0 96px; background: var(--pc-bg); }
.gss-pcap .pc-survey__grid { margin-top: 56px; display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 64px; align-items: start; }
.gss-pcap .pc-flow { counter-reset: pcf; display: grid; gap: 0; }
.gss-pcap .pc-flow li { counter-increment: pcf; position: relative; padding: 22px 0 22px 52px; border-top: 1px solid var(--pc-line); }
.gss-pcap .pc-flow li:first-child { border-top: 0; padding-top: 0; }
.gss-pcap .pc-flow li::before {
  content: counter(pcf); position: absolute; left: 0; top: 20px; width: 34px; height: 34px; border-radius: 50%;
  display: grid; place-items: center; font-size: 14px; font-weight: 600; color: #fff; background: var(--pc-neon);
}
.gss-pcap .pc-flow li:first-child::before { top: -2px; }
.gss-pcap .pc-flow b { display: block; font-size: 17px; font-weight: 600; color: var(--pc-ink); }
.gss-pcap .pc-flow p { margin-top: 6px; font-size: 15px; color: var(--pc-ink2); }
/* Encuestas: el estado abajo a la izquierda y el reparto por responsable arriba a la derecha */
.gss-pcap .pc-stage--survey { padding: 0 0 70px 0; }
.gss-pcap .pc-stage--survey .pc-stage__main { margin-left: 6%; }
.gss-pcap .pc-stage--survey .pc-stage__main figcaption { text-align: right; }
.gss-pcap .pc-stage__card--a { left: 0; bottom: 0; width: 31%; }
.gss-pcap .pc-stage__card--b { right: -2%; top: -36px; width: 34%; }
.gss-pcap .pc-survey__foot { margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--pc-line); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 18px 40px; align-items: center; }
.gss-pcap .pc-survey__foot .pc-mods { margin-top: 0 !important; }
.gss-pcap .pc-uses { font-size: 15px; color: var(--pc-ink2); max-width: 44em; }
.gss-pcap .pc-uses span { display: block; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--pc-gray); margin-bottom: 4px; }

.gss-pcap .pc-reports { padding: 104px 0; background: var(--pc-ink); color: #fff; }
.gss-pcap .pc-reports h2, .gss-pcap .pc-reports h3 { color: #fff; }
.gss-pcap .pc-reports__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 64px; align-items: center; }
.gss-pcap .pc-reports__text > p:not(.pc-sub) { margin-top: 18px; color: #C9D3E8; }
.gss-pcap .pc-glance { margin-top: 26px; display: grid; gap: 0; }
.gss-pcap .pc-glance li { padding: 14px 0; border-top: 1px solid rgba(255, 255, 255, .14); font-size: 15px; line-height: 1.55; color: #C9D3E8; }
.gss-pcap .pc-glance b { color: #fff; font-weight: 600; }
.gss-pcap .pc-stage--reports { padding-left: 13%; }
.gss-pcap .pc-stage--reports .pc-stage__main img { border-color: transparent; box-shadow: 0 30px 70px rgba(0, 0, 0, .35); }
.gss-pcap .pc-stage--reports .pc-stage__main figcaption { color: #9FB0D6; text-align: right; }
.gss-pcap .pc-stage__card--menu { left: 0; bottom: -28px; width: 25%; background: #252B36; box-shadow: 0 22px 50px rgba(0, 0, 0, .4); }
.gss-pcap .pc-word { margin-top: 88px; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 64px; align-items: center; }
.gss-pcap .pc-word__shot img { border-radius: 14px; box-shadow: 0 30px 70px rgba(0, 0, 0, .35); background: #fff; }
.gss-pcap .pc-word__text h3 { font-size: clamp(22px, 2vw, 28px); font-weight: 600; line-height: 1.2; }
.gss-pcap .pc-word__text p { margin-top: 14px; color: #C9D3E8; font-size: 15.5px; }
.gss-pcap .pc-word__text .pc-link { margin-top: 22px; }

/* ---------- 4b · Mitigación e incidentes: una sección cada una, con su captura ---------- */
.gss-pcap .pc-feat { padding: 104px 0; background: #fff; }
.gss-pcap .pc-feat--alt { background: var(--pc-bg); }
.gss-pcap .pc-feat__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 72px; align-items: center; }
.gss-pcap .pc-feat--alt .pc-feat__grid { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); }
.gss-pcap .pc-feat__text > p:not(.pc-sub):not(.pc-mods) { margin-top: 18px; max-width: 31em; }
.gss-pcap .pc-feat__shot img { border-radius: 16px; border: 1px solid var(--pc-line); box-shadow: var(--pc-shadow); }
/* La del mapa ya trae su marco y sus tarjetas flotantes: sin caja propia, y un poco más grande */
.gss-pcap .pc-feat__shot--bare img { border: 0; border-radius: 0; box-shadow: none; width: 108%; max-width: none; margin-right: -4%; }
.gss-pcap .pc-list { margin: 22px 0 0; display: grid; gap: 0; }
.gss-pcap .pc-list li { padding: 14px 0; border-top: 1px solid var(--pc-line); font-size: 15px; line-height: 1.55; color: var(--pc-ink2); }
.gss-pcap .pc-list b { color: var(--pc-ink); font-weight: 600; }

/* ---------- 5 · Multi-empresa ---------- */
.gss-pcap .pc-multi { padding: 88px 0; background: #fff; border-top: 1px solid var(--pc-line); }
.gss-pcap .pc-multi__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 72px; align-items: center; }
.gss-pcap .pc-multi__text p { margin-top: 18px; max-width: 30em; }
.gss-pcap .pc-ent { padding: 22px; max-width: 420px; justify-self: end; width: 100%; }
.gss-pcap .pc-ent__label { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--pc-gray); margin-bottom: 10px; }
.gss-pcap .pc-ent__list li { display: flex; justify-content: space-between; align-items: center; padding: 12px 14px; border-radius: 12px; font-size: 15px; }
.gss-pcap .pc-ent__list li + li { margin-top: 2px; }
.gss-pcap .pc-ent__list li.is-on { background: var(--pc-tint); color: #2F55D9; font-weight: 500; }
.gss-pcap .pc-ent__list em { font-style: normal; font-size: 12px; font-weight: 600; color: var(--pc-gray); }
.gss-pcap .pc-ent__list li.is-on em { color: #2F55D9; }

/* ---------- 6 · Cierre (patrón de la casa: degradado neón → cielo) ---------- */
.gss-pcap .pc-cta { padding: 80px 0; background: linear-gradient(110deg, #5078FF 0%, #50DCFF 100%); }
.gss-pcap .pc-cta__grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.gss-pcap .pc-cta h2 { color: #fff; font-weight: 700; }
.gss-pcap .pc-cta p { margin-top: 12px; color: rgba(255, 255, 255, .9); font-size: 18px; max-width: 34em; }
.gss-pcap .pc-cta__btns { display: flex; flex-direction: column; gap: 14px; }
.gss-pcap .pc-cta__btns a {
  display: flex; justify-content: center; padding: 18px 36px; font-size: 15px; font-weight: var(--gss-btn-weight, 400);
  border-radius: var(--gss-r-control, 999px); transition: background-color .3s, color .3s, border-color .3s;
}
.gss-pcap .pc-cta__primary { background: var(--pc-aqua); color: var(--pc-ink); border: 1px solid var(--pc-aqua); }
.gss-pcap .pc-cta__primary:hover { background: #00e6c2; color: var(--pc-ink); }
.gss-pcap .pc-cta__ghost { color: #fff; border: 1px solid rgba(255, 255, 255, .6); }
.gss-pcap .pc-cta__ghost:hover { color: #fff; background: rgba(255, 255, 255, .12); }

/* Foto de cabecera: persona trabajando con GlobalSuite®, sale por el borde derecho */
.gss-pcap .pc-hero__photo { align-self: stretch; margin-right: calc(-1 * max(40px, (100vw - 1366px) / 2 + 40px)); min-height: 520px; }
.gss-pcap .pc-hero__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 28% 55%; border-radius: var(--pc-r-panel) 0 0 var(--pc-r-panel); box-shadow: -24px 30px 60px rgba(4, 20, 56, .16); }
.gss-pcap .pc-lead--2 { margin-top: 14px; font-size: 16px; }

/* Subtítulo de cada capacidad: lo que es, en una línea */
.gss-pcap .pc-sub { margin-top: 10px; font-size: 20px; font-weight: 500; line-height: 1.35; color: var(--pc-ink); }
.gss-pcap .pc-sub--sm { margin-top: 0; font-size: 16px; }
.gss-pcap .pc-sub--light { color: #fff; }
.gss-pcap .pc-controls__text > p + p { margin-top: 14px; }
.gss-pcap .pc-controls__text > .pc-sub + p { margin-top: 18px; }
.gss-pcap .pc-auto__text > .pc-sub { margin-top: 10px; }

/* Módulos donde se usa */
.gss-pcap .pc-mods { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 22px !important; font-size: 14px; }
.gss-pcap .pc-mods span { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--pc-gray); margin-right: 4px; }
.gss-pcap .pc-mods a { padding: 5px 13px; border-radius: var(--gss-r-control, 999px); border: 1px solid var(--pc-line); color: var(--pc-ink); background: #fff; transition: border-color .2s, color .2s; }
.gss-pcap .pc-mods a:hover { border-color: var(--pc-neon); color: var(--pc-neon); }
.gss-pcap .pc-mods--light span { color: #9FB0D6; }
.gss-pcap .pc-mods--light a { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .28); }
.gss-pcap .pc-mods--light a:hover { border-color: var(--pc-aqua); color: var(--pc-aqua); }
.gss-pcap .pc-tile--plan .pc-sub { color: #fff; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .gss-pcap .pc-hero__grid, .gss-pcap .pc-controls__grid, .gss-pcap .pc-auto__grid, .gss-pcap .pc-multi__grid, .gss-pcap .pc-cta__grid { grid-template-columns: 1fr; gap: 40px; }
  .gss-pcap .pc-hero__shot, .gss-pcap .pc-hero__photo { margin-right: -40px; }
  .gss-pcap .pc-hero__photo { min-height: 360px; }
  .gss-pcap .pc-map { position: static; }
  .gss-pcap .pc-auto__shot { order: 2; }
  .gss-pcap .pc-ent { justify-self: start; }
  .gss-pcap .pc-feat__grid, .gss-pcap .pc-feat--alt .pc-feat__grid,
  .gss-pcap .pc-survey__grid, .gss-pcap .pc-reports__grid, .gss-pcap .pc-word { grid-template-columns: minmax(0, 1fr); gap: 48px; }
  .gss-pcap .pc-survey__grid { margin-top: 40px; }
  .gss-pcap .pc-word__shot { order: 2; }
  .gss-pcap .pc-feat__shot { order: 2; }
  .gss-pcap .pc-feat__shot--bare img { width: 100%; margin-right: 0; }
}
@media (max-width: 760px) {
  .gss-pcap .pc-stage__card--b { display: none; }
  .gss-pcap .pc-stage--survey { padding-bottom: 40px; }
  .gss-pcap .pc-stage__card--a { width: 40%; }
  .gss-pcap .pc-map__rows li { grid-template-columns: 1fr auto; }
  .gss-pcap .pc-map__rows span { grid-column: 1 / -1; grid-row: 2; }
  .gss-pcap .pc-steps li { grid-template-columns: 30px minmax(0, 1fr); }
  .gss-pcap .pc-steps li b { grid-column: 2; }
  .gss-pcap .pc-steps li { row-gap: 2px; }
}
@media (max-width: 600px) {
  .gss-pcap .pc-wrap { padding: 0 24px; }
  /* Índice: una fila que se desliza en vez de cuatro líneas de etiquetas */
  .gss-pcap .pc-index { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-top: 32px; padding-bottom: 32px; }
  .gss-pcap .pc-index::-webkit-scrollbar { display: none; }
  .gss-pcap .pc-index a { flex: 0 0 auto; }
  .gss-pcap .pc-hero__shot, .gss-pcap .pc-hero__photo { margin-right: -24px; }
  .gss-pcap .pc-hero__photo { min-height: 260px; }
  .gss-pcap .pc-controls, .gss-pcap .pc-auto, .gss-pcap .pc-survey, .gss-pcap .pc-reports, .gss-pcap .pc-feat { padding: 72px 0; }
  .gss-pcap .pc-stage__card--menu { display: none; }
  .gss-pcap .pc-stage--reports { padding-left: 0; }
  .gss-pcap .pc-word { margin-top: 56px; }
}
@media (prefers-reduced-motion: reduce) {
  .gss-pcap * { transition: none !important; }
}
