/* Identidad integral aprobada: color y legibilidad compartidos por todo el portal. */
body.tema-matrix{--verde:#296e17;--tinta:#142017;--gris:#40553a;--linea:#b9d1a9;--suave:#e8f4de;background-color:#edf6e8;background-image:radial-gradient(ellipse 85% 520px at 12% 0%,#aede9270,transparent 85%),radial-gradient(ellipse 70% 700px at 100% 14%,#82c79a45,transparent 80%),linear-gradient(180deg,#e1f2d8,#f0f8eb 42%,#e3f1dc);color:var(--tinta);font-size:16px;line-height:1.7}
body.tema-matrix #lluvia{opacity:.12}
body.tema-matrix .cabecera.contenedor{position:relative;isolation:isolate;background:radial-gradient(ellipse at 100% 0%,#9bd67c80,transparent 70%),linear-gradient(110deg,#d2eac0e8,#e4f3d4ed 55%,#bfdfb1ee);border:1px solid #a9c894;border-top:0;border-radius:0 0 16px 16px;box-shadow:0 7px 24px #315c1d0a;padding-inline:24px;gap:26px}
body.tema-matrix .cabecera.contenedor::before{content:'';position:absolute;inset:0 0 0 60%;z-index:-1;background:url('matrix-textura.svg') right center/140px auto repeat;opacity:.1;pointer-events:none;mask-image:linear-gradient(90deg,transparent,#000);-webkit-mask-image:linear-gradient(90deg,transparent,#000);border-radius:inherit}
body.tema-matrix .cabecera nav{background:transparent;border:0;box-shadow:none;gap:24px}
body.tema-matrix .cabecera nav a{font-size:14px;color:#294f22;white-space:nowrap}
body.tema-matrix .cabecera nav a:hover{color:#173e16;text-decoration:underline}
body.tema-matrix .cabecera .acceso{background:#edf8e2;color:#24571b;border-color:#89b474;font-size:13px;min-height:42px}
body.tema-matrix .cabecera .cuenta-menu>summary{font-size:14px;color:#24571b}
body.tema-matrix .cuenta-opciones{background:#f3faed;border-color:#aec99c;width:280px}
body.tema-matrix .cuenta-opciones a,body.tema-matrix .cuenta-opciones p,body.tema-matrix .cuenta-opciones button{font-size:14px}
body.tema-matrix main.contenedor:not(.analisis-visual){padding-block:36px 52px}
body.tema-matrix main:not(.analisis-visual) :is(h1,h2,h3,h4){color:var(--tinta);text-shadow:none}
body.tema-matrix main:not(.analisis-visual) h1{font-size:clamp(30px,4vw,50px);line-height:1.18;letter-spacing:-.045em}
body.tema-matrix main:not(.analisis-visual) h2{font-size:27px;line-height:1.35;letter-spacing:-.035em}
body.tema-matrix main:not(.analisis-visual) h3{font-size:20px;line-height:1.5;letter-spacing:-.025em}
body.tema-matrix main:not(.analisis-visual) h4{font-size:17px;line-height:1.5}
body.tema-matrix main:not(.analisis-visual) :is(p,li,label){font-size:16px;line-height:1.8}
body.tema-matrix main:not(.analisis-visual) :is(.nota,.ayuda,.firma-servicio,.nota-planes,.nota-ficticio,.lateral-nota){font-size:14px;line-height:1.8;color:var(--gris)}
body.tema-matrix main:not(.analisis-visual) :is(.titulo-pagina,.cap-portada,.contacto-portada){position:relative;isolation:isolate;overflow:hidden;padding:30px 34px;margin:0 0 28px;border:1px solid #b5d29e;border-radius:18px;background:radial-gradient(ellipse at 100% 0%,#87ce7370,transparent 65%),linear-gradient(115deg,#dff0d0,#e9f7df 52%,#c4e7b5)}
body.tema-matrix main:not(.analisis-visual) :is(.titulo-pagina,.cap-portada,.contacto-portada)::before{content:'';position:absolute;z-index:-1;inset:0 0 0 55%;background:url('matrix-textura.svg') right center repeat;opacity:.1;pointer-events:none}
body.tema-matrix main:not(.analisis-visual) :is(.titulo-pagina,.cap-portada,.contacto-portada) h1{margin:0;max-width:26ch}
body.tema-matrix main:not(.analisis-visual) :is(.titulo-pagina,.cap-portada,.contacto-portada) p{margin-top:16px;max-width:65ch;font-size:17px}
body.tema-matrix main:not(.analisis-visual)>h1{padding:28px 32px;margin:0 0 26px;border:1px solid #b5d29e;border-radius:16px;background:radial-gradient(ellipse at right top,#c2e79d80,transparent 65%),linear-gradient(115deg,#dff0d0,#d3eec3);overflow-wrap:anywhere}
body.tema-matrix main:not(.analisis-visual) :is(.card,.cap-card,.pc-card,.informe,.contacto-canal,.plan,.recorrido,.resultado,.tarjeta,.expediente,.lab-card){background:radial-gradient(ellipse at top right,#cce8b855,transparent 75%),linear-gradient(135deg,#f4faed,#e4f2d8);border-color:#b5cea3;border-radius:14px;box-shadow:0 7px 22px #315c1d07}
body.tema-matrix main:not(.analisis-visual) :is(.card,.cap-card,.pc-card,.informe,.contacto-canal){padding:26px}
body.tema-matrix main:not(.analisis-visual) :is(.plan-principal,.contacto-whatsapp){background:linear-gradient(140deg,#cce8b8,#e4f4d7);border-color:#91ba76}
body.tema-matrix main:not(.analisis-visual) .hero-creadores{padding:38px 0 48px;gap:44px}
body.tema-matrix main:not(.analisis-visual) .hero-texto{padding:30px 28px;border:1px solid #b5d29e;border-radius:18px;background:radial-gradient(ellipse at top right,#a6d78270,transparent 70%),linear-gradient(125deg,#dceecb,#e8f6dc)}
body.tema-matrix main:not(.analisis-visual) .hero-texto h1{font-size:clamp(34px,4.2vw,54px)}
body.tema-matrix main:not(.analisis-visual) .bajada{font-size:17px;max-width:45ch}
body.tema-matrix main:not(.analisis-visual) .recorrido :is(p,h3){font-size:15px}
body.tema-matrix main:not(.analisis-visual) .espacio{background:#edf7e4;border-color:#accb99;border-radius:16px}
body.tema-matrix main:not(.analisis-visual) .herramientas{background:linear-gradient(160deg,#d9edcb,#e8f4dd);border-color:#b5cea3}
body.tema-matrix main:not(.analisis-visual) .herramientas a{font-size:14px;line-height:1.6}
body.tema-matrix main:not(.analisis-visual) .zona-trabajo{background:linear-gradient(125deg,#f4faee,#e5f2dc);padding-top:30px}
body.tema-matrix main:not(.analisis-visual) .encabezado-panel :is(h2,p){max-width:65ch}
body.tema-matrix main:not(.analisis-visual) .encabezado-panel h2{font-size:29px}
body.tema-matrix main:not(.analisis-visual) .encabezado-panel p{font-size:16px}
body.tema-matrix main:not(.analisis-visual) input:not([type=checkbox]):not([type=radio]):not([type=hidden]),body.tema-matrix main:not(.analisis-visual) :is(select,textarea){font:inherit;font-size:16px;line-height:1.5;min-height:48px;background:#fbfef8;color:var(--tinta);border-color:#a2bf90;border-radius:8px;max-width:100%;box-sizing:border-box}
body.tema-matrix main:not(.analisis-visual) input[type=checkbox],body.tema-matrix main:not(.analisis-visual) input[type=radio]{accent-color:#296e17;width:18px;height:18px;flex:0 0 18px}
body.tema-matrix main:not(.analisis-visual) :is(.boton,form button){font-size:15px;line-height:1.6;min-height:46px;border-radius:8px;white-space:normal;max-width:100%}
body.tema-matrix main:not(.analisis-visual) .campo-accion .boton{min-height:52px}
body.tema-matrix main:not(.analisis-visual) form:not(.en-linea){border-color:#b5cea3}
body.tema-matrix main:not(.analisis-visual) :is(summary,.cap-card summary){font-size:15px;line-height:1.8;cursor:pointer}
body.tema-matrix main:not(.analisis-visual) .cap-card :is(h2,h3){margin-top:0}
body.tema-matrix main:not(.analisis-visual) .cap-resumen{gap:24px;font-size:15px}
body.tema-matrix main:not(.analisis-visual) .cap-resumen strong{font-size:30px}
body.tema-matrix main:not(.analisis-visual) :is(.pc-grid,.cap-grid){gap:22px}
body.tema-matrix main:not(.analisis-visual) :is(.expediente-resumen,.pie-trabajo){background:#dfeecf;border-color:#b8d1a6}
body.tema-matrix main:not(.analisis-visual) .expediente-avances{background:#edf7e4}
body.tema-matrix main:not(.analisis-visual) .expediente :is(dt,dd){font-size:14px;line-height:1.8}
body.tema-matrix main:not(.analisis-visual) .plan .precio{font-size:42px;line-height:1.3}
body.tema-matrix main:not(.analisis-visual) .precio span{font-size:14px}
body.tema-matrix main:not(.analisis-visual) .logo-sitio{width:36px;height:36px;object-fit:contain;border-radius:50%;background:#fff;border:1px solid #bfd2b1;padding:3px;vertical-align:middle;flex:0 0 36px}
body.tema-matrix main:not(.analisis-visual) .logo-sitio.inicial{display:inline-flex;align-items:center;justify-content:center;font-size:17px;color:#296e17;background:#e2efd6}
body.tema-matrix main:not(.analisis-visual) table{font-size:14px;max-width:100%;border-color:#b7cfa7}
body.tema-matrix main:not(.analisis-visual) :is(td,th){padding:12px 10px;line-height:1.7;overflow-wrap:anywhere}
body.tema-matrix main:not(.analisis-visual) th{background:#d9ebc9;color:#1d421a}
body.tema-matrix main:not(.analisis-visual) tbody tr:nth-child(even){background:#e9f4df}
body.tema-matrix main:not(.analisis-visual) .scroll{overflow:auto}
body.tema-matrix main:not(.analisis-visual) :is(.lab .nota,.lab small,.lab .etiqueta){font-size:13px;line-height:1.7}
body.tema-matrix main:not(.analisis-visual) .lab table :is(p,li){font-size:14px}
body.tema-matrix .pie{font-size:13px;border-color:#b2cc9e;gap:20px;padding-block:26px 34px}
body.tema-matrix .pie>span,body.tema-matrix .enlaces-pie,body.tema-matrix .pie .pausa{font-size:13px}
body.tema-matrix .pie a{color:#36522d}
body.tema-matrix :is(button,a,input,textarea,select,summary):focus-visible{outline:3px solid #245c17;outline-offset:4px}
@media(max-width:1050px){body.tema-matrix .cabecera{height:auto;min-height:100px;flex-wrap:wrap;padding-top:18px;padding-bottom:14px;gap:16px 20px}body.tema-matrix .cabecera nav{order:3;width:100%;margin:0;justify-content:flex-start;flex-wrap:wrap;gap:12px 24px;min-height:40px}body.tema-matrix main:not(.analisis-visual) .hero-creadores{grid-template-columns:1fr;gap:24px}body.tema-matrix main:not(.analisis-visual) .hero-texto h1{max-width:24ch}}
@media(max-width:700px){body.tema-matrix .cabecera.contenedor{padding-inline:14px;border-radius:0 0 12px 12px;gap:14px 10px}body.tema-matrix .cabecera .marca img{width:135px}body.tema-matrix .cabecera .acceso{font-size:12px;padding:8px;min-height:38px}body.tema-matrix .cabecera .cuenta-menu>summary{font-size:12px}body.tema-matrix .cabecera nav{gap:10px 18px;min-height:40px}body.tema-matrix .cabecera nav a{font-size:13px}body.tema-matrix main.contenedor:not(.analisis-visual){padding-top:24px}body.tema-matrix main:not(.analisis-visual) :is(.titulo-pagina,.cap-portada,.contacto-portada){padding:26px 22px;border-radius:14px}body.tema-matrix main:not(.analisis-visual)>h1{padding:24px 20px;font-size:30px}body.tema-matrix main:not(.analisis-visual) :is(.card,.cap-card,.pc-card,.informe,.contacto-canal){padding:22px 18px}body.tema-matrix main:not(.analisis-visual) h2{font-size:24px}body.tema-matrix main:not(.analisis-visual) :is(p,li,label){font-size:15px}body.tema-matrix main:not(.analisis-visual) :is(.nota,.ayuda,.firma-servicio,.nota-planes,.nota-ficticio,.lateral-nota){font-size:13px}body.tema-matrix main:not(.analisis-visual) .hero-texto{padding:26px 22px}body.tema-matrix main:not(.analisis-visual) .hero-texto h1{font-size:36px}body.tema-matrix main:not(.analisis-visual) .herramientas a{font-size:11px}body.tema-matrix main:not(.analisis-visual) .zona-trabajo{padding:26px 20px 0}body.tema-matrix main:not(.analisis-visual) .plan .precio{font-size:36px}body.tema-matrix main:not(.analisis-visual) .pc-grid,body.tema-matrix main:not(.analisis-visual) .cap-grid{grid-template-columns:1fr}body.tema-matrix main:not(.analisis-visual) :is(td,th){font-size:13px;padding:10px 8px}body.tema-matrix .enlaces-pie{gap:12px 16px;font-size:12px}body.tema-matrix .pie .pausa{font-size:12px}}
@media print{body.tema-matrix{background:#fff}body.tema-matrix #lluvia{display:none}body.tema-matrix .cabecera.contenedor{box-shadow:none}}

body.tema-matrix main:not(.analisis-visual)>form{padding:28px;border:1px solid #b5cea3;border-radius:14px;background:linear-gradient(125deg,#e6f4da,#f2fae9);box-shadow:0 7px 22px #315c1d07}
body.tema-matrix main:not(.analisis-visual)>p:not(.mensaje){background:transparent}
@media(max-width:700px){body.tema-matrix main:not(.analisis-visual)>form{padding:22px 18px}}

/* La lluvia queda entre el fondo del body y el contenido legible. */
body.tema-matrix{isolation:isolate}
body.tema-matrix #lluvia,body.tema-matrix:has(.analisis-visual) #lluvia{z-index:0;opacity:.42;pointer-events:none}
body.tema-matrix>main,body.tema-matrix>.pie{position:relative;z-index:1}
body.tema-matrix>.cabecera.contenedor{position:relative;z-index:5}
@media(prefers-reduced-motion:reduce){body.tema-matrix #lluvia{opacity:.3}}
