/*
 * Lume Digital · «Encendido» · páginas compuestas: servicios, índice, Cómo trabajamos y Nosotros (prototipos aprobados
 * encendido-interiores/, B10). Se carga solo con la plantilla «Página compuesta».
 */

/* Plano del hero (versión ampliada del recurso de la portada). */
.plano-hero { justify-self: end; width: 100%; max-width: 30rem; overflow: visible; }
.plano-hero .plano__trazo { fill: none; stroke: rgba(139, 234, 140, .55); stroke-width: 1; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 0; }
.plano-hero .plano__titulo { stroke: rgba(232, 238, 233, .85); stroke-width: 4; stroke-linecap: round; }
.plano-hero .plano__boton { fill: rgba(87, 214, 90, .8); stroke: none; filter: drop-shadow(0 0 10px rgba(87, 214, 90, .7)); }
.plano-hero .plano__punto { fill: rgba(139, 234, 140, .45); }
.plano-hero .plano__cota-linea { stroke: rgba(154, 167, 158, .4); }
.plano-hero .plano__cota { fill: var(--tenue); font: 500 7px "Mona Sans", system-ui, sans-serif; }
@keyframes trazar { from { stroke-dashoffset: 1; } }
@media (prefers-reduced-motion: no-preference) {
	.js .plano-hero .plano__trazo { animation: trazar 1.8s var(--ease) both; animation-delay: calc(.5s + var(--d, 0s)); }
	.js .plano-hero .plano__titulo { --d: .4s; }
	.js .plano-hero .plano__boton { animation: aparecer .8s var(--ease) 1.8s both; }
	.js .plano-hero .plano__punto, .js .plano-hero .plano__cota { animation: aparecer .6s var(--ease) 1.2s both; }
}
@media (max-width: 63.99em) { .plano-hero { order: -1; justify-self: start; max-width: 16rem; margin-bottom: -1rem; } }

/* Síntomas que el visitante marca (con JavaScript cada frase es un botón). */
.is-style-lume-sintomas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; margin: 0; padding: 0 !important; list-style: none; }
.is-style-lume-sintomas li { margin: 0 !important; }
.is-style-lume-sintomas li, .sintoma {
	display: flex; align-items: flex-start; gap: .9rem; width: 100%; min-height: 4.2rem; padding: 1.05rem 1.15rem; border: 1px solid var(--linea); border-radius: 16px;
	background: var(--vidrio); color: var(--niebla); font-size: clamp(1.02rem, .95rem + .3vw, 1.18rem); font-weight: 560; line-height: 1.35; text-align: left;
	transition: border-color .3s, background-color .3s, color .3s;
}
.is-style-lume-sintomas li:has(.sintoma) { display: block; min-height: 0; padding: 0; border: 0; background: none; }
.sintoma { cursor: pointer; }
.sintoma:hover { border-color: var(--linea-2); color: var(--bruma); }
.sintoma .luz { width: .8rem; height: .8rem; margin-top: .3em; transition: background-color .35s, box-shadow .35s; }
.sintoma[aria-pressed="true"] { border-color: rgba(255, 182, 72, .5); background: rgba(255, 182, 72, .06); color: var(--bruma); }
.sintoma[aria-pressed="true"] .luz { background: var(--filamento); box-shadow: 0 0 10px var(--filamento), 0 0 22px rgba(255, 182, 72, .45); }
.sintomas__cuenta { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; min-height: 3.2rem; margin: 1.5rem 0 0; color: var(--niebla); }
.sintomas__cuenta b { color: var(--bruma); font-variant-numeric: tabular-nums; }
.lienzo .sintomas__cuenta a { color: var(--clorofila); font-weight: 620; text-decoration: none; }
.lienzo .sintomas__cuenta a:hover { text-decoration: underline; }
@media (max-width: 50em) { .is-style-lume-sintomas { grid-template-columns: minmax(0, 1fr); } }

/* Del plano al sitio: escenario fijo y capas que avanzan con el desplazamiento. */
.construccion { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 2rem 5rem; align-items: start; }
.construccion > * { margin: 0; }
.escenario { position: sticky; top: 6.5rem; }
.is-style-lume-capas { display: grid; margin: 0; padding: 0 !important; list-style: none; }
.capa-paso { display: grid; align-content: center; min-height: 68svh; margin: 0 !important; padding-block: 2rem; color: var(--niebla); font-size: 1.04rem; }
.capa-paso:first-child { align-content: start; min-height: 50svh; padding-top: 22svh; }
.capa-paso__num { display: flex; align-items: center; gap: .6rem; margin: 0 0 .8rem; color: var(--tenue); font-size: .9rem; font-weight: 560; font-stretch: 112%; }
.capa-paso__num i { width: .55rem; height: .55rem; border-radius: 50%; background: var(--apagado); box-shadow: inset 0 0 0 1px var(--linea-2); transition: background-color .4s, box-shadow .4s; }
.capa-paso.on .capa-paso__num, html:not(.js) .capa-paso__num { color: var(--bruma); }
.capa-paso.on .capa-paso__num i, html:not(.js) .capa-paso__num i { background: var(--clorofila); box-shadow: 0 0 10px var(--clorofila); }
.capa-paso strong { display: block; margin-bottom: .9rem; color: var(--bruma); font-size: clamp(1.7rem, 1.1rem + 1.8vw, 2.7rem); font-weight: 740; font-stretch: 118%; line-height: 1.02; letter-spacing: -.03em; transition: color .5s; }
.js .capa-paso:not(.on) strong { color: rgba(232, 238, 233, .35); }

