/*!
 * Themeasy — Spotlight Hero
 *
 * A display-scale hero whose headline is painted twice on the same pixels: a
 * low-contrast base layer (outlined or dimmed solid, aria-hidden) and a fully
 * lit layer stacked on top of it. A radial-gradient CSS mask on the lit layer,
 * positioned by --tms-spotlight-hero-x/-y, carves that layer down to a moving
 * pool of light — the flashlight effect. The mask is only ever applied by the
 * JS (.tms-spotlight-hero--tracking) and its --reveal token defaults to 1
 * (fully opaque mask = whole layer visible), so with no JS, no GSAP, in the
 * Elementor editor (--static) or under reduced motion the headline renders as
 * solid, fully readable type; the dim layer is never the only content.
 *
 * The stage owns a dark canvas in both colour schemes on purpose — the effect
 * needs contrast to read — so its ink comes from the stable palette tokens
 * (--tms-black-color / --tms-white-color) rather than the scheme-flipping
 * semantic ones, matching the other heroes in the library.
 *
 * @author Themeasy
 * @link https://themeasy.co
 * @since 1.0.0
 */
.tms-spotlight-hero{--tms-spotlight-hero-x:50%;--tms-spotlight-hero-y:50%;--tms-spotlight-hero-gx:50%;--tms-spotlight-hero-gy:50%;--tms-spotlight-hero-radius:280px;--tms-spotlight-hero-core:45%;--tms-spotlight-hero-reveal:1;--tms-spotlight-hero-line-gap:0px;--tms-spotlight-hero-base-color:var(--tms-white-color,#fff);--tms-spotlight-hero-base-opacity:.4;--tms-spotlight-hero-base-stroke:1.5px;--tms-spotlight-hero-lit-color:var(--tms-white-color,#fff);--tms-spotlight-hero-lit-from:var(--tms-primary-color,#3772ff);--tms-spotlight-hero-lit-to:var(--tms-secondary-color,#ff006e);--tms-spotlight-hero-lit-angle:45deg;--tms-spotlight-hero-glow-color:var(--tms-primary-color,#3772ff);--tms-spotlight-hero-glow-size:520px;--tms-spotlight-hero-glow-opacity:.5}.tms-spotlight-hero__stage{isolation:isolate;border-radius:var(--tms-radius-lg,1rem);background-color:var(--tms-black-color,#151515);align-items:center;min-height:70vh;padding:clamp(2.5rem,6vw,6rem) clamp(1.25rem,4vw,4rem);display:flex;position:relative;overflow:hidden}.tms-spotlight-hero__glow{z-index:0;pointer-events:none;opacity:var(--tms-spotlight-hero-glow-opacity,.5);background-image:radial-gradient(circle var(--tms-spotlight-hero-glow-size,520px) at var(--tms-spotlight-hero-gx,50%) var(--tms-spotlight-hero-gy,50%), var(--tms-spotlight-hero-glow-color,#3772ff) 0%, transparent 70%);position:absolute;top:0;bottom:0;left:0;right:0}.tms-spotlight-hero__inner{z-index:1;text-align:center;flex-direction:column;align-items:center;width:100%;max-width:1040px;margin-inline-start:auto;margin-inline-end:auto;display:flex;position:relative}:where(.tms-spotlight-hero__eyebrow){font-family:var(--tms-accent-font,var(--tms-heading-font,inherit));font-size:.8125rem;font-weight:var(--tms-accent-font-weight,600);letter-spacing:.16em;text-transform:uppercase}.tms-spotlight-hero__eyebrow{color:#ffffffa8;margin-bottom:1.25rem;line-height:1.3;display:block}.tms-spotlight-hero__headline{width:100%;margin:0 0 1.5rem;padding:0;position:relative}.tms-spotlight-hero__layer{row-gap:var(--tms-spotlight-hero-line-gap,0px);flex-direction:column;margin:0;display:flex}.tms-spotlight-hero__layer--lit{position:absolute;top:0;bottom:0;left:0;right:0}.tms-spotlight-hero__layer--base{opacity:var(--tms-spotlight-hero-base-opacity,.4)}.tms-spotlight-hero__line{display:block}.tms-spotlight-hero__text{max-width:100%;display:inline-block}.tms-spotlight-hero__layer--base .tms-spotlight-hero__text{color:var(--tms-spotlight-hero-base-color,#fff)}.tms-spotlight-hero--base-outline .tms-spotlight-hero__layer--base .tms-spotlight-hero__text{-webkit-text-stroke-width:var(--tms-spotlight-hero-base-stroke,1.5px)}.tms-spotlight-hero__layer--lit .tms-spotlight-hero__text{color:var(--tms-spotlight-hero-lit-color,#fff)}.tms-spotlight-hero--lit-gradient .tms-spotlight-hero__layer--lit .tms-spotlight-hero__text,.tms-spotlight-hero--lit-image .tms-spotlight-hero__layer--lit .tms-spotlight-hero__text{color:#0000;-webkit-text-fill-color:transparent;background-position:50%;background-repeat:no-repeat;background-size:cover;-webkit-background-clip:text;background-clip:text}.tms-spotlight-hero--lit-gradient .tms-spotlight-hero__layer--lit .tms-spotlight-hero__text{background-image:linear-gradient(var(--tms-spotlight-hero-lit-angle,45deg), var(--tms-spotlight-hero-lit-from,#3772ff) 0%, var(--tms-spotlight-hero-lit-to,#ff006e) 100%)}.tms-spotlight-hero--lit-image .tms-spotlight-hero__layer--lit .tms-spotlight-hero__text{background-image:var(--tms-spotlight-hero-lit-image,linear-gradient(var(--tms-spotlight-hero-lit-color,#fff), var(--tms-spotlight-hero-lit-color,#fff)))}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.tms-spotlight-hero--lit-gradient .tms-spotlight-hero__layer--lit .tms-spotlight-hero__text,.tms-spotlight-hero--lit-image .tms-spotlight-hero__layer--lit .tms-spotlight-hero__text{color:var(--tms-spotlight-hero-lit-color,#fff);-webkit-text-fill-color:currentColor;background-image:none}}.tms-spotlight-hero--tracking .tms-spotlight-hero__layer--lit{-webkit-mask-image:radial-gradient(circle var(--tms-spotlight-hero-radius,280px) at var(--tms-spotlight-hero-x,50%) var(--tms-spotlight-hero-y,50%), #000 0%, #000 var(--tms-spotlight-hero-core,45%), rgba(0, 0, 0, var(--tms-spotlight-hero-reveal,1)) 100%);-webkit-mask-image:radial-gradient(circle var(--tms-spotlight-hero-radius,280px) at var(--tms-spotlight-hero-x,50%) var(--tms-spotlight-hero-y,50%), #000 0%, #000 var(--tms-spotlight-hero-core,45%), rgba(0, 0, 0, var(--tms-spotlight-hero-reveal,1)) 100%);mask-image:radial-gradient(circle var(--tms-spotlight-hero-radius,280px) at var(--tms-spotlight-hero-x,50%) var(--tms-spotlight-hero-y,50%), #000 0%, #000 var(--tms-spotlight-hero-core,45%), rgba(0, 0, 0, var(--tms-spotlight-hero-reveal,1)) 100%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.tms-spotlight-hero--static .tms-spotlight-hero__layer--lit{-webkit-mask-image:none;mask-image:none}.tms-spotlight-hero__description{max-width:56ch;line-height:var(--tms-body-line-height,1.6);color:#ffffffb8;margin:0 0 2rem}.tms-spotlight-hero__actions{flex-wrap:wrap;gap:.75rem;display:flex}.tms-spotlight-hero__button{min-height:44px;color:var(--tms-white-color,#fff);border-radius:var(--tms-radius-pill,999px);transition:color var(--tms-transition-fast,.2s ease), border-color var(--tms-transition-fast,.2s ease), background-color var(--tms-transition-fast,.2s ease);background-color:#0000;border:1px solid #ffffff47;justify-content:center;align-items:center;padding:14px 32px;font-family:inherit;font-size:.9375rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.tms-spotlight-hero__button:hover{color:var(--tms-black-color,#151515);border-color:var(--tms-white-color,#fff);background-color:var(--tms-white-color,#fff)}.tms-spotlight-hero__button:focus-visible{color:var(--tms-black-color,#151515);border-color:var(--tms-white-color,#fff);background-color:var(--tms-white-color,#fff)}.tms-spotlight-hero__button:focus-visible{outline:2px solid var(--tms-white-color,#fff);outline-offset:3px}.tms-spotlight-hero__button:active{transform:translateY(1px)}.tms-spotlight-hero__button--static{cursor:default}.tms-spotlight-hero__button--static:hover{color:var(--tms-white-color,#fff);background-color:#0000;border-color:#ffffff47}@media (max-width:1024px){.tms-spotlight-hero{--tms-spotlight-hero-radius:220px;--tms-spotlight-hero-glow-size:400px}}@media (max-width:767px){.tms-spotlight-hero{--tms-spotlight-hero-radius:170px;--tms-spotlight-hero-glow-size:300px}.tms-spotlight-hero__stage{min-height:60vh}.tms-spotlight-hero__eyebrow{letter-spacing:.12em}.tms-spotlight-hero__actions{width:100%}.tms-spotlight-hero__button{flex:auto}}@media (prefers-reduced-motion:reduce){.tms-spotlight-hero--tracking .tms-spotlight-hero__layer--lit{-webkit-mask-image:none;mask-image:none}.tms-spotlight-hero__button{transition:none}.tms-spotlight-hero__button:active{transform:none}}