[data-reveal] .reveal{opacity:0}[data-reveal] .reveal.is-visible{opacity:1;animation:media-in var(--dur-enter) var(--ease-out) backwards}@media (prefers-reduced-motion:reduce){[data-reveal] .reveal,[data-reveal] .reveal.is-visible{opacity:1;animation:none}}
.gallery{z-index:1;margin-top:var(--sp-6);position:relative}.gallery__frame{aspect-ratio:16/10;border-radius:var(--card-radius);border:1px solid var(--line);background:var(--paper-deep);touch-action:pan-y;position:relative;overflow:hidden}.gallery__slide{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;display:block;position:absolute;inset:0}.gallery__media{object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;width:100%;height:100%;transition:transform var(--dur-ui) var(--ease-out)}@media (hover:hover) and (pointer:fine){.gallery__slide:hover .gallery__media{transform:scale(1.02)}}.gallery__play{border-radius:var(--radius-pill);width:56px;height:56px;color:var(--ink);background:var(--glass-tint-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge);box-shadow:var(--glass-bevel), var(--shadow-glass);pointer-events:none;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gallery__dots{left:50%;bottom:var(--sp-4);z-index:2;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-pill);background:var(--glass-tint-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge);box-shadow:var(--glass-bevel), var(--shadow-glass);display:flex;position:absolute;transform:translate(-50%)}.gallery__dot{background:var(--line-strong);cursor:pointer;width:7px;height:7px;transition:background-color var(--dur-hover) ease, transform var(--dur-hover) var(--ease-out);border:0;border-radius:50%;padding:0;position:relative}.gallery__dot:before{content:"";position:absolute;inset:-8px}@media (hover:hover) and (pointer:fine){.gallery__dot:hover{background:var(--ink-soft)}}.gallery__dot.is-active{background:var(--ink);transform:scale(1.18)}@media (prefers-reduced-transparency:reduce){.gallery__dots,.gallery__play{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--paper)}}@media (prefers-reduced-motion:reduce){.gallery__media,.gallery__dot{transition:none}.gallery__slide:hover .gallery__media{transform:none}}
