/* Pole Up 2027 · V2 — componentes nuevos: imágenes del registro, cabecera multipágina, portada simplificada y páginas interiores.
   Mantiene los tokens y el lenguaje de la Propuesta A. */

/* ——— Imágenes del registro: recorte por variable ——— */
.m-img { object-position: var(--pos, 50% 50%); }
@media (max-width: 600px) { .m-img { object-position: var(--pos-m, var(--pos, 50% 50%)); } }
.m-pie { margin-top: .6rem; font-size: .75rem; line-height: 1.4; color: var(--a-on-stage-muted); }
.pa-sec--paper .m-pie { color: var(--a-ink-muted); }

/* ——— Cabecera multipágina ——— */
.pa-header__logo img { width: 112px; height: auto; }
.pa-nav__a.is-active { color: #fff; }
.pa-nav__a.is-active::after { transform: scaleX(1); }
.pa-menu__a.is-active { color: var(--a-glow); }
.pa-menu__sub { display: flex; flex-wrap: wrap; gap: 0 1.2rem; padding: .3rem 0 .9rem; border-bottom: 1px solid var(--a-stage-line); }
.pa-menu__sub a { display: inline-flex; align-items: center; min-height: 44px; color: var(--a-on-stage-muted); text-decoration: none; font-weight: 700; font-size: .95rem; }
.pa-menu__sub a:hover { color: #fff; text-decoration: underline; }
@media (max-width: 1100px) {
  .pa-menu nav > ul > li > .pa-menu__a { border-bottom: 0; }
  .pa-menu nav > ul > li:not(:has(.pa-menu__sub)) > .pa-menu__a { border-bottom: 1px solid var(--a-stage-line); }
  .pa-menu .lang { display: none; }
}

/* ——— Pie ——— */
.pa-foot__brand > img { width: 150px; margin-bottom: 1rem; }
.pa-foot__org { display: flex; align-items: center; gap: .8rem; color: var(--a-on-stage-muted); font-size: .85rem; }
.pa-foot__org img { width: 150px; height: auto; }
.pa-foot__t--2 { margin-top: 1.4rem; }

/* ——— Botones y etiquetas extra ——— */
.pa-btn--ink { border: 1px solid var(--a-ink); color: var(--a-ink); background: transparent; }
.pa-btn--ink:hover { background: var(--a-ink); color: #fff; }
.pa-actions { display: flex; flex-wrap: wrap; gap: var(--a-space-2) var(--a-space-3); align-items: center; margin-top: var(--a-space-4); }
.pa-tag--soft { border-style: dashed; color: var(--a-on-stage-muted); border-color: rgba(255, 255, 255, .45); }
.pa-sec--paper .pa-tag--soft, .pi-paper .pa-tag--soft { color: var(--a-ink-muted); border-color: #9b8f98; }
.pa-textlink--ink:hover { color: var(--a-magenta); }

/* ——— Inicio · hero ——— */
.pa-hero__ctas .pa-textlink { margin-left: .2rem; }

/* ——— Inicio · modalidades (cartelera simplificada, cada panel enlaza) ——— */
.pa-poster__link { text-decoration: none; }
.pa-poster__link::after { content: ''; position: absolute; inset: 0; z-index: 1; }
.pa-poster__link:focus-visible { outline: none; }
.pa-poster:has(.pa-poster__link:focus-visible) { outline: 3px solid var(--a-glow); outline-offset: 3px; }
.pa-poster__more { display: inline-flex; gap: .4rem; margin-top: 1rem; font-size: .78rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--a-glow); }
.pa-poster:hover .pa-poster__name { color: #fff; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .15em; }
.pa-poster.is-sin-foto, .pa-poster__media.is-sin-foto { background: var(--a-stage-2); }

/* ——— Inicio · novedades: enlace ——— */
.pa-news__item .pa-textlink { margin-top: .4rem; }

/* ——— Inicio · historia simplificada ——— */
.ini-hist { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--a-space-5); align-items: center; }
.ini-hist figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; filter: grayscale(1) contrast(1.05); border-radius: var(--a-radius); }
.ini-hist p + p { margin-top: var(--a-space-2); color: var(--a-ink-muted); max-width: var(--a-measure); }

/* ——— Inicio · experiencia simplificada ——— */
.ini-exp { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 4fr) minmax(0, 4fr); gap: clamp(1.5rem, 3vw, 3.5rem); align-items: start; }
.ini-exp .pa-exp__fig img { aspect-ratio: 3 / 4; }
.ini-exp__col .pa-h3 { font-size: clamp(2.2rem, 3.4vw, 3.2rem); border-bottom: 1px solid var(--a-stage-line); padding-bottom: .9rem; }
.ini-exp__col p { color: var(--a-on-stage-muted); margin: 1rem 0 0; }
.ini-exp__col .pa-btn { margin-top: 1.6rem; }

/* ——— Inicio · inscripciones 2027 próximamente ——— */
.ini-insc { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--a-space-5); align-items: end; }
.ini-insc__estado { border-top: 1px solid var(--a-ink); padding-top: var(--a-space-3); }
.ini-insc__estado p { color: var(--a-ink-muted); }
.ini-insc__estado .ini-insc__st { display: flex; align-items: center; gap: .7rem; font-weight: 800; color: var(--a-ink); margin-bottom: .6rem; }
.ini-insc__st .pa-dot { background: var(--a-magenta); box-shadow: 0 0 0 4px rgba(168, 40, 140, .15); }
.ini-insc__estado .pa-actions { margin-top: var(--a-space-3); }