.obra { position: relative; padding: 1rem; border: 1px solid var(--linea-2); border-radius: 24px; background: rgba(7, 12, 9, .86); box-shadow: 0 40px 100px -40px rgba(0, 0, 0, .95); font-size: clamp(.62rem, .5rem + .35vw, .82rem); }
.obra__marco { overflow: hidden; border: 1px solid var(--linea-2); border-radius: 14px; background: #050806; }
.obra__barra { display: flex; align-items: center; gap: 5px; padding: .55rem .7rem; border-bottom: 1px solid var(--linea); }
.obra__barra i { width: 7px; height: 7px; border-radius: 50%; background: var(--linea-2); }
.obra__url { margin-left: .6rem; padding: .15rem .7rem; border-radius: 999px; background: rgba(232, 238, 233, .05); color: var(--tenue); font-size: .9em; }
.obra__pag { position: relative; display: grid; gap: 1.1em; padding: 1.1em 1.3em 1.4em; transition: background-color .8s; }
.o-blq { position: relative; border: 1px dashed rgba(139, 234, 140, .4); border-radius: 6px; transition: border-color .7s, background-color .7s, border-radius .7s, box-shadow .7s, color .7s; }
.o-blq[data-et]::after { content: attr(data-et); position: absolute; right: .4em; top: .35em; padding: .05em .45em; border-radius: 4px; background: rgba(87, 214, 90, .14); color: var(--clorofila-2); font-size: .82em; font-weight: 600; transition: opacity .5s; }
.o-txt { display: block; opacity: 0; transition: opacity .6s var(--ease), color .7s; transition-delay: var(--td, 0s); }
.o-nav { display: flex; align-items: center; gap: .8em; padding: .5em .6em; }
.o-logo { width: 4.2em; height: 1em; border-radius: 3px; background: rgba(232, 238, 233, .18); transition: background-color .7s; }
.o-nav i { width: 2.8em; height: .45em; border-radius: 3px; background: rgba(232, 238, 233, .12); }
.o-nav i:first-of-type { margin-left: auto; }
.o-cta { padding: .35em .8em; border: 1px dashed rgba(139, 234, 140, .4); border-radius: 5px; color: transparent; font-size: .9em; transition: all .7s; }
.o-hero { display: grid; grid-template-columns: 1.3fr 1fr; gap: 1em; padding: .9em; }
.o-hero__txt { display: grid; align-content: center; gap: .6em; }
.o-t1 { min-height: 2.6em; margin: 0; padding: .3em .4em; color: var(--bruma); font-size: 1.55em; font-weight: 760; font-stretch: 115%; line-height: 1.05; letter-spacing: -.02em; }
.o-t2 { min-height: 1.4em; margin: 0; padding: .3em .4em; color: var(--niebla); }
.o-boton { justify-self: start; min-width: 8.5em; padding: .5em .9em; border: 1px dashed rgba(139, 234, 140, .4); border-radius: 6px; color: var(--sobre-verde); font-weight: 650; transition: all .7s; }
.o-img { min-height: 9em; border: 1px dashed rgba(139, 234, 140, .4); border-radius: 8px; transition: all .9s; }
.o-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6em; }
.o-cards > div { min-height: 4.4em; padding: .6em; font-weight: 620; }
.o-form { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: .6em; padding: .6em; }
.o-form i { height: 1.9em; border: 1px dashed rgba(139, 234, 140, .3); border-radius: 5px; transition: all .7s; }
.o-form .o-enviar { padding: .5em .9em; border: 1px dashed rgba(139, 234, 140, .4); border-radius: 5px; color: transparent; font-weight: 650; transition: all .7s; }
.obra__capa { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: .85rem .2rem 0; color: var(--niebla); font-size: .88rem; }
.obra__capa b { color: var(--bruma); font-weight: 620; }
.obra__puntos { display: flex; gap: 5px; }
.obra__puntos i { width: 18px; height: 3px; border-radius: 2px; background: var(--linea-2); transition: background-color .5s, box-shadow .5s; }
.obra__aviso {
	position: absolute; right: -.8rem; bottom: 4.2rem; display: flex; align-items: center; gap: .5rem; padding: .6rem .9rem; border: 1px solid var(--linea-verde); border-radius: 12px;
	background: rgba(9, 20, 12, .94); color: var(--bruma); font-size: .86rem; font-weight: 600; box-shadow: 0 0 30px -6px rgba(87, 214, 90, .5);
	opacity: 0; translate: 0 10px; transition: opacity .6s var(--ease), translate .6s var(--ease);
}
.obra__aviso::before {
	content: ""; width: 1rem; height: 1rem; border-radius: 50%;
	background: rgba(87, 214, 90, .2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%2357D65A' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / 80% no-repeat;
}
.obra__medida {
	position: absolute; left: -.8rem; top: 38%; display: flex; align-items: flex-end; gap: 4px; height: 3.6rem; padding: .55rem .65rem; border: 1px solid var(--linea-2); border-radius: 12px;
	background: rgba(9, 14, 11, .94); opacity: 0; translate: 0 10px; transition: opacity .6s var(--ease) .15s, translate .6s var(--ease) .15s;
}
.obra__medida i { width: 6px; height: calc(var(--h) * 1%); border-radius: 2px; background: var(--clorofila); box-shadow: 0 0 6px rgba(87, 214, 90, .6); scale: 1 0; transform-origin: bottom; transition: scale .7s var(--ease); transition-delay: calc(var(--k) * 70ms + .3s); }
/* Capa 2 · Mensaje */
.obra:is([data-capa="2"], [data-capa="3"], [data-capa="4"]) .o-txt { opacity: 1; }
.obra:is([data-capa="2"], [data-capa="3"], [data-capa="4"]) .o-blq[data-et]::after { opacity: 0; }
.obra[data-capa="2"] .o-boton .o-txt, .obra[data-capa="2"] .o-cta { color: var(--bruma); }
/* Capa 3 · Diseño */
.obra:is([data-capa="3"], [data-capa="4"]) .o-blq { border-style: solid; border-color: transparent; }
.obra:is([data-capa="3"], [data-capa="4"]) .obra__pag { background: radial-gradient(80% 60% at 85% 20%, rgba(87, 214, 90, .14), transparent 60%); }
.obra:is([data-capa="3"], [data-capa="4"]) .o-logo { background: var(--clorofila); }
.obra:is([data-capa="3"], [data-capa="4"]) .o-img {
	border-color: transparent; border-radius: 12px;
	background: linear-gradient(160deg, rgba(255, 182, 72, 0) 55%, rgba(255, 182, 72, .22)), radial-gradient(70% 60% at 30% 30%, rgba(87, 214, 90, .45), transparent 70%), repeating-linear-gradient(135deg, rgba(232, 238, 233, .06) 0 1px, transparent 1px 12px), #0B140E;
}
.obra:is([data-capa="3"], [data-capa="4"]) .o-cards > div { border-color: var(--linea); border-radius: 9px; background: rgba(232, 238, 233, .05); }
.obra:is([data-capa="3"], [data-capa="4"]) .o-boton { border-style: solid; border-color: transparent; border-radius: 999px; background: var(--bruma); }
.obra:is([data-capa="3"], [data-capa="4"]) .o-cta { border-style: solid; border-color: transparent; border-radius: 999px; background: rgba(232, 238, 233, .1); color: var(--bruma); }
.obra:is([data-capa="3"], [data-capa="4"]) .o-form i { border-style: solid; border-color: var(--linea-2); background: rgba(232, 238, 233, .03); }
.obra:is([data-capa="3"], [data-capa="4"]) .o-form .o-enviar { border-style: solid; border-color: var(--linea-2); border-radius: 999px; color: var(--bruma); }
/* Capa 4 · Conversión y medición */
.obra[data-capa="4"] .o-boton { background: var(--clorofila); box-shadow: 0 0 22px rgba(87, 214, 90, .6); }
.obra[data-capa="4"] .o-cta { background: var(--clorofila); color: var(--sobre-verde); }
.obra[data-capa="4"] .o-form .o-enviar { border-color: transparent; background: var(--clorofila); color: var(--sobre-verde); box-shadow: 0 0 16px rgba(87, 214, 90, .55); }
.obra[data-capa="4"] .obra__aviso, .obra[data-capa="4"] .obra__medida { opacity: 1; translate: 0 0; }
.obra[data-capa="4"] .obra__medida i { scale: 1 1; }
.obra[data-capa="1"] .obra__puntos i:nth-child(-n+1), .obra[data-capa="2"] .obra__puntos i:nth-child(-n+2), .obra[data-capa="3"] .obra__puntos i:nth-child(-n+3), .obra[data-capa="4"] .obra__puntos i { background: var(--clorofila); box-shadow: 0 0 8px var(--clorofila); }
@media (max-width: 63.99em) {
	.construccion { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.escenario { top: calc(var(--cab-alto) + .1rem); z-index: 2; padding: .4rem 0 .6rem; background: var(--noche); box-shadow: 0 1.25rem 1.25rem var(--noche); }
	.obra { padding: .6rem; border-radius: 18px; background: var(--noche-2); }
	.obra__aviso { right: .4rem; top: 3.2rem; bottom: auto; font-size: .78rem; }
	.obra__medida { left: .4rem; }
	.capa-paso, .capa-paso:first-child { align-content: start; min-height: 58svh; padding-top: 2rem; }
}

/* Escena del administrador. */
.editor-escena { overflow: hidden; border: 1px solid var(--linea-2); border-radius: 20px; background: rgba(9, 14, 11, .92); box-shadow: 0 30px 80px -30px rgba(0, 0, 0, .85); font-size: .9rem; }
.editor-escena__barra { display: flex; justify-content: space-between; align-items: center; padding: .7rem 1rem; border-bottom: 1px solid var(--linea); color: var(--niebla); font-size: .82rem; }
.editor-escena__barra b { color: var(--bruma); font-weight: 620; }
.editor-escena__estado { display: inline-flex; align-items: center; gap: .4rem; }
.editor-escena__estado::before { content: ""; width: .5rem; height: .5rem; border-radius: 50%; background: var(--tenue); transition: background-color .4s, box-shadow .4s; }
.editor-escena.guardado .editor-escena__estado::before { background: var(--clorofila); box-shadow: 0 0 8px var(--clorofila); }
.editor-escena__cuerpo { display: grid; gap: .85rem; padding: 1.1rem 1rem 1.25rem; }
.editor-escena__campo span { display: block; margin-bottom: .3rem; color: var(--tenue); font-size: .76rem; }
.editor-escena__valor { min-height: 2.6rem; padding: .6rem .75rem; border: 1px solid var(--linea-2); border-radius: 10px; background: rgba(232, 238, 233, .03); color: var(--bruma); }
.editor-escena__valor--activo { border-color: var(--linea-verde); box-shadow: 0 0 0 3px rgba(87, 214, 90, .12); }
.editor-escena__valor--activo span { display: inline; margin: 0; color: var(--bruma); font-size: inherit; }
.editor-escena__cursor { display: inline-block; width: 2px; height: 1.05em; margin-left: 1px; vertical-align: text-bottom; background: var(--clorofila); animation: parpadeo 1s steps(2) infinite; }
@keyframes parpadeo { 50% { opacity: 0; } }
.editor-escena__pie { display: flex; justify-content: space-between; align-items: center; padding: .75rem 1rem; border-top: 1px solid var(--linea); color: var(--tenue); font-size: .76rem; }
.editor-escena__boton { padding: .4rem .9rem; border-radius: 999px; background: var(--clorofila); color: var(--sobre-verde); font-size: .82rem; font-weight: 650; }

/* Banda de continuidad: el pulso late mientras está en pantalla (main.css define la banda). */
.is-style-lume-banda .latido path { stroke-dashoffset: 0; }

/* ───────── Comunes de las páginas compuestas ───────── */
/* Barra de nivel (cuatro segmentos) al inicio de un bloque con la clase lume-barra-n. */
.lume-barra { display: flex; gap: 4px; margin-bottom: 1rem; }
.lume-barra i { width: 22px; height: 3px; border-radius: 2px; background: var(--linea-2); transition: background-color .6s, box-shadow .6s; }
.lume-barra i.on { background: var(--clorofila); box-shadow: 0 0 10px var(--clorofila); }
.etapa--cuidado .lume-barra i.on { background: var(--filamento); box-shadow: 0 0 10px var(--filamento); }
.etapa--antes .lume-barra i { width: 6px; height: 6px; border-radius: 50%; }
.etapa--antes .lume-barra i.on { background: var(--bruma); box-shadow: 0 0 8px rgba(255, 255, 255, .6); }
.js .etapa:not(.on) .lume-barra i.on { background: var(--linea-2); box-shadow: none; }
/* Pie ámbar («La luz no se apaga en el lanzamiento»). */
.lume-pie-ambar { margin-top: 2.5rem !important; color: var(--filamento); font-size: clamp(1.2rem, 1rem + .9vw, 1.7rem); font-weight: 700; font-stretch: 115%; letter-spacing: -.02em; text-shadow: 0 0 30px rgba(255, 182, 72, .35); }
/* Respuesta directa citable (40 a 60 palabras). */
.lienzo > .wp-block-group:has(> .lume-respuesta) { padding-block: clamp(3rem, 7vh, 5rem) 0; }
.lume-respuesta { position: relative; max-width: 56rem; padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid var(--linea-verde); border-radius: 24px; background: radial-gradient(90% 120% at 0% 0%, rgba(87, 214, 90, .10), transparent 60%), rgba(7, 12, 9, .7); }
.lume-respuesta > * { margin: 0; }
.lume-respuesta h2.wp-block-heading { font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.3rem); }
.lume-respuesta__texto { margin-top: .9rem !important; color: var(--bruma); font-size: var(--t-lead); line-height: 1.5; }
/* Puente hacia otro servicio (verde) o hacia la continuidad (ámbar). */
.lume-puente { max-width: 56rem; padding: clamp(1.5rem, 3vw, 2.25rem) 0 0; border-top: 1px solid var(--linea-verde); }
.lume-puente > * { margin: 0; }
.lume-puente h2.wp-block-heading { font-size: clamp(1.6rem, 1.1rem + 1.8vw, 2.6rem); }
.lume-puente p { margin-top: .9rem; color: var(--niebla); font-size: var(--t-lead); }
.lume-puente--ambar { border-top-color: var(--linea-ambar); }
.lume-puentes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 4rem; }
/* En las rejillas la separación la da gap: sin el margen entre bloques de WordPress, que bajaba la segunda columna. */
.lume-puentes > *, .etapas > * { margin-block: 0; }
@media (max-width: 63.99em) { .lume-puentes { grid-template-columns: minmax(0, 1fr); } }
/* Lista numerada grande (cinco frentes, etc.). */
.is-style-lume-numerada { display: grid; gap: 0; padding: 0 !important; list-style: none; counter-reset: n; border-top: 1px solid var(--linea); }
.is-style-lume-numerada li { counter-increment: n; display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: .25rem 1rem; margin: 0 !important; padding: 1.25rem 0; border-bottom: 1px solid var(--linea); color: var(--niebla); }
.is-style-lume-numerada li::before { content: counter(n, decimal-leading-zero); grid-row: span 2; color: var(--clorofila); font-size: 1.6rem; font-weight: 740; font-stretch: 118%; line-height: 1; font-variant-numeric: tabular-nums; }
.is-style-lume-numerada strong { color: var(--bruma); font-size: 1.15rem; font-stretch: 110%; }
/* Lista con luces en rejilla. */
.lume-luces--rejilla { grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: .6rem !important; }
.lume-luces--rejilla li { padding: 1rem 1.1rem 1rem 2.4rem !important; border: 1px solid var(--linea); border-radius: 14px; background: var(--vidrio); color: var(--bruma); }
.lume-luces--rejilla li::before { left: 1rem !important; top: 1.45em !important; }
/* Frase del cliente y lo que hace el servicio. */
.is-style-lume-respuestas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; padding: 0 !important; list-style: none; }
.is-style-lume-respuestas li { margin: 0 !important; padding: 1.3rem 1.4rem; border: 1px solid var(--linea); border-radius: 18px; background: var(--vidrio); color: var(--niebla); }
.is-style-lume-respuestas strong { display: block; margin-bottom: .5rem; color: var(--filamento); font-size: clamp(1.15rem, 1rem + .6vw, 1.45rem); font-weight: 680; font-stretch: 108%; line-height: 1.2; }
@media (max-width: 50em) { .is-style-lume-respuestas { grid-template-columns: minmax(0, 1fr); } }

