/*!
 * Themeasy — Hover Reveal List
 *
 * A full-width editorial list of headings; hovering a row reveals that item's
 * image on the right of the section.
 *
 * Layering:
 * - Structure (the list, headings, links, index, subtitle) is pure CSS and
 *   always present, so the widget is fully usable with no JavaScript.
 * - Mobile-first, the reveal image flows inline beneath its heading so the
 *   content is never lost on touch / narrow screens.
 * - On a fine pointer with hover, each image becomes an absolutely-positioned
 *   floating layer (resolved against the section root, since the rows stay
 *   unpositioned) that a pure-CSS :hover already reveals pinned to the right.
 * - GSAP then upgrades it to cursor-following magnetic motion behind the
 *   JS-applied --enhanced class; the editor preview (--static) keeps the images
 *   inline and static.
 *
 * Tokens consumed: --tms-primary-color, --tms-heading-color, --tms-body-color,
 * --tms-border-color, --tms-heading-font, --tms-h2-font-size,
 * --tms-font-size-sm, --tms-body-line-height (public --tms-* design API).
 *
 * @author Themeasy
 * @link https://themeasy.co
 * @since 1.0.0
 */
.tms-hover-reveal-list{--tms-hrl-image-w:360px;--tms-hrl-image-h:440px;--tms-hrl-image-inset:4%;--tms-hrl-accent:var(--tms-primary-color,#5b6cff);--tms-hrl-ease:cubic-bezier(.22, 1, .36, 1);--tms-hrl-dim-opacity:.35;width:100%;position:relative}.tms-hover-reveal-list__items{margin:0;padding:0;list-style:none}.tms-hover-reveal-list--dividers .tms-hover-reveal-list__item{border-top:1px solid var(--tms-border-color,#ffffff1f)}.tms-hover-reveal-list--dividers .tms-hover-reveal-list__items{border-bottom:1px solid var(--tms-border-color,#ffffff1f)}.tms-hover-reveal-list__row{flex-direction:column;gap:20px;padding:24px 0;display:flex}.tms-hover-reveal-list__link{color:inherit;text-decoration:none;display:block}.tms-hover-reveal-list__link--static{cursor:default}.tms-hover-reveal-list__link:focus-visible{outline:2px solid var(--tms-hrl-accent);outline-offset:6px;border-radius:4px}.tms-hover-reveal-list__content{justify-content:flex-start;align-items:center;display:flex}.tms-hover-reveal-list__index{font-size:var(--tms-font-size-sm,.875rem);font-weight:var(--tms-bold-font-weight,700);font-variant-numeric:tabular-nums;color:var(--tms-hrl-accent);opacity:.7;transition:color .4s var(--tms-hrl-ease), opacity .4s var(--tms-hrl-ease);flex:none;margin-inline-end:1.25rem;line-height:1}.tms-hover-reveal-list__text{min-width:0}.tms-hover-reveal-list__heading{color:var(--tms-heading-color,#f5f6fa);transition:color .4s var(--tms-hrl-ease), opacity .4s var(--tms-hrl-ease);font-size:var(--tms-h2-font-size,clamp(1.875rem, 5vw, 3.25rem));font-family:var(--tms-heading-font);font-weight:var(--tms-heading-font-weight,600);margin:0;line-height:1.1}.tms-hover-reveal-list__subtitle{font-size:var(--tms-font-size-sm,.875rem);line-height:var(--tms-body-line-height,1.6);color:var(--tms-body-color,#f5f6fa9e);transition:opacity .4s var(--tms-hrl-ease);margin-top:6px;display:block}.tms-hover-reveal-list__item:hover .tms-hover-reveal-list__index{opacity:1}.tms-hover-reveal-list__media{width:100%;max-width:var(--tms-hrl-image-w,360px);display:block}.tms-hover-reveal-list__media-inner{aspect-ratio:4/3;border-radius:12px;display:block;position:relative;overflow:hidden}.tms-hover-reveal-list__media-inner .tms-hover-reveal-list__image{object-fit:cover;width:100%;height:100%;display:block}.tms-hover-reveal-list--dim:not(.tms-hover-reveal-list--static) .tms-hover-reveal-list__items:hover .tms-hover-reveal-list__item:not(:hover) .tms-hover-reveal-list__heading{opacity:var(--tms-hrl-dim-opacity,.35)}.tms-hover-reveal-list--dim:not(.tms-hover-reveal-list--static) .tms-hover-reveal-list__items:hover .tms-hover-reveal-list__item:not(:hover) .tms-hover-reveal-list__index,.tms-hover-reveal-list--dim:not(.tms-hover-reveal-list--static) .tms-hover-reveal-list__items:hover .tms-hover-reveal-list__item:not(:hover) .tms-hover-reveal-list__subtitle{opacity:calc(var(--tms-hrl-dim-opacity,.35) * .8)}@media (hover:hover) and (pointer:fine){.tms-hover-reveal-list__media{top:50%;right:var(--tms-hrl-image-inset,4%);z-index:3;width:var(--tms-hrl-image-w,360px);max-width:none;height:var(--tms-hrl-image-h,440px);opacity:0;pointer-events:none;transition:opacity .5s var(--tms-hrl-ease), transform .6s var(--tms-hrl-ease);will-change:transform, opacity;margin:0;position:absolute;transform:translateY(-50%)scale(.94)}.tms-hover-reveal-list__media-inner{aspect-ratio:auto;width:100%;height:100%}.tms-hover-reveal-list:not(.tms-hover-reveal-list--enhanced) .tms-hover-reveal-list__item:hover .tms-hover-reveal-list__media{opacity:1;transform:translateY(-50%)scale(1)}.tms-hover-reveal-list--enhanced .tms-hover-reveal-list__media{transition:none;top:0;left:0;right:auto;transform:none}}.tms-hover-reveal-list--static .tms-hover-reveal-list__media{width:100%;max-width:var(--tms-hrl-image-w,360px);opacity:1;pointer-events:auto;height:auto;margin:0;position:static;top:auto;left:auto;right:auto;transform:none}.tms-hover-reveal-list--static .tms-hover-reveal-list__media-inner{aspect-ratio:4/3;width:auto;height:auto}@media (prefers-reduced-motion:reduce){.tms-hover-reveal-list__heading,.tms-hover-reveal-list__subtitle,.tms-hover-reveal-list__index,.tms-hover-reveal-list__media{transition:none}}