/* ==========================================================================
   Piezas comunes de páginas interiores: cabecera de página y franja de CTA
   ========================================================================== */
.phead { position: relative; z-index: 1; background: var(--bone); padding: clamp(48px, 9vw, 150px) 0 0; overflow: hidden; }
.phead::before { content: ""; position: absolute; right: -14vw; top: -22vw; width: 48vw; aspect-ratio: 1; border: 1px solid rgba(0, 107, 136, .2);
  transform: rotate(45deg); pointer-events: none; }
.phead::after { content: ""; position: absolute; right: calc(-14vw + 9vw); top: calc(-22vw + 9vw); width: 30vw; aspect-ratio: 1;
  border: 1px solid rgba(0, 107, 136, .12); transform: rotate(45deg); pointer-events: none; }
.phead__in { position: relative; z-index: 1; display: grid; gap: 28px; padding-bottom: clamp(32px, 5vw, 64px); }
@media (min-width: 1000px) { .phead__in { grid-template-columns: 1fr auto; align-items: end; gap: 56px; } }
.phead__title { font-size: clamp(3rem, 12vw, 11rem); font-weight: 900; line-height: .9; }
.phead__title .ln:last-child > span { color: var(--cyan-deep); }
.phead__intro { max-width: 56ch; margin-top: clamp(20px, 2.6vw, 34px); font-size: var(--fs-lead); line-height: 1.5; color: var(--muted); }
.phead__rule { position: relative; z-index: 1; height: 1px; }
.phead__rule span { display: block; height: 1px; background: var(--ink); }

.cta-band { position: relative; z-index: 1; background: var(--cyan); color: var(--ink); padding: clamp(56px, 8vw, 130px) 0; overflow: hidden; }
.cta-band::before { content: ""; position: absolute; right: -6vw; top: 50%; width: 38vw; aspect-ratio: 1; border: 1px solid rgba(8, 10, 11, .22);
  transform: translateY(-50%) rotate(45deg); pointer-events: none; }
.cta-band__in { position: relative; display: grid; gap: 28px; }
@media (min-width: 1000px) { .cta-band__in { grid-template-columns: 1.4fr 1fr; align-items: end; gap: 64px; } }
.cta-band__title { font-size: var(--fs-h2); }
.cta-band__side { display: grid; gap: 22px; }
.cta-band__side p { max-width: 40ch; font-size: var(--fs-lead); line-height: 1.45; }
.cta-band .btn--line { box-shadow: inset 0 0 0 1px var(--ink); }

/* Bloque oscuro puntual */
.on-dark { background: var(--ink); color: var(--bone); }
.on-dark .tlink { color: var(--ice); }

/* Sesiones al mes como rombos */
.pips { display: flex; flex-wrap: wrap; gap: 3px; max-width: 220px; }
.pips i { width: 7px; height: 7px; background: var(--cyan-deep); transform: rotate(45deg); }
.pips--inf { align-items: center; gap: 8px; }
.pips--inf b { font: 900 1.1rem/1 var(--display); color: var(--cyan-deep); }

.phead__main .eyebrow { margin-bottom: clamp(22px, 2.6vw, 40px); }