/* ───────── Servicios: selector, espectro, conexión ───────── */
.selector { position: relative; padding: 1.4rem; border: 1px solid var(--linea-2); border-radius: 24px; background: radial-gradient(120% 70% at 80% 0%, rgba(87, 214, 90, .10), transparent 60%), rgba(7, 12, 9, .82); box-shadow: 0 40px 90px -40px rgba(0, 0, 0, .9); }
.selector > * { margin: 0; }
.selector__pregunta { margin-bottom: .9rem !important; font-size: 1.15rem; font-weight: 660; font-stretch: 110%; }
.is-style-lume-selector { display: grid; gap: .35rem; padding: 0 !important; list-style: none; }
.is-style-lume-selector li { margin: 0 !important; }
.is-style-lume-selector a, .selector__op {
	display: flex; align-items: center; gap: .8rem; width: 100%; min-height: 2.9rem; padding: .6rem .85rem; border: 1px solid transparent; border-radius: 12px;
	background: rgba(232, 238, 233, .03); color: var(--niebla) !important; font-size: .97rem; text-align: left; text-decoration: none !important; cursor: pointer; transition: background-color .25s, color .25s, border-color .25s;
}
.is-style-lume-selector a::before { content: ""; flex: none; width: .7rem; height: .7rem; border-radius: 50%; background: var(--apagado); box-shadow: inset 0 0 0 1px var(--linea-2); transition: background-color .35s, box-shadow .35s; }
.is-style-lume-selector a:hover { background: rgba(232, 238, 233, .06); color: var(--bruma) !important; }
.is-style-lume-selector a[aria-pressed="true"] { border-color: var(--linea-verde); background: rgba(87, 214, 90, .08); color: var(--bruma) !important; }
.is-style-lume-selector a[aria-pressed="true"]::before { background: var(--clorofila); box-shadow: 0 0 10px var(--clorofila), 0 0 22px rgba(87, 214, 90, .5); }
.is-style-lume-selector em { display: none; }
.selector__resp { min-height: 5.6rem; margin: 1rem 0 0; padding: 1rem 1.05rem; border: 1px dashed var(--linea-2); border-radius: 14px; color: var(--niebla); font-size: .95rem; }
.selector__resp.activa { border-style: solid; border-color: var(--linea-verde); background: rgba(87, 214, 90, .05); color: var(--bruma); }
.selector__resp a:not(.boton) { display: inline-flex; align-items: center; gap: .4rem; margin-top: .55rem; color: var(--clorofila); font-weight: 620; text-decoration: none; }
.selector__resp a:not(.boton):hover { text-decoration: underline; text-underline-offset: 3px; }
.selector__resp svg { width: 1rem; height: 1rem; }
.selector__resp .boton { margin-top: .75rem; }
.espectro { display: grid; border-top: 1px solid var(--linea); }
.espectro > .etapa { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 1.5rem 4rem; margin: 0; padding: clamp(2rem, 5vh, 3rem) 0; border-bottom: 1px solid var(--linea); }
.etapa > * { margin: 0; }
.etapa__cab > * { margin: 0; }
.etapa__cab > .lume-barra { margin-bottom: 1rem; }
.etapa__nombre { font-size: clamp(1.5rem, 1rem + 1.6vw, 2.3rem) !important; font-weight: 740; font-stretch: 118%; letter-spacing: -.03em; line-height: 1.05; }
.etapa__texto { max-width: 22rem; margin-top: .6rem !important; color: var(--niebla); }
.etapa__servicios { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); gap: .8rem; }
.etapa__servicios > * { margin: 0 !important; }
.servicio > h3 > span, .servicio > h4 > span { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .3rem .5rem; }
.servicio__para { margin: .85rem 0 0 !important; color: var(--bruma) !important; font-size: .92rem !important; }
.servicio__para b { color: var(--clorofila-2); font-weight: 620; }
.servicio__incluye { display: flex; flex-wrap: wrap; gap: .35rem; margin: .9rem 0 0; padding: 0; list-style: none; }
.servicio__incluye li { padding: .25rem .6rem; border: 1px solid var(--linea); border-radius: 999px; color: var(--niebla); font-size: .8rem; }
.servicio__etiqueta { display: inline-block; padding: .1rem .5rem; border: 1px solid rgba(255, 182, 72, .4); border-radius: 999px; color: var(--filamento); font-size: .72rem; font-weight: 600; font-stretch: 100%; letter-spacing: 0; }
.servicio { transition: border-color .35s, transform .35s var(--ease), background-color .35s, opacity .45s var(--ease), box-shadow .45s; }
.filtrando .servicio:not(.iluminado) { opacity: .32; }
.servicio.iluminado { border-color: var(--clorofila); box-shadow: 0 0 0 1px rgba(87, 214, 90, .35), 0 0 40px -6px rgba(87, 214, 90, .45); }
@media (max-width: 63.99em) { .espectro > .etapa { grid-template-columns: minmax(0, 1fr); } }
.is-style-lume-conexion { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; padding: 0 !important; list-style: none; }
.is-style-lume-conexion::before, .is-style-lume-conexion::after { content: ""; position: absolute; left: 1rem; right: 1rem; top: 1.55rem; height: 2px; background: var(--linea); }
.is-style-lume-conexion::after { transform-origin: left; transform: scaleX(var(--p, 0)); background: linear-gradient(90deg, var(--clorofila), var(--clorofila) 60%, var(--filamento)); box-shadow: 0 0 14px rgba(87, 214, 90, .6); transition: transform 2.2s var(--ease); }
.is-style-lume-conexion.on, html:not(.js) .is-style-lume-conexion { --p: 1; }
.is-style-lume-conexion li { position: relative; margin: 0 !important; padding-top: 3.6rem; color: var(--niebla); font-size: .96rem; }
.is-style-lume-conexion li::before { content: ""; position: absolute; left: 0; top: .95rem; width: 1.25rem; height: 1.25rem; border: 2px solid var(--tenue); border-radius: 50%; background: var(--noche); transition: border-color .5s, box-shadow .5s, background-color .5s; }
.is-style-lume-conexion li:nth-child(2)::before { transition-delay: .7s; }
.is-style-lume-conexion li:nth-child(3)::before { transition-delay: 1.4s; }
.is-style-lume-conexion.on li::before, html:not(.js) .is-style-lume-conexion li::before { border-color: var(--clorofila); box-shadow: 0 0 14px rgba(87, 214, 90, .7); }
.is-style-lume-conexion.on li:last-child::before, html:not(.js) .is-style-lume-conexion li:last-child::before { border-color: var(--filamento); background: var(--filamento); box-shadow: 0 0 22px var(--filamento); }
.is-style-lume-conexion strong { display: block; margin-bottom: .4rem; color: var(--bruma); font-size: 1.3rem; font-weight: 700; font-stretch: 115%; }
@media (max-width: 63.99em) {
	.is-style-lume-conexion { grid-template-columns: 1fr; gap: 2rem; padding-left: 2.4rem !important; }
	.is-style-lume-conexion::before, .is-style-lume-conexion::after { left: .6rem; right: auto; top: .4rem; bottom: .4rem; width: 2px; height: auto; }
	.is-style-lume-conexion::after { transform-origin: top; transform: scaleY(var(--p, 0)); }
	.is-style-lume-conexion li { padding-top: 0; }
	.is-style-lume-conexion li::before { left: -2.4rem; top: .15rem; }
}

