/* aliciacobo.es — hoja de estilos */
:root {
  /* Paleta de marca de Alicia Cobo (logo y web original) */
  --rosa: #FF66C4;            /* rosa del logo: detalles y formas (no para texto) */
  --magenta: #BE4A93;         /* botones y enlaces (contraste AA sobre blanco) */
  --magenta-oscuro: #7A2D5F;  /* ciruela: sombra del logo */
  --ciruela: #7A2D5F;
  --ciruela-noche: #4F1D3E;   /* fondos oscuros (pie, newsletter) */
  --empolvado: #EFBCCD;       /* rosa empolvado */
  --rosa-claro: #FCE9F1;      /* rosa pálido del cursor */
  --rosa-suave: #FEF5F9;
  --tinta: #2B1A24;
  --texto: #3A2832;
  --gris: #6B5763;
  --linea: #F2DCE6;
  --fondo: #FFFFFF;
  --blanco: #FFFFFF;
  --gris-claro: #FEF5F9;
  /* Alias de colores de acompañamiento, ahora dentro de la paleta */
  --lila: #EFBCCD;
  --coral: #BE4A93;
  --cielo: #FCE9F1;
  --mantequilla: #FCE9F1;
  --radio: 18px;
  --sombra: 0 10px 30px -12px rgba(122, 45, 95, .28);
  --ancho: 1160px;
  --display: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --cuerpo: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--fondo);
  color: var(--texto);
  font-family: var(--cuerpo);
  font-size: 18px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--magenta); text-underline-offset: 3px; }
a:hover { color: var(--magenta-oscuro); }
h1, h2, h3 { color: var(--tinta); line-height: 1.1; margin: 0 0 .5em; }
h1, h2 { font-family: var(--display); font-weight: 500; letter-spacing: -0.035em; }
h2 { font-size: clamp(2.1rem, 4.4vw, 3.2rem); line-height: 1.08; }
h3 { font-size: 1.15rem; font-weight: 800; }
p { margin: 0 0 1.1em; }
:focus-visible { outline: 3px solid var(--rosa); outline-offset: 3px; border-radius: 6px; }

.contenedor { width: min(var(--ancho), 100% - 32px); margin-inline: auto; }
.seccion { padding: clamp(64px, 9vw, 120px) 0; }
.seccion--rosa { background: var(--gris-claro); }
.seccion--oscura { background: var(--ciruela-noche); color: var(--rosa-claro); }
.seccion--oscura h2, .seccion--oscura h3 { color: #fff; }
.antetitulo {
  display: inline-block;
  font-size: .8rem; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--gris); margin-bottom: 14px;
}
.seccion--oscura .antetitulo { color: var(--rosa); }
.intro { font-size: 1.15rem; max-width: 640px; }
.cabecera-seccion { display: flex; justify-content: space-between; align-items: end; gap: 24px; flex-wrap: wrap; margin-bottom: 40px; }
.cabecera-seccion h2 { margin: 0; }

