/*
	Theme Name: Neuron 2026
	Description: Sitio para el Sistema Integral para Clínicas Neuron: portada con características y módulos del sistema, sección de Novedades editable desde el panel, servicios, contacto y contratar. Diseño 2026 adaptable a celulares.
	Author: Ing. Patricia Alejandra Antenucci
	Version: 2026.1
	Requires at least: 5.0
	Requires PHP: 7.2
	Text Domain: neuron
*/


/* ---------- Base ---------- */
:root{
	--azul:#00788f;
	--azul-claro:#2fb7d0;
	--azul-oscuro:#04303a;
	--azul-medio:#0a5568;
	--rojo:#c0282d;
	--tinta:#17262d;
	--gris:#55656e;
	--linea:#dde8ec;
	--fondo:#f2f7f8;
	--blanco:#fff;
	--radio:18px;
	--sombra:0 14px 40px rgba(4,48,58,.10);
	--ancho:1200px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ margin:0; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif; font-size:17px; line-height:1.65; color:var(--tinta); background:var(--blanco); -webkit-font-smoothing:antialiased; }
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--azul); text-decoration:none; }
a:hover{ color:var(--azul-oscuro); }
h1,h2,h3,h4{ line-height:1.2; margin:0 0 .5em; color:var(--azul-oscuro); letter-spacing:-.01em; }
p{ margin:0 0 1em; }
ul,ol{ margin:0 0 1em; padding-left:1.2em; }
.contenedor{ width:100%; max-width:var(--ancho); margin:0 auto; padding:0 24px; }
.contenedor-angosto{ max-width:820px; }
.saltar{ position:absolute; left:-9999px; top:0; background:var(--azul-oscuro); color:#fff; padding:10px 16px; z-index:100; }
.saltar:focus{ left:8px; top:8px; }
:focus-visible{ outline:3px solid var(--azul); outline-offset:2px; }

/* ---------- Botones ---------- */
.boton, button.boton, input[type=submit].boton{
	display:inline-block; border:2px solid var(--azul); background:var(--azul); color:#fff; font:600 15px/1 inherit; font-family:inherit;
	padding:14px 26px; border-radius:999px; cursor:pointer; text-transform:uppercase; letter-spacing:.04em; transition:.2s;
}
.boton:hover{ background:var(--azul-oscuro); border-color:var(--azul-oscuro); color:#fff; transform:translateY(-1px); }
.boton-contorno{ background:transparent; border-color:rgba(255,255,255,.7); }
.boton-contorno:hover{ background:#fff; border-color:#fff; color:var(--azul-oscuro); }
.boton-contorno-oscuro{ background:transparent; border-color:var(--azul-oscuro); color:var(--azul-oscuro); }
.boton-contorno-oscuro:hover{ background:var(--azul-oscuro); color:#fff; }
.boton-claro{ background:#fff; border-color:#fff; color:var(--azul-oscuro); }
.boton-claro:hover{ background:var(--azul); border-color:var(--azul); color:#fff; }

/* ---------- Cabecera ---------- */
.cabecera{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,.82); backdrop-filter:saturate(1.4) blur(14px); -webkit-backdrop-filter:saturate(1.4) blur(14px); border-bottom:1px solid transparent; transition:.2s; }
.cabecera.con-sombra{ border-color:var(--linea); box-shadow:0 8px 28px rgba(4,48,58,.08); }
.cabecera-fila{ display:flex; align-items:center; justify-content:space-between; min-height:76px; gap:24px; }
.logo img{ height:44px; width:auto; }
.menu{ display:flex; align-items:center; gap:22px; }
.menu ul{ list-style:none; margin:0; padding:0; display:flex; gap:4px; }
.menu li{ position:relative; }
.menu a{ display:block; padding:9px 15px; color:var(--tinta); font-weight:600; font-size:15px; border-radius:999px; }
.menu li a:hover, .menu .current-menu-item > a, .menu .current_page_item > a, .menu .current-menu-ancestor > a{ color:var(--azul); background:#e3f2f5; }
.menu .boton-menu{ padding:11px 24px; font-size:14px; color:#fff; }
.menu .boton-menu:hover{ background:var(--azul-oscuro); color:#fff; }
.menu ul ul{ position:absolute; left:0; top:100%; min-width:220px; flex-direction:column; gap:0; background:#fff; border-radius:14px; box-shadow:var(--sombra); padding:8px; opacity:0; visibility:hidden; transform:translateY(6px); transition:.18s; }
.menu li:hover > ul, .menu li:focus-within > ul{ opacity:1; visibility:visible; transform:none; }
.menu-boton{ display:none; width:46px; height:46px; border:1px solid var(--linea); border-radius:12px; background:#fff; cursor:pointer; padding:0; position:relative; }
.menu-boton span{ position:absolute; left:12px; right:12px; height:2px; background:var(--azul-oscuro); transition:.2s; }
.menu-boton span:nth-child(1){ top:15px; } .menu-boton span:nth-child(2){ top:22px; } .menu-boton span:nth-child(3){ top:29px; }
.menu-boton.abierto span:nth-child(1){ top:22px; transform:rotate(45deg); }
.menu-boton.abierto span:nth-child(2){ opacity:0; }
.menu-boton.abierto span:nth-child(3){ top:22px; transform:rotate(-45deg); }

/* ---------- Heroe (portada) ---------- */
.heroe{ position:relative; color:#fff; overflow:hidden; background:radial-gradient(900px 500px at 85% 10%, rgba(47,183,208,.45), transparent 60%), radial-gradient(700px 500px at 0% 100%, rgba(192,40,45,.28), transparent 60%), linear-gradient(135deg, var(--azul-oscuro) 0%, var(--azul-medio) 55%, var(--azul) 100%); }
.heroe::after{ content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.12) 1px, transparent 1px); background-size:26px 26px; mask-image:linear-gradient(90deg, transparent 20%, #000); -webkit-mask-image:linear-gradient(90deg, transparent 20%, #000); pointer-events:none; }
.heroe-grilla{ position:relative; z-index:1; display:grid; grid-template-columns:1.25fr .75fr; gap:48px; align-items:center; padding-top:96px; padding-bottom:104px; }
.sobretitulo{ display:inline-block; color:var(--azul); font-weight:700; text-transform:uppercase; letter-spacing:.16em; font-size:13px; margin-bottom:16px; }
.heroe .sobretitulo{ color:#8fe0f0; padding:7px 14px; border:1px solid rgba(143,224,240,.4); border-radius:999px; letter-spacing:.1em; }
.heroe h1{ color:#fff; font-size:clamp(38px,5.6vw,68px); font-weight:300; line-height:1.05; }
.heroe h1 strong{ font-weight:800; background:linear-gradient(90deg,#8fe0f0,#fff); -webkit-background-clip:text; background-clip:text; color:transparent; }
.heroe-descripcion{ font-size:19px; color:#cfe6ec; max-width:540px; }
.heroe-botones{ display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.heroe-version{ display:flex; flex-direction:column; align-items:center; text-align:center; }
.heroe-version-etiqueta{ text-transform:uppercase; letter-spacing:.3em; font-size:13px; color:#8fe0f0; }
.heroe-version-numero{ font-size:clamp(84px,13vw,170px); font-weight:800; line-height:1; letter-spacing:-.04em; color:transparent; -webkit-text-stroke:2px rgba(255,255,255,.9); }
.heroe-version img{ margin-top:12px; width:min(220px,60%); height:auto; filter:drop-shadow(0 24px 30px rgba(0,0,0,.35)); }

/* ---------- Secciones ---------- */
.seccion{ padding:80px 0; }
.seccion-titulo{ text-align:center; font-size:clamp(26px,3vw,38px); margin-bottom:40px; }
.seccion-titulo-izq{ font-size:clamp(26px,3vw,38px); font-weight:300; margin-bottom:28px; }
.seccion-titulo-izq strong{ font-weight:800; color:var(--azul); }
.banner{ background:radial-gradient(600px 300px at 90% 0%, rgba(47,183,208,.4), transparent 60%), linear-gradient(120deg, var(--azul-oscuro), var(--azul-medio) 65%, var(--azul)); color:#fff; padding:68px 0; position:relative; overflow:hidden; }
.banner .contenedor{ position:relative; z-index:1; }
.banner .sobretitulo{ color:#8fe0f0; margin-bottom:10px; }
.banner h1{ color:#fff; font-size:clamp(32px,4.4vw,52px); font-weight:300; margin:0; }
.banner h1 strong{ font-weight:800; }
.banner p, .banner-texto{ color:#cfe6ec; max-width:640px; margin:14px 0 0; }
.banner .tarjeta-meta{ color:#a9d4de; margin-bottom:10px; }
.banner .categoria{ background:rgba(255,255,255,.16); color:#fff; }
.presentacion{ padding:64px 0 0; }

.grilla{ display:grid; gap:28px; }
.grilla-3{ grid-template-columns:repeat(3,1fr); }
.dos-columnas{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.con-lateral{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:48px; align-items:start; }

/* Sistema: columna de caracteristicas + modulos */
.sistema{ padding:88px 0; background:var(--blanco); }
.sistema-grilla{ display:grid; grid-template-columns:300px minmax(0,1fr); gap:64px; align-items:start; }
.caracteristicas{ position:sticky; top:104px; background:var(--fondo); border:1px solid var(--linea); border-radius:var(--radio); padding:12px 28px 24px; }
.caracteristicas-grupo{ padding:20px 0; border-bottom:1px dashed #b9cdd4; }
.caracteristicas-grupo h3{ font-size:13px; text-transform:uppercase; letter-spacing:.14em; color:var(--gris); font-weight:700; margin-bottom:12px; }
.caracteristicas-grupo ul{ list-style:none; padding:0; margin:0; }
.caracteristicas-grupo li{ color:var(--azul); font-weight:700; padding:4px 0 4px 26px; position:relative; line-height:1.35; }
.caracteristicas-grupo li .fa{ position:absolute; left:0; top:8px; font-size:13px; color:var(--azul-claro); }
.caracteristicas-experiencia{ margin:20px 0 0; font-size:13px; font-style:italic; color:var(--gris); }
.modulos-grilla{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.modulo{ display:flex; gap:16px; background:#fff; border:1px solid var(--linea); border-radius:var(--radio); padding:22px; transition:.25s; }
.modulo:hover{ transform:translateY(-4px); box-shadow:var(--sombra); border-color:var(--azul-claro); }
.modulo-icono{ flex:none; width:50px; height:50px; border-radius:14px; background:linear-gradient(135deg,#e3f2f5,#cdebf1); color:var(--azul); display:flex; align-items:center; justify-content:center; font-size:22px; }
.modulo h3{ font-size:17px; margin-bottom:4px; color:var(--azul-oscuro); }
.modulo p{ margin:0; font-size:15px; color:var(--gris); line-height:1.5; }
.proximamente{ display:flex; align-items:center; gap:16px; margin-top:18px; padding:18px 24px; border-radius:var(--radio); background:#fbeeee; border:1px solid #f0c9ca; color:#6d1b1e; }
.proximamente .fa{ font-size:26px; color:var(--rojo); }
.proximamente p{ margin:0; }

/* Novedades en portada */
.novedades{ padding:80px 0; background:var(--fondo); }
.novedades-cabecera{ display:flex; align-items:baseline; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:8px; }
.enlace-flecha{ font-weight:700; }
.enlace-flecha .fa{ transition:transform .2s; }
.enlace-flecha:hover .fa{ transform:translateX(4px); }
.vacio-texto{ color:var(--gris); }
.filtros{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:36px; }
.filtros a{ padding:8px 18px; border:1px solid var(--linea); border-radius:999px; color:var(--azul-oscuro); font-weight:600; font-size:14px; background:#fff; }
.filtros a.activo, .filtros a:hover{ background:var(--azul); border-color:var(--azul); color:#fff; }

/* Servicio web */
.web{ background:linear-gradient(120deg,var(--azul),var(--azul-medio)); color:#fff; padding:60px 0; }
.web-fila{ display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.web h2{ color:#fff; margin:0 0 6px; font-size:clamp(24px,3vw,34px); }
.web p{ margin:0; color:#cfe6ec; max-width:620px; }

/* Tarjetas */
.tarjeta{ background:#fff; border-radius:var(--radio); overflow:hidden; box-shadow:var(--sombra); border:1px solid var(--linea); display:flex; flex-direction:column; transition:.25s; }
.tarjeta:hover{ transform:translateY(-5px); }
.tarjeta-imagen{ display:block; aspect-ratio:16/10; background:#dbe7ee center/cover no-repeat; }
.tarjeta-imagen.sin-imagen{ background:linear-gradient(135deg,var(--azul-oscuro),var(--azul)); position:relative; }
.tarjeta-imagen.sin-imagen::after{ content:""; position:absolute; inset:0; background:url('imagenes/logo-neuron-blanco.png') center/150px auto no-repeat; opacity:.55; }
.tarjeta-cuerpo{ padding:24px; display:flex; flex-direction:column; flex:1; }
.tarjeta-meta{ font-size:13px; color:var(--gris); display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:10px; }
.categoria{ background:#e3f2f5; color:var(--azul); padding:3px 11px; border-radius:999px; font-weight:700; }
.tarjeta h3{ font-size:20px; }
.tarjeta h3 a{ color:var(--azul-oscuro); }
.tarjeta h3 a:hover{ color:var(--azul); }
.tarjeta p{ color:var(--gris); font-size:15.5px; }
.tarjeta-mas{ margin-top:auto; font-weight:700; font-size:14px; }

/* Servicios */
.caracteristica, .servicio{ background:#fff; border-radius:var(--radio); padding:32px 28px; box-shadow:var(--sombra); border:1px solid var(--linea); display:block; color:var(--gris); transition:.25s; }
.servicio:hover{ transform:translateY(-4px); border-color:var(--azul); color:var(--gris); }
.servicio .fa{ display:flex; align-items:center; justify-content:center; width:58px; height:58px; border-radius:16px; background:#e3f2f5; color:var(--azul); font-size:26px; margin-bottom:18px; }
.servicio h3{ font-size:20px; }
.servicio p{ margin:0; }
.software{ background:var(--fondo); padding:80px 0; }
.software-grilla{ display:grid; grid-template-columns:340px 1fr; gap:56px; align-items:center; }
.software-imagen img{ margin:0 auto; filter:drop-shadow(0 20px 30px rgba(4,48,58,.25)); }

/* Contratar */
.contratar{ background:radial-gradient(700px 400px at 90% 0%, rgba(47,183,208,.35), transparent 60%), linear-gradient(135deg, var(--azul-oscuro), var(--azul-medio)); padding:90px 0; color:#cfe6ec; }
.contratar h1{ color:#fff; font-size:clamp(30px,4vw,46px); font-weight:300; }
.contratar .sobretitulo{ color:#8fe0f0; }
.contratar .contenido{ color:#cfe6ec; }

/* ---------- Formularios ---------- */
.tarjeta-formulario{ background:#fff; border-radius:var(--radio); padding:36px; box-shadow:var(--sombra); border:1px solid var(--linea); color:var(--tinta); }
.formulario-fila{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.campo-grupo{ display:block; margin-bottom:18px; }
.campo-grupo span{ display:block; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--gris); margin-bottom:6px; }
input[type=text], input[type=email], input[type=url], input[type=search], input[type=tel], textarea, select{
	width:100%; font:inherit; padding:13px 15px; border:1px solid #cfdce5; border-radius:10px; background:#fff; color:var(--tinta); transition:.15s;
}
input:focus, textarea:focus, select:focus{ outline:none; border-color:var(--azul); box-shadow:0 0 0 4px rgba(1,150,199,.15); }
.campo-trampa{ position:absolute; left:-9999px; height:0; overflow:hidden; }
.aviso{ padding:14px 18px; border-radius:10px; margin-bottom:20px; background:#eef4f8; border:1px solid var(--linea); }
.aviso-ok{ background:#e8f7ee; border-color:#b8e3c8; color:#16643a; }
.aviso-error{ background:#fdeeee; border-color:#f3c3c3; color:#8f1d1d; }
.buscador{ display:flex; max-width:460px; position:relative; }
.buscador input{ padding-right:52px; }
.buscador button{ position:absolute; right:4px; top:4px; bottom:4px; width:44px; border:0; border-radius:8px; background:var(--azul); color:#fff; cursor:pointer; }

/* Contacto */
.contacto-datos{ list-style:none; padding:0; margin:28px 0 0; }
.contacto-datos li{ margin-bottom:12px; font-weight:600; }
.contacto-datos .fa{ display:inline-flex; width:38px; height:38px; align-items:center; justify-content:center; border-radius:50%; background:#e6f5fb; color:var(--azul); margin-right:10px; }

/* ---------- Contenido de textos ---------- */
.contenido > *:first-child{ margin-top:0; }
.contenido h2{ font-size:28px; margin-top:1.6em; }
.contenido h3{ font-size:22px; margin-top:1.4em; }
.contenido img{ border-radius:10px; }
.contenido blockquote{ margin:1.5em 0; padding:8px 24px; border-left:4px solid var(--azul); background:var(--fondo); border-radius:0 10px 10px 0; color:var(--gris); }
.contenido table{ width:100%; border-collapse:collapse; margin-bottom:1.4em; }
.contenido th, .contenido td{ border:1px solid var(--linea); padding:10px 14px; text-align:left; }
.contenido .alignleft{ float:left; margin:0 24px 16px 0; } .contenido .alignright{ float:right; margin:0 0 16px 24px; } .contenido .aligncenter{ margin:0 auto 16px; }
.wp-caption{ max-width:100%; } .wp-caption-text, figcaption{ font-size:14px; color:var(--gris); }
.articulo-imagen{ margin-bottom:32px; border-radius:var(--radio); overflow:hidden; }
.articulo-etiquetas{ margin:28px 0; display:flex; flex-wrap:wrap; gap:8px; }
.articulo-etiquetas a{ background:var(--fondo); border:1px solid var(--linea); padding:4px 12px; border-radius:999px; font-size:14px; }
.articulo-nav{ display:flex; justify-content:space-between; gap:20px; padding:24px 0; border-top:1px solid var(--linea); border-bottom:1px solid var(--linea); margin:32px 0; font-weight:600; }

/* Lateral */
.lateral .widget{ background:var(--fondo); border-radius:var(--radio); padding:26px; margin-bottom:24px; border:1px solid var(--linea); }
.widget-titulo{ font-size:17px; text-transform:uppercase; letter-spacing:.06em; padding-bottom:12px; margin-bottom:14px; border-bottom:2px solid var(--azul); display:inline-block; }
.lateral ul{ list-style:none; padding:0; margin:0; }
.lateral li{ padding:8px 0; border-bottom:1px solid var(--linea); }
.lateral li:last-child{ border:0; }

/* Paginacion */
.navigation.pagination{ margin-top:48px; }
.nav-links{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
.page-numbers{ padding:10px 16px; border:1px solid var(--linea); border-radius:10px; color:var(--azul-oscuro); font-weight:600; }
.page-numbers.current, a.page-numbers:hover{ background:var(--azul); border-color:var(--azul); color:#fff; }
.screen-reader-text{ position:absolute; left:-9999px; }

/* Comentarios */
.comentarios{ margin-top:48px; }
.comentarios-titulo{ font-size:24px; }
.comentarios-lista{ list-style:none; padding:0; }
.comentarios-lista .comment-body{ background:var(--fondo); border-radius:var(--radio); padding:20px 24px; margin-bottom:16px; border:1px solid var(--linea); }
.comentarios-lista .children{ list-style:none; padding-left:28px; }
.comment-author img{ float:left; border-radius:50%; margin-right:14px; }
.comment-meta{ font-size:13px; color:var(--gris); margin-bottom:8px; }
.comment-form label{ display:block; font-weight:600; margin-bottom:4px; }
.comment-form p{ margin-bottom:16px; }

/* 404 / vacio */
.error404, .vacio{ text-align:center; padding:90px 0; }
.error404-numero{ font-size:clamp(90px,16vw,180px); font-weight:800; line-height:1; margin:0; background:linear-gradient(120deg,var(--azul),var(--azul-oscuro)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.error404 .buscador, .vacio .buscador{ margin:24px auto; }

/* ---------- Pie ---------- */
.pie{ background:#fff; }
.pie-consultas{ background:var(--fondo); padding:52px 0 44px; border-top:1px solid var(--linea); }
.pie-consultas-fila{ display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.pie-consultas h2{ font-size:clamp(24px,3vw,32px); color:var(--azul); margin-bottom:10px; }
.pie-consultas h2 span{ color:var(--azul-claro); }
.pie-consultas h2 small{ font-size:.55em; font-weight:700; }
.pie-datos{ display:flex; gap:28px; flex-wrap:wrap; margin:0; font-size:18px; }
.pie-datos a{ color:var(--tinta); font-weight:600; }
.pie-datos a:hover{ color:var(--azul); }
.pie-datos .fa{ color:var(--azul); margin-right:6px; }
.pie-banda{ text-align:center; color:#fff; font-weight:700; text-transform:uppercase; }
.pie-banda-azul{ background:var(--azul); padding:15px 16px; font-size:clamp(15px,2.2vw,20px); letter-spacing:.04em; }
.pie-banda-roja{ background:var(--rojo); padding:10px 16px; font-size:clamp(12px,1.6vw,14px); letter-spacing:.1em; }
.pie-firma{ padding:26px 0 32px; text-align:center; color:var(--gris); font-size:14px; }
.pie-firma .contenedor{ display:flex; flex-direction:column; align-items:center; gap:6px; }
.pie-firma strong{ font-size:18px; color:var(--azul-oscuro); font-style:italic; }
.pie-firma a{ color:var(--gris); }
.pie-redes{ display:flex; gap:10px; margin-top:6px; }
.pie-redes a{ width:38px; height:38px; border-radius:50%; background:var(--fondo); border:1px solid var(--linea); display:flex; align-items:center; justify-content:center; color:var(--azul); }
.pie-redes a:hover{ background:var(--azul); color:#fff; }
.pie-redes:empty{ display:none; }
.pie-copy{ font-size:13px; opacity:.8; }

/* ---------- Efecto de aparicion (se desactiva sin JS o con movimiento reducido) ---------- */
.js .reveal{ opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
.js .reveal.visible{ opacity:1; transform:none; }

/* ---------- Adaptable ---------- */
@media (max-width:1040px){
	.sistema-grilla{ grid-template-columns:1fr; gap:40px; }
	.caracteristicas{ position:static; display:grid; grid-template-columns:repeat(2,1fr); column-gap:32px; }
	.caracteristicas-experiencia{ grid-column:1/-1; }
}
@media (max-width:980px){
	.grilla-3{ grid-template-columns:repeat(2,1fr); }
	.software-grilla{ grid-template-columns:1fr; gap:32px; text-align:center; }
	.software-imagen img{ max-width:260px; }
	.dos-columnas, .con-lateral{ grid-template-columns:1fr; gap:36px; }
	.heroe-grilla{ grid-template-columns:1fr; gap:28px; padding-top:64px; padding-bottom:72px; }
	.heroe-version{ align-items:flex-start; text-align:left; flex-direction:row; flex-wrap:wrap; gap:6px 20px; }
	.heroe-version-etiqueta{ flex-basis:100%; }
	.heroe-version img{ margin:0; width:120px; }
}
@media (max-width:860px){
	.menu-boton{ display:block; }
	.menu{ position:absolute; left:0; right:0; top:100%; background:#fff; flex-direction:column; align-items:stretch; gap:12px; padding:16px 24px 24px; border-top:1px solid var(--linea); box-shadow:0 18px 30px rgba(4,48,58,.15); display:none; }
	.menu.abierto{ display:flex; }
	.menu ul{ flex-direction:column; }
	.menu ul ul{ position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; padding:0 0 0 16px; }
	.menu .boton-menu{ text-align:center; }
	.cabecera{ position:sticky; }
	.cabecera-fila{ position:relative; }
	.modulos-grilla{ grid-template-columns:1fr; }
}
@media (max-width:620px){
	body{ font-size:16px; }
	.grilla-3{ grid-template-columns:1fr; }
	.formulario-fila{ grid-template-columns:1fr; gap:0; }
	.tarjeta-formulario{ padding:24px; }
	.seccion, .software, .sistema, .novedades{ padding:56px 0; }
	.caracteristicas{ grid-template-columns:1fr; }
	.articulo-nav{ flex-direction:column; }
	.web-fila, .pie-consultas-fila{ flex-direction:column; align-items:flex-start; }
	.pie-datos{ flex-direction:column; gap:8px; font-size:16px; }
}
@media (prefers-reduced-motion:reduce){ *{ transition:none !important; scroll-behavior:auto !important; } .js .reveal{ opacity:1; transform:none; } }