/* ───────── Continuidad: encender (verde) y mantener encendido (ámbar) ───────── */
.estado { padding: 1.1rem 1.2rem; border: 1px solid var(--linea-2); border-radius: 22px; background: rgba(7, 12, 9, .88); box-shadow: 0 40px 90px -40px rgba(0, 0, 0, .95); font-size: .9rem; }
.estado__cab { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding-bottom: .8rem; border-bottom: 1px solid var(--linea); color: var(--niebla); font-size: .82rem; }
.estado__cab b { color: var(--bruma); font-weight: 620; }
.estado__activo { display: inline-flex; align-items: center; gap: .45rem; color: var(--filamento); font-weight: 620; }
.estado__activo::before { content: ""; width: .55rem; height: .55rem; border-radius: 50%; background: var(--filamento); box-shadow: 0 0 10px var(--filamento); }
.estado .latido { height: 52px; margin: .6rem 0; }
.estado__luces { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem; }
.estado__luces span { display: flex; align-items: center; gap: .45rem; padding: .5rem .6rem; border: 1px solid var(--linea); border-radius: 10px; background: rgba(232, 238, 233, .04); color: var(--bruma); font-size: .8rem; }
.estado__luces span::before { content: ""; flex: none; width: .5rem; height: .5rem; border-radius: 50%; background: var(--clorofila); box-shadow: 0 0 8px var(--clorofila); }
.estado__pie { margin: .8rem 0 0; color: var(--tenue); font-size: .74rem; }
.etapas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: clamp(2rem, 5vh, 3rem) !important; }
.etapa-res { position: relative; padding: 1.6rem; border: 1px solid var(--linea-verde); border-radius: 22px; background: radial-gradient(100% 90% at 0% 0%, rgba(87, 214, 90, .12), transparent 60%), rgba(7, 12, 9, .85); }
.etapa-res > * { margin: 0; }
.etapa-res--mes { border-color: rgba(255, 182, 72, .38); background: radial-gradient(100% 90% at 100% 0%, rgba(255, 182, 72, .12), transparent 60%), rgba(7, 12, 9, .85); }
.etapa-res__cuando { display: inline-flex !important; align-items: center; gap: .5rem; margin-bottom: .9rem !important; padding: .25rem .7rem; border: 1px solid var(--linea-verde); border-radius: 999px; color: var(--clorofila-2); font-size: .8rem; font-weight: 620; }
.etapa-res--mes .etapa-res__cuando { border-color: rgba(255, 182, 72, .45); color: var(--filamento); }
.etapa-res h3 { font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2.1rem); font-weight: 740; font-stretch: 118%; letter-spacing: -.025em; line-height: 1.05; }
.etapa-res p:last-child { margin-top: .7rem; color: var(--niebla); }
.etapa-res::after { content: ""; position: absolute; right: 1.4rem; top: 1.4rem; width: 2.6rem; height: 2.6rem; background: currentColor; color: var(--clorofila); opacity: .9;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M16 4v11'/%3E%3Cpath d='M9.5 8.5a10 10 0 1 0 13 0'/%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 32 32' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M16 4v11'/%3E%3Cpath d='M9.5 8.5a10 10 0 1 0 13 0'/%3E%3C/svg%3E") center / contain no-repeat; }
.etapa-res--mes::after { color: var(--filamento);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M2 18h7l3-7 4 13 3-9 2 3h9'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M2 18h7l3-7 4 13 3-9 2 3h9'/%3E%3C/svg%3E"); }
.lume-comparar-etapas thead th:nth-child(2) { box-shadow: inset 0 2px 0 var(--clorofila); }
.lume-comparar-etapas thead th:nth-child(3) { background: linear-gradient(180deg, rgba(255, 182, 72, .08), transparent); box-shadow: inset 0 2px 0 var(--filamento); }
.lume-comparar-etapas tbody td:nth-child(3) { background: rgba(255, 182, 72, .035); color: var(--bruma); }
@media (max-width: 63.99em) { .etapas { grid-template-columns: minmax(0, 1fr); } }
.marcha { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 1.25rem 3rem; align-items: start; }
.marcha > *, .interruptores > * { margin: 0; }
.interruptores { display: grid; gap: .6rem; }
.interruptor { border: 1px solid var(--linea); border-radius: 16px; background: var(--vidrio); transition: border-color .5s; }
.interruptor.on, html:not(.js) .interruptor { border-color: var(--linea-verde); }
.interruptor > summary { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .3rem 1rem; align-items: center; padding: 1rem 1.1rem; cursor: pointer; list-style: none; }
.interruptor > summary::-webkit-details-marker { display: none; }
.interruptor > summary::after { content: "+"; grid-row: 1 / 3; grid-column: 3; color: var(--clorofila); font-size: 1.2rem; font-weight: 600; }
.interruptor[open] > summary::after { content: "−"; color: var(--niebla); }
.interruptor strong { grid-column: 2; color: var(--bruma); font-size: 1.12rem; font-weight: 680; font-stretch: 112%; }
.interruptor__linea { grid-column: 2; color: var(--niebla); font-size: .95rem; }
.llave { position: relative; grid-row: 1 / 3; width: 2.6rem; height: 1.45rem; border-radius: 999px; background: var(--apagado); box-shadow: inset 0 0 0 1px var(--linea-2); transition: background-color .5s, box-shadow .5s; }
.llave::after { content: ""; position: absolute; left: .2rem; top: .2rem; width: 1.05rem; height: 1.05rem; border-radius: 50%; background: var(--tenue); transition: translate .5s var(--ease), background-color .5s, box-shadow .5s; }
.interruptor.on .llave, html:not(.js) .llave { background: rgba(87, 214, 90, .25); box-shadow: inset 0 0 0 1px var(--linea-verde); }
.interruptor.on .llave::after, html:not(.js) .llave::after { translate: 1.15rem 0; background: var(--clorofila); box-shadow: 0 0 10px var(--clorofila); }
.interruptor > p { margin: 0; padding: 0 1.1rem 1.1rem 4.7rem; color: var(--niebla); font-size: .92rem; }
.marcha__estado { display: flex !important; align-items: center; gap: .7rem; margin-top: .4rem !important; padding: .9rem 1.1rem; border: 1px dashed var(--linea-2); border-radius: 14px; color: var(--niebla); font-weight: 600; transition: all .6s var(--ease); }
.marcha__estado::before { content: ""; width: .7rem; height: .7rem; border-radius: 50%; background: var(--apagado); box-shadow: inset 0 0 0 1px var(--linea-2); transition: all .6s; }
.marcha__estado.on, html:not(.js) .marcha__estado { border-style: solid; border-color: var(--clorofila); background: rgba(87, 214, 90, .07); color: var(--bruma); box-shadow: 0 0 30px -8px rgba(87, 214, 90, .5); }
.marcha__estado.on::before, html:not(.js) .marcha__estado::before { background: var(--clorofila); box-shadow: 0 0 10px var(--clorofila); }
.acta { position: sticky; top: 6rem; padding: 1.5rem; border: 1px solid var(--linea-2); border-radius: 22px; background: rgba(7, 12, 9, .88); }
.acta > * { margin: 0; }
.acta h3 { margin-bottom: .3rem; font-size: 1.15rem; font-weight: 680; font-stretch: 112%; }
.acta > p { margin-bottom: 1rem; color: var(--niebla); font-size: .9rem; }
.acta ul { display: grid; gap: .5rem; padding: 0; list-style: none; }
.acta li { display: flex; align-items: flex-start; gap: .6rem; margin: 0; font-size: .94rem; }
.acta li::before { content: ""; flex: none; width: 1.05rem; height: 1.05rem; margin-top: .15rem; border-radius: 50%; background: rgba(87, 214, 90, .16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%2357D65A' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / 80% no-repeat; }
@media (max-width: 63.99em) { .marcha { grid-template-columns: minmax(0, 1fr); } .acta { position: relative; top: 0; } .interruptor > p { padding-left: 1.1rem; } }
.is-style-lume-pista { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; padding: 0 !important; border: 1px solid rgba(255, 182, 72, .25); border-radius: 16px; list-style: none; }
.is-style-lume-pista li { position: relative; margin: 0 !important; padding: .8rem 1rem; color: var(--niebla); font-size: .85rem; }
.is-style-lume-pista li + li { border-left: 1px solid rgba(255, 182, 72, .18); }
.is-style-lume-pista strong { display: block; color: var(--bruma); font-weight: 620; }
.is-style-lume-pista li:first-child::after { content: ""; position: absolute; left: 1rem; right: 1rem; bottom: .35rem; height: 2px; background: linear-gradient(90deg, transparent, var(--filamento), transparent) 0 0 / 40% 100% no-repeat; animation: pista 3.2s linear infinite; opacity: .7; }
@keyframes pista { from { background-position: -40% 0; } to { background-position: 140% 0; } }
@media (max-width: 63.99em) { .is-style-lume-pista { grid-template-columns: repeat(2, minmax(0, 1fr)); } .is-style-lume-pista li:nth-child(3) { border-left: 0; } .is-style-lume-pista li:nth-child(n+3) { border-top: 1px solid rgba(255, 182, 72, .18); } }
.frentes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--linea); border-left: 1px solid var(--linea); }
.frente { position: relative; margin: 0 !important; padding: 1.3rem 1.25rem 1.2rem; border-right: 1px solid var(--linea); border-bottom: 1px solid var(--linea); }
.frente > * { margin: 0; }
.frente::before { content: ""; position: absolute; left: -1px; top: -1px; width: 9px; height: 9px; border-left: 2px solid var(--filamento); border-top: 2px solid var(--filamento); opacity: 0; transition: opacity .35s; }
.frente:hover::before { opacity: 1; }
.frente h3 { display: flex; align-items: center; gap: .55rem; font-size: 1.05rem; font-weight: 670; font-stretch: 110%; letter-spacing: -.01em; }
.frente h3::before { content: ""; flex: none; width: .5rem; height: .5rem; border-radius: 50%; background: var(--filamento); box-shadow: 0 0 8px rgba(255, 182, 72, .8); }
.frente > p { margin-top: .5rem; color: var(--niebla); font-size: .92rem; }
.frente__detalle { margin-top: .8rem !important; }
.frente__detalle > summary { display: inline-flex; align-items: center; gap: .35rem; color: var(--filamento); font-size: .84rem; font-weight: 620; cursor: pointer; list-style: none; }
.frente__detalle > summary::-webkit-details-marker { display: none; }
.frente__detalle > summary::after { content: "+"; font-weight: 700; }
.frente__detalle[open] > summary::after { content: "−"; }
.frente__detalle ul { margin: .6rem 0 0; padding-left: 1rem; color: var(--niebla); font-size: .86rem; }
.frente__detalle li + li { margin-top: .2rem; }
@media (max-width: 63.99em) { .frentes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 30em) { .frentes { grid-template-columns: minmax(0, 1fr); } }
.informe { overflow: hidden; border: 1px solid rgba(255, 182, 72, .3); border-radius: 22px; background: radial-gradient(100% 60% at 50% 0%, rgba(255, 182, 72, .08), transparent 60%), rgba(7, 12, 9, .92); box-shadow: 0 40px 90px -40px rgba(0, 0, 0, .95); }
.informe__cab { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: 1.1rem 1.25rem; border-bottom: 1px solid var(--linea); }
.informe__cab b { font-size: 1.05rem; font-weight: 680; font-stretch: 112%; }
.informe__cab span { color: var(--tenue); font-size: .8rem; }
.informe__fila { display: grid; grid-template-columns: 1rem 9rem minmax(0, 1fr); gap: .8rem; align-items: center; padding: .75rem 1.25rem; border-bottom: 1px solid var(--linea); font-size: .9rem; }
.informe__fila i { width: .6rem; height: .6rem; border-radius: 50%; background: var(--apagado); box-shadow: inset 0 0 0 1px var(--linea-2); transition: background-color .5s, box-shadow .5s; transition-delay: calc(var(--k) * 120ms); }
.informe.on .informe__fila i, html:not(.js) .informe__fila i { background: var(--clorofila); box-shadow: 0 0 8px var(--clorofila); }
.informe.on .informe__fila i.ambar, html:not(.js) .informe__fila i.ambar { background: var(--filamento); box-shadow: 0 0 8px var(--filamento); }
.informe__fila b { font-weight: 620; }
.informe__fila span { color: var(--niebla); }
.disp { display: flex; align-items: flex-end; gap: 2px; height: 1.1rem; }
.disp u { flex: 1; height: 100%; border-radius: 1px; background: rgba(87, 214, 90, .55); text-decoration: none; }
.disp u.baja { height: 55%; background: rgba(255, 182, 72, .7); }
.informe__pie { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 1.25rem; color: var(--tenue); font-size: .76rem; }
@media (max-width: 30em) { .informe__fila { grid-template-columns: 1rem minmax(0, 1fr); } .informe__fila > :last-child { grid-column: 2; } }
.origen { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.origen__caso { margin: 0 !important; padding: 1.5rem; border: 1px solid var(--linea); border-radius: 22px; background: var(--vidrio); }
.origen__caso > * { margin: 0; }
.origen__caso h3 { font-size: 1.3rem; font-weight: 700; font-stretch: 115%; }
.origen__caso > p { margin-top: .6rem; color: var(--niebla); }
.origen__caso ol { display: grid; gap: .9rem; margin-top: 1.1rem; padding: 0; list-style: none; counter-reset: o; }
.origen__caso li { position: relative; margin: 0; padding-left: 2.2rem; color: var(--niebla); font-size: .95rem; counter-increment: o; }
.origen__caso li::before { content: counter(o); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: rgba(87, 214, 90, .14); color: var(--clorofila); font-size: .8rem; font-weight: 700; }
.origen__caso strong { color: var(--bruma); font-weight: 620; }
@media (max-width: 63.99em) { .origen { grid-template-columns: minmax(0, 1fr); } }
.alcance { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 1rem; }
.alcance__col { margin: 0 !important; padding: 1.5rem; border: 1px solid var(--linea); border-radius: 22px; }
.alcance__col > * { margin: 0; }
.alcance__col--si { border-color: rgba(255, 182, 72, .35); background: linear-gradient(160deg, rgba(255, 182, 72, .08), transparent 60%); }
.alcance__col h3 { margin-bottom: 1rem; font-size: 1.15rem; font-weight: 680; font-stretch: 112%; }
.alcance__col ul { display: grid; gap: .55rem; padding: 0; list-style: none; }
.alcance__col--si li { display: flex; align-items: baseline; gap: .6rem; margin: 0; color: var(--bruma); font-size: .95rem; }
.alcance__col--si li::before { content: ""; flex: none; width: .5rem; height: .5rem; border-radius: 50%; background: var(--filamento); box-shadow: 0 0 8px rgba(255, 182, 72, .7); }
.is-style-lume-aparte li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, auto); gap: .25rem 1rem; align-items: baseline; margin: 0 !important; padding: .55rem 0; border-bottom: 1px solid var(--linea); color: var(--bruma); font-size: .94rem; }
.is-style-lume-aparte li:last-child { border-bottom: 0; }
.is-style-lume-aparte em { color: var(--niebla); font-size: .86rem; font-style: normal; text-align: right; }
.is-style-lume-aparte em a { font-weight: 600; text-decoration: none !important; }
@media (max-width: 63.99em) { .alcance { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 30em) { .is-style-lume-aparte li { grid-template-columns: minmax(0, 1fr); } .is-style-lume-aparte em { text-align: left; } }
.lume-esperar > h2.wp-block-heading { margin-bottom: 2rem; }
.esperar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 3rem; }
.esperar > div { margin: 0 !important; padding: 1.5rem 0 0; border-top: 1px solid var(--linea-ambar); }
.esperar > div > * { margin: 0; }
.esperar h3 { font-size: 1.25rem; font-weight: 700; font-stretch: 115%; }
.esperar p { margin-top: .6rem; color: var(--niebla); }
@media (max-width: 63.99em) { .esperar { grid-template-columns: minmax(0, 1fr); } }

/* ───────── SEO: rastreo en vivo y hero de búsqueda ───────── */
.arbol { margin: 0; padding: 1.25rem; border: 1px solid var(--linea-2); border-radius: 24px; background: rgba(7, 12, 9, .88); }
.arbol__barra { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem .8rem; border-radius: 999px; background: rgba(232, 238, 233, .05); color: var(--niebla); font-size: .85rem; }
.arbol__estado { color: var(--clorofila-2); font-weight: 600; }
.arbol__raiz, .arbol__raiz ul { margin: 0; padding: 0; list-style: none; }
.arbol__raiz { margin-top: 1.25rem; }
.arbol__raiz ul { position: relative; margin-left: 1.1rem; padding-left: 1.3rem; border-left: 1px dashed var(--linea-2); }
.arbol__nodo { position: relative; margin: .45rem 0; }
.arbol__raiz ul > .arbol__nodo::before { content: ""; position: absolute; left: -1.3rem; top: 1.1rem; width: 1.1rem; height: 1px; background: var(--linea-2); }
.arbol__pagina { display: inline-flex; align-items: center; gap: .6rem; padding: .45rem .8rem; border: 1px solid var(--linea); border-radius: 10px; background: rgba(232, 238, 233, .03); color: var(--niebla); font-size: .9rem; transition: border-color .5s, color .5s, background-color .5s, box-shadow .5s; }
.arbol__pagina i { flex: none; width: .75rem; height: .75rem; border-radius: 50%; background: var(--apagado); box-shadow: inset 0 0 0 1px var(--linea-2); transition: all .5s; }
.arbol__nodo.visto[data-estado="indexada"] > .arbol__pagina, html:not(.js) .arbol__nodo[data-estado="indexada"] > .arbol__pagina { border-color: var(--linea-verde); background: rgba(87, 214, 90, .07); color: var(--bruma); }
.arbol__nodo.visto[data-estado="indexada"] > .arbol__pagina i, html:not(.js) .arbol__nodo[data-estado="indexada"] > .arbol__pagina i, .arbol__leyenda .indexada i { background: var(--clorofila); box-shadow: 0 0 10px var(--clorofila); }
.arbol__nodo.visto[data-estado="rastreada"] > .arbol__pagina, html:not(.js) .arbol__nodo[data-estado="rastreada"] > .arbol__pagina { border-color: rgba(255, 182, 72, .45); color: var(--bruma); }
.arbol__nodo.visto[data-estado="rastreada"] > .arbol__pagina i, html:not(.js) .arbol__nodo[data-estado="rastreada"] > .arbol__pagina i, .arbol__leyenda .rastreada i { background: transparent; box-shadow: inset 0 0 0 3px var(--filamento); }
.arbol__nodo.visto[data-estado="bloqueada"] > .arbol__pagina, html:not(.js) .arbol__nodo[data-estado="bloqueada"] > .arbol__pagina { border-color: rgba(255, 90, 78, .45); color: var(--niebla); text-decoration: line-through; text-decoration-color: rgba(255, 90, 78, .6); }
.arbol__nodo.visto[data-estado="bloqueada"] > .arbol__pagina i, html:not(.js) .arbol__nodo[data-estado="bloqueada"] > .arbol__pagina i, .arbol__leyenda .bloqueada i { border-radius: 2px; background: var(--alerta); box-shadow: 0 0 8px rgba(255, 90, 78, .6); }
.arbol figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem 1.5rem; margin-top: 1.25rem; padding-top: .9rem; border-top: 1px solid var(--linea); color: var(--tenue); font-size: .8rem; }
.arbol__leyenda { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin: 0; padding: 0; list-style: none; color: var(--niebla); }
.arbol__leyenda li { display: inline-flex; align-items: center; gap: .45rem; }
.arbol__leyenda i { width: .7rem; height: .7rem; border-radius: 50%; }
.vineta { padding: 1.1rem; border: 1px solid var(--linea-2); border-radius: 22px; background: linear-gradient(180deg, rgba(12, 18, 14, .92), rgba(7, 12, 9, .86)); box-shadow: 0 30px 80px -30px rgba(0, 0, 0, .8); font-size: .88rem; }
.vineta__pie { display: flex; justify-content: space-between; gap: 1rem; margin: .9rem 0 0; padding-top: .7rem; border-top: 1px solid var(--linea); color: var(--tenue); font-size: .76rem; }
.vineta--hero { justify-self: end; width: 100%; max-width: 26rem; }
.busq__barra { display: flex; align-items: center; gap: .6rem; padding: .7rem .9rem; border: 1px solid var(--linea-2); border-radius: 999px; background: rgba(232, 238, 233, .06); }
.busq__barra svg { flex: none; width: 1rem; height: 1rem; color: var(--niebla); }
.busq__texto { overflow: hidden; color: var(--bruma); white-space: nowrap; }
.busq__cursor { width: 2px; height: 1.1em; background: var(--clorofila); animation: parpadeo 1s steps(2) infinite; }
.busq__res { display: grid; gap: .5rem; margin: .8rem 0 0; padding: 0; list-style: none; }
.busq__res li { padding: .65rem .8rem; border: 1px solid var(--linea); border-radius: 12px; background: rgba(232, 238, 233, .02); }
.busq__res b { display: block; color: var(--niebla); font-size: .84rem; font-weight: 600; }
.busq__res i { display: block; height: 6px; margin-top: .4rem; border-radius: 3px; background: rgba(232, 238, 233, .12); }
.busq__res i + i { width: 70%; }
.busq__res .tuyo { border-color: var(--linea-verde); background: rgba(87, 214, 90, .08); box-shadow: 0 0 30px -6px rgba(87, 214, 90, .45); }
.busq__res .tuyo b { color: var(--clorofila); }
.busq__ia { margin-top: .6rem; padding: .75rem .85rem; border: 1px solid var(--linea-verde); border-radius: 12px; background: linear-gradient(135deg, rgba(87, 214, 90, .12), rgba(255, 182, 72, .06)); }
.busq__ia span { display: inline-flex; align-items: center; gap: .4rem; color: var(--clorofila-2); font-size: .74rem; font-weight: 600; }
.busq__ia p { margin: .35rem 0 0; color: var(--bruma); font-size: .86rem; line-height: 1.45; }
@media (max-width: 63.99em) { .vineta--hero { order: -1; justify-self: stretch; } }

