/*!
 * Themeasy — Liquid Hero
 *
 * First-fold hero banner with a WebGL liquid-distortion background. The base
 * rendering below is the complete hero — real <img> (LCP element), contrast
 * scrim and a centered content stack with a focusable CTA — fully usable with
 * no JavaScript, without Three.js/GSAP, on touch devices, in the editor
 * (--static) and under prefers-reduced-motion. The JS layers a <canvas> over
 * the image and fades it in (--ready) only after its first WebGL frame, so
 * every fallback path simply stays on the plain image.
 *
 * Tokens consumed: --tms-primary-color, --tms-accent-font, --tms-heading-font,
 * --tms-heading-font-weight, --tms-h1-font-size, --tms-font-size-sm,
 * --tms-body-line-height, --tms-bold-font-weight, --tms-semibold-font-weight,
 * --tms-button-bg-color, --tms-button-text-color, --tms-radius-pill,
 * --tms-transition-base (public --tms-* design API).
 *
 * @author Themeasy
 * @link https://themeasy.co
 * @since 1.0.0
 */
.tms-liquid-hero{--tms-liquid-hero-accent:var(--tms-primary-color,#5b6cff);width:100%;position:relative}.tms-liquid-hero__stage{width:100%;min-height:100vh;isolation:isolate;flex-direction:column;justify-content:center;min-height:100svh;padding:clamp(3rem,9vh,6rem) clamp(1.25rem,5vw,4rem);display:flex;position:relative;overflow:hidden}.tms-liquid-hero__media{z-index:1;position:absolute;top:0;bottom:0;left:0;right:0}.tms-liquid-hero__media .tms-liquid-hero__image{object-fit:cover;width:100%;height:100%;display:block}.tms-liquid-hero__canvas{opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity .8s;position:absolute;top:0;bottom:0;left:0;right:0}.tms-liquid-hero--ready .tms-liquid-hero__canvas{opacity:1}.tms-liquid-hero--static .tms-liquid-hero__canvas{display:none}.tms-liquid-hero__overlay{z-index:2;position:absolute;top:0;bottom:0;left:0;right:0}.tms-liquid-hero__overlay:before{content:"";background-image:linear-gradient(#080a1259 0%,#080a12a6 100%);position:absolute;top:0;bottom:0;left:0;right:0}.tms-liquid-hero--overlay-custom .tms-liquid-hero__overlay:before{content:none}.tms-liquid-hero__content{z-index:3;text-align:center;flex-direction:column;align-items:center;width:100%;max-width:720px;margin-inline-start:auto;margin-inline-end:auto;display:flex;position:relative}.tms-liquid-hero__eyebrow{font-family:var(--tms-accent-font,inherit);font-size:var(--tms-font-size-sm,.875rem);font-weight:var(--tms-bold-font-weight,700);letter-spacing:.16em;text-transform:uppercase;color:#ffffffb8;margin-bottom:1rem;display:block}.tms-liquid-hero__title{font-family:var(--tms-heading-font,inherit);font-size:var(--tms-h1-font-size,clamp(2.75rem, 7vw, 5rem));font-weight:var(--tms-heading-font-weight,600);text-wrap:balance;color:#fff;margin:0 0 1.25rem;line-height:1.06}.tms-liquid-hero__description{line-height:var(--tms-body-line-height,1.6);color:#ffffffc7;margin:0 0 2rem}.tms-liquid-hero__actions{flex-wrap:wrap;gap:.875rem;display:flex}.tms-liquid-hero__button{border-radius:var(--tms-radius-pill,999px);min-height:44px;font-weight:var(--tms-semibold-font-weight,600);color:var(--tms-button-text-color,#fff);background-color:var(--tms-button-bg-color,var(--tms-liquid-hero-accent));transition:color var(--tms-transition-base,.3s ease), background-color var(--tms-transition-base,.3s ease), border-color var(--tms-transition-base,.3s ease), box-shadow var(--tms-transition-base,.3s ease), transform var(--tms-transition-base,.3s ease);border:1px solid #0000;justify-content:center;align-items:center;padding:14px 32px;line-height:1.2;text-decoration:none;display:inline-flex}a.tms-liquid-hero__button:hover{box-shadow:0 14px 32px -12px var(--tms-liquid-hero-accent);transform:translateY(-2px)}a.tms-liquid-hero__button:focus-visible{outline-offset:4px;outline:2px solid #fff}a.tms-liquid-hero__button:active{transform:translateY(0)}.tms-liquid-hero__button--static{cursor:default}.tms-liquid-hero__button--ghost{color:#fff;background-color:#0000;border-color:#ffffff73}a.tms-liquid-hero__button--ghost:hover{box-shadow:none;background-color:#ffffff1f;border-color:#ffffffbf}.tms-liquid-hero__meta{font-size:var(--tms-font-size-sm,.875rem);color:#ffffffc7;flex-wrap:wrap;gap:.625rem 1.5rem;margin-top:2rem;display:flex}.tms-liquid-hero__meta-item{align-items:center;gap:.5rem;display:inline-flex}.tms-liquid-hero__meta-icon{font-size:1.1em;display:inline-flex}.tms-liquid-hero__meta-icon svg{fill:currentColor;width:1em;height:1em}.tms-liquid-hero__meta-icon svg[fill=none]{fill:none;stroke:currentColor}.tms-liquid-hero__meta-icon img{width:1em;height:1em}@media (max-width:767px){.tms-liquid-hero__stage{padding:clamp(2.5rem,8vh,4rem) 1.25rem}.tms-liquid-hero__description{margin-bottom:1.5rem}}@media (prefers-reduced-motion:reduce){.tms-liquid-hero__canvas{transition:none;display:none}.tms-liquid-hero__button{transition:none}a.tms-liquid-hero__button:hover{transform:none}}