/* Botones */
.boton {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 26px; border-radius: 999px;
  font-weight: 600; font-size: .95rem; text-decoration: none;
  border: 2px solid var(--magenta); transition: transform .15s, background .15s, color .15s;
  cursor: pointer; font-family: inherit; white-space: nowrap;
}
.boton--lleno { background: var(--magenta); color: #fff; }
.boton--lleno:hover { background: var(--magenta-oscuro); border-color: var(--magenta-oscuro); color: #fff; transform: translateY(-2px); }
.boton--borde { background: transparent; color: var(--magenta); }
.boton--borde:hover { background: var(--magenta); color: #fff; transform: translateY(-2px); }
.boton--claro { background: #fff; color: var(--ciruela); border-color: #fff; }
.boton--claro:hover { background: var(--rosa); border-color: var(--rosa); color: #fff; }
.enlace-flecha { font-weight: 800; text-decoration: none; white-space: nowrap; }
.enlace-flecha::after { content: " →"; transition: margin .15s; }
.enlace-flecha:hover::after { margin-left: 4px; }

/* Cabecera: menú flotante en píldora */
.cabecera { position: sticky; top: 0; z-index: 50; padding: 14px 0; pointer-events: none; }
.cabecera .contenedor { display: flex; align-items: center; justify-content: space-between; gap: 16px; position: relative; }
.cabecera .contenedor > * { pointer-events: auto; }
.logo { display: flex; align-items: center; gap: 10px; text-decoration: none; background: rgba(255,255,255,.85); backdrop-filter: blur(10px); border-radius: 999px; padding: 4px 14px 4px 4px; }
.logo img { width: 46px; height: 46px; }
.logo span { font-family: var(--display); font-weight: 600; font-size: 1.2rem; color: var(--tinta); letter-spacing: -0.02em; }
.cabecera nav { position: absolute; left: 50%; transform: translateX(-50%); }
.menu {
  display: flex; gap: 2px; align-items: center; list-style: none; margin: 0; padding: 5px;
  background: rgba(255,255,255,.88); backdrop-filter: blur(12px);
  border: 1px solid var(--linea); border-radius: 999px; box-shadow: 0 8px 24px -12px rgba(43,26,36,.25);
}
.menu a {
  display: block; padding: 8px 15px; border-radius: 999px;
  text-decoration: none; color: var(--tinta); font-weight: 500; font-size: .95rem; white-space: nowrap;
}
.menu a:hover { background: var(--rosa-claro); color: var(--magenta-oscuro); }
.menu a[aria-current="page"] { color: #fff; background: var(--magenta); }
.menu .menu-cta { display: none; }
.cta-cabecera { background: var(--magenta); color: #fff; padding: 13px 22px; border-radius: 999px; font-weight: 600; text-decoration: none; font-size: .95rem; white-space: nowrap; }
.cta-cabecera:hover { background: var(--magenta-oscuro); color: #fff; }
.boton-menu { display: none; background: #fff; border: 1px solid var(--linea); border-radius: 50%; width: 50px; height: 50px; padding: 0; place-items: center; cursor: pointer; color: var(--tinta); box-shadow: 0 8px 24px -12px rgba(43,26,36,.25); }
.boton-menu svg { width: 24px; height: 24px; }

@media (max-width: 1060px) {
  .cta-cabecera { display: none; }
  .boton-menu { display: grid; }
  .cabecera nav { position: static; transform: none; }
  .boton-menu { order: 3; }
  .cabecera nav { order: 2; }
  .menu {
    position: absolute; top: 62px; left: 0; right: 0;
    flex-direction: column; align-items: stretch; gap: 2px;
    border-radius: 22px; padding: 10px; display: none; background: #fff;
  }
  .menu.abierto { display: flex; }
  .menu a { padding: 13px 18px; font-size: 1.05rem; }
  .menu .menu-cta { display: block; }
  .menu .menu-cta a { margin-top: 6px; text-align: center; background: var(--magenta); color: #fff; }
}

/* Portada */
.portada { padding: clamp(16px, 3vw, 40px) 0 clamp(40px, 6vw, 72px); overflow: hidden; }
.portada .contenedor { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(28px, 5vw, 72px); align-items: center; }
.portada h1 { font-size: clamp(2.8rem, 6.4vw, 5rem); line-height: 1.02; margin-bottom: 10px; }
.rotador { display: block; font-family: var(--display); font-weight: 500; letter-spacing: -0.03em; font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.15; min-height: 1.25em; white-space: nowrap; margin-bottom: 18px; }
.rotador span {
  background: linear-gradient(90deg, var(--magenta), var(--rosa) 55%, var(--coral));
  -webkit-background-clip: text; background-clip: text; color: transparent;
  display: inline-block; transition: opacity .35s, transform .35s;
}
.rotador span.saliendo { opacity: 0; transform: translateY(10px); }
.portada .roles { font-size: 1.15rem; color: var(--texto); max-width: 520px; margin-bottom: 30px; }
.acciones { display: flex; gap: 12px; flex-wrap: wrap; }
.circulo { position: relative; width: min(500px, 100%); aspect-ratio: 1; justify-self: center; }
.circulo .foto { position: absolute; inset: 6%; border-radius: 50%; overflow: hidden; background: var(--rosa-claro); }
.circulo .foto img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; }
.forma { position: absolute; z-index: 2; animation: flotar 7s ease-in-out infinite; }
.forma--rombo { width: 16%; aspect-ratio: 1; background: var(--rosa); top: 0; left: 52%; transform: rotate(45deg); border-radius: 6px; }
.forma--pastilla { width: 30%; aspect-ratio: 1.45; background: var(--lila); border-radius: 999px; top: 20%; right: -4%; animation-delay: -2s; }
.forma--rect { width: 17%; aspect-ratio: .62; background: var(--coral); top: 34%; right: 3%; transform: rotate(-24deg); border-radius: 4px; animation-delay: -4s; }
.forma--burbuja { width: 26%; aspect-ratio: 1.2; background: var(--cielo); border-radius: 46% 54% 50% 50%; bottom: 0; left: 4%; animation-delay: -1s; }
@keyframes flotar { 0%, 100% { translate: 0 0; } 50% { translate: 0 -10px; } }
@media (max-width: 860px) {
  .portada .contenedor { grid-template-columns: 1fr; }
  .circulo { order: -1; width: min(380px, 92%); }
}

/* Cifras grandes */
.cifras-grandes { display: flex; flex-wrap: wrap; gap: 18px 44px; margin-top: 34px; }
.cifras-grandes b { display: block; font-family: var(--display); font-weight: 500; font-size: clamp(2.3rem, 4.4vw, 3.3rem); letter-spacing: -0.04em; line-height: 1; color: var(--tinta); }
.cifras-grandes b i { font-style: normal; color: var(--rosa); }
.cifras-grandes span { font-size: .95rem; color: var(--gris); }

/* Franja "colaboro con" */
.franja { padding: 28px 0 8px; text-align: center; }
.franja p { font-size: .8rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--gris); font-weight: 600; margin-bottom: 18px; }
.franja ul { list-style: none; margin: 0; padding: 0; display: flex; justify-content: center; flex-wrap: wrap; gap: 14px 40px; }
.franja li { font-family: var(--display); font-weight: 600; font-size: 1.25rem; color: var(--gris); letter-spacing: -0.02em; }

/* Tarjetas grandes con foto */
.tarjetas-foto { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.tarjeta-foto {
  position: relative; min-height: 420px; border-radius: 24px; overflow: hidden; color: #fff;
  display: flex; flex-direction: column; justify-content: flex-end; padding: 34px; text-decoration: none; isolation: isolate;
}
.tarjeta-foto > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .5s; }
.tarjeta-foto::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(43,26,36,0) 20%, rgba(43,26,36,.88) 100%); }
.tarjeta-foto--rosa::before { background: linear-gradient(180deg, rgba(190,74,147,0) 15%, rgba(142,31,95,.94) 100%); }
.tarjeta-foto--lila::before { background: linear-gradient(180deg, rgba(122,45,95,0) 15%, rgba(79,29,62,.92) 100%); }
.tarjeta-foto:hover > img { transform: scale(1.04); }
.tarjeta-foto h3 { color: #fff; font-family: var(--display); font-weight: 500; font-size: clamp(1.8rem, 3.2vw, 2.6rem); letter-spacing: -0.03em; line-height: 1.05; margin-bottom: 10px; }
.tarjeta-foto h3 em { font-style: normal; color: var(--empolvado); }
.tarjeta-foto--lila h3 em { color: var(--lila); }
.tarjeta-foto p { color: rgba(255,255,255,.92); max-width: 440px; margin-bottom: 20px; }
.tarjeta-foto .boton { align-self: flex-start; }
@media (max-width: 760px) { .tarjetas-foto { grid-template-columns: 1fr; } .tarjeta-foto { min-height: 360px; padding: 26px; } }

/* Banda de newsletter */
.banda-news {
  background: linear-gradient(120deg, var(--rosa-claro), var(--empolvado)); border-radius: 28px;
  padding: clamp(28px, 5vw, 56px); display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: center;
}
.banda-news h2 { margin: 0; }
.banda-news h2 small { display: block; font-size: .5em; letter-spacing: -0.01em; color: var(--texto); margin-bottom: 6px; }
.banda-news p { margin: 0 0 16px; }
.suscripcion { display: flex; background: #fff; border-radius: 999px; padding: 6px; gap: 6px; box-shadow: 0 10px 30px -18px rgba(43,26,36,.4); }
.suscripcion input { flex: 1; min-width: 0; border: 0; background: transparent; font: inherit; padding: 10px 16px; color: var(--tinta); }
.suscripcion input:focus { outline: none; }
.suscripcion .boton { padding: 12px 22px; }
.banda-news .letra-pequena { font-size: .82rem; color: var(--texto); margin: 10px 0 0; }
@media (max-width: 760px) { .banda-news { grid-template-columns: 1fr; } }

/* Etiquetas de temas */
.pildoras { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; max-width: 380px; }
.pildora { padding: 10px 18px; border-radius: 999px; font-weight: 600; font-size: .98rem; color: var(--tinta); border: 2px solid rgba(43,26,36,.08); }
.pildora:nth-child(5n+1) { background: var(--lila); }
.pildora:nth-child(5n+2) { background: var(--empolvado); }
.pildora:nth-child(5n+3) { background: var(--mantequilla); }
.pildora:nth-child(5n+4) { background: var(--cielo); }
.pildora:nth-child(5n+5) { background: var(--coral); }
.sobre-mi { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(32px, 6vw, 80px); align-items: center; }
.sobre-mi .lado { display: grid; gap: 26px; justify-items: center; }
.sobre-mi .avatar { width: min(320px, 80%); }
@media (max-width: 860px) { .sobre-mi { grid-template-columns: 1fr; } }

/* Contacto en el inicio */
.contacto-inicio { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(32px, 6vw, 80px); align-items: start; }
.contacto-inicio h2 span { display: block; color: var(--magenta); }
@media (max-width: 860px) { .contacto-inicio { grid-template-columns: 1fr; } }

/* Cifras */
.cifras { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--linea); border: 1px solid var(--linea); border-radius: var(--radio); overflow: hidden; }
.cifra { background: var(--blanco); padding: 26px 22px; }
.cifra b { display: block; font-family: var(--display); font-weight: 500; letter-spacing: -0.03em; font-size: 2.4rem; line-height: 1; color: var(--magenta); margin-bottom: 6px; }
.cifra span { font-size: 1rem; font-weight: 600; line-height: 1.4; display: block; }
@media (max-width: 760px) { .cifras { grid-template-columns: 1fr 1fr; } }

/* Dos columnas */
.dos-col { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(32px, 6vw, 80px); align-items: center; }
.dos-col--inversa { grid-template-columns: .85fr 1.15fr; }
.dos-col img.redondeada { border-radius: var(--radio); }
@media (max-width: 860px) { .dos-col, .dos-col--inversa { grid-template-columns: 1fr; } }

/* Servicios */
.rejilla { display: grid; gap: 22px; }
.rejilla--4 { grid-template-columns: repeat(4, 1fr); }
.rejilla--3 { grid-template-columns: repeat(3, 1fr); }
.rejilla--2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 1000px) { .rejilla--4 { grid-template-columns: 1fr 1fr; } .rejilla--3 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .rejilla--4, .rejilla--3, .rejilla--2 { grid-template-columns: 1fr; } }

.tarjeta {
  background: var(--blanco); border: 1px solid var(--linea); border-radius: 22px;
  padding: 30px 26px; transition: transform .2s, box-shadow .2s;
}
.tarjeta:hover { transform: translateY(-4px); box-shadow: var(--sombra); }
.icono {
  width: 56px; height: 56px; border-radius: 16px; display: grid; place-items: center;
  background: var(--rosa-claro); color: var(--magenta); margin-bottom: 20px;
}
.icono svg { width: 28px; height: 28px; }
.tarjeta p { font-size: 1rem; margin: 0; }
.tarjeta ul { margin: 14px 0 0; padding-left: 18px; font-size: 1rem; }

/* Publicaciones */
.publicacion {
  display: grid; grid-template-columns: 200px 1fr; gap: 30px; align-items: center;
  background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--radio); padding: 28px;
}
.publicacion img { border-radius: 10px; box-shadow: var(--sombra); }
.publicacion .etiqueta { margin-bottom: 8px; }
@media (max-width: 640px) { .publicacion { grid-template-columns: 1fr; } .publicacion img { max-width: 200px; } }
.etiqueta {
  display: inline-block; font-size: .8rem; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--magenta-oscuro); background: var(--rosa-claro); padding: 4px 10px; border-radius: 999px;
}

/* Bloque largo de publicación */
.ficha { display: grid; grid-template-columns: 1fr 340px; gap: clamp(32px, 5vw, 64px); align-items: start; }
.ficha aside { position: sticky; top: 100px; display: grid; gap: 18px; }
.ficha aside img { border-radius: var(--radio); }
.destacado { font-size: 1.2rem; font-weight: 700; color: var(--tinta); }
@media (max-width: 900px) { .ficha { grid-template-columns: 1fr; } .ficha aside { position: static; max-width: 420px; } }
.cita {
  border-left: 4px solid var(--rosa); padding: 6px 0 6px 22px; margin: 28px 0;
  font-size: 1.2rem; font-weight: 600; color: var(--tinta); font-style: italic;
}

/* Notas de prensa */
.nota-tarjeta {
  display: flex; flex-direction: column; background: var(--blanco);
  border: 1px solid var(--linea); border-radius: var(--radio); overflow: hidden;
  text-decoration: none; color: inherit; transition: transform .2s, box-shadow .2s;
}
.nota-tarjeta:hover { transform: translateY(-4px); box-shadow: var(--sombra); color: inherit; }
.nota-tarjeta .imagen { aspect-ratio: 16/10; background: var(--rosa-claro); overflow: hidden; }
.nota-tarjeta .imagen img { width: 100%; height: 100%; object-fit: cover; }
.nota-tarjeta .imagen--vacia { display: grid; place-items: center; color: var(--magenta); }
.nota-tarjeta .imagen--vacia svg { width: 48px; height: 48px; opacity: .55; }
.nota-tarjeta .cuerpo { padding: 22px 24px 26px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.nota-tarjeta time { font-size: .8rem; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; color: var(--magenta); }
.nota-tarjeta h3 { font-size: 1.08rem; line-height: 1.35; margin: 0; }
.nota-tarjeta p { font-size: 1rem; color: var(--gris); margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.nota-tarjeta .enlace-flecha { margin-top: auto; padding-top: 6px; font-size: .9rem; color: var(--magenta); }

.filtros { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 30px; }

/* Artículo */
.articulo-cabecera { padding: clamp(40px, 6vw, 72px) 0 32px; }
.articulo-cabecera h1 { font-family: var(--cuerpo); font-weight: 800; font-size: clamp(1.8rem, 3.8vw, 2.8rem); line-height: 1.2; max-width: 880px; }
.miga { font-size: 1rem; margin-bottom: 22px; }
.miga a { text-decoration: none; font-weight: 700; }
.datos-nota { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; font-size: .95rem; color: var(--gris); font-weight: 600; margin-top: 18px; }
.datos-nota .boton { padding: 8px 16px; font-size: .88rem; }
.entradilla {
  font-size: 1.22rem; line-height: 1.6; font-weight: 600; color: var(--tinta);
  background: var(--rosa-suave); border-left: 5px solid var(--magenta);
  padding: 20px 24px; border-radius: 0 14px 14px 0; max-width: 820px; margin: 22px 0 0;
}
.articulo { max-width: 70ch; font-size: 1.12rem; line-height: 1.85; color: var(--tinta); }
.articulo p { margin-bottom: 1.3em; }
.articulo h3 { font-size: 1.35rem; color: var(--magenta-oscuro); margin: 2.2em 0 .7em; line-height: 1.3; }
.articulo .lugar { font-weight: 800; color: var(--magenta-oscuro); }
.galeria { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; margin: 8px 0 36px; }
.galeria img { border-radius: 14px; width: 100%; height: 100%; max-height: 460px; object-fit: cover; }
.contacto-prensa {
  margin-top: 40px; padding: 24px 26px; border-radius: var(--radio);
  background: var(--rosa-suave); border: 1px solid var(--linea); font-size: 1.05rem;
}
.contacto-prensa h3 { margin-top: 0; font-size: 1.05rem; }
.contacto-prensa ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.navegacion-notas { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 56px; }
.navegacion-notas a {
  display: block; padding: 18px 20px; border: 1px solid var(--linea); border-radius: 14px;
  text-decoration: none; color: var(--tinta); font-weight: 700; font-size: 1rem; line-height: 1.4; background: #fff;
}
.navegacion-notas a small { display: block; color: var(--magenta); font-weight: 800; letter-spacing: 1px; text-transform: uppercase; font-size: .78rem; margin-bottom: 4px; }
.navegacion-notas a:hover { border-color: var(--rosa); }
.navegacion-notas .siguiente { text-align: right; }
@media (max-width: 640px) { .navegacion-notas { grid-template-columns: 1fr; } .navegacion-notas .siguiente { text-align: left; } }

/* Notas de prensa: herramientas y desplegables */
.herramientas {
  display: grid; grid-template-columns: 1fr 220px auto; gap: 12px; align-items: end;
  background: #fff; border: 1px solid var(--linea); border-radius: var(--radio); padding: 18px; margin-bottom: 26px;
}
.herramientas .campo input, .herramientas .campo select { padding: 12px 14px; }
.herramientas .boton { padding: 12px 20px; }
@media (max-width: 760px) { .herramientas { grid-template-columns: 1fr; } }
.contador { font-size: .95rem; color: var(--gris); font-weight: 700; margin: 0 0 14px; }
.lista-notas { display: grid; gap: 14px; }
.nota { scroll-margin-top: 96px; background: #fff; border: 1px solid var(--linea); border-radius: var(--radio); overflow: hidden; }
.nota[open] { border-color: var(--empolvado); box-shadow: var(--sombra); }
.nota > summary {
  list-style: none; cursor: pointer; display: grid; grid-template-columns: 120px 1fr 44px; gap: 22px; align-items: center;
  padding: 18px 20px;
}
.nota > summary::-webkit-details-marker { display: none; }
.nota > summary:hover { background: var(--rosa-suave); }
.nota .miniatura { width: 120px; aspect-ratio: 4/3; border-radius: 10px; overflow: hidden; background: var(--rosa-claro); display: grid; place-items: center; color: var(--magenta); }
.nota .miniatura img { width: 100%; height: 100%; object-fit: cover; }
.nota .miniatura svg { width: 34px; height: 34px; opacity: .6; }
.nota time { display: block; font-size: .85rem; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; color: var(--magenta); margin-bottom: 4px; }
.nota .titular { display: block; font-size: 1.15rem; font-weight: 800; line-height: 1.35; color: var(--tinta); margin: 0; }
.nota .resumen { display: block; font-size: 1rem; color: var(--gris); margin: 6px 0 0; }
.nota .flecha {
  width: 44px; height: 44px; border-radius: 50%; background: var(--rosa-claro); color: var(--magenta);
  display: grid; place-items: center; transition: transform .2s;
}
.nota .flecha svg { width: 22px; height: 22px; }
.nota[open] .flecha { transform: rotate(180deg); background: var(--magenta); color: #fff; }
.nota[open] .resumen { display: none; }
.nota .desplegado { padding: 6px clamp(20px, 4vw, 48px) 36px; border-top: 1px solid var(--linea); }
.nota .desplegado .articulo { margin-top: 24px; }
.nota .acciones-nota { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
@media (max-width: 640px) {
  .nota > summary { grid-template-columns: 1fr 40px; gap: 14px; padding: 16px; }
  .nota .miniatura { display: none; }
  .nota .flecha { width: 40px; height: 40px; }
}
.sin-resultados { text-align: center; padding: 40px; color: var(--gris); font-weight: 700; }

/* Cabecera de página interior */
.cabecera-pagina { padding: clamp(48px, 7vw, 96px) 0 clamp(28px, 4vw, 48px); }
.cabecera-pagina h1 { font-size: clamp(2.6rem, 6.4vw, 4.6rem); line-height: 1.02; }
.cabecera-pagina h1 em { font-style: normal; color: var(--rosa); }

/* Newsletter */
.newsletter { display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: center; }
.newsletter h2 { margin-bottom: .2em; }
.newsletter p { margin: 0; max-width: 600px; }
@media (max-width: 760px) { .newsletter { grid-template-columns: 1fr; } }

/* Recursos */
.recurso {
  display: grid; grid-template-columns: 280px 1fr; background: var(--blanco);
  border: 1px solid var(--linea); border-radius: var(--radio); overflow: hidden;
}
.recurso > img { width: 100%; height: 100%; object-fit: cover; min-height: 220px; }
.recurso .cuerpo { padding: 32px; }
.recurso h3 { font-size: 1.35rem; }
@media (max-width: 700px) { .recurso { grid-template-columns: 1fr; } .recurso > img { min-height: 0; aspect-ratio: 16/9; } }

/* Formulario */
.formulario { display: grid; gap: 18px; }
.campo { display: grid; gap: 6px; }
.campo label { font-weight: 800; font-size: .9rem; color: var(--tinta); }
.campo input, .campo select, .campo textarea {
  font: inherit; font-size: 1rem; color: var(--tinta);
  padding: 14px 16px; border-radius: 12px; border: 1.5px solid var(--linea); background: #fff; width: 100%;
}
.campo input:focus, .campo select:focus, .campo textarea:focus { outline: none; border-color: var(--rosa); box-shadow: 0 0 0 4px var(--rosa-claro); }
.campo textarea { min-height: 160px; resize: vertical; }
.dos-campos { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 640px) { .dos-campos { grid-template-columns: 1fr; } }
.aceptar { display: flex; gap: 10px; align-items: flex-start; font-size: .9rem; }
.aceptar input { margin-top: 5px; accent-color: var(--magenta); width: 18px; height: 18px; flex: none; }
.oculto { position: absolute; left: -9999px; }
.datos-contacto { display: grid; gap: 16px; }
.dato { display: flex; gap: 14px; align-items: center; text-decoration: none; color: var(--tinta); font-weight: 700; }
.dato .icono { margin: 0; width: 48px; height: 48px; flex: none; }
.dato small { display: block; color: var(--gris); font-weight: 600; }

/* Pie */
.pie { background: var(--ciruela-noche); color: var(--rosa-claro); padding: 64px 0 28px; font-size: 1rem; }
.pie a { color: #fff; text-decoration: none; }
.pie a:hover { color: var(--rosa); }
.pie-rejilla { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 40px; margin-bottom: 44px; }
.pie h4 { font-family: var(--display); font-weight: 600; font-size: 1.15rem; color: #fff; margin: 0 0 12px; letter-spacing: -0.01em; }
.pie ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.redes { display: flex; gap: 10px; margin-top: 16px; }
.redes a { width: 42px; height: 42px; border-radius: 50%; background: rgba(255,255,255,.1); display: grid; place-items: center; }
.redes a:hover { background: var(--rosa); color: #fff; }
.redes svg { width: 20px; height: 20px; }
.pie-legal { border-top: 1px solid rgba(255,255,255,.12); padding-top: 22px; font-size: .85rem; line-height: 1.6; color: var(--empolvado); }
.pie-legal p { margin: 0 0 6px; }
@media (max-width: 760px) { .pie-rejilla { grid-template-columns: 1fr; gap: 28px; } }

/* Texto legal */
.legal { max-width: 760px; }
.legal h2 { font-family: var(--cuerpo); font-weight: 800; font-size: 1.3rem; margin-top: 2em; }
.pendiente { background: var(--rosa-claro); padding: 1px 6px; border-radius: 4px; }

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; scroll-behavior: auto !important; }
}

/* Impresión / guardar en PDF */
@media print {
  .cabecera, .pie, .datos-nota, .navegacion-notas, .miga, .seccion--rosa, .acciones-nota, .herramientas { display: none !important; }
  body { background: #fff; font-size: 12pt; }
  .seccion { padding: 0; }
  .articulo { max-width: none; }
  .galeria img { max-height: 220px; }
}

@media (prefers-reduced-motion: reduce) { .forma { animation: none; } }
.portada .contenedor.franja { display: block; }
.cifras-grandes { gap: 18px 30px; }
.cifras-grandes > div { max-width: 170px; }

/* Pasos de trabajo */
.pasos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; counter-reset: paso; }
.paso { position: relative; padding: 28px 24px; border-radius: 22px; background: #fff; border: 1px solid var(--linea); }
.paso-num { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--magenta); color: #fff; font-weight: 700; margin-bottom: 18px; font-family: var(--display); font-size: 1.2rem; }
.paso:nth-child(2) .paso-num { background: var(--lila); color: var(--tinta); }
.paso:nth-child(3) .paso-num { background: var(--coral); color: var(--tinta); }
.paso:nth-child(4) .paso-num { background: var(--cielo); color: var(--tinta); }
.paso p { margin: 0; font-size: 1rem; }
@media (max-width: 1000px) { .pasos { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .pasos { grid-template-columns: 1fr; } }

/* Tarjetas de servicio con foto */
.tarjeta--servicio { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.servicio-foto { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.servicio-cuerpo { padding: 0 24px 28px; }
.tarjeta--servicio .icono { margin-top: -28px; position: relative; background: #fff; box-shadow: 0 6px 18px -8px rgba(43,26,36,.35); }

/* Carrusel de servicios en movimiento */
.carrusel { overflow: hidden; padding: 6px 0 12px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.carrusel-pista { display: flex; gap: 22px; width: max-content; animation: desplazar 60s linear infinite; }
.carrusel:hover .carrusel-pista, .carrusel:focus-within .carrusel-pista { animation-play-state: paused; }
@keyframes desplazar { from { transform: translateX(0); } to { transform: translateX(calc(-50% - 11px)); } }
.diapositiva {
  position: relative; flex: none; width: 320px; height: 420px; border-radius: 24px; overflow: hidden;
  text-decoration: none; color: #fff; isolation: isolate; display: flex; align-items: flex-end;
}
.diapositiva img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .6s; }
.diapositiva::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(79,29,62,0) 30%, rgba(43,26,36,.9) 100%); }
.diapositiva:nth-child(4n+1)::before { background: linear-gradient(180deg, rgba(142,31,95,0) 30%, rgba(142,31,95,.92) 100%); }
.diapositiva:nth-child(4n+3)::before { background: linear-gradient(180deg, rgba(122,45,95,0) 30%, rgba(79,29,62,.9) 100%); }
.diapositiva:hover img { transform: scale(1.06); }
.diapositiva-texto { display: grid; gap: 8px; padding: 24px; }
.diapositiva-texto .icono { width: 44px; height: 44px; border-radius: 12px; background: rgba(255,255,255,.95); margin: 0 0 6px; }
.diapositiva-texto .icono svg { width: 22px; height: 22px; }
.diapositiva-texto strong { font-family: var(--display); font-weight: 600; font-size: 1.35rem; letter-spacing: -0.02em; line-height: 1.15; }
.diapositiva-texto span:last-child { font-size: .95rem; line-height: 1.45; color: rgba(255,255,255,.9); }
@media (max-width: 600px) { .diapositiva { width: 270px; height: 380px; } }
@media (prefers-reduced-motion: reduce) {
  .carrusel { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
  .carrusel-pista { animation: none; }
  .carrusel-pista > [aria-hidden="true"] { display: none; }
}
.cifras-grandes { gap: 18px 26px; }
.cifras-grandes > div { max-width: 150px; }
.servicio-foto { object-position: 50% 30%; }

/* Ajustes móvil: que ninguna columna empuje el ancho de la página */
.dos-col > *, .ficha > *, .banda-news > *, .contacto-inicio > *, .sobre-mi > *, .portada .contenedor > *, .rejilla > *, .recurso > *, .newsletter > * { min-width: 0; }
h1, h2, h3 { overflow-wrap: break-word; }
.dos-col img { max-width: 100%; }
/* Zonas táctiles cómodas (mínimo ~44px) */
.enlace-flecha { display: inline-block; padding: 10px 0; }
.miga a { display: inline-block; padding: 8px 0; }
.pie ul a { display: inline-block; padding: 4px 0; }
@media (max-width: 600px) {
  body { font-size: 17px; }
  .seccion { padding: 56px 0; }
  .boton { padding: 14px 22px; }
  .acciones .boton { flex: 1 1 auto; justify-content: center; }
  .suscripcion { flex-direction: column; border-radius: 22px; }
  .suscripcion .boton { width: 100%; justify-content: center; }
  .banda-news { border-radius: 22px; }
  .cabecera-pagina { padding-top: 32px; }
  .tarjeta-foto h3 { font-size: 1.9rem; }
  .articulo { font-size: 1.06rem; }
}
@media (max-width: 860px) {
  .dos-col, .dos-col--inversa, .portada .contenedor, .sobre-mi, .contacto-inicio { grid-template-columns: minmax(0, 1fr); }
  .dos-col img.redondeada { width: 100%; height: auto; }
}
.logo { background: #fff; box-shadow: 0 8px 24px -12px rgba(43,26,36,.25); border: 1px solid var(--linea); }

/* Accesibilidad */
.saltar { position: absolute; left: 16px; top: -60px; z-index: 100; background: var(--tinta); color: #fff; padding: 10px 16px; border-radius: 8px; font-weight: 600; text-decoration: none; }
.saltar:focus { top: 12px; color: #fff; }
.circulo .foto img { object-position: 50% 50%; }
/* Formas al lado izquierdo para no tapar la foto */
.forma--rombo { left: 30%; }
.forma--pastilla { right: auto; left: -4%; top: 16%; }
.forma--rect { right: auto; left: 2%; top: 30%; transform: rotate(24deg); }
.forma--burbuja { left: auto; right: 2%; bottom: 2%; }
.portada .roles strong { color: var(--tinta); font-weight: 700; }

/* Caso de éxito */
.caso { background: var(--rosa-suave, var(--rosa-suave)); border: 1px solid var(--linea); border-radius: 24px; padding: clamp(24px, 4vw, 48px); }
.caso-cabecera h2 { margin: 0 0 12px; }
.caso-cifras { display: flex; flex-wrap: wrap; gap: 16px 44px; list-style: none; margin: 24px 0 30px; padding: 0; }
.caso-cifras b { display: block; font-family: var(--display); font-weight: 500; font-size: clamp(2rem, 4vw, 2.8rem); letter-spacing: -0.03em; color: var(--magenta, var(--magenta)); line-height: 1; }
.caso-cifras span { font-size: .95rem; color: var(--gris); }
.caso-columnas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; border-top: 1px solid var(--linea); padding-top: 26px; }
.caso-columnas h3 { margin: 0 0 8px; }
.caso-columnas p, .caso-columnas ul { margin: 0; font-size: 1rem; }
.caso-columnas ul { padding-left: 18px; }
@media (max-width: 860px) { .caso-columnas { grid-template-columns: minmax(0, 1fr); } }

/* Banda de evaluación inicial */
.banda-evaluacion { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px 40px; align-items: center; padding: clamp(26px, 4vw, 44px); border-radius: 24px; border: 2px solid var(--magenta, var(--magenta)); }
.banda-evaluacion h2 { margin: 0 0 10px; }
.banda-evaluacion p { margin: 0; max-width: 640px; }
@media (max-width: 760px) { .banda-evaluacion { grid-template-columns: minmax(0, 1fr); } .banda-evaluacion .boton { width: 100%; } }

/* Pausa de animaciones (accesibilidad WCAG 2.2.2) */
.boton-pausa { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 16px; border-radius: 999px; border: 1px solid var(--linea); background: #fff; color: var(--tinta); font: inherit; font-size: .9rem; font-weight: 600; cursor: pointer; }
.boton-pausa:hover { border-color: var(--magenta, var(--magenta)); }
.boton-pausa svg { width: 16px; height: 16px; fill: currentColor; }
.boton-pausa[aria-pressed="true"] svg rect:last-child { display: none; }
.sin-movimiento .carrusel-pista, .sin-movimiento .forma { animation-play-state: paused !important; }
.sin-movimiento .carrusel { overflow-x: auto; }
.logo { padding: 6px 14px; }
.logo img.logo-firma { width: auto; height: 44px; }
.logo-pie { width: 120px; height: auto; margin-bottom: 14px; }


/* Paleta de marca aplicada a formas y detalles */
.forma--rombo { background: var(--rosa); }
.forma--pastilla { background: var(--empolvado); }
.forma--rect { background: var(--magenta); }
.forma--burbuja { background: var(--ciruela); opacity: .9; }
.cabecera-pagina h1 em { color: var(--magenta); }
.rotador span { background: linear-gradient(90deg, var(--ciruela), var(--magenta) 50%, var(--rosa)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.banda-news { background: linear-gradient(120deg, var(--rosa-claro), var(--empolvado)); }
.pildora:nth-child(5n+1) { background: var(--empolvado); }
.pildora:nth-child(5n+2) { background: var(--rosa-claro); }
.pildora:nth-child(5n+3) { background: #fff; border-color: var(--empolvado); }
.pildora:nth-child(5n+4) { background: var(--rosa); color: var(--tinta); }
.pildora:nth-child(5n+5) { background: var(--ciruela); color: #fff; }
.paso:nth-child(2) .paso-num { background: var(--rosa); color: var(--tinta); }
.paso:nth-child(3) .paso-num { background: var(--empolvado); color: var(--tinta); }
.paso:nth-child(4) .paso-num { background: var(--ciruela); color: #fff; }
.tarjeta-foto--lila h3 em { color: var(--empolvado); }
.diapositiva:nth-child(4n+3)::before { background: linear-gradient(180deg, rgba(122,45,95,0) 30%, rgba(79,29,62,.92) 100%); }
.caso { background: var(--rosa-suave); }
.banda-evaluacion { border-color: var(--rosa); }
/* Enlaces sobre fondos rosados: ciruela para mantener el contraste AA */
.seccion--rosa a:not(.boton):not(.diapositiva):not(.nota-tarjeta):not(.tarjeta-foto),
.caso a, .banda-news a:not(.boton) { color: var(--ciruela); }
.seccion--rosa .boton--borde { color: var(--ciruela); border-color: var(--ciruela); }
.seccion--rosa .boton--borde:hover { background: var(--ciruela); color: #fff; }
.contacto-prensa a { color: var(--ciruela); }

/* ===== Legibilidad reforzada ===== */
:root { --gris: #57434F; --texto: #2F2029; }
body { color: var(--texto); }

/* Frase que cambia: color sólido, sin degradado que acabe en rosa claro */
.rotador span { background: none; -webkit-background-clip: initial; background-clip: initial; color: var(--magenta); -webkit-text-fill-color: var(--magenta); font-weight: 600; }

/* Etiquetas y textos pequeños: más grandes y más oscuros */
.antetitulo { font-size: .9rem; color: var(--ciruela); letter-spacing: 1.2px; font-weight: 700; }
.cifras-grandes span { font-size: 1rem; color: var(--texto); line-height: 1.4; }
.cifras-grandes > div { max-width: 170px; }
.etiqueta { font-size: .85rem; color: var(--ciruela); background: var(--rosa-claro); }
.nota-tarjeta p, .nota .resumen { color: var(--texto); font-size: 1rem; }
.nota-tarjeta time, .nota time { color: var(--ciruela); font-weight: 700; }
.letra-pequena { font-size: .95rem !important; color: var(--texto) !important; }
.pie { font-size: 1.02rem; }
.pie-legal { font-size: .92rem; color: #F7DCE8; }
.pildora { font-size: 1rem; }
.tarjeta p, .tarjeta ul { color: var(--texto); }

/* Texto sobre fotos: velo más intenso, texto más grande y con sombra suave */
.diapositiva::before, .diapositiva:nth-child(4n+1)::before, .diapositiva:nth-child(4n+3)::before {
  background: linear-gradient(180deg, rgba(43,26,36,0) 18%, rgba(43,26,36,.72) 48%, rgba(43,26,36,.95) 100%);
}
.diapositiva-texto { padding: 26px; }
.diapositiva-texto strong { font-size: 1.45rem; text-shadow: 0 1px 3px rgba(0,0,0,.45); }
.diapositiva-texto span:last-child { font-size: 1.02rem; color: #fff; line-height: 1.5; text-shadow: 0 1px 2px rgba(0,0,0,.5); }
.tarjeta-foto::before, .tarjeta-foto--rosa::before, .tarjeta-foto--lila::before {
  background: linear-gradient(180deg, rgba(43,26,36,0) 15%, rgba(43,26,36,.7) 50%, rgba(43,26,36,.94) 100%);
}
.tarjeta-foto h3 { text-shadow: 0 2px 6px rgba(0,0,0,.4); }
.tarjeta-foto h3 em { color: #FFC9E8; }
.tarjeta-foto p { color: #fff; font-size: 1.08rem; text-shadow: 0 1px 3px rgba(0,0,0,.5); }

/* Menú y botones algo más grandes */
.menu a { font-size: 1rem; font-weight: 600; }
.boton { font-size: 1rem; }
@media (max-width: 600px) { body { font-size: 17.5px; } .diapositiva { height: 400px; } }
/* Mínimo 15px en fechas y etiquetas */
.etiqueta, .nota time, .nota-tarjeta time, .lista-simple time, time { font-size: max(.95rem, 15px); }
.antetitulo { font-size: max(.9rem, 15px); }

/* Sobre mí (estructura tipo adri.zip) */
.titulo-bio { font-size: clamp(2.4rem, 5vw, 3.6rem); margin: 0 0 clamp(28px, 4vw, 48px); }
@media (min-width: 861px) { .sobre-mi { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: start; } }
@media (max-width: 860px) { .sobre-mi { grid-template-columns: minmax(0, 1fr); } }
.foto-bio { position: relative; width: min(440px, 100%); margin: 10px auto 34px; aspect-ratio: 1; }
.foto-bio img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; border-radius: 28px; transform: rotate(-4deg); box-shadow: var(--sombra); }
.foto-bio .forma { z-index: 0; }
.foto-bio .forma--pastilla { width: 34%; left: -8%; top: 22%; right: auto; }
.foto-bio .forma--rombo { width: 17%; left: auto; right: -5%; top: 46%; z-index: 2; }
.foto-bio .forma--burbuja { width: 44%; left: auto; right: 6%; top: auto; bottom: -9%; }
.texto-bio h3 { font-family: var(--display); font-weight: 600; font-size: clamp(1.7rem, 3vw, 2.3rem); letter-spacing: -0.03em; margin: 0 0 18px; }
.texto-bio p { font-size: 1.08rem; line-height: 1.75; margin-bottom: 1.15em; }
.texto-bio strong { color: var(--tinta); }
.sobre-mi .pildoras { max-width: 440px; margin: 0 auto; }
@media (max-width: 860px) { .foto-bio { width: min(320px, 82%); } }

/* Tarjeta destacada oscura del inicio (como la de adri.zip) */
.destacada { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: stretch; background: var(--ciruela-noche); color: #fff; border-radius: 28px; overflow: hidden; }
.destacada-texto { padding: clamp(28px, 5vw, 56px); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.destacada .antetitulo { color: var(--empolvado); }
.destacada h2 { color: #fff; margin: 0 0 14px; }
.destacada h2 em { font-style: normal; color: var(--rosa); }
.destacada p { color: #F7DCE8; font-size: 1.08rem; margin: 0 0 24px; max-width: 520px; }
.destacada img { width: 100%; height: 100%; min-height: 320px; object-fit: cover; object-position: 50% 25%; }
@media (max-width: 760px) { .destacada { grid-template-columns: minmax(0, 1fr); } .destacada img { order: -1; min-height: 0; aspect-ratio: 4/3; } }

/* Evaluación inicial: bloque pequeño y discreto tras el contacto */
.evaluacion-discreta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 24px; max-width: 900px; margin: 0 auto; padding: 16px 22px; border: 1px solid var(--linea); border-radius: 14px; background: var(--rosa-suave); }
.evaluacion-discreta p { margin: 0; font-size: .98rem; color: var(--texto); flex: 1 1 420px; }
.evaluacion-discreta .enlace-flecha { color: var(--ciruela); font-size: .98rem; }

/* Publicaciones: rejilla de portadas + ventana con el detalle */
.pub-rejilla { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 900px) { .pub-rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .pub-rejilla { grid-template-columns: minmax(0, 1fr); } }
.pub-tarjeta { display: flex; flex-direction: column; text-align: left; padding: 0; border: 1px solid var(--linea); border-radius: 22px; background: #fff; overflow: hidden; cursor: pointer; font: inherit; color: inherit; transition: transform .2s, box-shadow .2s; }
.pub-tarjeta:hover { transform: translateY(-4px); box-shadow: var(--sombra); }
.pub-portada { display: grid; place-items: center; background: var(--rosa-claro); aspect-ratio: 4/3.2; padding: 22px; }
.pub-portada img { max-height: 100%; width: auto; max-width: 100%; object-fit: contain; border-radius: 6px; box-shadow: 0 10px 24px -12px rgba(43,26,36,.45); }
.pub-info { display: flex; flex-direction: column; gap: 8px; padding: 20px 22px 24px; }
.pub-info strong { font-family: var(--display); font-weight: 600; font-size: 1.2rem; line-height: 1.25; color: var(--tinta); }
.pub-info > span:not(.etiqueta):not(.enlace-flecha) { font-size: 1rem; color: var(--texto); }
.pub-info .etiqueta { align-self: flex-start; }
.pub-info .enlace-flecha { color: var(--ciruela); padding: 4px 0 0; margin-top: auto; }

.pub-ventana { width: min(980px, calc(100% - 24px)); max-height: calc(100% - 32px); padding: 0; border: 0; border-radius: 24px; box-shadow: 0 30px 80px -20px rgba(43,26,36,.5); color: var(--texto); }
.pub-ventana::backdrop { background: rgba(43,26,36,.55); backdrop-filter: blur(3px); }
.pub-cerrar { position: sticky; top: 12px; float: right; margin: 12px 12px 0 0; z-index: 2; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--linea); background: #fff; font-size: 1.1rem; cursor: pointer; color: var(--tinta); }
.pub-cerrar:hover { border-color: var(--magenta); color: var(--magenta); }
.pub-ventana-cuerpo { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 36px; padding: clamp(24px, 4vw, 44px); }
.pub-ventana-lado { display: grid; gap: 14px; align-content: start; }
.pub-ventana-lado img { border-radius: 14px; border: 1px solid var(--linea); }
.pub-ventana-texto h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); margin: 10px 0 14px; }
.pub-ventana-texto p { font-size: 1.05rem; }
@media (max-width: 760px) { .pub-ventana-cuerpo { grid-template-columns: minmax(0, 1fr); gap: 20px; } .pub-ventana-lado { max-width: 220px; } .pub-ventana-lado .pub-foto { display: none; } }

/* Notas de prensa: qué incluye */
.incluye { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.incluye li { display: grid; gap: 6px; align-content: start; padding: 22px; border: 1px solid var(--linea); border-radius: 18px; background: #fff; }
.incluye .icono { margin: 0 0 6px; }
.incluye strong { color: var(--tinta); font-size: 1.05rem; }
.incluye span:last-child { font-size: .98rem; color: var(--texto); }
@media (max-width: 1000px) { .incluye { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .incluye { grid-template-columns: minmax(0, 1fr); } }
.lista-notas .nota { background: #fff; }

/* ===== Auditoría: coherencia y accesibilidad ===== */
/* Tipografía de marca también en botones y campos */
button, input, select, textarea { font-family: var(--cuerpo); }

/* Escala única de redondeos: pequeño 12 · medio 20 · grande 28 · píldora */
:root { --r-s: 12px; --r-m: 20px; --r-l: 28px; }
.campo input, .campo select, .campo textarea, .evaluacion-discreta, .galeria img, .nota .miniatura, .icono { border-radius: var(--r-s); }
.tarjeta, .nota-tarjeta, .pub-tarjeta, .recurso, .incluye li, .paso, .contacto-prensa, .navegacion-notas a, .redondeada, .ficha aside img, .pub-ventana-lado img, .nota { border-radius: var(--r-m); }
.tarjeta-foto, .diapositiva, .banda-news, .caso, .pub-ventana, .foto-bio img, .destacada, .banda-evaluacion { border-radius: var(--r-l); }

/* Tamaños mínimos legibles (15 px) */
.campo label, .aceptar, .boton-pausa, .navegacion-notas small, .letra-pequena, .pie-legal { font-size: max(.95rem, 15px) !important; }
.navegacion-notas small { letter-spacing: .5px; }

/* Ladillos de las notas y títulos de recursos (ahora h2, mismo aspecto) */
.articulo h2.ladillo { font-family: var(--cuerpo); font-size: 1.3rem; font-weight: 700; letter-spacing: 0; color: var(--ciruela); margin: 2em 0 .6em; line-height: 1.3; }
.contacto-prensa h2.ladillo-pequeno { font-family: var(--cuerpo); font-size: 1.05rem; font-weight: 700; letter-spacing: 0; margin: 0 0 8px; color: var(--tinta); }
.recurso h2.recurso-titulo { font-family: var(--cuerpo); font-size: 1.35rem; font-weight: 700; letter-spacing: 0; margin: 12px 0 10px; }

/* Flecha ↗ solo para enlaces que salen de la web */
.enlace-externo::after { content: " ↗"; }
/* Últimos ajustes de la auditoría */
.herramientas, .dos-col img.redondeada { border-radius: var(--r-m); }
.suscripcion { border-radius: 999px; }
@media (max-width: 760px) { .suscripcion { border-radius: var(--r-m); } }
.dato small, .nota-tarjeta .enlace-flecha, .pub-info .enlace-flecha { font-size: max(.95rem, 15px); }
.foto-trayectoria { width: 100%; max-width: 400px; aspect-ratio: 4/5; object-fit: cover; justify-self: center; box-shadow: var(--sombra); }
.pub-portada--foto { padding: 0; }
.pub-portada--foto img { width: 100%; height: 100%; max-height: none; object-fit: cover; object-position: 50% 35%; border-radius: 0; box-shadow: none; }
/* Publicaciones: las tres imágenes con el mismo formato (3:4, a sangre) */
.pub-portada, .pub-portada--foto { aspect-ratio: 3 / 4; padding: 0; background: var(--rosa-claro); overflow: hidden; }
.pub-portada img, .pub-portada--foto img { width: 100%; height: 100%; max-height: none; object-fit: cover; object-position: 50% 30%; border-radius: 0; box-shadow: none; }