/* ───────── GEO: constelación y hero de respuesta ───────── */
.constelacion { position: relative; padding: 1.25rem; border: 1px solid var(--linea-2); border-radius: 24px; background: radial-gradient(60% 50% at 50% 52%, rgba(87, 214, 90, .10), transparent 70%), rgba(7, 12, 9, .88); }
.constelacion__lineas { position: absolute; inset: 1.25rem 1.25rem 3.4rem; width: calc(100% - 2.5rem); height: calc(100% - 4.65rem); overflow: visible; pointer-events: none; }
.constelacion__lineas line { stroke: var(--clorofila); stroke-width: 1.2; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 1; opacity: .55; transition: stroke-dashoffset 1.2s var(--ease); transition-delay: calc(var(--k) * 220ms); }
.constelacion.on .constelacion__lineas line, html:not(.js) .constelacion__lineas line { stroke-dashoffset: 0; }
.constelacion__nodos { position: relative; min-height: 30rem; margin: 0; padding: 0; list-style: none; }
.constelacion__nodo { position: absolute; left: var(--x); top: var(--y); width: min(15rem, 32%); translate: -50% -50%; padding: .75rem .9rem; border: 1px solid var(--linea-2); border-radius: 14px; background: rgba(9, 14, 11, .95); font-size: .88rem; transition: border-color .6s, box-shadow .6s; transition-delay: calc(var(--k) * 220ms + .4s); }
.constelacion__nodo b { display: flex; align-items: center; gap: .5rem; color: var(--bruma); font-size: .98rem; }
.constelacion__nodo b::before { content: ""; width: .55rem; height: .55rem; border-radius: 50%; background: var(--apagado); box-shadow: inset 0 0 0 1px var(--linea-2); transition: inherit; }
.constelacion__nodo span { display: block; margin-top: .25rem; color: var(--niebla); }
.constelacion.on .constelacion__nodo, html:not(.js) .constelacion__nodo { border-color: var(--linea-verde); }
.constelacion.on .constelacion__nodo b::before, html:not(.js) .constelacion__nodo b::before { background: var(--clorofila); box-shadow: 0 0 10px var(--clorofila); }
.constelacion__centro { position: absolute; left: 50%; top: calc(1.25rem + (100% - 4.65rem) * .52); width: min(17rem, 40%); translate: -50% -50%; padding: .9rem 1rem; border: 1px solid var(--linea-verde); border-radius: 16px; background: linear-gradient(135deg, rgba(87, 214, 90, .16), rgba(255, 182, 72, .07)), rgba(7, 12, 9, .96); box-shadow: 0 0 50px -10px rgba(87, 214, 90, .55); opacity: .35; transition: opacity 1s var(--ease) 1.4s; }
.constelacion.on .constelacion__centro, html:not(.js) .constelacion__centro { opacity: 1; }
.constelacion__centro span { color: var(--clorofila-2); font-size: .74rem; font-weight: 600; }
.constelacion__centro p { margin: .35rem 0 0; color: var(--bruma); font-size: .88rem; line-height: 1.45; }
@media (max-width: 50em) {
	.constelacion__lineas { display: none; }
	.constelacion__nodos { display: grid; gap: .5rem; min-height: 0; }
	.constelacion__nodo { position: static; width: auto; translate: none; }
	.constelacion__centro { position: static; width: auto; margin-top: .75rem; translate: none; opacity: 1; }
}
.respuesta-ia { justify-self: end; width: 100%; max-width: 27rem; padding: 1.1rem; border: 1px solid var(--linea-2); border-radius: 22px; background: rgba(7, 12, 9, .9); box-shadow: 0 40px 90px -40px rgba(0, 0, 0, .95); font-size: .9rem; }
.respuesta-ia__pregunta { margin: 0 0 .8rem auto; max-width: 85%; padding: .6rem .85rem; border-radius: 14px 14px 4px 14px; background: rgba(232, 238, 233, .07); color: var(--bruma); }
.respuesta-ia__texto { padding: .8rem .9rem; border: 1px solid var(--linea-verde); border-radius: 14px; background: linear-gradient(135deg, rgba(87, 214, 90, .12), rgba(255, 182, 72, .05)); }
.respuesta-ia__et { color: var(--clorofila-2); font-size: .74rem; font-weight: 600; }
.respuesta-ia__texto p { margin: .35rem 0 0; color: var(--bruma); line-height: 1.45; }
.respuesta-ia__texto sup { color: var(--clorofila); font-weight: 700; }
.respuesta-ia__fuentes { display: flex; flex-wrap: wrap; gap: .35rem; margin: .7rem 0 0; padding: 0; list-style: none; counter-reset: f; }
.respuesta-ia__fuentes li { counter-increment: f; padding: .25rem .6rem; border: 1px solid var(--linea); border-radius: 999px; color: var(--niebla); font-size: .76rem; }
.respuesta-ia__fuentes li::before { content: counter(f) " · "; }
.respuesta-ia__fuentes .tuya { border-color: var(--linea-verde); color: var(--clorofila-2); }
@media (max-width: 63.99em) { .respuesta-ia { order: -1; justify-self: stretch; } }