/* ——— Páginas interiores · cabecera ——— */
.pi-hero { position: relative; padding: calc(var(--a-header-h) + clamp(2.5rem, 6vw, 5rem)) 0 clamp(2.5rem, 6vw, 4.5rem);
  background: radial-gradient(70% 90% at 0% 0%, rgba(168, 40, 140, .38), transparent 60%), radial-gradient(60% 80% at 100% 100%, var(--a-violet-soft), transparent 60%), var(--a-night); overflow: hidden; }
.pi-hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--a-space-5); align-items: end; }
.pi-hero--solo .pi-hero__grid { grid-template-columns: minmax(0, 1fr); }
.pi-crumb { display: flex; flex-wrap: wrap; gap: .5rem; font-size: .8rem; font-weight: 700; color: var(--a-on-stage-muted); margin-bottom: var(--a-space-3); }
.pi-crumb a { color: var(--a-on-stage); text-underline-offset: .25em; }
.pi-crumb a:hover { color: var(--a-glow); }
.pi-hero h1 { font-family: var(--a-font-display); font-weight: 400; font-size: clamp(2.8rem, 6.4vw, 6.2rem); line-height: .98; letter-spacing: -.025em; font-variation-settings: 'opsz' 96; text-wrap: balance; max-width: 14ch; }
.pi-hero h1 em { font-style: italic; background: linear-gradient(90deg, #f6c3e9, #e58fd0 40%, #c86fd8); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; padding-right: .04em; }
.pi-hero__lead { margin-top: var(--a-space-3); font-size: var(--a-fs-lead); color: var(--a-on-stage); max-width: 36rem; }
.pi-hero__fig { position: relative; }
.pi-hero__fig img { width: 100%; aspect-ratio: 4 / 5; max-height: 520px; object-fit: cover; border-radius: var(--a-radius); }
.pi-hero__fig.is-bn img { filter: grayscale(1) contrast(1.05); }

/* ——— Subnavegación de sección ——— */
.pi-subnav { position: sticky; top: var(--a-header-h); z-index: 20; background: rgba(13, 8, 17, .96); border-top: 1px solid var(--a-stage-line); border-bottom: 1px solid var(--a-stage-line); }
.pi-subnav ul { display: flex; gap: clamp(1rem, 2.4vw, 2.4rem); overflow-x: auto; scrollbar-width: thin; }
.pi-subnav a { display: inline-flex; align-items: center; min-height: 52px; white-space: nowrap; text-decoration: none; font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--a-on-stage-muted); border-bottom: 2px solid transparent; }
.pi-subnav a:hover { color: #fff; }
.pi-subnav a[aria-current="page"] { color: #fff; border-bottom-color: var(--a-glow); }
html { scroll-padding-top: calc(var(--a-header-h) + 70px); }

/* ——— Secciones de lectura ——— */
.pi-sec { padding: clamp(3.5rem, 8vw, 6.5rem) 0; }
.pi-paper { background: var(--a-paper); color: var(--a-ink); }
.pi-paper-2 { background: var(--a-paper-2); color: var(--a-ink); }
.pi-paper :focus-visible, .pi-paper-2 :focus-visible { outline-color: var(--a-purple); }
.pi-h2 { font-family: var(--a-font-display); font-weight: 500; font-size: clamp(2rem, 3.8vw, 3.4rem); line-height: 1.05; letter-spacing: -.015em; text-wrap: balance; }
.pi-paper .pi-h2, .pi-paper-2 .pi-h2 { color: var(--a-ink); }
.pi-head { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--a-space-4); align-items: end; margin-bottom: var(--a-space-5); }
.pi-head--solo { grid-template-columns: minmax(0, 1fr); max-width: 52rem; }
.pi-head p:not(.pa-label) { color: var(--a-ink-muted); font-size: var(--a-fs-lead); max-width: var(--a-measure); }
.pi-sec:not(.pi-paper):not(.pi-paper-2) .pi-head p:not(.pa-label) { color: var(--a-on-stage-muted); }
.pi-prose { max-width: var(--a-measure); }
.pi-prose p + p { margin-top: var(--a-space-2); }
.pi-paper .pi-prose p, .pi-paper-2 .pi-prose p { color: var(--a-ink); }
.pi-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--a-space-5); align-items: start; }

