/* Acabado premium (auditoría del 14-oct): un solo sistema de radios y una sola sombra neutra,
   degradado en el texto solo donde la marca habla fuerte (h1, Data first y cierre), entradas sin
   desenfoque y menos cajas. Se carga al final de cada página: si algo no gusta, se ajusta aquí. */
:root {
  --r-s: 10px; --r-m: 18px; --r-l: 26px; --r: var(--r-l);
  --sombra: 0 30px 60px -34px rgba(10,10,10,.28), 0 2px 6px rgba(10,10,10,.04);
}

/* un solo ancho para todo el sitio en pantallas grandes (antes el blog y la agenda quedaban corridos) */
@media (min-width: 1500px) { .envoltura { width: min(1380px, 100% - 120px); } }

/* ---------- degradado en texto: solo h1, Data first y cierre ---------- */
.titulo:not(h1) em {
  color: var(--tinta); -webkit-background-clip: border-box; background-clip: border-box;
  background: linear-gradient(90deg, #FF00B8, #FF2E6E 50%, #FF3B00) left bottom .04em / 100% .08em no-repeat;
  padding-bottom: .04em;
}
.oscuro .titulo:not(h1) em { color: #fff; }
.datafirst .titulo:not(h1) em, .cierre .titulo:not(h1) em {
  background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; padding-bottom: 0;
}

/* ---------- sin halos ni sombras de color ---------- */
.halo { display: none; }
.boton--lleno:hover, .agenda-form__submit:hover, .form-nuevo__enviar:hover { box-shadow: var(--sombra); }
.svc-indice a:hover, .svc-indice--pestanas a[aria-selected="true"] { box-shadow: var(--sombra); }
.svc-marca__n { box-shadow: none; border-radius: var(--r-s); }
.peldano.encendido { box-shadow: var(--sombra); border-color: rgba(10,10,10,.16); }
.peldano--final.encendido { box-shadow: var(--sombra); }
.consola { box-shadow: var(--sombra); }
.obra:hover, .tarjeta:hover { box-shadow: var(--sombra); }

/* ---------- radios: 10 / 18 / 26 y píldora ---------- */
.peldano, .obra, .funcion, .tarjeta, .art-lado__caja, .art-lado__cta, .agenda-state, .tarjeta-form,
.consola, .flota, .capa, .svc-indice a, .canal, .agenda-modal__panel, details .caja { border-radius: var(--r-m); }
.lienzo { border-radius: var(--r-l); }
.obra__mini, .funcion__mini, .peldano__n, .peldano__r, .capa__n, .burbuja, .capa__vis--dic code { border-radius: var(--r-s); }
@media (max-width: 1100px) { .lienzo { border-radius: var(--r-m); } }

/* ---------- entradas: sin desenfoque, 0,6 s ---------- */
.aparece { filter: none; transform: translateY(20px); transition: opacity .6s var(--curva), transform .6s var(--curva); }
.aparece.visible { filter: none; }
/* la escalera no deja los peldaños apagados a media luz: el que se enciende sube, los demás quedan legibles */
.peldanos.andando .peldano { opacity: .78; }

/* ---------- menos cajas ---------- */
/* Método: cuatro columnas separadas por un filete */
.pasos { gap: 0 36px; }
.paso { padding: 26px 0 0; border-top: 1px solid rgba(255,255,255,.16); height: auto; }
.paso h3 { margin-top: 22px; }
/* Método abre con el 30 */
.metodo__treinta { display: flex; align-items: flex-end; gap: 16px; margin-bottom: 26px; }
.metodo__treinta strong { font-family: var(--display); font-weight: 700; font-size: clamp(60px, 6vw, 96px); line-height: .8; letter-spacing: -.06em; color: #fff; }
.metodo__treinta strong b { font-weight: 500; margin-right: .06em; }
.metodo__treinta span { max-width: 17ch; font-size: 15px; line-height: 1.35; color: rgba(255,255,255,.66); padding-bottom: 6px; }
.metodo .datos { grid-template-columns: repeat(2, 1fr); }
/* Blog de la portada: notas en columnas con filete, sin bandeja */
.notas { gap: 0 40px; }
.nota { padding: 26px 0 0; border-top: 1px solid var(--linea); background: none; transition: border-color .5s var(--curva); }
.nota:hover { border-top-color: var(--rosa); }
.nota:hover h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
/* Funciones (en /servicios/panel): la mini pantalla es la caja, la tarjeta no */
.funcion { background: none; border: 0; padding: 0; }
.funcion:hover { transform: none; }
.funcion__mini { margin-bottom: 14px; background: var(--blanco); border: 1px solid var(--linea); }

/* ---------- cabeceras variadas ---------- */
/* Preguntas frecuentes: el título acompaña mientras se lee */
@media (min-width: 1001px) { .preguntas > :first-child { position: sticky; top: 120px; align-self: start; } }
/* Proyectos: cabecera a todo el ancho, el título primero y la bajada al lado, más baja */
.construido .cabecera { margin-bottom: 36px; }

/* ---------- proyectos: las 12 caben en una pantalla ---------- */
.construido { padding-block: clamp(64px, 8vh, 96px); }
.obras { grid-template-columns: repeat(6, 1fr); gap: 14px; }
.obra { padding: 8px 8px 16px; }
.obra__mini { height: 124px; }
.obra h3 { font-size: 16.5px; }
.obra p { font-size: 13px; line-height: 1.45; }
.obra__num { margin-top: 8px; }
.rubros-txt { margin-top: 28px; }
@media (max-width: 1400px) { .obras { grid-template-columns: repeat(4, 1fr); } .obra__mini { height: 150px; } }
@media (max-width: 900px) { .obras { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .obras { grid-template-columns: 1fr; } .obra__mini { height: 168px; } }

@media (max-width: 1000px) { .pasos { gap: 28px 28px; } .notas { gap: 28px; } }
@media (prefers-reduced-motion: reduce) { .aparece { transform: none; transition: none; } }

/* animaciones en bucle: en pausa mientras su sección no está a la vista */
.fuera *, .fuera *::before, .fuera *::after { animation-play-state: paused !important; }
/* quien pide menos movimiento, no recibe bucles */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* servicios · «en simple»: definición, preguntas y artículos para leer */
.svc-simple__def { margin-top: 22px; }
.svc-simple__leer { margin-top: clamp(56px, 8vh, 88px); }
.svc-simple__titulo { font-family: var(--mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--gris); margin-bottom: 18px; }