/* ───────── Rendimiento: medición ampliada y velocímetro ───────── */
.medicion { padding: 1.25rem; border: 1px solid var(--linea-2); border-radius: 24px; background: rgba(7, 12, 9, .88); }
.medicion__metricas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.metrica { padding: 1rem 1.1rem; border: 1px solid var(--linea); border-radius: 16px; background: rgba(232, 238, 233, .025); }
.metrica > p { margin: 0; }
.metrica__nombre { color: var(--niebla); font-size: .86rem; }
.metrica__nombre b { margin-right: .3rem; color: var(--bruma); font-size: 1rem; }
.metrica__valor { margin-top: .3rem !important; color: #fff; font-size: clamp(2rem, 1.4rem + 1.8vw, 2.8rem); font-weight: 760; font-stretch: 118%; letter-spacing: -.04em; line-height: 1.05; font-variant-numeric: tabular-nums; }
.metrica .escala { position: relative; height: 8px; margin: .9rem 0 .4rem; border-radius: 4px; background: linear-gradient(90deg, rgba(87, 214, 90, .45) 0 var(--b, 41.6%), rgba(255, 182, 72, .45) var(--b, 41.6%) var(--m, 66.6%), rgba(255, 106, 72, .4) var(--m, 66.6%)); }
.metrica--inp .escala { --b: 25%; --m: 62.5%; }
.metrica--cls .escala { --b: 25%; --m: 62.5%; }
.metrica .escala__aguja { position: absolute; top: 50%; left: var(--pos, 0%); width: 14px; height: 14px; margin: -7px 0 0 -7px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 4px rgba(87, 214, 90, .35), 0 0 16px #fff; opacity: 0; transition: left 1.4s var(--ease), opacity .4s; }
.metrica.medida .escala__aguja { opacity: 1; }
.metrica .escala__marcas { display: flex; justify-content: space-between; color: var(--tenue); font-size: .7rem; font-variant-numeric: tabular-nums; }
.metrica__veredicto { margin-top: .7rem !important; color: var(--bruma); font-size: .88rem; }
.metrica[data-nivel="bueno"] .metrica__veredicto { color: var(--clorofila-2); }
.metrica[data-nivel="mejorar"] .metrica__veredicto { color: var(--filamento); }
.metrica[data-nivel="malo"] .metrica__veredicto { color: #FF8A80; }
.metrica__umbral { margin-top: .25rem !important; color: var(--tenue); font-size: .78rem; }
.medicion .medida__datos { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; margin: .8rem 0 0; }
.medicion .medida__datos div { padding: .55rem .7rem; border: 1px solid var(--linea); border-radius: 10px; background: rgba(232, 238, 233, .04); }
.medicion .medida__datos dt { color: var(--tenue); font-size: .72rem; }
.medicion .medida__datos dd { margin: 0; font-weight: 650; font-variant-numeric: tabular-nums; }
@media (max-width: 50em) { .medicion__metricas { grid-template-columns: minmax(0, 1fr); } }
.velocimetro { justify-self: end; width: 100%; max-width: 24rem; padding: 1.25rem; border: 1px solid var(--linea-2); border-radius: 22px; background: rgba(7, 12, 9, .9); text-align: center; }
.velocimetro svg { width: 100%; height: auto; overflow: visible; }
.velocimetro path { fill: none; stroke-width: 10; stroke-linecap: round; }
.velocimetro__pista { stroke: rgba(232, 238, 233, .1); }
.velocimetro__bueno { stroke: var(--clorofila); stroke-dasharray: 41.6 100; filter: drop-shadow(0 0 8px rgba(87, 214, 90, .6)); }
.velocimetro__aguja { stroke: #fff; stroke-width: 3; stroke-linecap: round; transform-origin: 100px 100px; rotate: var(--giro, -90deg); transition: rotate 1.6s var(--ease); filter: drop-shadow(0 0 6px #fff); }
.velocimetro circle { fill: #fff; }
.velocimetro__cifra { margin: .2rem 0 0; color: #fff; font-size: 2.6rem; font-weight: 760; font-stretch: 118%; letter-spacing: -.04em; line-height: 1; font-variant-numeric: tabular-nums; }
.velocimetro__cifra small { color: var(--niebla); font-size: .45em; font-weight: 600; letter-spacing: 0; }
.velocimetro__que { margin: .6rem 0 0; color: var(--niebla); font-size: .85rem; }
@media (max-width: 63.99em) { .velocimetro { order: -1; justify-self: start; max-width: 18rem; } }

/* ───────── Auditoría: radar, áreas y matriz ───────── */
.lume-radar { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 2rem 4rem; align-items: center; }
.lume-radar > * { margin: 0 !important; }
.radar { margin: 0; }
.radar__svg { width: 100%; height: auto; overflow: visible; }
.radar__anillo { fill: none; stroke: var(--linea); }
.radar__ejes line { stroke: var(--linea-2); }
.radar__forma { fill: rgba(87, 214, 90, .14); stroke: var(--clorofila); stroke-width: 1.5; filter: drop-shadow(0 0 10px rgba(87, 214, 90, .5)); transform-origin: 100px 100px; scale: var(--s, 1); opacity: var(--o, 1); transition: scale 1.6s var(--ease), opacity 1s; }
.js .radar:not(.on) .radar__forma { --s: .05; --o: 0; }
.radar text { fill: var(--niebla); font: 500 7.5px "Mona Sans", system-ui, sans-serif; }
.radar__num { fill: var(--clorofila); font-weight: 700; }
.radar--mini { justify-self: end; width: 100%; max-width: 22rem; }
@media (max-width: 63.99em) { .lume-radar { grid-template-columns: minmax(0, 1fr); } .radar--mini { order: -1; justify-self: start; max-width: 14rem; } }
.is-style-lume-areas { display: grid; gap: 0; padding: 0 !important; list-style: none; counter-reset: a; border-top: 1px solid var(--linea); }
.is-style-lume-areas li { counter-increment: a; display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: 0 .75rem; margin: 0 !important; padding: .8rem 0; border-bottom: 1px solid var(--linea); color: var(--niebla); font-size: .95rem; }
.is-style-lume-areas li::before { content: counter(a); grid-row: span 2; color: var(--clorofila); font-weight: 700; font-variant-numeric: tabular-nums; }
.is-style-lume-areas strong { color: var(--bruma); font-weight: 640; }
.matriz { margin: 0; padding: 1.25rem; border: 1px solid var(--linea-2); border-radius: 24px; background: rgba(7, 12, 9, .88); }
.matriz__marco { position: relative; display: grid; grid-template-columns: 1.6rem minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) 1.6rem; }
.matriz__eje { margin: 0; color: var(--tenue); font-size: .78rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.matriz__eje--y { grid-row: 1; grid-column: 1; writing-mode: vertical-rl; rotate: 180deg; text-align: center; }
.matriz__eje--x { grid-row: 2; grid-column: 2; padding-top: .4rem; text-align: center; }
.matriz__cuadrantes { grid-row: 1; grid-column: 2; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; margin: 0; padding: 0; overflow: hidden; border-radius: 16px; list-style: none; background: var(--linea); }
.matriz__cuadrante { min-height: 9.5rem; padding: 1rem; background: var(--noche-2); }
@media (max-width: 40em) { .matriz { padding: 1rem .75rem; } .matriz__cuadrante { min-height: 12rem; padding: .85rem; } .matriz__cuadrante b { font-size: .95rem; } }
.matriz__cuadrante b { display: block; color: var(--bruma); font-size: 1.05rem; font-weight: 680; font-stretch: 112%; }
.matriz__cuadrante span { display: block; margin-top: .25rem; color: var(--niebla); font-size: .82rem; }
.matriz__cuadrante--ya { background: linear-gradient(135deg, rgba(87, 214, 90, .16), transparent 70%), var(--noche-2); }
.matriz__cuadrante--ya b { color: var(--clorofila-2); }
.matriz__cuadrante--planear b { color: var(--filamento); }
.matriz__puntos { position: absolute; inset: 0 0 1.6rem 1.6rem; pointer-events: none; }
.matriz__puntos i { position: absolute; left: var(--x); top: var(--y); width: .7rem; height: .7rem; border-radius: 50%; background: var(--bruma); box-shadow: 0 0 10px rgba(255, 255, 255, .5); scale: var(--s, 1); transition: scale .6s var(--ease); transition-delay: calc(var(--k) * 110ms); }
.js .matriz:not(.on) .matriz__puntos i { --s: 0; }
.matriz figcaption { margin-top: 1rem; }

/* ───────── Cómo trabajamos: pestañas de la ruta ───────── */
.pestanas__lista { display: inline-flex; flex-wrap: wrap; gap: 3px; margin: 0 0 1.5rem; padding: 3px; border-radius: 999px; background: rgba(232, 238, 233, .05); box-shadow: inset 0 0 0 1px var(--linea); }
.pestanas__lista button { min-height: 2.75rem; padding: .55rem 1.1rem; border: 0; border-radius: 999px; background: none; color: var(--niebla); font-weight: 600; cursor: pointer; transition: background-color .25s, color .25s; }
.pestanas__lista button:hover { color: var(--bruma); }
.pestanas__lista button[aria-selected="true"] { background: var(--clorofila); color: var(--sobre-verde); box-shadow: 0 0 18px rgba(87, 214, 90, .4); }
.pestanas > .pestana { margin: 0 !important; }
.pestanas > .pestana + .pestana { margin-top: 2.5rem !important; }
.pestanas.con-pestanas > .pestana + .pestana { margin-top: 0 !important; }
.pestanas.con-pestanas .pestana__titulo { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.pestana__titulo { margin-bottom: 1rem !important; font-size: 1.3rem !important; }
.pestana[hidden] { display: none; }
.pestana .is-style-lume-pasos { max-width: 46rem; }
.pestana .is-style-lume-pasos li { color: var(--niebla); }
.pestana .is-style-lume-pasos strong { display: inline; font-size: 1rem; }
.lume-ruta-tabla tbody th { color: var(--bruma); font-size: .95rem; font-weight: 640; }
.lume-ruta-tabla tbody tr:last-child { background: rgba(255, 182, 72, .04); }

/* ───────── Rejillas de compromisos y principios ───────── */
.lume-rejilla--compromisos, .lume-rejilla--principios { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; }
.lume-rejilla--compromisos .lume-elemento, .lume-rejilla--principios .lume-elemento { padding: 1.4rem 1.3rem 1.5rem; border: 1px solid var(--linea); border-radius: 20px; background: var(--vidrio); transition: border-color .4s; }
.lume-rejilla--compromisos .lume-elemento:hover, .lume-rejilla--principios .lume-elemento:hover { border-color: var(--linea-verde); }
.lume-rejilla--compromisos svg, .lume-rejilla--principios svg { width: 2.2rem; height: 2.2rem; margin-bottom: 1.1rem; color: var(--clorofila); }
.lume-rejilla--compromisos h3, .lume-rejilla--principios h3 { font-size: 1.12rem; font-weight: 680; font-stretch: 112%; letter-spacing: -.01em; }
.lume-rejilla--compromisos p, .lume-rejilla--principios p { margin: .45rem 0 0; color: var(--niebla); font-size: .93rem; }
.lume-rejilla--principios .lume-elemento:last-child { border-color: rgba(255, 182, 72, .35); background: linear-gradient(160deg, rgba(255, 182, 72, .08), transparent 60%); }
.lume-rejilla--principios .lume-elemento:last-child svg { color: var(--filamento); }
@media (max-width: 63.99em) { .lume-rejilla--compromisos, .lume-rejilla--principios { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 30em) { .lume-rejilla--compromisos, .lume-rejilla--principios { grid-template-columns: minmax(0, 1fr); } }

/* ───────── Nosotros: firma, modelo de estudio, fundador y haz ───────── */
.lienzo > .lume-firma { position: relative; overflow: clip; text-align: center; }
.lume-firma::before { content: ""; position: absolute; z-index: -1; left: 50%; top: -20%; width: min(60rem, 130vw); height: 140%; translate: -50% 0; pointer-events: none; opacity: .8;
	background: conic-gradient(from 180deg at 50% 0%, transparent 165deg, rgba(87, 214, 90, .14) 177deg, rgba(200, 255, 200, .22) 180deg, rgba(87, 214, 90, .14) 183deg, transparent 195deg); filter: blur(14px);
	-webkit-mask: linear-gradient(180deg, #000 30%, transparent 90%); mask: linear-gradient(180deg, #000 30%, transparent 90%); }
.lume-firma > * { margin: 0 auto; }
.lume-firma__texto { color: transparent; font-size: clamp(2.6rem, 1rem + 6vw, 7rem); font-weight: 800; font-stretch: 125%; line-height: .95; letter-spacing: -.045em; -webkit-text-stroke: 1px rgba(87, 214, 90, .55); text-shadow: 0 0 60px rgba(87, 214, 90, .15); }
.lume-firma__lead { max-width: 40rem; margin-top: 1.5rem !important; color: var(--niebla); font-size: var(--t-lead); }
.lume-firma .lume-pendiente { max-width: 40rem; margin-top: 2rem !important; text-align: left; }
.modelo { display: grid; justify-items: center; gap: 1.5rem; }
.modelo__nucleo { position: relative; display: grid; justify-items: center; gap: .4rem; max-width: 26rem; padding: 2rem 1.75rem; border: 1px solid var(--linea-verde); border-radius: 999px; background: radial-gradient(80% 100% at 50% 0%, rgba(87, 214, 90, .16), transparent 70%), rgba(7, 12, 9, .9); box-shadow: 0 0 80px -20px rgba(87, 214, 90, .5); text-align: center; }
.modelo__nucleo b { font-size: 1.3rem; font-weight: 720; font-stretch: 115%; }
.modelo__nucleo > span:last-child { color: var(--niebla); font-size: .93rem; }
.modelo__luz { width: .8rem; height: .8rem; border-radius: 50%; background: var(--clorofila); box-shadow: 0 0 14px var(--clorofila), 0 0 34px rgba(87, 214, 90, .6); }
.modelo__puente { margin: 0; color: var(--tenue); font-size: .9rem; }
.modelo__disciplinas { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; width: 100%; margin: 0; padding: 0; list-style: none; }
.modelo__disciplinas::before { content: ""; position: absolute; left: 16%; right: 16%; top: -1.5rem; height: 1.5rem; border: 1px dashed var(--linea-2); border-bottom: 0; border-radius: 12px 12px 0 0; }
.modelo__disciplina { padding: 1.2rem 1.25rem; border: 1px solid var(--linea); border-radius: 18px; background: var(--vidrio); transition: border-color .6s, box-shadow .6s; transition-delay: calc(var(--k) * 260ms + .3s); }
.modelo__disciplina b { display: flex; align-items: center; gap: .55rem; color: var(--bruma); font-size: 1.02rem; }
.modelo__disciplina b::before { content: ""; flex: none; width: .55rem; height: .55rem; border-radius: 50%; background: var(--apagado); box-shadow: inset 0 0 0 1px var(--linea-2); transition: inherit; }
.modelo__disciplina span { display: block; margin-top: .35rem; color: var(--niebla); font-size: .9rem; }
.modelo.on .modelo__disciplina, html:not(.js) .modelo__disciplina { border-color: var(--linea-verde); }
.modelo.on .modelo__disciplina b::before, html:not(.js) .modelo__disciplina b::before { background: var(--clorofila); box-shadow: 0 0 10px var(--clorofila); }
@media (max-width: 50em) { .modelo__disciplinas { grid-template-columns: minmax(0, 1fr); } .modelo__disciplinas::before { display: none; } .modelo__nucleo { border-radius: 28px; } }
.lume-fundador { align-items: start; }
.lume-fundador .lume-pendiente { margin-top: 0 !important; }
.haz-arco { position: relative; justify-self: end; width: min(100%, 22rem); aspect-ratio: 1; }
.haz-arco__arco { position: absolute; inset: 8%; border-radius: 50%; background: conic-gradient(from 225deg, rgba(87, 214, 90, .9) 0 270deg, transparent 270deg);
	-webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px)); mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
	filter: drop-shadow(0 0 12px rgba(87, 214, 90, .7)) drop-shadow(0 0 40px rgba(87, 214, 90, .35)); }
.haz-arco__luz { position: absolute; inset: 30%; border-radius: 50%; background: radial-gradient(closest-side, rgba(139, 234, 140, .35), transparent); filter: blur(6px); }
@media (prefers-reduced-motion: no-preference) {
	.js .haz-arco__arco { animation: arco-enciende 2.4s var(--ease) .3s both; }
}
@keyframes arco-enciende { from { opacity: 0; rotate: -40deg; } }
@media (max-width: 63.99em) { .haz-arco { order: -1; justify-self: start; width: 9rem; } }

@media (forced-colors: active) {
	.llave, .luz, .arbol__pagina i, .lume-barra i, .informe__fila i { forced-color-adjust: none; }
}
@media (max-width: 63.99em) {
	.selector, .vineta, .medicion, .arbol, .constelacion { -webkit-backdrop-filter: none; backdrop-filter: none; }
}

.lume-fundador__bio > p { color: var(--niebla); }
.lume-fundador__bio > p + p { margin-top: 1rem; }

/* ───────── Proyectos y casos ───────── */
/* Capturas auténticas de un proyecto: marco de pantalla, sin efectos que alteren la imagen. */
.lume-captura { margin: 0; }
.lume-captura img { display: block; width: 100%; height: auto; border: 1px solid var(--linea-2); border-radius: var(--radio-grande); box-shadow: 0 40px 100px -40px rgba(0, 0, 0, .95); }
.lume-captura figcaption { margin-top: .7rem; color: var(--tenue); font-size: .8rem; text-align: left; }
.lume-hero-captura .lume-captura img { border-color: var(--linea-verde); box-shadow: 0 0 0 1px rgba(87, 214, 90, .08), 0 40px 120px -40px rgba(87, 214, 90, .25); }
.lume-capturas { display: grid; grid-template-columns: minmax(0, 2.6fr) minmax(0, 1fr); gap: clamp(1rem, 3vw, 2rem); align-items: start; margin: 2rem 0 1.75rem; }
.lume-captura--movil img { border-radius: 28px; }
.lume-enlace-externo a { color: var(--clorofila); font-weight: 620; }
.lume-servicios-caso { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.lume-servicios-caso > :not(.servicio):not(.wp-block-lume-tarjeta-servicio) { grid-column: 1 / -1; }
.lume-servicios-caso > .servicio { margin-block: .8rem 0; }
.lume-casos__lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr)); gap: 1.25rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.lume-casos__enlace { display: block; height: 100%; padding: 1rem 1rem 1.25rem; border: 1px solid var(--linea); border-radius: var(--radio-grande); background: rgba(232, 238, 233, .03); color: inherit; text-decoration: none; transition: border-color .3s, transform .3s var(--ease); }
.lume-casos__enlace:hover, .lume-casos__enlace:focus-visible { border-color: var(--linea-verde); transform: translateY(-2px); }
.lume-casos__imagen img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: left top; border-radius: var(--radio); }
.lume-casos__nombre { margin: 1rem 0 .35rem; color: var(--bruma); font-size: 1.3rem; }
.lume-casos__resumen { margin: 0; color: var(--niebla); font-size: .92rem; }
.lume-nota-casos { margin-top: 1.25rem; color: var(--tenue); font-size: .88rem; }
@media (max-width: 48em) {
	.lume-capturas, .lume-servicios-caso { grid-template-columns: minmax(0, 1fr); }
	.lume-captura--movil { max-width: 16rem; }
}
@media (prefers-reduced-motion: reduce) { .lume-casos__enlace { transition: none; } .lume-casos__enlace:hover { transform: none; } }
