/* NEXXA-VIDA — páginas institucionales (Quiénes somos, Privacidad) · v29 */
.inst-page { position: relative; z-index: 1; padding: 2.5rem 0 1rem; color: rgba(246,241,255,.9); }
.inst-wrap { max-width: 920px; }
.inst-hero { margin-bottom: 2rem; }
.inst-eyebrow { margin: 0; font-size: .76rem; letter-spacing: .24em; font-weight: 800; color: #9ff5ef; }
.inst-hero h1 { margin: .3rem 0 .8rem; font-size: clamp(2.2rem, 6vw, 3.8rem); line-height: 1.05; background: linear-gradient(100deg, #9ff5ef, #cdb9ff 50%, #ff9de4); -webkit-background-clip: text; background-clip: text; color: transparent; }
.inst-lead { font-size: 1.12rem; line-height: 1.7; max-width: 62ch; margin: 0 0 1.2rem; }
.inst-indice { display: flex; flex-wrap: wrap; gap: .6rem; }
.inst-indice a { padding: .45rem 1rem; border-radius: 999px; border: 1px solid rgba(255,255,255,.35); color: #fff; text-decoration: none; font-size: .86rem; font-weight: 700; transition: box-shadow .25s ease, background .25s ease; }
.inst-indice a:hover, .inst-indice a:focus-visible { background: rgba(173,137,239,.3); box-shadow: 0 0 18px rgba(173,137,239,.6); outline: none; }

.inst-panel { margin-bottom: 1.4rem; padding: 1.7rem 1.9rem; border-radius: 26px; border: 1px solid rgba(255,255,255,.24); background: radial-gradient(100% 140% at 0% 0%, rgba(173,137,239,.18), transparent 60%), rgba(26,14,46,.78); -webkit-backdrop-filter: blur(10px) saturate(160%); backdrop-filter: blur(10px) saturate(160%); scroll-margin-top: 110px; }
.inst-panel h2 { margin: 0 0 .8rem; font-size: clamp(1.4rem, 3vw, 1.9rem); color: #fff; }
.inst-panel h3 { margin: 1.4rem 0 .4rem; font-size: 1.1rem; color: #cdb9ff; }
.inst-panel p, .inst-lista li { line-height: 1.75; margin: 0 0 .8rem; }
.inst-panel a { color: #9ff5ef; text-underline-offset: 3px; }
.inst-lista { margin: 0 0 .8rem; padding-left: 1.2rem; }
.inst-lista li { margin-bottom: .55rem; }

.inst-pasos { list-style: none; margin: 1rem 0; padding: 0; display: grid; gap: 1rem; }
.inst-pasos li { display: flex; gap: 1rem; align-items: flex-start; }
.inst-pasos h3 { margin: 0 0 .2rem; color: #fff; }
.inst-pasos p { margin: 0; }
.inst-num { flex: none; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; font: 800 1.1rem var(--font-display, sans-serif); color: #12081f; background: linear-gradient(135deg, #9ff5ef, #ff9de4); box-shadow: 0 0 18px rgba(173,137,239,.6); }

.inst-logo-fila { display: grid; grid-template-columns: 160px 1fr; gap: 1.4rem; align-items: center; }
.inst-logo-fila img { width: 160px; height: auto; filter: drop-shadow(0 0 20px rgba(78,219,211,.55)); }
.inst-colores { list-style: none; margin: .6rem 0 1rem; padding: 0; display: grid; gap: .9rem; }
.inst-colores li { display: flex; gap: 1rem; align-items: center; }
.inst-colores p { margin: .1rem 0 0; }
.inst-muestra { flex: none; width: 44px; height: 44px; border-radius: 14px; background: var(--m); box-shadow: 0 0 22px var(--m); border: 1px solid rgba(255,255,255,.5); }
.inst-colores .is-rest { --m: #4edbd3; }
.inst-colores .is-food { --m: #ad89ef; }
.inst-colores .is-move { --m: #ef4fc1; }
.inst-nombre { font: 700 1.3rem var(--font-display, sans-serif); color: #fff; }
.inst-aviso { margin-top: 1rem !important; padding: .9rem 1.1rem; border-left: 3px solid #ef4fc1; background: rgba(239,79,193,.1); border-radius: 0 12px 12px 0; }

.inst-cierre { display: flex; flex-wrap: wrap; gap: .8rem; margin: 2rem 0 0; }
.inst-boton { display: inline-flex; padding: .8rem 1.5rem; border-radius: 999px; font-weight: 700; text-decoration: none; color: #fff; background: rgba(173,137,239,.35); border: 1px solid #cdb9ff; transition: box-shadow .25s ease, transform .25s ease; }
.inst-boton:hover, .inst-boton:focus-visible { box-shadow: 0 0 24px #ad89ef; transform: translateY(-2px); outline: none; }
.inst-boton-sec { background: rgba(78,219,211,.2); border-color: #4edbd3; }

@media (max-width: 640px) {
    .inst-panel { padding: 1.3rem 1.2rem; }
    .inst-logo-fila { grid-template-columns: 1fr; justify-items: center; text-align: center; }
}
