/* The Capsule — scroll-driven capsule turn (Aloe Cielo)
   Scope: everything lives under .ac-capsule */
.ac-capsule { position: relative; height: 300vh; background: #0a1f15; }
.ac-capsule__sticky { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.ac-capsule__stage { position: relative; width: 100%; height: 100%; }
.ac-capsule__frame { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; opacity: 0; will-change: opacity; }
.ac-capsule__frame:first-child { opacity: 1; }
/* Edge blend: feathers the rectangular photo boundary into the page background */
.ac-capsule__vignette { position: absolute; inset: -1px; pointer-events: none;
  background: radial-gradient(ellipse 62% 58% at 50% 50%, rgba(10,31,21,0) 55%, rgba(10,31,21,0.55) 78%, #0a1f15 97%); }
.ac-capsule__hud { position: absolute; left: 0; right: 0; bottom: 34px; display: flex; align-items: center; justify-content: center; gap: 18px; pointer-events: none; font-family: 'Jost', system-ui, sans-serif; }
.ac-capsule__hud-label { font-size: 11px; letter-spacing: 0.35em; text-transform: uppercase; color: #d4b06a; }
.ac-capsule__hud-track { width: 120px; height: 1px; background: rgba(212,176,106,0.25); position: relative; }
.ac-capsule__hud-fill { position: absolute; left: 0; top: 0; bottom: 0; width: 0%; background: #d4b06a; }
.ac-capsule__hud-counter { font-size: 11px; letter-spacing: 0.28em; color: #9fb3a3; font-variant-numeric: tabular-nums; }
/* Reduced motion / JS failure: static front-facing frame */
@media (prefers-reduced-motion: reduce) {
  .ac-capsule { height: 100vh; height: 100svh; }
  .ac-capsule__frame { opacity: 0 !important; }
  .ac-capsule__frame:first-child { opacity: 1 !important; }
  .ac-capsule__hud-track, .ac-capsule__hud-counter { display: none; }
}
