/* =============================================================================
   Bespoke Advisors · páginas de servicio y de socios
   Se carga DESPUÉS de styles.css y solo usa sus tokens. Generado junto con las
   páginas por paginas_seo/build_paginas.py — editar allá, no en sitio_actual/.
   ========================================================================== */

/* Enlace que no se ve como enlace: los títulos de la home conservan su aspecto
   y ganan solo un subrayado rojo fino al pasar el cursor. */
.quietlink { color: inherit; text-decoration: none; }
.quietlink:hover,
.quietlink:focus-visible {
  text-decoration: underline;
  text-decoration-color: var(--red);
  text-decoration-thickness: 1px;
  text-underline-offset: .16em;
}

/* Contenido por confirmar (solo en vista previa; el build de producción lo rechaza). */
mark.pendiente { background: #FFF1A8; color: var(--ink); padding: 0 .2em; }

/* ------------------------------------------------------------ Hero */
.pg-hero {
  padding-top: calc(var(--nav-h) + clamp(var(--s-8), 8vw, var(--s-12)));
  padding-bottom: clamp(var(--s-8), 8vw, var(--s-12));
}
.pg-hero__shell { row-gap: var(--s-6); align-items: end; }
.pg-hero__inner { grid-column: col 1 / col 8; }
.pg-hero__figure { grid-column: col 9 / full-end; margin: 0; }
.pg-hero__figure .media { border-radius: 0; }
.pg-hero__title { max-width: 20ch; }
.pg-hero__lede { max-width: 58ch; font-size: 1.125rem; }
.pg-hero__ctas {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-4);
  margin-top: var(--s-6);
}

.pg-crumbs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-1);
  margin-bottom: var(--s-4);
  font-size: var(--text-small);
  color: var(--ink-faint);
}
.pg-crumbs a { color: var(--ink-dim); text-decoration: none; }
.pg-crumbs a:hover { color: var(--ink); text-decoration: underline; text-decoration-color: var(--red); }

/* ------------------------------------------------------------ Dos columnas */
.pg-split { row-gap: var(--s-6); align-items: start; }
.pg-split__aside { grid-column: col 1 / col 6; }
.pg-split > :not(.pg-split__aside) { grid-column: col 7 / main-end; }
@media (min-width: 1025px) {
  .pg-split__aside { position: sticky; top: calc(var(--nav-h) + var(--s-4)); }
}

/* Señales: lista con el cuadrado rojo de la marca. */
.pg-signals { margin: 0; padding: 0; list-style: none; }
.pg-signals li {
  position: relative;
  padding: var(--s-3) 0 var(--s-3) var(--s-4);
  border-top: 1px solid var(--hairline);
  font: 400 clamp(1.05rem, 1.6vw, 1.25rem)/1.45 var(--font-display);
  color: var(--ink);
}
.pg-signals li:last-child { border-bottom: 1px solid var(--hairline); }
.pg-signals li::before {
  content: "";
  position: absolute;
  left: 0; top: calc(var(--s-3) + .55em);
  width: 6px; height: 6px;
  background: var(--red);
}

.pg-steps { margin: 0; padding: 0; list-style: none; }
.pg-steps .servicio__desc a,
.pg-faq a,
.pg-secthead a { color: var(--ink); text-decoration-color: var(--red); }

/* ------------------------------------------------------------ Experiencia */
.pg-secthead { margin-bottom: 0; }
.pg-secthead .lede { max-width: 70ch; }
.pg-ts { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
.pg-note { margin-top: var(--s-3); }

/* ------------------------------------------------------------ Personas */
.pg-people { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 760px; }
.pg-more { margin-top: var(--s-2); font-size: var(--text-small); }

/* ------------------------------------------------------------ FAQ */
.pg-faq__item { border-top: 1px solid var(--hairline); }
.pg-faq__item:last-child { border-bottom: 1px solid var(--hairline); }
.pg-faq__item summary {
  display: flex;
  justify-content: space-between;
  gap: var(--s-3);
  padding: var(--s-3) 0;
  cursor: pointer;
  list-style: none;
  font: 400 var(--text-h3)/1.3 var(--font-display);
  color: var(--ink);
}
.pg-faq__item summary::-webkit-details-marker { display: none; }
.pg-faq__item summary::after {
  content: "+";
  flex: none;
  font-family: var(--font-body);
  color: var(--red);
  transition: transform var(--dur-fast) var(--ease-out);
}
.pg-faq__item[open] summary::after { transform: rotate(45deg); }
.pg-faq__item p { max-width: 62ch; padding-bottom: var(--s-4); color: var(--ink-dim); }

/* ------------------------------------------------------------ Relacionados */
.pg-related {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: var(--s-2);
}
.pg-rel .card__title { display: block; }

/* ------------------------------------------------------------ Cierre */
.pg-cta__inner { grid-column: col 1 / col 11; }
.pg-cta__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-4);
  margin-top: var(--s-6);
}

/* ------------------------------------------------------------ Perfil de socio */
.pg-profile { row-gap: var(--s-6); align-items: start; }
.pg-profile__text  { grid-column: col 1 / col 8; }
.pg-profile__photo { grid-column: col 9 / main-end; margin: 0; }
.pg-profile__more { max-width: 58ch; margin-top: var(--s-3); color: var(--ink-dim); }
.pg-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s-4);
}
.pg-facts__t {
  margin-bottom: var(--s-2);
  font: 500 var(--text-label)/1.4 var(--font-body);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ink-dim);
}
.pg-facts ul { margin: 0; padding: 0; list-style: none; }
.pg-facts li { padding: var(--s-2) 0; border-top: 1px solid var(--hairline); color: var(--ink); }

@media (max-width: 1024px) {
  .pg-hero__inner, .pg-cta__inner,
  .pg-split__aside, .pg-split > :not(.pg-split__aside),
  .pg-profile__text { grid-column: col 1 / main-end; }
  .pg-profile__photo { grid-column: col 1 / main-end; max-width: 420px; }
  .pg-hero__figure { grid-column: col 1 / full-end; }
}
@media (max-width: 600px) {
  .pg-people, .pg-facts { grid-template-columns: minmax(0, 1fr); }
  .pg-ts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
