/**
 * Glute Lab Home 1.11.14 — compact, fixed-stage, CMS-driven.
 */

.gl-home {
  --gl-home-ease: cubic-bezier(.22,.61,.36,1);
  background: var(--gl-surface);
}

.gl-home .gl-section { padding-block: clamp(5rem,7vw,7rem); }
.gl-home .gl-kicker { margin-bottom: 1rem; }
.gl-home-heading { max-width: 760px; margin-bottom: clamp(2rem,4vw,3.5rem); }
.gl-home-heading--split { display: flex; max-width: none; align-items: end; justify-content: space-between; gap: 2rem; }
.gl-home-heading--split > div { max-width: 760px; }

/* Fixed-stage hero. */
.gl-home-hero { --gl-hero-title-size: clamp(2.8rem,4vw,4rem); position: relative; min-height: 680px; margin-top: calc(-1 * var(--gl-header-stack)); padding-top: var(--gl-header-stack); overflow: hidden; isolation: isolate; background: linear-gradient(130deg,var(--gl-surface-cool) 0 58%,color-mix(in srgb,var(--gl-violet-soft) 82%,#fff)); }
.gl-home-hero__atmosphere { position: absolute; z-index: 0; inset: 0; overflow: hidden; pointer-events: none; }
.gl-home-hero__ambient { position: absolute; display: block; opacity: .68; transform: translate3d(0,0,0); }
.gl-home-hero__ambient--one { top: 4%; left: -8%; width: clamp(260px,34vw,520px); aspect-ratio: 1.2; background: radial-gradient(circle at 62% 50%,rgba(139,32,220,.31),rgba(139,32,220,.1) 45%,rgba(139,32,220,0) 72%); border-radius: 42% 58% 62% 38% / 52% 42% 58% 48%; }
.gl-home-hero__ambient--two { right: -7%; bottom: -18%; width: clamp(330px,42vw,650px); aspect-ratio: 1.25; background: radial-gradient(circle at 42% 38%,color-mix(in srgb,var(--gl-pink) 25%,transparent),color-mix(in srgb,var(--gl-violet) 14%,transparent) 48%,transparent 74%); border-radius: 62% 38% 46% 54% / 45% 58% 42% 55%; }
.gl-home-hero__ambient--three { top: 20%; right: 34%; width: clamp(120px,14vw,230px); aspect-ratio: 1; background: radial-gradient(circle,color-mix(in srgb,var(--gl-violet-deep) 21%,transparent),color-mix(in srgb,var(--gl-violet-deep) 3%,transparent) 62%,transparent 72%); border-radius: 50%; }
.gl-home-hero__ambient--ring { top: 13%; right: 3%; width: clamp(300px,35vw,530px); aspect-ratio: 1; opacity: .32; border: 1px solid rgba(139,32,220,.25); border-radius: 44% 56% 57% 43% / 54% 45% 55% 46%; box-shadow: inset 0 0 0 22px rgba(255,255,255,.1),0 0 80px color-mix(in srgb,var(--gl-violet-deep) 7%,transparent); }
.gl-home-hero.is-atmosphere-active .gl-home-hero__ambient { will-change: transform; }
.gl-home-hero.is-atmosphere-active .gl-home-hero__ambient--one { animation: gl-home-ambient-one 12s ease-in-out infinite alternate; }
.gl-home-hero.is-atmosphere-active .gl-home-hero__ambient--two { animation: gl-home-ambient-two 14s ease-in-out infinite alternate; }
.gl-home-hero.is-atmosphere-active .gl-home-hero__ambient--three { animation: gl-home-ambient-three 10s ease-in-out infinite alternate; }
.gl-home-hero.is-atmosphere-active .gl-home-hero__ambient--ring { animation: gl-home-ambient-ring 18s linear infinite; }
.gl-home-hero.is-atmosphere-active .gl-home-hero__accent { animation: gl-home-accent-breathe 4.8s ease-in-out infinite alternate; }
.gl-home-hero__stage { position: relative; z-index: 1; min-height: 578px; }
.gl-home-hero__slide { display: grid; min-height: 578px; align-items: center; }
.gl-home-hero.is-ready .gl-home-hero__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transform: translateY(14px); transition: opacity .4s var(--gl-home-ease), transform .4s var(--gl-home-ease), visibility .4s; pointer-events: none; }
.gl-home-hero.is-ready .gl-home-hero__slide.is-active { position: relative; opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
.gl-home-hero__layout { display: grid; grid-template-columns: minmax(0,.92fr) minmax(440px,1.08fr); gap: clamp(3rem,6vw,6rem); align-items: center; padding-block: 42px 24px; }
.gl-home-hero__copy { position: relative; z-index: 2; max-width: 630px; isolation: isolate; }
.gl-home-hero__copy::before { position: absolute; z-index: -1; inset: -1.65rem -1.8rem; background: rgba(255,255,255,.54); border: 1px solid rgba(255,255,255,.76); border-radius: 22px; box-shadow: 0 20px 50px color-mix(in srgb,var(--gl-violet-deep) 7%,transparent); backdrop-filter: blur(17px) saturate(118%); -webkit-backdrop-filter: blur(17px) saturate(118%); content: ''; pointer-events: none; }
.gl-home-hero__meta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.gl-home-hero__counter { margin: 0; color: var(--gl-violet-deep); font-size: .75rem; font-weight: 850; letter-spacing: .12em; }
body.gl-site .gl-home-hero h1,body.gl-site .gl-home-hero h2 { max-width: 15ch; font-size: var(--gl-hero-title-size); }
.gl-home-hero__lead { max-width: 56ch; margin-block: 1.4rem 1.8rem !important; color: var(--gl-muted); font-size: clamp(1.02rem,1.35vw,1.2rem); }
.gl-home-hero__actions { display: flex; flex-wrap: wrap; gap: 1rem 1.3rem; align-items: center; }
.gl-home-hero__media { position: relative; min-width: 0; height: 488px; margin: 0; }
.gl-home-hero__media::before { position: absolute; inset: -18px 28px 26px -20px; background: var(--gl-violet-soft); border-radius: 30px 96px 30px 30px; content: ''; }
.gl-home-hero__image { position: relative; width: 100%; height: 100% !important; object-fit: cover; border-radius: 26px 82px 26px 26px; box-shadow: var(--gl-shadow); }
.gl-home-hero__accent { position: absolute; right: 8%; bottom: -5px; width: 44%; height: 6px; background: linear-gradient(90deg,var(--gl-violet),var(--gl-pink)); border-radius: 999px; transform: rotate(-4deg); }
.gl-home-hero__controls { position: relative; z-index: 4; display: flex; min-height: 70px; align-items: center; justify-content: center; padding-block: .55rem; }
.gl-home-hero__loop { display: grid; width: 194px; min-height: 44px; grid-template-columns: 30px minmax(0,1fr); gap: .65rem; align-items: center; padding: .38rem .68rem .38rem .42rem; color: var(--gl-ink); background: rgba(255,255,255,.76); border: 1px solid color-mix(in srgb,var(--gl-violet) 22%,var(--gl-line)); border-radius: 999px; cursor: pointer; font: inherit; text-align: left; transition: color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease; }
.gl-home-hero__loop:hover { color: var(--gl-violet-deep); background: #fff; border-color: color-mix(in srgb,var(--gl-violet) 48%,var(--gl-line)); }
.gl-home-hero__loop[aria-pressed="true"] { color: #fff; background: var(--gl-violet-deep); border-color: var(--gl-violet-deep); }
.gl-home-hero__loop-icon { display: grid; width: 30px; height: 30px; place-items: center; color: var(--gl-violet-deep); background: #fff; border-radius: 50%; font-size: 1rem; font-weight: 800; line-height: 1; }
.gl-home-hero__loop-copy { display: grid; min-width: 0; gap: .28rem; }
.gl-home-hero__loop-meta { display: flex; align-items: center; justify-content: space-between; gap: .65rem; line-height: 1; }
.gl-home-hero__loop-copy strong { font-size: .64rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.gl-home-hero__loop-meta > span { color: var(--gl-muted); font-size: .62rem; font-weight: 800; letter-spacing: .08em; white-space: nowrap; }
.gl-home-hero__loop[aria-pressed="true"] .gl-home-hero__loop-meta > span { color: rgba(255,255,255,.72); }
.gl-home-hero__loop-track { display: block; height: 2px; overflow: hidden; background: color-mix(in srgb,var(--gl-violet) 14%,transparent); border-radius: 999px; }
.gl-home-hero__loop-track > span { display: block; width: 100%; height: 100%; background: linear-gradient(90deg,var(--gl-violet),var(--gl-pink)); border-radius: inherit; transform: scaleX(0); transform-origin: left center; }
.gl-home-hero.is-loop-running .gl-home-hero__loop-track > span { animation: gl-home-loop-progress var(--gl-loop-duration,3200ms) linear infinite; }
.gl-home-hero.is-loop-running .gl-home-hero__loop-icon { animation: gl-home-loop-spin var(--gl-loop-duration,3200ms) linear infinite; }
body.no-js .gl-home-hero__slide:nth-child(n+2) { display: none; }
body.no-js .gl-home-hero__controls { display: none; }

@keyframes gl-home-loop-progress {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}
@keyframes gl-home-loop-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes gl-home-accent-breathe {
  from { opacity: .78; transform: rotate(-4deg) scaleX(.88); }
  to { opacity: 1; transform: rotate(-4deg) scaleX(1); }
}

@keyframes gl-home-ambient-one {
  from { transform: translate3d(-3%,2%,0) rotate(-4deg) scale(.96); }
  to { transform: translate3d(18%,-10%,0) rotate(8deg) scale(1.08); }
}
@keyframes gl-home-ambient-two {
  from { transform: translate3d(4%,5%,0) rotate(2deg) scale(1); }
  to { transform: translate3d(-16%,-13%,0) rotate(-7deg) scale(1.07); }
}
@keyframes gl-home-ambient-three {
  from { transform: translate3d(0,-8%,0) scale(.9); }
  to { transform: translate3d(-28%,24%,0) scale(1.16); }
}
@keyframes gl-home-ambient-ring {
  from { transform: translate3d(6%,-3%,0) rotate(0deg); }
  50% { transform: translate3d(-5%,5%,0) rotate(180deg); }
  to { transform: translate3d(6%,-3%,0) rotate(360deg); }
}

/* Intro and method. */
.gl-home-intro { overflow: hidden; background: linear-gradient(108deg,var(--gl-surface) 0 65%,color-mix(in srgb,var(--gl-violet-soft) 64%,#fff) 100%); }
.gl-home-intro__layout { display: grid; grid-template-columns: minmax(0,.95fr) minmax(320px,.75fr); gap: clamp(3rem,8vw,8rem); align-items: start; }
.gl-home-intro h2 { max-width: 14ch; }
.gl-home-intro__text { padding-top: 2rem; border-top: 1px solid var(--gl-line); }
.gl-home-intro__text > :first-child { margin-top: 0; }
.gl-home-method { padding-block: clamp(5.5rem,6.8vw,6.5rem) !important; background: linear-gradient(142deg,var(--gl-surface-cool),color-mix(in srgb,var(--gl-violet-soft) 78%,#fff)); }
.gl-home-method__layout { display: grid; gap: clamp(3rem,5vw,4.5rem); }
.gl-home-method__head { display: grid; grid-template-columns: minmax(0,1.18fr) minmax(320px,.72fr); gap: clamp(3rem,8vw,8rem); align-items: end; }
body.gl-site .gl-home-method__head h2 { max-width: 17ch; font-size: clamp(2.5rem,4vw,3.75rem); }
.gl-home-method__head > p { max-width: 48ch; margin: 0 0 .45rem; color: var(--gl-muted); font-size: clamp(1rem,1.3vw,1.12rem); line-height: 1.6; }
.gl-home-method__body { display: grid; grid-template-areas: 'points media' 'cta .'; grid-template-columns: minmax(0,1.16fr) minmax(360px,.84fr); column-gap: clamp(3rem,5vw,4.5rem); row-gap: 1.25rem; align-items: stretch; }
.gl-home-method__layout--no-media .gl-home-method__body { grid-template-areas: 'points' 'cta'; grid-template-columns: minmax(0,850px); }
.gl-home-method__points { display: grid; grid-area: points; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; min-width: 0; }
.gl-home-method__point { position: relative; min-width: 0; min-height: 184px; padding: clamp(1.35rem,2vw,1.75rem); overflow: hidden; background: color-mix(in srgb,#fff 94%,var(--gl-violet-soft)); border: 1px solid color-mix(in srgb,var(--gl-violet) 15%,var(--gl-line)); border-radius: 14px; transition: border-color .2s ease,transform .2s ease; }
.gl-home-method__point::before { position: absolute; width: 34px; height: 3px; top: 0; left: clamp(1.35rem,2vw,1.75rem); background: var(--gl-violet); border-radius: 0 0 999px 999px; content: ''; }
.gl-home-method__point > span { display: block; margin-bottom: .85rem; color: var(--gl-pink); font-size: .72rem; font-weight: 850; letter-spacing: .08em; }
.gl-home-method__point h3 { max-width: 19ch; margin-bottom: .55rem; color: var(--gl-ink); font-size: clamp(1.25rem,1.7vw,1.45rem); line-height: 1.12; letter-spacing: -.025em; overflow-wrap: normal; hyphens: none; }
.gl-home-method__point p { margin: 0; color: var(--gl-muted); font-size: clamp(.94rem,1.05vw,1rem); line-height: 1.55; }
.gl-home-method__cta { grid-area: cta; width: fit-content; min-height: 46px; gap: 1.5rem; margin-top: 0; color: var(--gl-violet-deep) !important; background: #fff; border-color: var(--gl-violet); }
.gl-home-method__cta span:last-child { font-size: 1.05rem; transition: transform .2s ease; }
.gl-home-method__cta:hover { color: #fff !important; background: var(--gl-violet-deep); border-color: var(--gl-violet-deep); }
.gl-home-method__cta:hover span:last-child { transform: translateX(3px); }
.gl-home-method__media { position: relative; grid-area: media; align-self: stretch; min-height: 0; max-width: 100%; margin: 0; }
.gl-home-method__media::before { position: absolute; inset: 12px -12px -12px 12px; background: var(--gl-violet-soft); border-radius: 18px 44px 18px 18px; content: ''; }
body.gl-site .gl-home-method__image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 42%; border-radius: 16px 40px 16px 16px; }
@media (hover: hover) and (pointer: fine) {
  .gl-home-method__point:hover { border-color: rgba(140,32,220,.58); transform: translateY(-2px); }
}

/* Paths, process and offers. */
.gl-home-paths .gl-paths { align-items: stretch; }
.gl-home-paths .gl-path-card { position: relative; padding: clamp(1.5rem,2.7vw,2.25rem); overflow: hidden; background: linear-gradient(180deg,color-mix(in srgb,var(--gl-violet-soft) 58%,#fff),#fff 26%); border-radius: 16px; box-shadow: 0 14px 38px color-mix(in srgb,var(--gl-violet-deep) 13%,transparent); }
.gl-home-paths .gl-path-card::before { position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg,var(--gl-violet),color-mix(in srgb,var(--gl-violet) 55%,var(--gl-pink))); content: ''; }
.gl-home-paths .gl-path-card__cta { width: 100%; }
.gl-home-process__steps { position: relative; display: grid; grid-template-columns: repeat(4,1fr); margin: 0; padding: 0; list-style: none; }
.gl-home-process__steps::before,.gl-home-process__steps::after { position: absolute; top: 8px; left: 0; height: 2px; content: ''; }
.gl-home-process__steps::before { right: 0; background: var(--gl-line); }
.gl-home-process__steps::after { width: 100%; background: linear-gradient(90deg,var(--gl-violet),var(--gl-pink)); transform: scaleX(0); transform-origin: left; transition: transform .8s var(--gl-home-ease); }
.gl-home-reveal-ready .gl-home-process__steps:has(.is-visible)::after { transform: scaleX(1); }
.gl-home-process__steps li { position: relative; padding: 2.25rem 2rem 0 0; }
.gl-home-process__steps li::before { position: absolute; z-index: 1; top: 2px; left: 0; width: 14px; height: 14px; background: var(--gl-surface-cool); border: 3px solid var(--gl-violet); border-radius: 50%; content: ''; }
.gl-home-process__steps span { display: block; margin-bottom: .75rem; color: var(--gl-pink); font-size: .72rem; font-weight: 850; }
.gl-home-process__steps strong { display: block; max-width: 18ch; font-size: 1.05rem; line-height: 1.4; }
.gl-home-featured__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.gl-home-offer { display: flex; min-width: 0; flex-direction: column; padding: clamp(1.5rem,2.7vw,2.2rem); background: #fff; border: 1px solid var(--gl-line); border-radius: 18px; box-shadow: 0 12px 36px rgba(45,12,71,.05); }
.gl-home-offer--featured { border-color: rgba(140,32,220,.45); box-shadow: 0 16px 44px rgba(91,22,142,.1); }
.gl-home-offer__top { padding-bottom: 1.25rem; border-bottom: 1px solid var(--gl-line); }
.gl-home-offer__badge,.gl-home-offer__eyebrow { margin-bottom: .65rem !important; color: var(--gl-violet-deep); font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.gl-home-offer h3 { min-height: 2.9em; }
.gl-home-offer__price { margin: 1rem 0 0 !important; color: var(--gl-violet-deep); font-size: 1.5rem; font-weight: 850; letter-spacing: -.03em; }
.gl-home-offer > p { margin-top: 1.2rem; color: var(--gl-muted); }
.gl-home-offer ul { margin: .4rem 0 1.4rem; padding: 0; list-style: none; }
.gl-home-offer li { position: relative; padding: .32rem 0 .32rem 1.35rem; color: var(--gl-muted); font-size: .9rem; }
.gl-home-offer li::before { position: absolute; left: 0; color: var(--gl-violet); content: '✓'; font-weight: 900; }
.gl-home-offer .gl-text-link { margin-top: auto; }

/* Trust, FAQ and conversion band. */
.gl-home-trust { background: radial-gradient(circle at 82% 18%,color-mix(in srgb,var(--gl-violet-soft) 78%,transparent),transparent 36%),var(--gl-surface); }
.gl-home-trust__layout { display: grid; grid-template-areas: "media copy"; grid-template-columns: minmax(360px,.88fr) minmax(0,1.12fr); gap: clamp(3.5rem,7vw,7rem); align-items: stretch; }
.gl-home-trust__copy { grid-area: copy; min-width: 0; }
.gl-home-trust__copy h2 { max-width: 14ch; font-size: clamp(2.35rem,3.6vw,3.55rem); }
.gl-home-trust__copy .gl-prose { max-width: 58ch; margin-top: 1.5rem; color: var(--gl-muted); }
.gl-home-trust__copy .gl-prose p { margin-bottom: .85rem; }
.gl-home-trust__indicators { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin: 2rem 0 1.75rem; padding: 1.25rem 0 0; border-top: 1px solid var(--gl-line); list-style: none; }
.gl-home-trust__indicator { min-width: 0; }
.gl-home-trust__indicator strong,.gl-home-trust__indicator span { display: block; }
.gl-home-trust__indicator strong { margin-bottom: .3rem; color: var(--gl-violet-deep); font-size: clamp(1.15rem,1.6vw,1.45rem); line-height: 1; letter-spacing: -.025em; }
.gl-home-trust__indicator span { color: var(--gl-muted); font-size: .78rem; line-height: 1.35; }
.gl-home-trust__cta,.gl-home-faq__contact { display: inline-flex; min-height: 44px; align-items: center; gap: .8rem; color: var(--gl-ink); font-weight: 800; text-decoration: underline; text-decoration-color: var(--gl-violet); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.gl-home-trust__cta span,.gl-home-faq__contact span { color: var(--gl-violet); font-size: 1.1em; transition: transform .2s ease; }
.gl-home-trust__cta:hover span,.gl-home-faq__contact:hover span { transform: translateX(3px); }
.gl-home-trust__media { position: relative; grid-area: media; min-width: 0; height: 100%; margin: 0; }
.gl-home-trust__image-wrap { position: absolute; inset: 0; isolation: isolate; }
.gl-home-trust__image-wrap::before { position: absolute; z-index: -1; inset: 14px -14px -14px 14px; background: var(--gl-violet-soft); border-radius: 20px 52px 20px 20px; content: ''; }
body.gl-site .gl-home-trust__media img { display: block; width: 100%; height: 100%; max-height: none; object-fit: cover; object-position: center; border-radius: 18px 46px 18px 18px; }

.gl-home-faq { background: linear-gradient(132deg,var(--gl-surface-cool),color-mix(in srgb,var(--gl-violet-soft) 84%,#fff)); }
.gl-home-faq__layout { display: grid; grid-template-columns: minmax(250px,.38fr) minmax(0,.62fr); gap: clamp(3rem,7vw,6.5rem); align-items: start; }
.gl-home-faq__intro { max-width: 390px; }
.gl-home-faq__intro h2 { max-width: 12ch; font-size: clamp(2.35rem,3.7vw,3.7rem); }
.gl-home-faq__intro .gl-prose { margin-top: 1.4rem; color: var(--gl-muted); }
.gl-home-faq__contact { margin-top: 1rem; }
.gl-home-faq__items { min-width: 0; }
.gl-home-faq__items .tw-faq { --tw-faq-accent: var(--gl-violet); --tw-faq-border: var(--gl-line); --tw-faq-bg: rgba(255,255,255,.82); --tw-faq-bg-open: color-mix(in srgb,var(--gl-violet-soft) 58%,#fff); max-width: none; margin: 0; }
.gl-home-faq__items .tw-faq__intro { display: none; }
.gl-home-faq__items .tw-faq__group + .tw-faq__group { margin-top: 2rem; }
.gl-home-faq__items .tw-faq__group-title { margin: 0 0 .8rem; color: var(--gl-violet-deep); font-size: .76rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.gl-home-faq__items .tw-faq__group-desc { margin-bottom: 1rem; color: var(--gl-muted); }
.gl-home-faq__items .tw-faq__item { overflow: hidden; border-color: var(--gl-line); border-radius: 14px; box-shadow: 0 9px 28px rgba(45,12,71,.035); }
.gl-home-faq__items .tw-faq__item + .tw-faq__item { margin-top: .7rem; }
.gl-home-faq__items .tw-faq__item[open] { border-color: color-mix(in srgb,var(--gl-violet) 38%,transparent); box-shadow: 0 14px 36px rgba(91,22,142,.07); }
.gl-home-faq__items .tw-faq__question { min-height: 60px; padding: 1.15rem 4.5rem 1.15rem 1.35rem; color: var(--gl-ink); font-family: var(--gl-font-display,Arial,sans-serif); font-size: clamp(1rem,1.35vw,1.16rem); font-weight: 750; }
.gl-home-faq__items .tw-faq__question::after { top: 50%; right: 1.15rem; width: 30px; height: 30px; margin-top: -15px; color: var(--gl-violet-deep); background: #fff; border: 1px solid color-mix(in srgb,var(--gl-violet) 34%,transparent); border-radius: 50%; content: '↓'; font-family: inherit; font-size: .92rem; font-weight: 700; line-height: 28px; text-align: center; transform: rotate(0); }
.gl-home-faq__items .tw-faq__item[open] > .tw-faq__question::after { margin-top: -15px; transform: rotate(180deg); }
.gl-home-faq .tw-faq__question:focus-visible { outline: 3px solid color-mix(in srgb,var(--gl-violet) 58%,transparent); outline-offset: -3px; }
.gl-home-faq__items .tw-faq__answer { max-width: 68ch; padding: 0 1.35rem 1.3rem; color: var(--gl-muted); }

.gl-home-final { position: relative; padding-block: clamp(4.75rem,7vw,6.5rem) !important; overflow: hidden; background: linear-gradient(to bottom,var(--gl-surface-cool) 0 42%,#17101b 42% 100%); }
.gl-home-final__inner { position: relative; display: grid; grid-template-columns: minmax(0,1fr) minmax(230px,.4fr); gap: clamp(2.5rem,6vw,5.5rem); align-items: center; padding: clamp(2.25rem,4.5vw,4rem); overflow: hidden; color: #fff; background: var(--gl-ink); border: 1px solid rgba(255,255,255,.12); border-radius: 24px; box-shadow: var(--gl-shadow); isolation: isolate; }
.gl-home-final__inner::before { position: absolute; z-index: -1; top: 0; right: 0; left: 0; height: 4px; background: linear-gradient(90deg,var(--gl-violet),var(--gl-pink)); content: ''; }
.gl-home-final__inner::after { position: absolute; z-index: -1; right: -13%; bottom: -85%; width: 520px; height: 520px; background: radial-gradient(circle,color-mix(in srgb,var(--gl-violet) 28%,transparent),transparent 68%); border-radius: 50%; content: ''; pointer-events: none; }
.gl-home-final__copy { min-width: 0; }
.gl-home-final .gl-kicker { color: #d7a5ff; }
.gl-home-final h2 { max-width: 16ch; font-size: clamp(2.15rem,3.6vw,3.65rem); }
.gl-home-final__support { max-width: 52ch; margin: 1.15rem 0 0; color: rgba(255,255,255,.72); font-size: clamp(.98rem,1.2vw,1.08rem); }
.gl-home-final__actions { display: grid; gap: .8rem; align-items: stretch; }
.gl-home-final__actions .gl-button { width: 100%; justify-content: center; }
.gl-home-final__phone { display: grid; gap: .18rem; margin-top: .35rem; padding-top: 1rem; color: #fff; border-top: 1px solid rgba(255,255,255,.16); text-decoration: none; }
.gl-home-final__phone span { color: rgba(255,255,255,.66); font-size: .75rem; }
.gl-home-final__phone strong { font-size: 1rem; }
.gl-button--outline-light { color: #fff !important; background: transparent; border-color: rgba(255,255,255,.62); }
.gl-button--outline-light:hover { background: rgba(255,255,255,.12); }

/* Calm reveal: 16px maximum travel. */
.gl-home-reveal-ready [data-gl-home-reveal] { opacity: 0; transform: translateY(16px); transition: opacity .45s var(--gl-home-ease),transform .5s var(--gl-home-ease); }
.gl-home-reveal-ready [data-gl-home-reveal].is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1080px) {
  .gl-home-hero { --gl-hero-title-size: clamp(2.65rem,5.2vw,3.65rem); }
  .gl-home-hero__layout { grid-template-columns: minmax(0,.9fr) minmax(400px,1.1fr); gap: 2.5rem; }
  .gl-home-hero__media { height: 440px; }
  .gl-home-method__layout,.gl-home-trust__layout { gap: 3.5rem; }
  .gl-home-method__body { gap: 3rem; }
}

@media (max-width: 960px) {
  .gl-home-hero { --gl-hero-title-size: clamp(2.15rem,4.5vw,2.6rem); min-height: 650px; margin-top: calc(-1 * var(--gl-header-stack)); }
  .gl-home-hero__stage { min-height: 548px; }
  .gl-home-hero__slide { min-height: 548px; }
  .gl-home-hero__layout { grid-template-columns: minmax(0,.9fr) minmax(330px,1.1fr); gap: 2rem; }
  .gl-home-hero__media { height: 390px; }
  .gl-home-intro__layout,.gl-home-trust__layout { grid-template-columns: 1fr; gap: 3rem; }
  .gl-home-trust__layout { grid-template-areas: "copy" "media"; }
  .gl-home-trust__copy { max-width: 720px; }
  .gl-home-trust__media { width: min(100%,720px); aspect-ratio: 16/10; }
  .gl-home-intro__text { max-width: 680px; padding-top: 0; border-top: 0; }
  .gl-home-method { padding-block: clamp(4.5rem,8vw,5.5rem) !important; }
  .gl-home-method__head { grid-template-columns: 1fr; gap: 1.5rem; }
  .gl-home-method__head > p { max-width: 60ch; margin: 0; }
  .gl-home-method__body { grid-template-areas: 'points' 'cta' 'media'; grid-template-columns: 1fr; gap: 2.5rem; }
  .gl-home-method__media { width: 100%; max-width: 680px; aspect-ratio: 16/10; }
  .gl-home-featured__grid { grid-template-columns: 1fr; max-width: 700px; }
  .gl-home-offer h3 { min-height: 0; }
  .gl-home-faq__layout { grid-template-columns: 1fr; gap: 2.75rem; }
  .gl-home-faq__intro { max-width: 680px; }
  .gl-home-faq__intro h2 { max-width: 15ch; }
  .gl-home-faq__items { max-width: 760px; }
  .gl-home-final__inner { grid-template-columns: 1fr; gap: 2rem; }
  .gl-home-final__actions { width: min(100%,380px); }
}

@media (max-width: 720px) {
  .gl-home .gl-section { padding-block: 4.5rem; }
  .gl-home-heading--split { display: grid; align-items: start; }
  .gl-home-hero { --gl-hero-title-size: clamp(2rem,9vw,2.7rem); min-height: 0; margin-top: 0; padding-top: 0; }
  .gl-home-hero__stage,.gl-home-hero__slide { min-height: 0; }
  .gl-home-hero__slide { align-items: start; }
  .gl-home-hero__layout { display: flex; flex-direction: column; gap: 1.35rem; padding-block: 1.25rem 0; }
  .gl-home-hero__copy { width: 100%; }
  .gl-home-hero__copy::before { inset: -.8rem -.65rem; border-radius: 18px; backdrop-filter: blur(12px) saturate(112%); -webkit-backdrop-filter: blur(12px) saturate(112%); }
  .gl-home-hero__ambient--one { top: 36%; left: -32%; width: 340px; }
  .gl-home-hero__ambient--two { right: -38%; bottom: -5%; width: 430px; }
  .gl-home-hero__ambient--three { top: 48%; right: 5%; width: 150px; }
  .gl-home-hero__ambient--ring { top: 4%; right: -38%; width: 360px; }
  body.gl-site .gl-home-hero h1,body.gl-site .gl-home-hero h2 { max-width: 17ch; font-size: var(--gl-hero-title-size); line-height: .98; text-wrap: balance; }
  .gl-home-hero__lead { margin-block: .9rem 1.15rem !important; font-size: 1rem; line-height: 1.55; }
  .gl-home-hero__media { order: -1; width: 100%; height: auto; max-height: 310px; aspect-ratio: 4/3; }
  .gl-home-hero__media::before { inset: -10px 18px 16px -10px; border-radius: 22px 60px 22px 22px; }
  .gl-home-hero__image { border-radius: 20px 54px 20px 20px; }
  .gl-home-hero__controls { height: auto; min-height: 60px; padding-block: .55rem .8rem; }
  .gl-home-method { padding-block: clamp(3.5rem,14vw,4.25rem) !important; }
  .gl-home-method__layout { gap: 2.25rem; }
  .gl-home-method__head { gap: 1.25rem; }
  .gl-home-method__body { grid-template-areas: 'media' 'points' 'cta'; gap: 2.25rem; }
  .gl-home-method__media::before { inset: 10px -8px -10px 8px; }
	.gl-home-method__media { aspect-ratio: 4/3; }
	.gl-home-method__image { border-radius: 14px 32px 14px 14px; }
  .gl-home-method__cta { width: 100%; }
  .gl-home-process__steps { grid-template-columns: 1fr 1fr; gap: 1.15rem .8rem; }
  .gl-home-process__steps::before,.gl-home-process__steps::after { display: none; }
  .gl-home-process__steps li { min-height: 0; padding: 1rem .8rem .35rem; border-top: 2px solid var(--gl-line); }
  .gl-home-process__steps li::before { top: -8px; }
  .gl-home-process__steps span { margin-bottom: .45rem; }
  .gl-home-process__steps strong { font-size: 1rem; line-height: 1.35; }
  .gl-home-trust__image-wrap::before { inset: 10px -8px -10px 8px; }
  .gl-home-trust__media { aspect-ratio: 4/3; }
  .gl-home-faq__layout { gap: 2.25rem; }
  .gl-home-faq__items .tw-faq__question { min-height: 56px; padding: 1rem 4rem 1rem 1.05rem; }
  .gl-home-faq__items .tw-faq__question::after { right: .85rem; }
  .gl-home-faq__items .tw-faq__answer { padding: 0 1.05rem 1.1rem; }
  .gl-home-final__inner { gap: 1.75rem; }
  .gl-home-final__actions { width: 100%; }
}

@media (max-width: 560px) {
  .gl-home-method__points { grid-template-columns: 1fr; }
  .gl-home-method__point { min-height: 0; }
}

@media (max-width: 460px) {
  .gl-home .gl-section { padding-block: 4rem; }
  .gl-home-hero { --gl-hero-title-size: clamp(2rem,9vw,2.6rem); }
  .gl-home-hero__media { max-height: 290px; }
  .gl-home-hero__actions { align-items: flex-start; flex-direction: column; }
  .gl-home-hero__loop { width: 188px; }
  .gl-home-paths .gl-path-card,.gl-home-offer { padding: 1.35rem; }
	.gl-path-card__option { grid-template-columns: 1fr; gap: .35rem; }
	.gl-path-card__option-price { text-align: left; }
  .gl-home-trust__indicators { gap: .65rem; }
  .gl-home-trust__indicator strong { font-size: 1.05rem; }
  .gl-home-trust__indicator span { font-size: .7rem; }
  .gl-home-final__inner { padding: 1.5rem; border-radius: 20px; }
}

@media (max-width: 359px) {
  .gl-home-process__steps { grid-template-columns: 1fr; gap: 0; padding-left: .35rem; }
  .gl-home-process__steps li { padding: .9rem 0 .9rem 1.35rem; border-top: 0; border-left: 2px solid var(--gl-line); }
  .gl-home-process__steps li::before { top: 1rem; left: -8px; }
}

@media (prefers-reduced-motion: reduce) {
  .gl-home-hero__ambient,.gl-home-hero__accent,.gl-home-hero__loop-icon,.gl-home-hero__loop-track > span { animation: none !important; will-change: auto !important; }
  .gl-home-method__point,.gl-home-method__cta,.gl-home-method__cta span:last-child { transform: none !important; }
  .gl-home-hero.is-ready .gl-home-hero__slide,.gl-home-hero__loop,.gl-home-reveal-ready [data-gl-home-reveal],.gl-home-process__steps::after { transition-duration: .01ms !important; transform: none !important; }
  .gl-home-reveal-ready [data-gl-home-reveal] { opacity: 1; }
  .gl-home-process__steps::after { transform: scaleX(1) !important; }
}
