/* G2b · páginas interiores: planes, producto, equipos, seguridad, legales, acceso, cuenta y 404.
   Prefijo pg- para no chocar con home.css. Usa tokens.css, base.css y ui.css sin modificarlos. */

/* ---------- Común ---------- */
.pg { overflow-x: clip; }
.pg-titulo { font-size: clamp(2.4rem, 1.25rem + 3.4vw, 4.4rem); line-height: 1; letter-spacing: -.038em; font-weight: 600; text-wrap: balance; max-width: 14em; }
.pg-h2 { font-size: clamp(1.85rem, 1.15rem + 2vw, 3rem); line-height: 1.04; letter-spacing: -.03em; font-weight: 600; text-wrap: balance; }
.pg-h3 { font-size: clamp(1.25rem, 1.05rem + .6vw, 1.6rem); line-height: 1.15; letter-spacing: -.02em; font-weight: 600; }
.pg-h2 + .pg-texto, .pg-titulo + .pg-texto { margin-top: 1rem; }
.pg-texto { font-size: 1.0625rem; line-height: 1.55; color: var(--gris-oscuro); max-width: 36em; text-wrap: pretty; }
.escenario .pg-texto { color: var(--sobre-azul); }
.pg-seccion { padding-block: var(--bloque); }
.pg-acciones { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.5rem; }
.pg-acciones .enlace { min-height: 44px; display: inline-flex; align-items: center; }
.pg-rotulo-variante { display: inline-flex; align-items: center; min-height: 26px; padding: 0 .6rem; border-radius: 6px; font-size: .8125rem; font-weight: 600; color: #7B4816; background: #FFF5DF; border: 1px solid #F3D9A4; }
.pg-ejemplo { font-family: var(--f-app); font-size: 12px; font-weight: 500; color: var(--app-mutado); border: 1px solid var(--app-linea); border-radius: 999px; padding: 0 8px; line-height: 20px; margin-left: auto; white-space: nowrap; }
.pg-nora-hace, .pg-tu-decides { display: inline-flex; align-items: center; gap: .45rem; font-size: .875rem; font-weight: 600; letter-spacing: -.005em; }
.pg-nora-hace { color: var(--cian-profundo); }
.pg-nora-hace::before { content: ''; width: .55rem; height: .55rem; border-radius: 50%; background: var(--cian); }
.pg-tu-decides { color: var(--azul); }
.pg-tu-decides::before { content: ''; width: .55rem; height: .55rem; border-radius: 2px; background: var(--azul); }
.escenario .pg-nora-hace { color: var(--cian-claro); }
.escenario .pg-tu-decides { color: var(--blanco); }
.escenario .pg-tu-decides::before { background: var(--blanco); }
.pg-pendiente { background: #FFF5DF; color: #7B4816; border-radius: 4px; padding: 0 .3em; font-weight: 500; box-decoration-break: clone; -webkit-box-decoration-break: clone; }

/* Botón de marca en estado de carga */
.boton[aria-busy="true"] { opacity: .75; cursor: progress; }

/* ---------- /planes ---------- */
.pg-planes__cabeza { padding: clamp(2rem, 1rem + 2.6vw, 3.25rem) 0 0; }
.pg-planes__cabeza-grilla { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.25rem 3rem; align-items: end; }
.pg-titulo--planes { font-size: clamp(2.2rem, 1.15rem + 2.7vw, 3.55rem); max-width: 13.5em; }
.pg-planes__cabeza .apoyo { margin-top: 1rem; max-width: 30em; }
.pg-planes__control { display: grid; gap: .6rem; justify-items: end; }
.pg-planes__moneda { font-size: .875rem; color: var(--gris-oscuro); }

.pg-ciclo { display: inline-flex; padding: 4px; border-radius: 999px; background: #EEF2F7; border: 1px solid #E2E8F0; }
.pg-ciclo__opcion { min-height: 44px; padding: 0 1.15rem; border-radius: 999px; font-weight: 600; font-size: .9375rem; color: var(--gris-oscuro); display: inline-flex; align-items: center; gap: .5rem; transition: background-color .15s, color .15s; }
.pg-ciclo__opcion[aria-pressed="true"] { background: var(--blanco); color: var(--tinta); box-shadow: 0 1px 2px rgba(15, 23, 42, .12), 0 2px 8px -2px rgba(15, 23, 42, .12); }
.pg-ciclo__ahorro { font-size: .8125rem; font-weight: 600; color: var(--cian-profundo); }
.pg-ciclo__opcion:not([aria-pressed="true"]) .pg-ciclo__ahorro { color: var(--gris-oscuro); }

.pg-saltos { display: none; }

.pg-oferta { padding: clamp(1.5rem, 1rem + 1.4vw, 2.25rem) 0 var(--e-6); }
.pg-oferta__grilla { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, .74fr); gap: 1.5rem; align-items: start; }
.pg-par { display: grid; grid-template-columns: 1fr 1fr; background: var(--blanco); border: 1px solid rgba(15, 23, 42, .12); border-radius: 22px; box-shadow: 0 1px 2px rgba(15, 23, 42, .05), 0 28px 60px -32px rgba(30, 58, 138, .35); overflow: hidden; }
.pg-par .pg-plan + .pg-plan { border-left: 1px solid rgba(15, 23, 42, .1); }
.pg-plan { padding: clamp(1.5rem, 1rem + 1.2vw, 2.25rem); display: flex; flex-direction: column; gap: 0; min-width: 0; scroll-margin-top: 6rem; }
.pg-plan__nombre { font-size: clamp(1.6rem, 1.2rem + 1vw, 2.1rem); line-height: 1.05; letter-spacing: -.03em; font-weight: 600; }
.pg-plan__quien { margin-top: .35rem; color: var(--gris-oscuro); font-size: 1rem; }
.pg-precio { margin-top: 1.4rem; min-height: 5.2rem; display: grid; align-content: start; gap: .2rem; }
.pg-precio__monto { display: flex; align-items: baseline; flex-wrap: wrap; gap: .1rem .45rem; font-variant-numeric: tabular-nums; }
.pg-precio__monto [data-monto] { font-size: clamp(2.3rem, 1.7rem + 1.5vw, 3rem); line-height: 1; font-weight: 600; letter-spacing: -.04em; }
.pg-precio__monto--texto [data-monto] { letter-spacing: -.035em; }
.pg-precio__unidad { font-size: 1rem; color: var(--gris-oscuro); font-weight: 500; }
.pg-precio__detalle { font-size: .9375rem; color: var(--gris-oscuro); font-variant-numeric: tabular-nums; }
.pg-precio__extra { font-size: .9375rem; color: var(--tinta); font-weight: 500; }
.pg-precio__referencia { justify-self: start; font-size: .8125rem; color: #7B4816; background: #FFF5DF; border-radius: 5px; padding: 0 .45rem; margin-top: .25rem; }
.pg-plan__accion { margin-top: 1.25rem; align-self: flex-start; }
.pg-incluye { margin-top: 1.6rem; padding-top: 1.35rem; border-top: 1px solid rgba(15, 23, 42, .09); display: grid; gap: .7rem; font-size: .975rem; line-height: 1.4; }
.pg-incluye li { display: grid; grid-template-columns: 1.25rem 1fr; gap: .65rem; align-items: start; }
.pg-incluye .icono { width: 1.1rem; height: 1.1rem; margin-top: .12rem; color: var(--cian-profundo); stroke-width: 2.4; }
.pg-incluye__no { color: var(--gris-oscuro); }
.pg-incluye__guion { width: .8rem; height: 2px; background: #94A3B8; margin: .6rem 0 0 .15rem; border-radius: 2px; }
.pg-plan__uso { margin-top: auto; padding-top: 1.5rem; font-size: .875rem; color: var(--gris-oscuro); }

.pg-plan--personal { background: var(--lienzo); border: 1px solid rgba(15, 23, 42, .1); border-radius: 18px; padding: clamp(1.25rem, .9rem + 1vw, 1.75rem); align-self: stretch; }
.pg-plan--personal .pg-plan__nombre { font-size: clamp(1.35rem, 1.1rem + .6vw, 1.6rem); }
.pg-plan--personal .pg-precio__monto [data-monto] { font-size: clamp(1.9rem, 1.5rem + 1vw, 2.3rem); }
.pg-plan--personal .pg-precio { min-height: 4.8rem; }
.pg-plan--personal .pg-incluye { font-size: .9375rem; gap: .55rem; }

/* Carga y error del catálogo */
[data-catalogo][aria-busy="true"] [data-monto], [data-catalogo][aria-busy="true"] [data-unidad], [data-catalogo][aria-busy="true"] [data-detalle] { color: transparent; border-radius: 8px; background: linear-gradient(90deg, #EEF2F7 0%, #F6F8FB 50%, #EEF2F7 100%); background-size: 200% 100%; animation: pg-brillo 1.4s linear infinite; }
[data-catalogo][aria-busy="true"] [data-detalle] { display: inline-block; justify-self: start; min-width: 12em; }
@keyframes pg-brillo { from { background-position: 100% 0; } to { background-position: -100% 0; } }
.pg-catalogo-error { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin-bottom: 1.25rem; padding: .75rem 1rem; border-radius: 12px; background: var(--error-fondo); border: 1px solid var(--error-borde); color: var(--error-texto); font-weight: 500; }
.pg-catalogo-error .icono { width: 1.2rem; height: 1.2rem; }
.pg-catalogo-error p { flex: 1 1 18rem; }
.pg-catalogo-error .boton { color: var(--error-texto); border-color: currentColor; background: var(--blanco); min-height: 44px; }

/* Canales */
.pg-canales { padding: var(--e-5) 0; border-block: 1px solid rgba(15, 23, 42, .08); background: var(--lienzo); }
.pg-canales__grilla { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 1.5rem 3rem; align-items: center; }
.pg-canales__grilla .pg-rotulo-variante { margin-top: .85rem; }
.pg-canales__hoy { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; font-size: 1.125rem; color: var(--gris-oscuro); }
.pg-canales__chip { display: inline-flex; align-items: center; gap: .6rem; font-family: var(--f-app); font-size: 15px; font-weight: 500; color: var(--app-texto); background: var(--blanco); border: 1px solid var(--app-linea); border-radius: 999px; padding: .55rem 1rem .55rem .75rem; box-shadow: var(--sombra-flotante); }
.pg-canales__chip .marca-iso { color: var(--azul); width: 20px; height: 20px; }
.pg-canales__10h { display: grid; gap: 0; }
.pg-canales__10h div { display: grid; grid-template-columns: 6.5rem 1fr; gap: 1rem; padding: .85rem 0; border-top: 1px solid rgba(15, 23, 42, .1); }
.pg-canales__10h div:first-child { border-top: 0; }
.pg-canales__10h dt { font-weight: 600; }
.pg-canales__10h dd { margin: 0; color: var(--gris-oscuro); }

/* Comparativa */
.pg-comparar { padding: var(--e-6) 0 0; }
.pg-comparar__detalle { border-top: 1px solid rgba(15, 23, 42, .14); border-bottom: 1px solid rgba(15, 23, 42, .14); }
.pg-comparar__detalle > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 72px; cursor: pointer; }
.pg-comparar__detalle > summary::-webkit-details-marker { display: none; }
.pg-comparar__resumen { font-size: clamp(1.3rem, 1.1rem + .6vw, 1.65rem); font-weight: 600; letter-spacing: -.02em; }
.pg-comparar__chevron { width: 1.5rem; height: 1.5rem; transform: rotate(90deg); transition: transform .2s; color: var(--azul); }
.pg-comparar__detalle[open] .pg-comparar__chevron { transform: rotate(-90deg); }
.pg-tabla-envoltura { overflow-x: auto; padding-bottom: 1.5rem; }
.pg-tabla { width: 100%; border-collapse: collapse; font-size: .975rem; min-width: 34rem; }
.pg-tabla th, .pg-tabla td { padding: .8rem .75rem; border-bottom: 1px solid rgba(15, 23, 42, .08); text-align: left; vertical-align: top; }
.pg-tabla thead th { font-weight: 600; font-size: .9375rem; color: var(--tinta); border-bottom-color: rgba(15, 23, 42, .2); }
.pg-tabla tbody th { font-weight: 500; color: var(--tinta); width: 46%; }
.pg-tabla td { color: var(--gris-oscuro); width: 18%; }
.pg-tabla td[data-si], .pg-tabla td[data-no] { font-size: 0; }
.pg-tabla td[data-si]::before { content: ''; display: inline-block; width: 1.05rem; height: 1.05rem; background: var(--cian-profundo); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat; }
.pg-tabla td[data-no]::before { content: ''; display: inline-block; width: .8rem; height: 2px; background: #94A3B8; vertical-align: middle; border-radius: 2px; }
.pg-tabla td[data-si] > *, .pg-tabla td[data-no] > * { font-size: 1rem; }

/* Preguntas */
.pg-preguntas { padding: var(--e-7) 0 var(--e-6); display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: 2rem 4rem; align-items: start; }
.pg-preguntas__lista { border-top: 1px solid rgba(15, 23, 42, .14); }
.pg-pregunta { border-bottom: 1px solid rgba(15, 23, 42, .14); }
.pg-pregunta > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 64px; padding: .75rem 0; cursor: pointer; font-size: 1.125rem; font-weight: 600; letter-spacing: -.01em; }
.pg-pregunta > summary::-webkit-details-marker { display: none; }
.pg-pregunta > summary::after { content: ''; flex-shrink: 0; width: 12px; height: 12px; border-right: 2px solid var(--azul); border-bottom: 2px solid var(--azul); transform: rotate(45deg) translate(-3px, -3px); transition: transform .2s; }
.pg-pregunta[open] > summary::after { transform: rotate(225deg) translate(-3px, -3px); }
.pg-pregunta > p { padding: 0 0 1.25rem; max-width: 38em; color: var(--gris-oscuro); font-size: 1.0625rem; }

.pg-cierre-planes { padding: 0 0 var(--e-7); }
.pg-cierre-planes__grilla { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem 3rem; padding-top: var(--e-5); border-top: 1px solid rgba(15, 23, 42, .1); }
.pg-cierre-planes .pg-h2 { max-width: 16em; font-size: clamp(1.6rem, 1.1rem + 1.5vw, 2.4rem); }

@media (max-width: 1100px) {
  .pg-oferta__grilla { grid-template-columns: 1fr; }
  .pg-plan--personal { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 2rem; }
  .pg-plan--personal > * { grid-column: 1; }
  .pg-plan--personal .pg-incluye, .pg-plan--personal .pg-plan__uso { grid-column: 2; }
  .pg-plan--personal .pg-incluye { grid-row: 1 / span 4; margin-top: 0; border-top: 0; padding-top: 0; align-self: start; }
  .pg-plan--personal .pg-plan__uso { grid-row: 5; padding-top: 1rem; }
}
@media (max-width: 760px) {
  .pg-planes__cabeza-grilla { grid-template-columns: 1fr; }
  .pg-planes__control { justify-items: start; }
  .pg-saltos { display: flex; gap: .5rem; margin-top: 1.25rem; }
  .pg-saltos a { min-height: 44px; display: inline-flex; align-items: center; padding: 0 1rem; border-radius: 999px; border: 1px solid rgba(15, 23, 42, .18); text-decoration: none; font-weight: 600; font-size: .9375rem; }
  .pg-par { grid-template-columns: 1fr; }
  .pg-par .pg-plan + .pg-plan { border-left: 0; border-top: 1px solid rgba(15, 23, 42, .1); }
  .pg-plan--personal { display: flex; }
  .pg-plan--personal .pg-incluye { margin-top: 1.4rem; padding-top: 1.2rem; border-top: 1px solid rgba(15, 23, 42, .09); align-self: stretch; }
  .pg-canales__grilla, .pg-preguntas { grid-template-columns: 1fr; }
  .pg-canales__10h div { grid-template-columns: 1fr; gap: .2rem; }
}

/* ---------- Componentes de demostración (recorridos y CRM) ---------- */
.sin-js [data-recorrido] [data-estado][hidden] { display: block !important; }
.sin-js .pg-pasos, .sin-js [data-accion-pie]:empty, .sin-js .pg-crm__pie button { display: none; }
.pg-pasos { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.75rem; }
.pg-pasos__boton { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 1rem 0 .85rem; border-radius: 999px; font-weight: 500; font-size: .9375rem; color: var(--gris-oscuro); background: transparent; transition: background-color .15s, color .15s; }
.pg-pasos__boton::before { content: ''; width: 8px; height: 8px; border-radius: 50%; border: 1.5px solid currentColor; flex-shrink: 0; }
.pg-pasos__boton:hover { color: var(--tinta); }
.pg-pasos__boton[aria-pressed="true"] { background: #E8EEFF; color: var(--azul); font-weight: 600; }
.pg-pasos__boton[aria-pressed="true"]::before { background: var(--cian-profundo); border-color: var(--cian-profundo); }
.escenario .pg-pasos__boton { color: var(--sobre-azul); }
.escenario .pg-pasos__boton:hover { color: var(--blanco); }
.escenario .pg-pasos__boton[aria-pressed="true"] { background: rgba(255, 255, 255, .12); color: var(--blanco); }
.escenario .pg-pasos__boton[aria-pressed="true"]::before { background: var(--cian); border-color: var(--cian); }
.pg-quien { display: grid; gap: .45rem; margin-top: 1.5rem; }

.pg-ventana { min-width: 0; }
.pg-ventana__cuerpo { display: flex; min-height: 22rem; }
.pg-ventana__principal { flex: 1; min-width: 0; display: grid; align-content: start; }
.pg-tabs { margin-bottom: 14px; }
.pg-fila--nueva { box-shadow: inset 3px 0 0 var(--cian); }
.pg-fila--apagada { opacity: .55; }
.pg-fila__chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 8px; }
.pg-borrador { padding: 0; }
.pg-borrador__cabeza { padding: 12px 16px; border-bottom: 1px solid var(--app-linea); display: grid; gap: 4px; font-size: 13px; }
.pg-borrador__cabeza .app-nota { display: inline-block; width: 52px; }
.pg-borrador__texto { padding: 16px; display: grid; gap: 10px; font-size: 14px; line-height: 22px; }
.pg-borrador__pie { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px 16px; border-top: 1px solid var(--app-linea); background: var(--app-fondo); }

.pg-reunion .app__cuerpo { display: grid; gap: 16px; min-height: 22rem; align-content: start; }
.pg-reunion__datos { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; color: var(--app-mutado); }
.pg-reunion__datos .app-estado { color: var(--app-texto); }
.pg-participantes { display: grid; gap: 8px; margin-bottom: 16px; }
.pg-participantes li { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid var(--app-linea); border-radius: 10px; font-weight: 500; }
.pg-participante__ini { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font-size: 11px; font-weight: 600; background: #EEF2F7; color: #475569; letter-spacing: .02em; }
.pg-participante--nora { border-color: #A5F3FC !important; background: #F2FDFF; }
.pg-participante--nora .pg-participante__ini { background: var(--azul); color: var(--blanco); }
.pg-participante--nora .marca-iso { width: 16px; height: 16px; color: var(--blanco); }
.pg-reunion__estado { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.pg-punto { width: 8px; height: 8px; border-radius: 50%; background: var(--cian); box-shadow: 0 0 0 4px rgba(6, 182, 212, .18); }
.pg-giro { width: 14px; height: 14px; border-radius: 50%; border: 2px solid #A5F3FC; border-top-color: var(--cian-profundo); animation: pg-giro .9s linear infinite; flex-shrink: 0; }
@keyframes pg-giro { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .pg-giro { animation: none; border-color: var(--cian-profundo); } }
.pg-docs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 14px; }
.pg-doc { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid var(--app-linea); border-radius: 10px; font-weight: 500; font-size: 13px; line-height: 18px; background: var(--app-fondo); }
.pg-doc .icono { width: 16px; height: 16px; color: var(--app-azul); }
.pg-cita { margin: 0 0 14px; padding: 10px 12px; border-left: 3px solid var(--cian); background: #F2FDFF; border-radius: 0 8px 8px 0; display: grid; gap: 6px; justify-items: start; }
.pg-cita p { font-size: 14px; line-height: 20px; }

.pg-crm__lista { display: grid; gap: 12px; }
.pg-accion { background: var(--blanco); border: 1px solid var(--app-linea); border-radius: 12px; padding: 14px; display: grid; gap: 12px; transition: border-color .2s; }
.pg-accion--hecha { border-color: #B9DFCF; }
.pg-accion--atencion { border-color: var(--error-borde); }
.pg-accion__cabeza { display: flex; gap: 12px; align-items: flex-start; }
.pg-accion__pie { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; min-height: 36px; }
.pg-accion__pie .app-boton { min-height: 44px; padding-inline: 16px; }
.pg-accion__error { flex: 1 1 16rem; }
.pg-crm__pie { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-top: 12px; }
.pg-crm__pie .app-boton { min-height: 44px; }
.pg-nota-app { margin-top: 12px; }
.pg-sistemas { min-width: 0; }

/* ---------- /producto ---------- */
.pg-intro { padding: clamp(2.5rem, 1.5rem + 3vw, 4.5rem) 0 clamp(2.5rem, 1.5rem + 3vw, 4rem); }
.pg-intro__apoyo { margin-top: 1.25rem; }
.pg-dia { margin-top: clamp(2rem, 1.5rem + 2vw, 3.25rem); }
.pg-dia__lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); position: relative; }
.pg-dia__lista::before { content: ''; position: absolute; left: 0; right: 0; top: 7px; height: 2px; background: linear-gradient(90deg, var(--cian) 0 0) left / 100% 100% no-repeat, rgba(15, 23, 42, .1); }
.pg-dia__lista a { position: relative; display: grid; gap: .3rem; padding: 1.75rem 1rem .75rem 0; text-decoration: none; min-height: 44px; }
.pg-dia__lista a::before { content: ''; position: absolute; top: 0; left: 0; width: 16px; height: 16px; border-radius: 50%; background: var(--blanco); border: 2px solid var(--cian-profundo); }
.pg-dia__hora { font-family: var(--f-mono); font-size: .875rem; color: var(--cian-profundo); font-weight: 500; }
.pg-dia__lista a span:last-child { font-size: clamp(1.1rem, .95rem + .5vw, 1.4rem); font-weight: 600; letter-spacing: -.02em; }
.pg-dia__lista a:hover span:last-child { text-decoration: underline; text-underline-offset: .2em; }
.pg-intro__nota { margin-top: 1.25rem; }

.pg-fase { padding: var(--bloque) 0; scroll-margin-top: 4rem; }
.pg-fase + .pg-fase:not(.escenario) { padding-top: var(--e-7); }
.pg-fase__grilla { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.35fr); gap: 2.5rem clamp(2rem, 1rem + 4vw, 5rem); align-items: center; }
.pg-fase__grilla--invertida { grid-template-columns: minmax(0, 1.35fr) minmax(0, .8fr); }
.pg-fase__grilla--invertida .pg-fase__texto { order: 2; }
.pg-fase__texto .pg-texto { margin-top: 1rem; }
#dia { border-top: 1px solid rgba(15, 23, 42, .08); }

.pg-reparto { padding: var(--e-4) 0 var(--bloque); }
.pg-reparto__titulo { max-width: 13em; }
.pg-reparto__grilla { display: grid; grid-template-columns: 1.4fr 1fr; gap: 0; margin-top: var(--e-5); border-top: 2px solid var(--tinta); }
.pg-reparto__col { padding: 1.5rem 2rem 0 0; }
.pg-reparto__col--tu { padding-left: 2rem; border-left: 1px solid rgba(15, 23, 42, .14); }
.pg-reparto__col ul { margin-top: 1rem; display: grid; gap: .35rem; }
.pg-reparto__col li { font-size: clamp(1.25rem, 1rem + .9vw, 1.85rem); line-height: 1.25; letter-spacing: -.022em; font-weight: 600; }
.pg-reparto__col--nora li { color: var(--tinta); }
.pg-reparto__col--tu li { color: var(--azul); }

.pg-plataformas { padding: var(--e-7) 0; background: var(--lienzo); border-block: 1px solid rgba(15, 23, 42, .08); }
.pg-plataformas__grilla { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 2rem 4rem; }
.pg-plataformas__nombres { grid-row: span 2; display: grid; gap: 0; align-content: start; }
.pg-plataformas__nombres li { font-size: clamp(2rem, 1.2rem + 3vw, 3.75rem); font-weight: 600; letter-spacing: -.04em; line-height: 1.12; padding: .35rem 0; border-bottom: 1px solid rgba(15, 23, 42, .12); }
.pg-plataformas__datos { display: grid; gap: 1.25rem; align-content: end; }
.pg-plataformas__datos dt { font-weight: 600; }
.pg-plataformas__datos dd { margin: .2rem 0 0; color: var(--gris-oscuro); max-width: 26em; }

.pg-cierre { padding: var(--e-7) 0; }
.pg-cierre__grilla { display: grid; gap: 1.75rem; justify-items: start; }
.pg-cierre .pg-h2 { max-width: 14em; font-size: clamp(2rem, 1.2rem + 2.6vw, 3.6rem); }

@media (max-width: 1023px) {
  .pg-fase__grilla, .pg-fase__grilla--invertida { grid-template-columns: 1fr; }
  .pg-fase__grilla--invertida .pg-fase__texto { order: 0; }
  .pg-plataformas__grilla { grid-template-columns: 1fr; }
  .pg-plataformas__nombres { grid-row: auto; }
}
@media (max-width: 640px) {
  .pg-dia__lista { grid-template-columns: 1fr; }
  .pg-dia__lista::before { left: 7px; right: auto; top: 0; bottom: 0; width: 2px; height: auto; }
  .pg-dia__lista a { padding: .6rem 0 .9rem 2rem; }
  .pg-dia__lista a::before { top: .75rem; }
  .pg-reparto__grilla { grid-template-columns: 1fr; }
  .pg-reparto__col--tu { padding-left: 0; border-left: 0; border-top: 1px solid rgba(15, 23, 42, .14); margin-top: 1.5rem; }
  .pg-docs { grid-template-columns: 1fr; }
  .pg-ventana__cuerpo { min-height: 0; }
  .pg-reunion .app__cuerpo { min-height: 0; }
}

/* ---------- /equipos ---------- */
.pg-equipos__hero { padding: calc(72px + clamp(2.5rem, 1rem + 4vw, 5rem)) 0 clamp(4rem, 2rem + 5vw, 7rem); }
.pg-equipos__hero-grilla { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 3rem clamp(2rem, 1rem + 4vw, 5rem); align-items: center; }
.pg-equipos__hero .pg-titulo { margin-top: 1rem; max-width: 9em; }
.pg-equipos__hero .apoyo { margin-top: 1.25rem; max-width: 26em; }
.pg-equipos__cta { margin-top: 2rem; }
.pg-crm__filtro { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin-bottom: 14px; }
.pg-crm__filtro .app-segmentado button { min-height: 44px; padding: 6px 14px; }

.pg-destinos { padding: var(--bloque) 0; }
.pg-destinos__titulo { max-width: 13em; }
.pg-destinos__grilla { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 3rem clamp(2rem, 1rem + 4vw, 5rem); margin-top: var(--e-5); align-items: start; }
.pg-mapa { margin: 0; padding: clamp(1.25rem, .8rem + 1.5vw, 2rem); border-radius: 20px; background: var(--lienzo); border: 1px solid rgba(15, 23, 42, .08); font-family: var(--f-app); font-size: 14px; }
.pg-mapa__propuesta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px 14px; background: var(--blanco); border: 1px solid var(--app-linea); border-radius: 12px; font-weight: 500; box-shadow: var(--sombra-flotante); position: relative; }
.pg-mapa__propuesta .marca-iso { color: var(--azul); width: 18px; height: 18px; }
.pg-mapa__aprobada { margin-left: auto; display: inline-flex; align-items: center; gap: 4px; color: var(--ok-texto); font-size: 13px; }
.pg-mapa__aprobada .icono { width: 15px; height: 15px; }
.pg-mapa__crms { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 34px; position: relative; }
.pg-mapa__crms::before { content: ''; position: absolute; left: 25%; top: -34px; width: 2px; height: 34px; background: var(--cian); }
.pg-mapa__crm { padding: 12px; border-radius: 12px; border: 1px solid var(--app-linea); background: var(--blanco); display: grid; gap: 10px; justify-items: start; }
.pg-mapa__crm ul { display: grid; gap: 6px; width: 100%; }
.pg-mapa__crm li { padding: 8px 10px; border-radius: 8px; background: var(--app-fondo); border: 1px solid transparent; color: var(--app-mutado); }
.pg-mapa__crm li.pg-mapa__destino { color: var(--app-texto); font-weight: 600; background: #ECFEFF; border-color: var(--cian); }
.pg-mapa__pie { margin-top: 16px; font-family: var(--f-marca); font-size: .875rem; color: var(--gris-oscuro); }
.pg-reglas { display: grid; gap: 0; border-top: 1px solid rgba(15, 23, 42, .14); }
.pg-reglas div { padding: 1rem 0; border-bottom: 1px solid rgba(15, 23, 42, .14); display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: .25rem 1.5rem; }
.pg-reglas dt { font-weight: 600; font-size: 1.0625rem; letter-spacing: -.01em; }
.pg-reglas dd { margin: 0; color: var(--gris-oscuro); }
.pg-reglas__no dt { color: var(--gris-oscuro); }

.pg-roles { padding: var(--e-7) 0; background: var(--lienzo); border-block: 1px solid rgba(15, 23, 42, .08); }
.pg-roles__lista { margin-top: var(--e-4); display: grid; }
.pg-rol { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr) minmax(0, .6fr); gap: .5rem 2rem; align-items: center; padding: 1.5rem 0; border-top: 1px solid rgba(15, 23, 42, .14); }
.pg-rol:last-child { border-bottom: 1px solid rgba(15, 23, 42, .14); }
.pg-rol__nombre { font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.4rem); font-weight: 600; letter-spacing: -.035em; line-height: 1.05; }
.pg-rol__texto { font-size: 1.0625rem; color: var(--gris-oscuro); max-width: 30em; }
.pg-rol__pieza { justify-self: end; }
.pg-rol__barras { display: flex; align-items: flex-end; gap: 5px; height: 40px; }
.pg-rol__barras i { width: 10px; height: var(--h); background: var(--azul); border-radius: 3px 3px 0 0; }
.pg-rol__barras i:nth-child(4) { background: var(--cian-profundo); }
.pg-rol__codigo { font-family: var(--f-mono); font-size: .875rem; padding: .3rem .6rem; border-radius: 6px; background: var(--tinta); color: var(--blanco); letter-spacing: .02em; }

.pg-equipo-uno { padding: var(--bloque) 0; }
.pg-equipo-uno__grilla { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr); gap: 3rem clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.pg-equipo-uno .pg-h3 { font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.25rem); letter-spacing: -.03em; }
.pg-equipo-uno .pg-texto { margin: .6rem 0 1.5rem; }
.pg-equipo-uno__nora { padding-top: clamp(0rem, 4vw, 4rem); }
.pg-analytics { width: 100%; border-collapse: collapse; font-size: 13px; }
.pg-analytics th, .pg-analytics td { text-align: left; padding: 10px 8px; border-bottom: 1px solid var(--app-linea); font-weight: 400; }
.pg-analytics thead th { font-size: 12px; color: var(--app-mutado); font-weight: 500; }
.pg-analytics tbody th { font-weight: 500; white-space: nowrap; }
.pg-analytics tbody tr:last-child > * { border-bottom: 0; }
.pg-habla { display: block; width: 100%; min-width: 80px; height: 8px; border-radius: 4px; background: linear-gradient(90deg, var(--app-azul) 0 var(--v), #CFE9EF var(--v) 100%); }
.pg-cubierto { list-style: none; padding: 6px 14px; display: grid; }
.pg-cubierto li { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--app-linea); font-weight: 500; }
.pg-cubierto li:last-child { border-bottom: 0; }
.pg-cubierto .app-estado:not(.app-estado--nora) { color: var(--app-mutado); font-weight: 400; }

.pg-contrata { padding: var(--e-7) 0; background: var(--azul); color: var(--blanco); }
.pg-contrata .pg-texto { color: var(--sobre-azul); }
.pg-contrata__grilla { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: 2rem 4rem; align-items: start; }
.pg-camino { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); position: relative; padding-top: 1.75rem; }
.pg-camino::before { content: ''; position: absolute; top: 7px; left: 8px; right: 0; height: 2px; background: rgba(255, 255, 255, .22); }
.pg-camino li { position: relative; display: grid; gap: .35rem; padding-right: 1.25rem; }
.pg-camino li::before { content: ''; position: absolute; top: -1.75rem; left: 0; width: 16px; height: 16px; border-radius: 50%; background: var(--azul); border: 2px solid var(--cian); }
.pg-camino__nombre { font-size: 1.25rem; font-weight: 600; letter-spacing: -.02em; }
.pg-camino__texto { color: var(--sobre-azul); font-size: .975rem; }
.pg-precio-go { grid-column: 2; display: grid; gap: .4rem; justify-items: start; padding: 1.25rem; border-radius: 14px; border: 1px solid rgba(255, 255, 255, .2); }
.pg-precio-go .texto-chico { color: var(--sobre-azul); }

.pg-conversemos { padding: var(--bloque) 0; scroll-margin-top: 4.5rem; }
.pg-conversemos__grilla { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 2.5rem clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }

/* ---------- Formularios ---------- */
.pg-form-panel { background: var(--blanco); border: 1px solid rgba(15, 23, 42, .12); border-radius: 20px; padding: clamp(1.25rem, .8rem + 1.6vw, 2.25rem); box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 24px 50px -30px rgba(15, 23, 42, .3); }
.pg-form { display: grid; gap: 1.15rem; }
.pg-campos-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1.15rem; }
.pg-campo { display: grid; gap: .4rem; min-width: 0; margin: 0; padding: 0; border: 0; }
.pg-campo > label, .pg-grupo legend { font-weight: 600; font-size: .9375rem; padding: 0; }
.pg-grupo legend { margin-bottom: .5rem; }
.pg-ayuda { font-weight: 400; color: var(--gris-oscuro); }
.pg-entrada { width: 100%; min-height: 48px; padding: .7rem .9rem; border-radius: 10px; border: 1.5px solid #CBD5E1; background: var(--blanco); font-size: 1rem; color: var(--tinta); transition: border-color .15s; }
.pg-entrada:hover { border-color: #94A3B8; }
.pg-entrada:focus-visible { outline: none; border-color: var(--azul); box-shadow: 0 0 0 3px rgba(30, 58, 138, .2); }
select.pg-entrada { appearance: none; -webkit-appearance: none; padding-right: 2.5rem; background: var(--blanco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right .8rem center / 18px no-repeat; }
textarea.pg-entrada { min-height: 6rem; resize: vertical; }
.pg-entrada[aria-invalid="true"] { border-color: var(--error-texto); }
.pg-error { color: var(--error-texto); font-size: .875rem; font-weight: 500; display: flex; gap: .35rem; }
.pg-error::before { content: '!'; display: inline-grid; place-items: center; width: 1.05rem; height: 1.05rem; border-radius: 50%; background: var(--error-texto); color: var(--blanco); font-size: .7rem; font-weight: 700; flex-shrink: 0; margin-top: .1rem; }
.pg-opciones { display: grid; gap: .5rem; }
.pg-opciones--fila { grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr)); }
.pg-opcion { position: relative; display: flex; }
.pg-opcion input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.pg-opcion > span { flex: 1; display: grid; gap: .1rem; align-content: center; min-height: 48px; padding: .6rem .9rem .6rem 2.4rem; border: 1.5px solid #CBD5E1; border-radius: 10px; font-weight: 600; font-size: .9375rem; position: relative; transition: border-color .15s, background-color .15s; }
.pg-opcion > span::before { content: ''; position: absolute; left: .85rem; top: 50%; translate: 0 -50%; width: 1rem; height: 1rem; border-radius: 50%; border: 1.5px solid #94A3B8; background: var(--blanco); }
.pg-opcion small { font-size: .8125rem; font-weight: 400; color: var(--gris-oscuro); }
.pg-opcion input:checked + span { border-color: var(--azul); background: #F3F6FD; }
.pg-opcion input:checked + span::before { border: 5px solid var(--azul); }
.pg-opcion input:focus-visible + span { outline: 2px solid var(--azul); outline-offset: 2px; }
.pg-opcion--secundaria > span { border-style: dashed; }
.pg-casilla { display: flex; gap: .7rem; align-items: flex-start; font-weight: 400 !important; cursor: pointer; min-height: 44px; padding-top: .25rem; }
.pg-casilla input { appearance: none; -webkit-appearance: none; width: 1.35rem; height: 1.35rem; margin: 0; border: 1.5px solid #94A3B8; border-radius: 6px; flex-shrink: 0; display: grid; place-items: center; cursor: pointer; background: var(--blanco); }
.pg-casilla input::after { content: ''; width: .75rem; height: .4rem; border: solid var(--blanco); border-width: 0 0 2.5px 2.5px; transform: rotate(-45deg) translate(1px, -1px); opacity: 0; }
.pg-casilla input:checked { background: var(--azul); border-color: var(--azul); }
.pg-casilla input:checked::after { opacity: 1; }
.pg-casilla input[aria-invalid="true"] { border-color: var(--error-texto); }
.pg-form-pie { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; margin-top: .25rem; }
.pg-form-resumen { display: flex; gap: .6rem; align-items: center; padding: .7rem .9rem; border-radius: 10px; background: var(--error-fondo); border: 1px solid var(--error-borde); color: var(--error-texto); font-weight: 600; }
.pg-form-estado { display: flex; gap: .85rem; align-items: flex-start; padding: 1rem 1.1rem; border-radius: 12px; margin-bottom: 1.25rem; font-size: 1.0625rem; }
.pg-form-estado[data-tipo="exito"] { background: var(--ok-fondo); color: var(--ok-texto); border: 1px solid #B9DFCF; }
.pg-form-estado[data-tipo="error"] { background: var(--error-fondo); color: var(--error-texto); border: 1px solid var(--error-borde); }
.pg-form-estado[data-tipo="correo"] { background: var(--app-suave); color: var(--app-texto); border: 1px solid var(--app-linea); }
.pg-form-estado[data-tipo="correo"] .icono { display: none; }
.pg-form-estado .icono { width: 1.4rem; height: 1.4rem; margin-top: .1rem; }
.pg-form-estado[data-tipo="exito"] .pg-form-estado__error, .pg-form-estado[data-tipo="error"] .pg-form-estado__ok { display: none; }
.pg-form-estado > div { display: grid; gap: .75rem; justify-items: start; font-weight: 500; }
.pg-form-estado .boton { color: var(--error-texto); border-color: currentColor; background: var(--blanco); min-height: 44px; }
.pg-form-estado:focus { outline: none; }
.pg-form-estado:focus-visible { outline: 2px solid var(--azul); outline-offset: 3px; }

@media (max-width: 1023px) {
  .pg-equipos__hero-grilla, .pg-destinos__grilla, .pg-equipo-uno__grilla, .pg-contrata__grilla, .pg-conversemos__grilla { grid-template-columns: 1fr; }
  .pg-precio-go { grid-column: auto; }
  .pg-equipo-uno__nora { padding-top: 0; }
}
@media (max-width: 640px) {
  .pg-campos-2 { grid-template-columns: 1fr; }
  .pg-rol { grid-template-columns: 1fr; }
  .pg-rol__pieza { justify-self: start; }
  .pg-reglas div { grid-template-columns: 1fr; }
  .pg-camino { grid-template-columns: 1fr; padding-top: 0; gap: 1.25rem; }
  .pg-camino::before { left: 7px; top: 0; bottom: 0; right: auto; width: 2px; height: auto; }
  .pg-camino li { padding-left: 2rem; }
  .pg-camino li::before { top: .3rem; }
  .pg-analytics__tema { display: none; }
  .pg-mapa__crms { grid-template-columns: 1fr; }
  .pg-mapa__crms::before { left: 24px; }
}

/* ---------- Notas editoriales (solo con ?notas=1) ---------- */
.nota-editorial { margin: 1rem 0; padding: .85rem 1rem; border-radius: 10px; background: #FFF8E6; border: 1px dashed #D9A441; color: #5C3A0E; font-size: .9375rem; line-height: 1.5; max-width: 52rem; }
.nota-editorial strong { font-weight: 700; }
.pg-notas-banda { margin-bottom: 1.5rem; padding: .75rem 1rem; border-radius: 10px; background: #5C3A0E; color: #FFF8E6; font-size: .9375rem; }

/* ---------- /seguridad ---------- */
.pg-seg-intro { padding-bottom: var(--e-5); }
.pg-permisos { padding-bottom: var(--e-7); }
.pg-permisos__tabla { border-top: 2px solid var(--tinta); }
.pg-permisos__fila { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr) minmax(0, 1.2fr) minmax(0, .9fr); gap: 1rem 2rem; padding: 1.25rem 0; border-bottom: 1px solid rgba(15, 23, 42, .12); align-items: start; font-size: 1rem; color: var(--gris-oscuro); }
.pg-permisos__fila--cabeza { padding: .85rem 0; font-size: .875rem; font-weight: 600; color: var(--tinta); }
.pg-permisos__nombre { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .6rem; font-weight: 600; font-size: 1.125rem; color: var(--tinta); letter-spacing: -.01em; }
.pg-permisos__nombre .icono { color: var(--azul); }
.pg-permisos__nombre .crm { font-size: 14px; min-height: 26px; padding: 2px 9px; font-family: var(--f-app); }
.pg-permisos__plan { flex-basis: 100%; font-size: .8125rem; font-weight: 500; color: var(--gris-oscuro); }
.pg-permisos__tu { color: var(--azul); font-weight: 600; }
.pg-permisos__nora { color: var(--cian-profundo); font-weight: 600; }
.pg-permisos__nota { margin-top: 1.25rem; color: var(--gris-oscuro); max-width: 40em; }

.pg-controles { padding: var(--e-7) 0; background: var(--lienzo); border-block: 1px solid rgba(15, 23, 42, .08); }
.pg-controles__lista { margin-top: var(--e-5); display: grid; grid-template-columns: 1fr 1fr; gap: 0 4rem; }
.pg-controles__lista li { padding: 1.4rem 0; border-top: 1px solid rgba(15, 23, 42, .14); }
.pg-controles__frase { font-size: clamp(1.3rem, 1.05rem + .8vw, 1.8rem); font-weight: 600; letter-spacing: -.025em; line-height: 1.15; }
.pg-controles__detalle { margin-top: .4rem; color: var(--gris-oscuro); }
.pg-mono { font-family: var(--f-mono); font-size: .9em; padding: .05em .4em; border-radius: 5px; background: var(--tinta); color: var(--blanco); }

.pg-cat-a { padding: var(--bloque) 0; }
.pg-cat-a__grilla { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: 2rem 4rem; align-items: start; }
.pg-cat-a__grilla > .nota-editorial { grid-column: 1 / -1; }
.pg-insignias { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.pg-insignia { position: relative; padding: 1.5rem 1.4rem 1.35rem; border: 1px solid rgba(30, 58, 138, .3); border-radius: 12px; display: grid; gap: .6rem; align-content: start; background: var(--blanco); }
.pg-insignia__nombre { font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.2rem); font-weight: 600; letter-spacing: -.035em; line-height: 1; color: var(--azul); }
.pg-insignia__que { color: var(--gris-oscuro); font-size: .975rem; }
.pg-insignia__vigencia { font-size: .875rem; font-weight: 600; color: var(--tinta); padding-top: .6rem; border-top: 1px solid rgba(15, 23, 42, .12); }

.pg-datos { padding: 0 0 var(--bloque); }
.pg-datos__grilla { margin-top: var(--e-5); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.25rem 4rem; }
.pg-datos__grilla dt { font-weight: 600; font-size: 1.125rem; letter-spacing: -.01em; padding-top: 1rem; border-top: 2px solid var(--tinta); }
.pg-datos__grilla dd { margin: .5rem 0 0; color: var(--gris-oscuro); max-width: 32em; }

.pg-empresa { padding: var(--e-6) 0; background: var(--lienzo); border-block: 1px solid rgba(15, 23, 42, .08); scroll-margin-top: 4.5rem; }
.pg-empresa__grilla { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr); gap: 1.5rem 4rem; align-items: start; }
.pg-empresa__grilla > .nota-editorial { grid-column: 1 / -1; }
.pg-empresa__texto { margin-top: .6rem; color: var(--gris-oscuro); max-width: 30em; font-size: .975rem; }
.pg-empresa .respaldo { --alto: 28px; gap: 1.25rem 2.75rem; padding-top: .35rem; }

.pg-contacto-seg { padding: var(--bloque) 0; }
.pg-contacto-seg__grilla { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.5rem 4rem; align-items: end; }
.pg-contacto-seg__grilla > .nota-editorial { grid-column: 1 / -1; }

@media (max-width: 1023px) {
  .pg-permisos__fila { grid-template-columns: 1fr 1fr; }
  .pg-permisos__fila--cabeza { display: none; }
  .pg-permisos__nombre { grid-column: 1 / -1; }
  .pg-permisos__fila [data-col]::before { content: attr(data-col); display: block; font-size: .8125rem; font-weight: 600; color: var(--tinta); margin-bottom: .2rem; }
  .pg-cat-a__grilla, .pg-empresa__grilla, .pg-contacto-seg__grilla { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .pg-permisos__fila { grid-template-columns: 1fr; gap: .75rem; }
  .pg-controles__lista, .pg-insignias, .pg-datos__grilla { grid-template-columns: 1fr; }
}

/* ---------- Legales ---------- */
.pg-legal__cabeza { padding: clamp(2.5rem, 1.5rem + 3vw, 4.5rem) 0 var(--e-5); border-bottom: 1px solid rgba(15, 23, 42, .1); }
.pg-legal__cabeza .pg-titulo { font-size: clamp(2.3rem, 1.3rem + 3vw, 4rem); }
.pg-legal__meta { margin-top: 1.25rem; display: flex; flex-wrap: wrap; gap: .5rem .75rem; align-items: center; }
.pg-legal__version { display: inline-flex; align-items: center; min-height: 30px; padding: 0 .75rem; border-radius: 999px; background: #FFF5DF; color: #7B4816; font-weight: 600; font-size: .875rem; border: 1px solid #F3D9A4; }
.pg-legal__resp { font-size: .9375rem; color: var(--gris-oscuro); }
.pg-legal__intro { margin-top: 1.5rem; max-width: 40em; font-size: 1.125rem; line-height: 1.55; color: var(--gris-oscuro); }
.pg-legal__cuerpo { display: grid; grid-template-columns: 16rem minmax(0, 1fr); gap: 4rem; padding: var(--e-5) 0 var(--bloque); align-items: start; }
.pg-indice { position: sticky; top: 6rem; max-height: calc(100vh - 7rem); overflow-y: auto; font-size: .9375rem; }
.pg-indice summary { list-style: none; display: flex; align-items: center; justify-content: space-between; min-height: 48px; font-weight: 600; cursor: pointer; }
.pg-indice summary::-webkit-details-marker { display: none; }
.pg-indice summary .icono { transform: rotate(90deg); transition: transform .2s; color: var(--azul); }
.pg-indice details[open] summary .icono { transform: rotate(-90deg); }
.pg-indice ol { display: grid; gap: 1px; border-left: 1px solid rgba(15, 23, 42, .12); }
.pg-indice a { display: flex; align-items: center; min-height: 36px; padding: .3rem 0 .3rem 1rem; margin-left: -1px; border-left: 2px solid transparent; text-decoration: none; color: var(--gris-oscuro); line-height: 1.3; }
.pg-indice a:hover { color: var(--tinta); }
.pg-indice a[aria-current] { color: var(--azul); border-left-color: var(--azul); font-weight: 600; }
.pg-legal__texto { max-width: 44rem; counter-reset: clausula; }
.pg-clausula { padding-top: 2.25rem; scroll-margin-top: 5.5rem; }
.pg-clausula:first-child { padding-top: 0; }
.pg-clausula h2 { font-size: clamp(1.3rem, 1.1rem + .6vw, 1.65rem); font-weight: 600; letter-spacing: -.02em; line-height: 1.2; display: flex; gap: .75rem; }
.pg-clausula h2 .pg-num { color: var(--gris); font-variant-numeric: tabular-nums; min-width: 1.6em; }
.pg-clausula h3 { margin-top: 1.25rem; font-size: 1.0625rem; font-weight: 600; }
.pg-clausula p, .pg-clausula li { font-size: 1.0625rem; line-height: 1.65; color: #334155; }
.pg-clausula p { margin-top: .85rem; }
.pg-clausula ul { margin-top: .75rem; display: grid; gap: .5rem; }
.pg-clausula ul li { position: relative; padding-left: 1.25rem; }
.pg-clausula ul li::before { content: ''; position: absolute; left: 0; top: .72em; width: .45rem; height: 2px; background: var(--gris); }
.pg-clausula strong { color: var(--tinta); font-weight: 600; }
.pg-clausula .nota-editorial { margin-top: 1rem; }
.pg-legal-tabla { width: 100%; border-collapse: collapse; margin-top: 1rem; font-size: .9375rem; }
.pg-legal-tabla th, .pg-legal-tabla td { text-align: left; padding: .7rem .6rem .7rem 0; border-bottom: 1px solid rgba(15, 23, 42, .1); vertical-align: top; }
.pg-legal-tabla thead th { font-weight: 600; border-bottom-color: rgba(15, 23, 42, .25); }
.pg-legal-tabla td { color: #334155; }
.pg-legal-tabla code { font-family: var(--f-mono); font-size: .85em; background: var(--lienzo); padding: .05em .3em; border-radius: 4px; word-break: break-all; }
.pg-legal__fin { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid rgba(15, 23, 42, .12); font-size: .9375rem; color: var(--gris-oscuro); }

@media (max-width: 1023px) {
  .pg-legal__cuerpo { grid-template-columns: 1fr; gap: 1.5rem; padding-top: var(--e-3); }
  .pg-indice { position: static; max-height: none; border: 1px solid rgba(15, 23, 42, .14); border-radius: 12px; padding: 0 1rem; }
  .pg-indice ol { padding-bottom: 1rem; }
  .pg-indice a { min-height: 44px; }
}
@media (max-width: 640px) {
  .pg-legal-tabla thead { display: none; }
  .pg-legal-tabla tr { display: grid; padding: .75rem 0; border-bottom: 1px solid rgba(15, 23, 42, .12); }
  .pg-legal-tabla td { border: 0; padding: .1rem 0; }
  .pg-legal-tabla td::before { content: attr(data-col) ': '; font-weight: 600; color: var(--tinta); }
}
.pg-legal__accion { margin-top: 1.75rem; }

/* ---------- /solicitar-acceso ---------- */
.pg-acceso { padding: clamp(1.5rem, 1rem + 2vw, 3rem) 0 var(--e-7); }
.pg-acceso__grilla { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 2rem clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.pg-acceso__panel { border-radius: 24px; padding: clamp(1.75rem, 1rem + 3vw, 3.25rem); display: grid; gap: 1.5rem; position: sticky; top: 6rem; overflow: hidden; }
.pg-acceso__titulo { font-size: clamp(2.2rem, 1.3rem + 2.6vw, 3.6rem); }
.pg-acceso__panel .apoyo { margin-top: 1rem; }
.pg-acceso__plan { display: flex; gap: .75rem; align-items: flex-start; padding: 1rem 1.1rem; border-radius: 14px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(220, 230, 255, .22); font-weight: 500; }
.pg-acceso__plan .marca-iso { color: var(--cian-claro); width: 22px; height: 22px; margin-top: .1rem; }
.pg-acceso__nota { font-size: .9375rem; color: var(--sobre-azul); }
.pg-acceso__form { padding-top: .5rem; }
.pg-opciones--planes { grid-template-columns: 1fr 1fr; }
.pg-opciones--planes .pg-opcion--secundaria { grid-column: 1 / -1; }
.pg-opciones--planes .pg-opcion--secundaria > span { font-size: .875rem; min-height: 44px; }

/* ---------- /login y /register ---------- */
.pg-cuenta { background: var(--lienzo); padding: clamp(2rem, 1rem + 4vw, 5rem) 0 var(--e-7); min-height: calc(100vh - 72px); }
.pg-cuenta__grilla { display: grid; justify-items: center; }
.pg-cuenta__caja { width: min(100%, 30rem); background: var(--blanco); border: 1px solid rgba(15, 23, 42, .1); border-radius: 22px; padding: clamp(1.5rem, 1rem + 2vw, 2.5rem); box-shadow: 0 30px 60px -36px rgba(15, 23, 42, .35); display: grid; gap: 1.25rem; }
.pg-cuenta__iso { width: 40px; height: 40px; color: var(--azul); }
.pg-cuenta__titulo { font-size: clamp(1.7rem, 1.3rem + 1.2vw, 2.25rem); line-height: 1.08; letter-spacing: -.032em; font-weight: 600; text-wrap: balance; }
.pg-cuenta__texto { color: var(--gris-oscuro); font-size: 1.0625rem; }
.pg-cuenta__acciones { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.5rem; }
.pg-cuenta__acciones .enlace { min-height: 44px; display: inline-flex; align-items: center; }
.pg-cuenta__proveedores { display: grid; gap: .6rem; }
.pg-cuenta__proveedor { width: 100%; }
.pg-cuenta__separador { display: flex; align-items: center; gap: .75rem; color: var(--gris-oscuro); font-size: .875rem; }
.pg-cuenta__separador::before, .pg-cuenta__separador::after { content: ''; flex: 1; height: 1px; background: rgba(15, 23, 42, .12); }
.pg-cuenta__enviar { width: 100%; }
.pg-cuenta__olvido { justify-self: start; min-height: 44px; color: var(--azul); font-weight: 600; text-decoration: underline; text-underline-offset: .22em; }
.pg-cuenta__pie { display: grid; gap: .4rem; padding-top: 1.1rem; border-top: 1px solid rgba(15, 23, 42, .1); font-size: .9375rem; color: var(--gris-oscuro); }
.pg-cuenta__pie .enlace { display: inline-flex; align-items: center; min-height: 44px; }
.pg-cuenta__aviso { padding: .8rem 1rem; border-radius: 10px; background: #EEF2FF; color: var(--azul); font-weight: 500; border: 1px solid #C7D2FE; }
.pg-cuenta__aviso:focus { outline: none; }
.pg-cuenta__invitacion { display: flex; gap: .75rem; align-items: center; padding: .85rem 1rem; border-radius: 12px; background: var(--lienzo); border: 1px solid rgba(15, 23, 42, .08); color: var(--gris-oscuro); }
.pg-cuenta__invitacion strong { color: var(--tinta); }
.pg-cuenta .pg-entrada[readonly] { background: var(--lienzo); color: var(--gris-oscuro); }

/* ---------- 404 ---------- */
.pg-404 { padding: clamp(3rem, 2rem + 5vw, 7rem) 0 var(--bloque); }
.pg-404__grilla { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 2.5rem 4rem; align-items: end; }
.pg-404__codigo { font-family: var(--f-mono); font-size: 1rem; color: var(--cian-profundo); margin-bottom: 1rem; }
.pg-404__apoyo { margin-top: 1.25rem; }
.pg-404__enlaces { border-top: 2px solid var(--tinta); }
.pg-404__enlaces a { display: flex; align-items: center; justify-content: space-between; min-height: 64px; border-bottom: 1px solid rgba(15, 23, 42, .14); text-decoration: none; font-size: clamp(1.25rem, 1rem + .8vw, 1.6rem); font-weight: 600; letter-spacing: -.02em; }
.pg-404__enlaces a:hover { color: var(--azul); }

@media (max-width: 1023px) {
  .pg-acceso__grilla, .pg-404__grilla { grid-template-columns: 1fr; }
  .pg-acceso__panel { position: relative; top: auto; }
}
@media (max-width: 480px) {
  .pg-opciones--planes { grid-template-columns: 1fr; }
}
@media (max-width: 480px) { .pg-ventana .app__sub { display: none; } }

/* Dirección G2b · intro de /producto con el panel «Hoy» (producto visible en el primer pliegue) */
.pg-intro__grilla { display: grid; grid-template-columns: minmax(0, 5.5fr) minmax(0, 6.5fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.pg-intro__texto { display: grid; grid-template-columns: minmax(0, 1fr); }
.pg-hoy .app__cabeza .app__sub { margin-right: auto; }
.pg-hoy__lista { display: grid; }
.pg-hoy__lista li + li { border-top: 1px solid var(--app-linea); }
.pg-hoy__lista a { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 16px 18px; text-decoration: none; color: var(--app-texto); min-height: 64px; }
.pg-hoy__lista a:hover { background: var(--app-fondo); }
.pg-hoy__lista a:hover .pg-hoy__fase { text-decoration: underline; text-underline-offset: .2em; }
.pg-hoy__lista time { color: var(--cian-profundo); font-weight: 600; }
.pg-hoy__cuerpo { display: grid; gap: 2px; min-width: 0; }
.pg-hoy__fase { font-weight: 600; font-size: 15px; }
.pg-hoy__dato { font-size: 13px; color: var(--app-mutado); }
@media (max-width: 1100px) { .pg-intro__grilla { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 520px) {
  .pg-hoy__lista a { grid-template-columns: 48px minmax(0, 1fr); padding: 14px; }
  .pg-hoy__lista a > :last-child { grid-column: 2; justify-self: start; }
}

/* Dirección G2b · reunión con los retratos ficticios (misma escena humana que la home) */
.pg-mosaico { margin: 0 0 12px; display: grid; grid-template-columns: 1fr 1fr .5fr; gap: 6px; padding: 6px; border-radius: 12px; background: var(--azul-noche); }
.pg-mosaico__persona { position: relative; aspect-ratio: 4 / 3.4; border-radius: 8px; overflow: hidden; background: #1B2A5C; }
.pg-mosaico__persona img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.pg-mosaico__persona span, .pg-mosaico__nora span:last-child { position: absolute; left: 6px; bottom: 6px; font-size: 11px; line-height: 15px; padding: 1px 6px; border-radius: 5px; background: rgba(9, 16, 40, .62); color: var(--blanco); white-space: nowrap; }
.pg-mosaico__nora { position: relative; border-radius: 8px; background: var(--azul); display: grid; place-items: center; color: var(--blanco); }
.pg-mosaico__nora .marca-iso { width: 40%; height: auto; aspect-ratio: 1; }