/* Tarjetas de acceso */
.pi-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--a-rule); border: 1px solid var(--a-rule); }
.pi-card { position: relative; background: var(--a-paper); padding: clamp(1.4rem, 2.6vw, 2.2rem); display: flex; flex-direction: column; gap: .7rem; min-height: 15rem; }
.pi-card__n { font-family: var(--a-font-display); font-style: italic; font-size: 1.6rem; color: var(--a-accent-ink); }
.pi-card h3 { font-family: var(--a-font-display); font-weight: 500; font-size: clamp(1.7rem, 2.4vw, 2.2rem); line-height: 1.05; }
.pi-card h3 a { text-decoration: none; color: var(--a-ink); }
.pi-card h3 a::after { content: ''; position: absolute; inset: 0; }
.pi-card p { color: var(--a-ink-muted); }
.pi-card__go { margin-top: auto; font-size: .78rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--a-accent-ink); }
.pi-card:hover { background: #fff; }
.pi-card:hover h3 a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .15em; }
.pi-card:has(a:focus-visible) { outline: 3px solid var(--a-purple); outline-offset: -3px; }
.pi-card a:focus-visible { outline: none; }

/* Estado de contenido pendiente */
.pi-state { display: grid; grid-template-columns: auto 1fr; gap: .4rem 1rem; align-items: start; padding: clamp(1.2rem, 2.4vw, 1.8rem); border: 1px dashed rgba(255, 255, 255, .4); border-radius: var(--a-radius); max-width: 52rem; }
.pi-state .pa-dot { margin-top: .55rem; }
.pi-state__t { font-weight: 800; }
.pi-state p:not(.pi-state__t) { grid-column: 2; color: var(--a-on-stage-muted); }
.pi-paper .pi-state, .pi-paper-2 .pi-state { border-color: #9b8f98; background: #fff; }
.pi-paper .pi-state p:not(.pi-state__t), .pi-paper-2 .pi-state p:not(.pi-state__t) { color: var(--a-ink-muted); }
.pi-paper .pi-state .pa-dot, .pi-paper-2 .pi-state .pa-dot { background: var(--a-magenta); box-shadow: 0 0 0 4px rgba(168, 40, 140, .15); }
.pi-states { display: grid; gap: var(--a-space-2); }

/* Pasos sobre claro */
.pa-steps--ink li { border-bottom-color: var(--a-rule); }
.pa-steps--ink .pa-steps__n { color: var(--a-accent-ink); }
.pa-steps--ink .pa-steps__d { color: var(--a-ink-muted); }
.pi-note { margin-top: var(--a-space-3); font-size: .88rem; color: var(--a-ink-muted); max-width: 52rem; }
.pi-sec:not(.pi-paper):not(.pi-paper-2) .pi-note { color: var(--a-on-stage-muted); }

/* ——— Categorías ——— */
.cat-tools { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; justify-content: space-between; padding-bottom: 1.4rem; border-bottom: 1px solid var(--a-ink); }
.chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.chip { min-height: 44px; padding: 0 1.05rem; border: 1px solid #8f8389; background: transparent; color: var(--a-ink); border-radius: 99px; font-size: .8rem; font-weight: 800; letter-spacing: .08em; cursor: pointer; }
.chip:hover { border-color: var(--a-ink); }
.chip[aria-pressed="true"] { background: var(--a-ink); border-color: var(--a-ink); color: #fff; }
.chip--glow[aria-pressed="true"] { background: var(--a-magenta); border-color: var(--a-magenta); }
.pi-sec:not(.pi-paper) .chip { color: var(--a-on-stage); border-color: rgba(255, 255, 255, .45); }
.pi-sec:not(.pi-paper) .chip:hover { border-color: #fff; }
.pi-sec:not(.pi-paper) .chip[aria-pressed="true"] { background: var(--a-magenta); border-color: var(--a-magenta); }
.cat-search { display: flex; align-items: center; gap: .6rem; }
.cat-search label { font-size: .75rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.cat-search input { min-height: 44px; width: min(18rem, 60vw); padding: 0 .9rem; border: 1px solid #8f8389; background: #fff; color: var(--a-ink); font: inherit; border-radius: var(--a-radius); }
.cat-count { margin: 1.2rem 0 0; font-size: .9rem; font-weight: 700; color: var(--a-ink-muted); }
.cat-grupo { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); gap: clamp(1.2rem, 3vw, 3rem); padding: clamp(2rem, 4vw, 3rem) 0; border-bottom: 1px solid var(--a-rule); }
.cat-grupo[hidden] { display: none; }
.cat-grupo__fig { position: relative; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--a-radius); background: linear-gradient(160deg, #6a1f6e, #2a0f33 70%); }
.cat-grupo__fig img { width: 100%; height: 100%; object-fit: cover; }
.cat-grupo__fig .m-pie { position: absolute; inset: auto 0 0 0; margin: 0; padding: 1.4rem .7rem .55rem; color: #fff; background: linear-gradient(0deg, rgba(13, 8, 17, .9), rgba(13, 8, 17, 0)); }
.cat-grupo__fig.is-sin-foto { display: grid; place-items: center; }
.cat-grupo__fig.is-sin-foto span { font-family: var(--a-font-display); font-style: italic; font-size: 9rem; line-height: 1; color: transparent; -webkit-text-stroke: 1px rgba(255, 255, 255, .6); }
.cat-grupo__head h2 { font-family: var(--a-font-display); font-weight: 500; font-size: clamp(2.2rem, 3.6vw, 3.2rem); line-height: 1; color: var(--a-ink); }
.cat-grupo__head p { color: var(--a-ink-muted); margin-top: .5rem; max-width: 34rem; }
.cat-grupo__fmt { font-size: .75rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 800; color: var(--a-accent-ink); margin-bottom: .3rem; }
.cat-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15.5rem), 1fr)); gap: .9rem; margin-top: 1.4rem; }
.cat-card { background: #fff; border: 1px solid var(--a-rule); border-radius: var(--a-radius); padding: 1.1rem 1.2rem 1rem; display: flex; flex-direction: column; gap: .5rem; }
.cat-card.is-nueva { border-color: var(--a-magenta); box-shadow: inset 3px 0 0 var(--a-magenta); }
.cat-card h3 { font-family: var(--a-font-display); font-weight: 500; font-size: 1.45rem; line-height: 1.1; color: var(--a-ink); }
.cat-card__meta { font-size: .85rem; color: var(--a-ink-muted); }
.cat-card .pa-tag { align-self: flex-start; white-space: normal; text-align: left; line-height: 1.35; }
.cat-card .pa-tag--ink { margin-top: 0; }
.cat-card .pa-tag--nueva { background: var(--a-magenta); border-color: var(--a-magenta); color: #fff; }
.cat-card details { margin-top: auto; border-top: 1px solid var(--a-rule); padding-top: .4rem; }
.cat-card summary { min-height: 40px; display: flex; align-items: center; cursor: pointer; font-size: .85rem; font-weight: 800; color: var(--a-accent-ink); }
.cat-card details p { font-size: .88rem; color: var(--a-ink-muted); margin-bottom: .5rem; }
.cat-empty { padding: 2rem 0; }
.cat-empty p { margin-bottom: 1rem; color: var(--a-ink-muted); }

/* ——— Reglamento y documentos ——— */
.doc { border-top: 1px solid var(--a-ink); padding-top: var(--a-space-3); }
.doc + .doc { margin-top: var(--a-space-5); }
.doc__head { display: flex; flex-wrap: wrap; gap: .6rem 1rem; align-items: center; margin-bottom: 1rem; }
.doc__head h2 { font-family: var(--a-font-display); font-weight: 500; font-size: clamp(2rem, 3.4vw, 3rem); line-height: 1.05; color: var(--a-ink); }
.doc__intro { max-width: var(--a-measure); color: var(--a-ink); }
.doc__banner { margin: 1.4rem 0; padding: 1rem 1.2rem; background: #f1e3ee; border-left: 3px solid var(--a-purple); color: var(--a-ink); max-width: 52rem; font-weight: 700; }
.doc-list { display: grid; gap: 0; border-top: 1px solid var(--a-rule); margin-top: 1.4rem; }
.doc-item { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 4fr) auto; gap: 1rem 2rem; align-items: center; padding: 1.1rem 0; border-bottom: 1px solid var(--a-rule); }
.doc-item__t { font-family: var(--a-font-display); font-size: 1.45rem; line-height: 1.15; color: var(--a-ink); }
.doc-item dl { display: flex; flex-wrap: wrap; gap: .2rem 1.4rem; font-size: .88rem; color: var(--a-ink-muted); }
.doc-item dl div { display: flex; gap: .35rem; }
.doc-item dt { font-weight: 800; color: var(--a-ink); }
.doc-item .pa-btn { min-height: 48px; padding: .6rem 1.2rem; font-size: .8rem; }

/* ——— Galería ——— */
.gal-tools { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; justify-content: space-between; margin-bottom: var(--a-space-4); }
.gal-tools__t { font-size: .75rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--a-on-stage-muted); margin-right: .6rem; }
.gal-ed { padding-top: var(--a-space-3); border-top: 1px solid var(--a-stage-line); }
.gal-ed + .gal-ed { margin-top: var(--a-space-5); }
.gal-ed[hidden] { display: none; }
.gal-ed__head { display: flex; align-items: baseline; gap: 1.2rem; margin-bottom: var(--a-space-3); }
.gal-ed__anio { font-family: var(--a-font-display); font-style: italic; font-size: clamp(3rem, 6vw, 5.4rem); line-height: .9; color: transparent; -webkit-text-stroke: 1px rgba(255, 255, 255, .7); }
.gal-ed__head p { color: var(--a-on-stage-muted); font-size: .9rem; }
.gal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.6rem); }
.vcard figcaption { padding-top: .8rem; display: grid; gap: .15rem; }
.vcard .pa-feat__name { font-size: clamp(1.35rem, 1.8vw, 1.7rem); }
.vcard__titulo { font-size: .78rem; color: var(--a-on-stage-muted); line-height: 1.4; }
.pa-play--md { width: 64px; height: 64px; margin: -32px 0 0 -32px; }
.pa-play--md::after { left: 26px; top: 21px; border-width: 11px 0 11px 17px; }
.gal-fotos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.6rem); }
.gal-foto img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--a-radius); }

