/* V5 typography refinements; the approved layout remains unchanged. */
.group-copy .group-description p{font-size:clamp(20px,1.65vw,24px);line-height:1.65}
.group-copy .group-description p+p{margin-top:1.25em}
@media(max-width:700px){.group-copy .group-description p{font-size:19px}}
.detail-photo-note{grid-column:1/-1;margin-top:10px;max-width:780px;font-size:13px;line-height:1.7;color:#666}
.detail-photo-note summary{cursor:pointer}.detail-photo-note p{margin-top:16px}

/* Preserve the approved logo and copy positions after removing the hero button. */
.hero-content::after{content:"";display:block;flex:none;height:95px}
.hero-scroll-cue{position:absolute;left:50%;top:min(calc(100svh - 32px - env(safe-area-inset-bottom,0px)),calc(var(--stage-h) - 112px));transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:15px;width:max-content;max-width:calc(100% - 40px);color:#d6d8dc;font-size:11px;font-weight:400;line-height:1.5;letter-spacing:1.6px;text-align:center;text-shadow:0 1px 8px #000;pointer-events:none}
.scroll-label-mobile{display:none}
.scroll-cue-arrow{display:block;flex:none;animation:scroll-cue-drift 2.8s ease-in-out infinite}
@keyframes scroll-cue-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
.hero[data-motion="paused"] .scroll-cue-arrow,.hero[data-render="idle"] .scroll-cue-arrow{animation-play-state:paused}
@media(max-width:700px){
  .hero-content::after{height:89px}
  .hero-scroll-cue{top:min(calc(100svh - 32px - env(safe-area-inset-bottom,0px)),calc(var(--stage-h) * .73));font-size:10px;letter-spacing:1.4px;gap:13px}
  .scroll-label-desktop{display:none}
  .scroll-label-mobile{display:inline}
}
/* Short landscape viewports keep the cue below the approved central artwork. */
@media(max-height:560px){.hero-scroll-cue{top:calc(var(--stage-h) - 112px)}}
@media(prefers-reduced-motion:reduce){.scroll-cue-arrow{animation:none;transform:none}}

/* Phone-only photographic fallback uses the same proportional framing as WebGL. */
@media(max-width:700px){
  .hero .universe .cosmos:not(.has-canvas){inset:0;background:none;animation:none;transform:none}
  .hero .universe .cosmos:not(.has-canvas)::before{content:"";position:absolute;left:50%;top:74%;width:116.2791%;aspect-ratio:1672/941;transform:translate(-58%,-55.3%);background:url('assets/universo.png') center/100% 100% no-repeat;mask-image:linear-gradient(transparent,#000 6% 94%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 6% 94%,transparent)}
  .hero .universe .cosmos:not(.has-canvas)::after{display:none}
  .hero .horizon-light{left:90%;top:75%}
}
@media(min-width:701px) and (max-width:900px) and (orientation:portrait){
  .hero-scroll-cue{top:calc(var(--stage-h) * .75)}
}

/* Origin: a full reading section over the same sticky universe, with no text reveal. */
.hero,.cinematic .hero{height:auto}
.hero>.origin-story,.cinematic .hero>.origin-story{
  position:relative;inset:auto;isolation:isolate;min-height:110svh;
  padding:calc(var(--header-h) + 64px) var(--page) 100px;
  background:linear-gradient(180deg,transparent 65%,#080808);
  pointer-events:auto;gap:36px;
}
.hero>.origin-story p{position:relative;z-index:2;opacity:1;transform:none;max-width:1060px;text-wrap:balance}
.hero>.origin-story .origin-energy{opacity:1;z-index:0;background:none;overflow:hidden;mask-image:linear-gradient(transparent,#000 10%,#000 90%,transparent)}
html:not(.cinematic) .hero>.origin-story{background:linear-gradient(#08080888,#080808bb 75%,#080808),url('assets/universo.png') center/cover}
@media(max-width:700px){
  .hero>.origin-story,.cinematic .hero>.origin-story{min-height:100svh;padding:110px 26px 96px;gap:38px}
  .hero>.origin-story p{font-size:clamp(24px,7.1vw,30px);line-height:1.3;letter-spacing:-.025em}
}

/* Only the first transition: the foreground scrolls normally over the existing backdrop. */
.hero>.hero-stage{min-height:var(--stage-h)}
.hero>.hero-intro{position:relative;z-index:2;min-height:var(--stage-h);margin-top:calc(-1 * var(--stage-h));overflow:hidden}
.cinematic .hero>.hero-intro{height:var(--stage-h)}
