/* Brand-preserving headline portal. Without JS, ordinary reading flow remains. */
.glyph-portal{position:relative;isolation:isolate;background:#1c0921;overflow-anchor:none}
#resultados{overflow-anchor:none}
.gp-art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.gp-field{position:absolute;inset:0;background:var(--cream);pointer-events:none;opacity:0;z-index:4}
.gp-viewport{position:absolute;top:0;left:0;width:0;height:100vh;height:100svh;visibility:hidden;pointer-events:none}
.glyph-portal.gp-ready{height:calc(var(--gp-height) + var(--gp-travel))}
.glyph-portal.gp-ready .hero{position:sticky;top:0;height:var(--gp-height);min-height:var(--gp-height)}
.gp-ready .hero h1{opacity:var(--gp-original,1)}
.gp-ready .hero-content>.eyebrow,.gp-ready .hero-meta,.gp-ready .hero-action>.button,.gp-ready .hero-date,.gp-ready .portrait-caption,.gp-ready .scroll-cue{opacity:var(--gp-caption,1)}
.gp-ready .hero-image{opacity:var(--gp-image,1)}
.glyph-portal.gp-ready+#resultados{position:relative;z-index:2;margin-top:calc(-1 * var(--gp-height));opacity:var(--gp-reveal,0)}
/* The next section shares the camera's cream surface, with no color jump. */
.gp-ready .hero:focus-within{--gp-caption:1!important}
.glyph-portal.gp-ready+#resultados:focus-within{opacity:1}
@media(prefers-reduced-motion:reduce){
  .glyph-portal.gp-ready{height:auto}
  .glyph-portal.gp-ready .hero{position:relative;height:auto;min-height:100svh}
  .glyph-portal.gp-ready+#resultados{margin-top:0;opacity:1}
  .gp-field,.gp-art{display:none}
  .gp-ready .hero h1,.gp-ready .hero-content>.eyebrow,.gp-ready .hero-meta,.gp-ready .hero-action>.button,.gp-ready .hero-date,.gp-ready .portrait-caption,.gp-ready .scroll-cue,.gp-ready .hero-image{opacity:1}
}