/* ——— Historia ——— */
.pa-time--v2 .pa-time__fig { margin-bottom: .9rem; }
.pa-time--v2 .pa-textlink { min-height: 40px; font-size: .88rem; }
.pa-time__dato { font-size: .88rem; font-weight: 800; color: var(--a-accent-ink); margin-top: .5rem; }
.org { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2rem; padding: 1.4rem 0; border-top: 1px solid var(--a-rule); border-bottom: 1px solid var(--a-rule); margin: var(--a-space-3) 0; }
.org img { width: 220px; height: auto; }
.org span { font-size: .75rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--a-ink-muted); }
.pi-links { display: grid; gap: .2rem; margin-top: 1rem; }

/* ——— Ayuda ——— */
.faq { border-top: 1px solid var(--a-ink); }
.faq details { border-bottom: 1px solid var(--a-rule); }
.faq summary { display: flex; justify-content: space-between; gap: 1rem; align-items: center; min-height: 64px; padding: .8rem 0; cursor: pointer; list-style: none; font-family: var(--a-font-display); font-size: clamp(1.25rem, 1.8vw, 1.6rem); line-height: 1.2; color: var(--a-ink); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; flex: 0 0 auto; font-family: var(--a-font-text); font-weight: 400; font-size: 1.6rem; color: var(--a-accent-ink); }
.faq details[open] summary::after { content: '–'; }
.faq details p { padding: 0 0 1.2rem; color: var(--a-ink-muted); max-width: 46rem; }
.contact { background: var(--a-stage); color: var(--a-on-stage); padding: clamp(1.5rem, 3vw, 2.5rem); border-radius: var(--a-radius); }
.contact .pi-h2 { color: var(--a-on-stage); font-size: clamp(1.8rem, 2.8vw, 2.4rem); }
.contact p { color: var(--a-on-stage-muted); margin-top: .8rem; }
.contact__mail { display: inline-block; margin-top: 1rem; font-family: var(--a-font-display); font-size: clamp(1.3rem, 2.2vw, 1.8rem); color: #fff; text-underline-offset: .2em; word-break: break-word; }
.contact ul { margin-top: 1rem; }

/* ——— Responsive ——— */
@media (max-width: 1100px) {
  .pi-cards { grid-template-columns: 1fr 1fr; }
  .gal-grid, .gal-fotos { grid-template-columns: 1fr 1fr; }
  .ini-exp { grid-template-columns: 1fr 1fr; }
  .ini-exp .pa-exp__fig { grid-column: 1 / -1; }
  .ini-exp .pa-exp__fig img { aspect-ratio: 16 / 9; }
  .pa-time--v2 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .pi-hero__grid, .pi-head, .pi-split, .ini-hist, .ini-insc { grid-template-columns: 1fr; }
  .pi-hero__fig img { aspect-ratio: 16 / 10; max-height: 360px; }
  .cat-grupo { grid-template-columns: 1fr; }
  .cat-grupo__fig { aspect-ratio: 16 / 9; max-height: 280px; }
  .cat-grupo__fig.is-sin-foto span { font-size: 6rem; }
  .doc-item { grid-template-columns: 1fr; gap: .5rem; }
  .doc-item .pa-btn { justify-self: start; }
}
@media (max-width: 600px) {
  .pi-cards { grid-template-columns: 1fr; }
  .pi-card { min-height: 0; }
  .gal-grid, .gal-fotos { grid-template-columns: 1fr; }
  .ini-exp { grid-template-columns: 1fr; }
  .pa-time--v2 { grid-template-columns: 1fr 1fr; }
  .cat-tools { flex-direction: column; align-items: stretch; }
  .cat-search { flex-direction: column; align-items: stretch; }
  .cat-search input { width: 100%; }
  .pi-hero h1 { font-size: clamp(2.5rem, 11vw, 3.4rem); }
}

/* ——— Ajustes de páginas generadas ——— */
.pi-states--sep { margin-top: 2.5rem; }
.faq { margin-top: 2rem; }
.org__logo img { width: 220px; height: auto; }
.pa-btn--mail { text-transform: none; letter-spacing: .02em; }
.pi-paper .m-pie, .pi-paper-2 .m-pie { color: var(--a-ink-muted); }
.pi-paper .cat-grupo__fig .m-pie, .pi-paper-2 .pa-time__fig .m-pie { color: #fff; margin: 0; }

/* Menú móvil abierto: sin backdrop-filter, para que el panel fijo ocupe la pantalla y no quede confinado a la cabecera. */
.menu-open .pa-header, .menu-open .pa-header.is-solid { -webkit-backdrop-filter: none; backdrop-filter: none; background: rgba(13, 8, 17, .98); }

/* Teléfono: portada y catálogo más compactos */
@media (max-width: 600px) {
  .pa-poster, .pa-poster--duplas { aspect-ratio: 1 / 1; min-height: 0; }
  .pa-poster__media--type span { font-size: 9rem; }
  .cat-list { gap: .7rem; }
  .cat-card { padding: .9rem 1rem .6rem; gap: .35rem; }
  .cat-card h3 { font-size: 1.3rem; }
  .cat-card summary { min-height: 44px; }
}

/* Mi Pole Up visible también en la cabecera móvil (acceso diferenciado) */
@media (max-width: 1100px) {
  .pa-header__cta { display: inline-flex; padding: 0 .9rem; font-size: .72rem; letter-spacing: .12em; }
  .pa-menu__foot .pa-btn { display: none; }
}
@media (max-width: 600px) {
  .pa-header__in { gap: 1rem; }
  .pa-header__tools { gap: .5rem; }
  .pa-header__cta { padding: 0 .6rem; letter-spacing: .08em; }
}
@media (max-width: 380px) {
  .pa-header__logo img { width: 80px; }
  .pa-burger [data-menu-label] { font-size: .72rem; }
}

/* Historia: crédito bajo el texto de cada edición */
.pa-time--v2 .pa-time__names { margin-top: .6rem; font-size: .75rem; }
/* Subnavegación desplazable: degradado en el borde derecho como pista */
@media (max-width: 860px) {
  .pi-subnav ul { -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); padding-right: 2rem; }
}

/* 2026-10-17 · Encuadres puntuales sin recorte de figuras.
   High Heels (#143): fotografía apaisada completa (5:4) arriba de la tarjeta y textos debajo, sobre el fondo oscuro. */
.pa-poster.pa-poster--high-heels { aspect-ratio: auto; padding-top: 72%; }
.pa-poster--high-heels .pa-poster__media { bottom: auto; aspect-ratio: 5 / 4; }
.pa-poster--high-heels .pa-poster__media img { object-fit: contain; object-position: 50% 0;
  -webkit-mask-image: linear-gradient(180deg, #000 88%, transparent); mask-image: linear-gradient(180deg, #000 88%, transparent); }
/* Escritorio: tarjeta alta; cuadro 1:1 que solo descarta fondo vacío a la izquierda, con la artista y el alto completos. */
@media (min-width: 1101px) {
  .pa-poster--high-heels .pa-poster__media { aspect-ratio: 1 / 1; }
  .pa-poster--high-heels .pa-poster__media img { object-fit: cover; object-position: 100% 0; }
}
.pa-poster--high-heels .pa-poster__shade { background: linear-gradient(0deg, rgba(13, 8, 17, .97) 0%, rgba(13, 8, 17, .6) 25%, rgba(13, 8, 17, 0) 40%); }
/* Sobre Pole Up (#089, grupal apaisada): proporción original para no cortar intérpretes en los bordes. */
.pi-hero__fig[data-img="historia.cabecera"] img { aspect-ratio: 3 / 2; max-height: none; }
/* Competir (#152, vertical) y Asistir (#149, vertical): en pantallas angostas, cuadro 1:1 para conservar figuras completas sin recortes. */
@media (max-width: 860px) {
  .pi-hero__fig[data-img="competir.cabecera"] img,
  .pi-hero__fig[data-img="asistir.cabecera"] img { aspect-ratio: 1 / 1; width: auto; max-width: 100%; max-height: 420px; }
}

/* Ronda editorial: acercamiento leve sin modificar el archivo original. */
.pi-hero__fig[data-img="competir.cabecera"] { overflow: hidden; border-radius: var(--a-radius); }
.pi-hero__fig[data-img="competir.cabecera"] img { transform: scale(1.07); transform-origin: 50% 52%; }
/* Las modalidades comparten las fotos aprobadas de Inicio, con figuras completas. */
.cat-grupo__fig[data-img="categorias.grupo.high-heels"],
.cat-grupo__fig[data-img="categorias.grupo.pole-up"] { aspect-ratio: 5 / 4; }
.cat-grupo__fig img { object-fit: contain; }

.vcard__placeholder { display: block; text-align: left; width: 100%; height: 100%; aspect-ratio: 16 / 9; background: linear-gradient(135deg, #28122f, #100d17); color: #c490c7; font: 700 1rem var(--a-font-display); letter-spacing: .15em; padding: 1.2rem; }
.gal-ed__anio { overflow-wrap: anywhere; }
