/* The controls sit above the cards so every hairstyle remains unobstructed. */
.home-core-controls{display:flex;justify-content:flex-end;margin:-14px 0 18px;min-height:44px}
.home-core-toggle{background:transparent;border:1px solid transparent;border-radius:0;color:#47593e;font:inherit;font-size:12px;line-height:1.6;padding:10px 0 10px 14px;min-height:44px;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.home-core-toggle[hidden]{display:none}
.home-core-toggle:hover{color:#20301a}
.home-core-toggle:focus-visible{outline:2px solid #61794d;outline-offset:4px}
.j-core-grid .home-core-media{position:relative;aspect-ratio:4/5;margin:0 0 19px;overflow:hidden;background:#dfe3da}
.j-core-grid .home-core-media>img,.j-core-grid .home-core-media>video{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;object-fit:cover;object-position:center top}
.j-core-grid .home-core-media>video{opacity:0;pointer-events:none;transition:opacity .66s cubic-bezier(.22,.61,.36,1)}
.j-core-grid .home-core-media>video.is-visible{opacity:1}
@media(max-width:760px){.home-core-controls{margin:-8px 0 12px}.j-core-grid .home-core-media{margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.j-core-grid .home-core-media>video{transition:none}.j-core-grid .home-core-media:not(.motion-enabled)>video{display:none}}

/* The same head envelope is used for every source, without distorting the image. */
.j-core-grid .home-core-media::before{content:"";position:absolute;inset:-15%;background-image:var(--core-background);background-position:center;background-size:cover;filter:blur(18px) brightness(.75);opacity:.65;pointer-events:none}
.j-core-grid .home-core-media.has-active>img{opacity:0}
.j-core-grid .home-core-media>video{inset:auto;left:50%;top:50%;height:auto;max-width:none;object-fit:contain;transform-origin:0 0;will-change:transform,width}
.core-stage-label{position:absolute;bottom:10px;left:10px;padding:4px 8px;color:#fff;background:rgba(0,0,0,.65);font-size:11px;line-height:1.4;pointer-events:none;z-index:2}
.core-stage-label[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.j-core-grid .home-core-media.has-active:not(.motion-enabled)>img{opacity:1}.home-core-media:not(.motion-enabled)::before,.home-core-media:not(.motion-enabled) .core-stage-label{display:none!important}.home-core-media:not(.motion-enabled)>.rotation-hold{display:none}}

/* Hold the outgoing frame while one persistent media element changes source. */
.j-core-grid .home-core-media>.rotation-hold{position:absolute;left:50%;top:50%;height:auto;max-width:none;object-fit:contain;transform-origin:0 0;opacity:0;pointer-events:none}
.j-core-grid .home-core-media>.rotation-hold.is-visible{opacity:1}
.j-core-grid .home-core-media>video.is-loading{opacity:0;transition:none}

/* Match the static and moving artwork without filling the card with a close-up. */
.j-core-grid .home-core-media>img{object-fit:contain;object-position:center}
.j-core-grid .home-core-media>img.is-framed{inset:auto;left:50%;top:46%;height:auto;max-width:none;object-fit:contain;transform-origin:0 0}
.j-core-grid .home-core-media>video,.j-core-grid .home-core-media>.rotation-hold{top:46%}
