/* Web 2 extensions share the approved CMCS tokens; no second palette. */
.revision { display: none !important; }
.utilidad__fila { min-height: 3.25rem; gap: 1.5rem; }
.utilidad__linea { color: #fff; font-weight: 600; }
.utilidad a.utilidad__tel { color: #fff; font-size: 1rem; font-weight: 700; text-decoration: underline; text-underline-offset: .2em; }
.utilidad a.utilidad__extra:not(.utilidad__app) { display: inline-flex; align-items: center; min-height: 2.25rem; padding: .3rem .9rem; border: 1px solid var(--oro); border-radius: var(--radio-cta); color: #fff; font-weight: 700; text-decoration: none; }
.utilidad a.utilidad__extra:not(.utilidad__app):hover { background: var(--oro); color: var(--marino); }
html:has(.menu[open]) { overflow: hidden; }
.menu[open] { box-sizing: border-box; width: 100%; height: 100dvh; max-height: 100dvh; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; grid-template-rows: max-content max-content max-content; align-content: start; gap: 1rem; padding-block: 1rem 1.5rem; }
.menu__cabeza { position: sticky; top: -1rem; z-index: 1; padding-block: .25rem 1rem; background: var(--marino-hondo); }
.menu__marca { width: min(11rem, 52vw); }
.menu__nav { min-height: 0; overflow: visible; }
.menu__lista a { padding-block: .7rem; font-size: 1.125rem; line-height: 1.25; letter-spacing: 0; }
.menu__pie { gap: .85rem; }
.menu__dato { gap: .35rem; }
.menu__dato a { font-size: 1.125rem; }
@media (max-width: 75rem) {
  .nav { display: none; }
  .llave { display: inline-flex; }
}
:is(.cliente-migrado, .cliente-documento, .cliente-aviso) { font-family: var(--fuente-texto); letter-spacing: 0; }
:is(.cliente-migrado, .cliente-documento, .cliente-aviso) * { box-sizing: border-box; letter-spacing: 0; }
.cliente-migrado, .cliente-documento { background: var(--lana-clara); color: var(--tinta); padding-block: 4.5rem 5rem; }
:is(.cliente-migrado, .cliente-documento) .lienzo { width: min(var(--ancho-max), calc(100% - 6rem)); margin-inline: auto; }
.cliente-migrado__cabeza, .cliente-documento__cabeza { display: grid; justify-items: center; gap: 1.3rem; text-align: center; margin: 0 auto 4rem; max-width: 68rem; }
.cliente-migrado__antetitulo { margin: 0; color: var(--ceruleo-hondo); font-size: .75rem; font-weight: 700; text-transform: uppercase; }
.cliente-migrado__titulo, .cliente-documento__cabeza h1 { margin: 0; max-width: 24ch; font-size: 3.5rem; line-height: 1.08; font-weight: var(--peso-titular); color: var(--marino); text-wrap: balance; overflow-wrap: anywhere; }
.cliente-migrado__entrada { margin: 0; max-width: 64ch; color: var(--tinta-suave); font-size: 1.0625rem; line-height: 1.7; text-wrap: pretty; }
.cliente-migrado__cabeza::after, .cliente-documento__cabeza::after { content: ""; width: 4rem; height: 3px; background: var(--ceruleo); margin-top: .8rem; }
.cliente-bloque { padding-block: 3rem; border-top: 1px solid var(--lana-honda); }
.cliente-bloque__cabeza { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .85fr); gap: 2rem; align-items: start; margin-bottom: 2rem; }
.cliente-bloque__cabeza:has(> div:empty) { grid-template-columns: 1fr; }
.cliente-bloque__cabeza > div:empty { display: none; }
.cliente-bloque__titulo { margin: 0; color: var(--marino); font-size: 2rem; font-weight: var(--peso-titular); line-height: 1.16; text-wrap: balance; }
.cliente-bloque__texto { margin: 0; color: var(--tinta-suave); font-size: 1rem; line-height: 1.7; }
.cliente-bloque__fuente { margin: 1rem 0 0; padding-left: .8rem; border-left: 2px solid var(--ceruleo); color: var(--tinta-suave); font-size: .75rem; line-height: 1.5; }
html:not([data-modo="revision"]) .cliente-migrado [data-solo="revision"] { display: none; }
.cliente-grilla { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.cliente-ficha { position: relative; display: flex; flex-direction: column; min-width: 0; background: #fff; border: 1px solid var(--lana-honda); border-radius: 8px; color: var(--tinta); text-decoration: none; overflow: hidden; }
.cliente-ficha__interior { position: relative; display: flex; flex: 1; flex-direction: column; gap: .9rem; min-width: 0; padding: 1.65rem; }
.cliente-ficha[href] { transition: border-color var(--dur-media) var(--sale), box-shadow var(--dur-media) var(--sale), transform var(--dur-media) var(--sale); }
.cliente-ficha[href]:hover { border-color: var(--ceruleo); box-shadow: 0 12px 30px #2a2e6810; transform: translateY(-3px); }
.cliente-ficha[href] .cliente-ficha__interior { padding-bottom: 4.4rem; }
.cliente-ficha__numero { align-self: flex-start; display: grid; place-items: center; width: 2.65rem; height: 2.65rem; border-radius: 50%; color: var(--ceruleo-hondo); background: var(--campo-cielo); font-size: .85rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.cliente-ficha__flecha { position: absolute; right: 1.5rem; bottom: 1.35rem; display: grid; place-items: center; width: 2.35rem; height: 2.35rem; border: 1px solid var(--lana-honda); border-radius: 50%; color: var(--marino); font-size: 1.25rem; transition: background var(--dur-corta), color var(--dur-corta); }
.cliente-ficha[href]:hover .cliente-ficha__flecha { color: #fff; background: var(--marino); border-color: var(--marino); }
.cliente-ficha__meta { color: var(--ceruleo-hondo); font-size: .75rem; font-weight: 700; text-transform: uppercase; line-height: 1.5; }
.cliente-ficha__titulo { margin: 0; font-size: 1.25rem; font-weight: 600; line-height: 1.3; color: var(--marino); overflow-wrap: anywhere; }
.cliente-ficha__texto { margin: 0; font-size: .9rem; line-height: 1.65; color: var(--tinta-suave); }
.cliente-ficha__insignia { align-self: flex-start; margin-top: auto; padding-left: .7rem; border-left: 2px solid var(--ceruleo); color: var(--tinta-suave); font-size: .75rem; line-height: 1.5; }
.cliente-ficha__media { aspect-ratio: 4 / 3; overflow: hidden; background: var(--campo-cielo); }
.cliente-ficha__imagen { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-media) var(--sale); }
.cliente-ficha[href]:hover .cliente-ficha__imagen { transform: scale(1.025); }
.cliente-bloque--uniform .cliente-ficha__media { aspect-ratio: 1; background: #fff; }
.cliente-bloque--uniform .cliente-ficha__imagen, .cliente-grilla--months .cliente-ficha__imagen { object-fit: contain; }
.cliente-ficha__pendiente { display: grid; place-items: center; text-align: center; padding: 2rem; color: var(--tinta-suave); font-size: .875rem; line-height: 1.65; border-bottom: 1px dashed var(--lana-honda); background: var(--lana) !important; }
.cliente-ficha--pendiente { background: transparent; border-style: dashed; }
.cliente-grilla--documents { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cliente-grilla--documents .cliente-ficha__interior { padding-left: 5.5rem; min-height: 13rem; }
.cliente-grilla--documents .cliente-ficha__numero { position: absolute; left: 1.5rem; top: 1.65rem; }
.cliente-grilla--grades, .cliente-grilla--months { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cliente-grilla--months .cliente-ficha__media { aspect-ratio: 1500 / 1159; border-bottom: 1px solid var(--lana-honda); }
.cliente-grilla--months .cliente-ficha__titulo { font-size: 1.0625rem; }
.cliente-grilla--news .cliente-ficha { border-top: 3px solid var(--ceruleo); }
.cliente-grilla--news .cliente-ficha__interior { min-height: 17rem; }
.cliente-grilla--news .cliente-ficha:nth-child(3n + 2) { background: var(--campo-cielo); }
.cliente-grilla--chips { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--lana-honda); }
.cliente-grilla--chips .cliente-ficha { background: transparent; border: 0; border-bottom: 1px solid var(--lana-honda); border-radius: 0; }
.cliente-grilla--chips .cliente-ficha__titulo { font-size: 1rem; }
.cliente-grilla--timeline { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
.cliente-grilla--timeline .cliente-ficha { border: 0; border-top: 2px solid var(--ceruleo); border-radius: 0; background: transparent; }
.cliente-grilla--timeline .cliente-ficha__meta { font-size: 2.25rem; font-weight: 500; color: var(--marino); }
.cliente-grilla--timeline .cliente-ficha__numero { display: none; }
.cliente-grilla--institution-links { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; }
.cliente-grilla--institution-links .cliente-ficha { border-color: var(--campo-cielo); background: #fff; }
.cliente-grilla--institution-links .cliente-ficha__media { aspect-ratio: 16 / 9; background: var(--marino); }
.cliente-grilla--institution-links .cliente-ficha__imagen { object-fit: cover; }
.cliente-grilla--institution-links .cliente-ficha:nth-child(3) .cliente-ficha__imagen { object-fit: contain; padding: 2.25rem; }
.cliente-grilla--institution-links .cliente-ficha__interior { min-height: 11rem; padding: 1.5rem; }
.cliente-grilla--institution-links .cliente-ficha__titulo { font-size: 1.35rem; }
.cliente-grilla--institution-links .cliente-ficha__flecha { color: #fff; background: var(--marino); border-color: var(--marino); }
.cliente-grilla--institution-links .cliente-ficha:hover .cliente-ficha__flecha { background: var(--ceruleo-hondo); border-color: var(--ceruleo-hondo); }
.cliente-grilla--institution-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2.5rem; }
.cliente-grilla--institution-timeline .cliente-ficha { overflow: visible; border: 0; border-left: 2px solid var(--campo-cielo); border-radius: 0; background: transparent; }
.cliente-grilla--institution-timeline .cliente-ficha::before { content: ""; position: absolute; top: 2.25rem; left: -.44rem; width: .75rem; height: .75rem; border-radius: 50%; background: var(--ceruleo); }
.cliente-grilla--institution-timeline .cliente-ficha__interior { padding: 1.4rem 1.5rem 2rem; }
.cliente-grilla--institution-timeline .cliente-ficha__meta { font-size: 2rem; line-height: 1; color: var(--marino); }
.cliente-grilla--institution-timeline .cliente-ficha__titulo { font-size: 1.125rem; }
.cliente-grilla--institution-values { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 1.5rem; }
.cliente-grilla--institution-values .cliente-ficha { border: 0; border-bottom: 1px solid var(--lana-honda); border-radius: 0; background: transparent; }
.cliente-grilla--institution-values .cliente-ficha__interior { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); align-items: center; gap: .85rem; padding: 1rem .25rem; }
.cliente-valor__icono { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; color: var(--marino); background: var(--campo-cielo); font-size: 1.25rem; font-weight: 700; line-height: 1; }
.cliente-grilla--institution-values .cliente-ficha__titulo { font-size: 1rem; }
.cliente-grilla--institution-symbols { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 0 2.5rem; }
.cliente-grilla--institution-symbols .cliente-ficha { border: 0; border-bottom: 1px solid var(--lana-honda); border-radius: 0; background: transparent; }
.cliente-grilla--institution-symbols .cliente-ficha:first-child { grid-row: span 3; border: 1px solid var(--campo-cielo); border-radius: 8px; background: #fff; overflow: hidden; }
.cliente-grilla--institution-symbols .cliente-ficha:first-child .cliente-ficha__media { aspect-ratio: 1; background: var(--campo-cielo); }
.cliente-grilla--institution-symbols .cliente-ficha:first-child .cliente-ficha__imagen { object-fit: contain; padding: 1rem; }
.cliente-grilla--institution-symbols .cliente-ficha__interior { padding: 1.25rem .25rem; }
.cliente-grilla--institution-symbols .cliente-ficha:first-child .cliente-ficha__interior { padding: 1.5rem; }
.cliente-grilla--institution-organs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2rem; }
.cliente-grilla--institution-organs .cliente-ficha { border: 0; border-bottom: 1px solid var(--lana-honda); border-radius: 0; background: transparent; }
.cliente-grilla--institution-organs .cliente-ficha__interior { padding: 1.4rem 0; }
.cliente-grilla--institution-organs .cliente-ficha__titulo { padding-left: 1rem; border-left: 3px solid var(--ceruleo); }
.cliente-bloque--institution-prose .cliente-bloque__cabeza { grid-template-columns: minmax(0, .55fr) minmax(0, 1fr); align-items: baseline; margin-bottom: 0; }
.cliente-bloque--institution-prose .cliente-bloque__texto { font-size: 1.125rem; }
.cliente-ficha__acciones { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: auto; }
.cliente-accion { display: inline-flex; align-items: center; justify-content: center; gap: 1rem; min-height: 48px; max-width: 100%; margin-top: 1.25rem; padding: .85rem 1.5rem; border: 1px solid var(--marino); border-radius: var(--radio-cta); color: #fff; background: var(--marino); font-size: .875rem; font-weight: 600; text-decoration: none; text-align: center; overflow-wrap: anywhere; transition: background var(--dur-corta); }
.cliente-accion:hover { background: var(--ceruleo-hondo); border-color: var(--ceruleo-hondo); }
.cliente-accion--secundaria { color: var(--marino); background: transparent; }
.cliente-accion--secundaria:hover { color: #fff; }
:is(.cliente-migrado, .cliente-documento, .cliente-aviso) :is(a, button, input, select, textarea):focus-visible { outline: 3px solid var(--ceruleo); outline-offset: 4px; }
.cliente-contacto { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; max-width: 58rem; }
.cliente-contacto label { display: grid; gap: .65rem; color: var(--marino); font-size: .875rem; font-weight: 600; }
.cliente-contacto :is(input, select, textarea) { width: 100%; min-height: 48px; padding: .9rem 1rem; border: 1px solid var(--lana-honda); border-radius: 8px; background: #fff; color: var(--tinta); font: inherit; }
.cliente-contacto textarea { min-height: 150px; resize: vertical; }
.cliente-contacto__ancho { grid-column: 1 / -1; }
.cliente-contacto__consentimiento { display: flex !important; flex-direction: row; align-items: start; font-weight: 400 !important; line-height: 1.6; }
.cliente-contacto__consentimiento input { flex: 0 0 20px; width: 20px; min-height: 20px; margin-top: .15rem; accent-color: var(--marino); }
.cliente-contacto__acciones { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.cliente-contacto__acciones button { min-height: 48px; padding: .85rem 1.75rem; border: 0; border-radius: var(--radio-cta); background: var(--marino); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.cliente-contacto__acciones button:disabled { cursor: wait; opacity: .65; }
.cliente-contacto__acciones p { margin: 0; color: var(--tinta-suave); line-height: 1.5; }
.cliente-contacto__trampa { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
.cliente-documento__fecha { margin: 0; color: var(--ceruleo-hondo); font-size: .875rem; font-weight: 600; }
.cliente-documento__contenido { max-width: 54rem; margin-inline: auto; padding-top: 0; color: var(--tinta-suave); font-size: 1rem; line-height: 1.8; overflow-wrap: anywhere; }
.cliente-documento__contenido > * { max-width: 48rem; margin-inline: auto; }
.cliente-documento__contenido :is(h2,h3) { margin-top: 2.5rem; color: var(--marino); font-size: 1.75rem; font-weight: 600; line-height: 1.25; }
.cliente-documento__contenido img { display: block; width: auto; max-width: 100%; height: auto; margin: 1.5rem auto; border-radius: 8px; }
.cliente-documento__contenido a { color: var(--ceruleo-hondo); font-weight: 600; text-underline-offset: .25em; }
.cliente-documento__contenido :is(audio,video) { max-width: 100%; }
.cliente-documento__contenido figure:has(table) { width: 100%; max-width: 54rem; margin-block: 2rem; overflow-x: auto; border: 1px solid var(--lana-honda); border-radius: 8px; background: #fff; box-shadow: 0 12px 28px #14161c0a; }
.cliente-documento__contenido table { width: 100%; min-width: 650px; border-collapse: collapse; }
.cliente-documento__contenido :is(th,td) { min-width: 8rem; padding: 1rem 1.25rem; border: 0; border-bottom: 1px solid var(--lana-honda); vertical-align: top; text-align: left; }
.cliente-documento__contenido :is(th,td):first-child { min-width: 14rem; }
.cliente-documento__contenido th { background: var(--marino); color: #fff; font-size: .85rem; font-weight: 700; }
.cliente-documento__contenido tr:first-child:has([colspan]) td { background: var(--marino); color: #fff; font-size: .85rem; font-weight: 700; }
.cliente-documento__contenido blockquote { padding: 1.5rem 2rem; border-left: 3px solid var(--ceruleo); background: var(--campo-cielo); color: var(--marino); }
.cliente-documento__contenido > :is(p,ul,ol) { font-size: 1.0625rem; line-height: 1.85; }
.cliente-documento__contenido > p:first-child { color: var(--marino); font-size: 1.2rem; }
.cliente-documento__contenido tr:nth-child(even) td { background: var(--campo-cielo); }
.cliente-documento__descarga { display: flex; justify-content: center; padding-top: 2rem; }
.cliente-documento__descarga .cliente-accion { min-width: min(100%, 20rem); }

/* Shared editorial polish for the recovered pages. */
.cliente-migrado__cabeza, .cliente-documento__cabeza { justify-items: start; text-align: left; margin-inline: 0; max-width: 62rem; }
.cliente-migrado__titulo, .cliente-documento__cabeza h1 { max-width: 30ch; }
.cliente-documento__contenido { margin-inline: 0; max-width: 70rem; }
.cliente-documento__contenido > * { margin-inline: 0; }
.cliente-documento__contenido :is(p,li) { text-align: left; }
.cliente-documento__contenido a.cliente-pdf { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; margin: .45rem .65rem .45rem 0; padding: .55rem 1rem; border: 1px solid var(--ceruleo); border-radius: var(--radio-cta); background: #fff; color: var(--marino); font-size: .875rem; line-height: 1.45; text-decoration: none; overflow-wrap: anywhere; }
.cliente-documento__contenido a.cliente-pdf::before { content: "PDF"; flex: 0 0 auto; margin-right: .65rem; padding: .15rem .3rem; border-radius: 2px; background: var(--marino); color: #fff; font-size: .6rem; letter-spacing: 0; }
.cliente-documento__contenido a.cliente-pdf:hover { background: var(--campo-cielo); border-color: var(--marino); }
.cliente-documento__descarga { justify-content: flex-start; }
.cliente-grilla--links:has(.cliente-ficha:not([href])) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cliente-grilla--links .cliente-ficha:not([href]) { border-top: 4px solid var(--ceruleo); background: #fff; }
.cliente-grilla--links .cliente-ficha:not([href]):nth-child(3n + 2) { border-top-color: var(--oro); background: var(--campo-cielo); }
.cliente-grilla--links .cliente-ficha:not([href]) .cliente-ficha__interior { min-height: 12rem; }
.cliente-grilla--links .cliente-ficha:not([href]) .cliente-ficha__numero { border-radius: 4px; }
.cliente-bloque--circular .cliente-ficha, .cliente-grilla--documents .cliente-ficha { border-left: 3px solid var(--ceruleo); }
.cliente-bloque--circular .cliente-ficha:nth-child(even) { border-left-color: var(--oro); }
.cliente-bloque--gallery .cliente-grilla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cliente-bloque--gallery .cliente-ficha__media { aspect-ratio: 16 / 10; }
.cliente-bloque--gallery .cliente-ficha__titulo { font-size: 1.35rem; }
.cliente-bloque--uniform .cliente-ficha { background: #fff; border-color: var(--campo-cielo); }
.cliente-bloque--uniform .cliente-ficha__media { padding: 1rem; }
.cliente-bloque--uniform .cliente-ficha__interior { border-top: 3px solid var(--ceruleo); }
.cliente-grilla--grades .cliente-ficha { border-top: 4px solid var(--ceruleo); background: linear-gradient(145deg, #fff 65%, var(--campo-cielo)); }
.cliente-grilla--grades .cliente-ficha:nth-child(4n + 2) { border-top-color: var(--oro); }
.cliente-grilla--grades .cliente-ficha__numero { width: 3.2rem; height: 3.2rem; color: #fff; background: var(--marino); font-size: 1rem; }
.cliente-grilla--grades .cliente-ficha__interior { min-height: 14rem; }
.cliente-bloque--contact { border-top: 0; padding-top: 0; }
.cliente-bloque--contact .cliente-bloque__titulo { margin-bottom: 1.5rem; }
.cliente-contacto { max-width: none; gap: 1.25rem; padding: 2rem; border-top: 4px solid var(--ceruleo); border-radius: 8px; background: #fff; box-shadow: 0 15px 40px #14161c0c; }
.cliente-contacto :is(input, select, textarea):focus { border-color: var(--ceruleo); }
.cliente-contacto__acciones button:hover { background: var(--ceruleo-hondo); }
.cliente-redes { display: flex; flex-wrap: wrap; gap: 1.5rem; margin-top: 1.5rem; }
.cliente-redes a { display: inline-flex; align-items: center; gap: .7rem; min-height: 48px; padding-bottom: .25rem; border-bottom: 2px solid var(--lana-honda); color: var(--marino); text-decoration: none; }
.cliente-redes a:hover { border-color: var(--ceruleo); }
.cliente-redes a > span:nth-child(2) { display: grid; gap: .1rem; }
.cliente-redes small { color: var(--tinta-suave); font-size: .7rem; }
.cliente-redes__icono { display: grid; place-items: center; width: 2.35rem; height: 2.35rem; border-radius: 50%; background: var(--marino); color: #fff; font-size: 1.2rem; font-weight: 700; }
.cliente-galeria__volver { color: var(--ceruleo-hondo); font-weight: 700; text-decoration: none; }
.cliente-galeria { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.cliente-galeria__foto { display: grid; padding: 0; border: 1px solid var(--lana-honda); border-radius: 8px; background: #fff; color: var(--marino); text-align: left; overflow: hidden; cursor: pointer; transition: transform var(--dur-media) var(--sale), box-shadow var(--dur-media) var(--sale); }
.cliente-galeria__foto:hover { transform: translateY(-3px); box-shadow: 0 12px 30px #2a2e681a; }
.cliente-galeria__foto img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.cliente-galeria__foto span { padding: 1rem; font-weight: 600; }
.cliente-galeria__visor { width: min(900px, calc(100% - 24px)); max-height: calc(100dvh - 24px); padding: 1rem; border: 0; border-radius: 8px; background: #fff; color: var(--marino); box-shadow: 0 20px 70px #1118; }
.cliente-galeria__visor::backdrop { background: #14161cbd; }
.cliente-galeria__visor img { display: block; max-width: 100%; max-height: calc(100dvh - 155px); margin: auto; object-fit: contain; }
.cliente-galeria__visor p { margin: .75rem 3rem 0 0; font-weight: 600; }
.cliente-galeria__cerrar { position: absolute; top: 1rem; right: 1rem; width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--marino); color: #fff; font-size: 1.5rem; cursor: pointer; }
.cliente-galeria__controles { display: flex; justify-content: end; gap: .5rem; }
.cliente-galeria__controles button { width: 44px; height: 44px; border: 1px solid var(--marino); border-radius: 50%; background: #fff; color: var(--marino); cursor: pointer; }
.cliente-galeria__controles button:hover { background: var(--marino); color: #fff; }
.cliente-calendario { padding: 1.75rem; border-left: 4px solid var(--oro); border-radius: 8px; background: #fff; }
.cliente-calendario__periodo { margin: 0 0 1.5rem; color: var(--ceruleo-hondo); font-size: .8rem; font-weight: 700; text-transform: uppercase; }
.cliente-calendario h3 { margin: 1.5rem 0 .75rem; color: var(--marino); font-size: 1.2rem; }
.cliente-calendario p { margin: .5rem 0; color: var(--tinta-suave); }
.cliente-calendario ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.cliente-calendario li { display: flex; align-items: baseline; gap: 1.5rem; padding: .85rem 0; border-top: 1px solid var(--lana-honda); }
.cliente-calendario time { flex: 0 0 5rem; color: var(--ceruleo-hondo); font-weight: 700; }
.cliente-calendario a { color: var(--marino); font-weight: 600; text-underline-offset: .2em; }
.cliente-grilla--months [data-month] { scroll-margin-top: 5rem; }
.cliente-grilla--months .cliente-ficha.es-mes-actual { border: 2px solid var(--ceruleo); box-shadow: 0 8px 24px #2a2e6814; }
.cliente-videos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 1.5rem; }
.cliente-video { min-width: 0; }
.cliente-video__marco { aspect-ratio: 16 / 9; border-radius: 8px; background: var(--marino); overflow: hidden; }
.cliente-video__marco :is(button, iframe) { display: block; width: 100%; height: 100%; border: 0; }
.cliente-video__marco button { position: relative; padding: 0; cursor: pointer; }
.cliente-video__marco img { display: block; width: 100%; height: 100%; object-fit: cover; opacity: .8; transition: opacity var(--dur-corta); }
.cliente-video__marco button:hover img { opacity: 1; }
.cliente-video__marco button span { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 3.5rem; height: 3.5rem; border-radius: 50%; background: #fff; color: var(--marino); font-size: 1.15rem; transform: translate(-50%, -50%); }
.cliente-video h3 { margin: .85rem 0 .4rem; color: var(--marino); font-size: 1rem; line-height: 1.4; }
.cliente-video > a { color: var(--ceruleo-hondo); font-size: .8rem; font-weight: 700; text-underline-offset: .2em; }

/* One shared notice, with the approved mascot and pill-shaped actions. */
html.cliente-aviso-abierto { overflow: hidden; }
.cliente-aviso { width: min(960px, calc(100% - 48px)); max-height: calc(100dvh - 40px); padding: 0; border: 1px solid #ffffff50; border-radius: 24px; background: var(--marino); color: #fff; box-shadow: 0 28px 100px #14161c55; }
.cliente-aviso::backdrop { background: #14161c99; backdrop-filter: blur(8px); }
.cliente-aviso__interior { position: relative; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(180px, .8fr); align-items: center; gap: 2rem; padding: 3.25rem; background: linear-gradient(125deg, var(--marino) 0 59%, var(--ceruleo-hondo) 100%); }
.cliente-aviso__contenido { position: relative; z-index: 1; min-width: 0; }
.cliente-aviso__rotulo { margin: 0 0 1.15rem; color: #b7e5fa; font-size: .75rem; font-weight: 700; text-transform: uppercase; }
.cliente-aviso__titulo { margin: 0; max-width: 17ch; color: #fff; font-size: 2.65rem; font-weight: var(--peso-titular); line-height: 1.12; text-wrap: balance; overflow-wrap: anywhere; }
.cliente-aviso__texto { margin: 1.4rem 0 0; max-width: 42ch; color: #e0e4f5; font-size: 1rem; line-height: 1.7; }
.cliente-aviso__acciones { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.cliente-aviso__acciones :is(a,button) { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .85rem 1.4rem; border: 1px solid #ffffff70; border-radius: var(--radio-cta); background: #fff; color: var(--marino); font: inherit; font-size: .875rem; font-weight: 600; text-align: center; text-decoration: none; cursor: pointer; }
.cliente-aviso__acciones button { background: transparent; color: #fff; }
.cliente-aviso__acciones :is(a,button):hover { background: var(--campo-cielo); color: var(--marino); }
.cliente-aviso__cerrar { position: absolute; z-index: 2; top: 1rem; right: 1rem; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #ffffff60; border-radius: 50%; background: transparent; color: #fff; cursor: pointer; font: inherit; font-size: 1.7rem; line-height: 1; }
.cliente-aviso__cerrar:hover { background: #ffffff20; }
.cliente-aviso__mascota { display: grid; align-self: stretch; align-items: end; padding: 1rem 0 0; border-radius: 8px; background: #ffffff16; overflow: hidden; }
.cliente-aviso__mascota img { display: block; width: 100%; height: auto; filter: drop-shadow(0 15px 10px #14161c30); }
.cliente-aviso[open] .cliente-aviso__interior { animation: cliente-entrada .4s var(--sale) both; }
@keyframes cliente-entrada { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (max-width: 1000px) {
  .cliente-grilla--institution-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cliente-migrado__titulo, .cliente-documento__cabeza h1 { font-size: 2.75rem; }
  .cliente-grilla--grades, .cliente-grilla--months { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cliente-aviso__interior { grid-template-columns: minmax(0, 1fr) 180px; padding: 3.5rem 2.5rem; }
}
@media (max-width: 760px) {
  .cliente-bloque--institution-prose .cliente-bloque__cabeza { grid-template-columns: 1fr; }
  .utilidad a.utilidad__extra:not(.utilidad__app) { display: none; }
  :is(.cliente-migrado, .cliente-documento) .lienzo { width: calc(100% - 40px); }
  .cliente-bloque__cabeza { grid-template-columns: 1fr; gap: 1rem; }
  .cliente-grilla, .cliente-grilla--grades, .cliente-grilla--months, .cliente-grilla--chips, .cliente-grilla--timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cliente-grilla--institution-links { grid-template-columns: 1fr; }
  .cliente-grilla--institution-timeline, .cliente-grilla--institution-values, .cliente-grilla--institution-symbols, .cliente-grilla--institution-organs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cliente-grilla--links:has(.cliente-ficha:not([href])), .cliente-bloque--gallery .cliente-grilla, .cliente-galeria { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cliente-videos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cliente-aviso { width: min(470px, calc(100% - 24px)); border-radius: 24px; }
  .cliente-aviso__interior { display: flex; flex-direction: column; gap: 1.25rem; padding: 3.5rem 1.6rem 1.6rem; }
  .cliente-aviso__contenido { width: 100%; }
  .cliente-aviso__titulo { font-size: 2rem; }
  .cliente-aviso__texto { font-size: .9375rem; margin-top: 1rem; }
  .cliente-aviso__acciones { margin-top: 1.4rem; }
  .cliente-aviso__acciones :is(a,button) { flex: 1 1 auto; }
  .cliente-aviso__mascota { position: absolute; top: .7rem; right: 4.2rem; width: 60px; height: 72px; padding: 0; background: transparent; opacity: .9; }
}
@media (max-width: 520px) {
  .cliente-migrado, .cliente-documento { padding-block: 3rem; }
  .cliente-migrado__cabeza, .cliente-documento__cabeza { margin-bottom: 2.5rem; }
  .cliente-migrado__titulo, .cliente-documento__cabeza h1 { font-size: 2.125rem; }
  .cliente-migrado__entrada { font-size: .9375rem; }
  .cliente-bloque { padding-block: 2rem; }
  .cliente-bloque__titulo { font-size: 1.625rem; }
  .cliente-grilla, .cliente-grilla--grades, .cliente-grilla--months, .cliente-grilla--timeline { grid-template-columns: 1fr; }
  .cliente-grilla--institution-timeline, .cliente-grilla--institution-symbols, .cliente-grilla--institution-organs { grid-template-columns: 1fr; }
  .cliente-grilla--institution-symbols .cliente-ficha:first-child { grid-row: auto; }
  .cliente-grilla--institution-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cliente-grilla--links:has(.cliente-ficha:not([href])), .cliente-bloque--gallery .cliente-grilla, .cliente-galeria { grid-template-columns: 1fr; }
  .cliente-videos { grid-template-columns: 1fr; }
  .cliente-contacto { padding: 1.25rem; }
  .cliente-grilla--chips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cliente-grilla--documents .cliente-ficha__interior { padding-left: 4.75rem; }
  .cliente-grilla--documents .cliente-ficha__numero { left: 1rem; }
  .cliente-contacto { grid-template-columns: 1fr; }
  .cliente-contacto > * { grid-column: 1; }
  .cliente-accion { padding-inline: 1.1rem; }
}
@media (max-width: 480px) {
  .cliente-grilla--institution-values { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .cliente-ficha[href], .cliente-ficha__imagen, .cliente-ficha__flecha { transition: none; }
  .cliente-ficha[href]:hover, .cliente-ficha[href]:hover .cliente-ficha__imagen { transform: none; }
  .cliente-aviso[open] .cliente-aviso__interior { animation: none; }
}

/* 2026-10-29: álbumes de la galería (portada -> miniaturas -> visor) y calendario de Google */
.cliente-galeria[hidden], .cliente-galeria__album[hidden] { display: none; }
.cliente-galeria__foto small { padding: 0 1rem 1rem; color: var(--tinta-suave); font-size: .85rem; }
.cliente-galeria__album-cabeza { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem 1rem; margin-bottom: 1rem; }
.cliente-galeria__album-cabeza h3 { margin: 0; color: var(--marino); font-size: 1.3rem; }
.cliente-galeria__album-cabeza [data-conteo] { color: var(--tinta-suave); font-size: .9rem; }
.cliente-galeria__todos { margin-left: auto; padding: .5rem .9rem; border: 1px solid var(--marino); border-radius: 999px; background: #fff; color: var(--marino); font-weight: 700; cursor: pointer; }
.cliente-galeria__todos:hover { background: var(--marino); color: #fff; }
.cliente-galeria__miniaturas { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .5rem; }
.cliente-galeria__miniaturas button { padding: 0; border: 0; border-radius: 6px; overflow: hidden; background: var(--lana-honda); cursor: pointer; }
.cliente-galeria__miniaturas img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; transition: transform var(--dur-media) var(--sale); }
.cliente-galeria__miniaturas button:hover img, .cliente-galeria__miniaturas button:focus-visible img { transform: scale(1.04); }
.cliente-calendario__google { display: block; width: 100%; height: 560px; border: 0; border-radius: 8px; background: #fff; }
.cliente-calendario__enlaces a { color: var(--ceruleo-hondo); font-weight: 700; }
@media (max-width: 640px) { .cliente-galeria__miniaturas { grid-template-columns: repeat(3, 1fr); gap: .35rem; } .cliente-calendario__google { height: 480px; } }

/* 2026-10-29: Nuestras instalaciones, con las fotos de cada espacio y el visor de la galería */
.cliente-galeria__controles[hidden] { display: none; }
.cliente-espacios__indice { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1.5rem; padding: 0; list-style: none; }
.cliente-espacios__indice a { display: inline-flex; align-items: center; min-height: 44px; padding: .45rem 1rem; border: 1px solid var(--lana-honda); border-radius: 999px; background: #fff; color: var(--marino); font-size: .9rem; font-weight: 600; text-decoration: none; }
.cliente-espacios__indice a:hover { border-color: var(--ceruleo); background: var(--campo-cielo); }
.cliente-espacio { padding-block: 2.5rem; border-top: 1px solid var(--lana-honda); scroll-margin-top: 6rem; }
.cliente-espacio__cabeza { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem 1rem; margin-bottom: 1.25rem; }
.cliente-espacio__cabeza h2 { margin: 0; color: var(--marino); font-size: 1.75rem; font-weight: var(--peso-titular); line-height: 1.2; }
.cliente-espacio__cabeza p { margin: 0; color: var(--tinta-suave); font-size: .9rem; }
.cliente-espacio__fotos { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: .75rem; }
.cliente-espacio__fotos[data-cantidad="1"] { grid-template-columns: minmax(0, 36rem); }
.cliente-espacio__fotos[data-cantidad="2"] { grid-template-columns: repeat(2, minmax(0, 28rem)); }
.cliente-espacio__foto { position: relative; display: block; padding: 0; border: 0; border-radius: 8px; background: var(--lana-honda); overflow: hidden; cursor: pointer; }
.cliente-espacio__foto img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: cover; transition: transform var(--dur-media) var(--sale); }
.cliente-espacio__foto:hover img, .cliente-espacio__foto:focus-visible img { transform: scale(1.03); }
.cliente-espacio__foto span { position: absolute; inset: auto 0 0; padding: 1.75rem .85rem .6rem; background: linear-gradient(transparent, #14161cd9); color: #fff; font-size: .85rem; font-weight: 600; text-align: left; }
@media (max-width: 640px) {
  .cliente-espacio { padding-block: 2rem; }
  .cliente-espacio__cabeza h2 { font-size: 1.4rem; }
  .cliente-espacio__fotos, .cliente-espacio__fotos[data-cantidad="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
  .cliente-espacio__fotos[data-cantidad="1"] { grid-template-columns: 1fr; }
  .cliente-espacio__foto span { padding: 1.25rem .6rem .45rem; font-size: .75rem; }
}
@media (prefers-reduced-motion: reduce) { .cliente-espacio__foto img { transition: none; } .cliente-espacio__foto:hover img, .cliente-espacio__foto:focus-visible img { transform: none; } }
