/* GLL scroll motion (2026-10-18). Pairs with js/gll-scroll.js; guide in MOTION.md.
   Rules: transform + opacity only (no layout shift); hidden states only behind .gs-armed, which the script puts
   on a block only when it is below the screen at start (no JS = everything visible); prefers-reduced-motion = static page;
   square corners, 1px rules, no shadows or glows. */

:root{--gs-ease:cubic-bezier(.16,1,.3,1);--gs-ease-btn:cubic-bezier(.7,0,.2,1);--gll-sticky-top:134px}

/* ── 1. Lenis smooth scroll (desktop fine pointers only). Lenis's own html classes are switched off by the script
   (any class change on <html> costs a full style recalc on this site); the script sets scroll-behavior:auto inline. ── */
[data-lenis-prevent]{overscroll-behavior:contain}

/* ── 2. Reveal ── */
[data-reveal].gs-armed:not(.is-in){opacity:0;transform:translate3d(0,26px,0)}
[data-reveal="fade"].gs-armed:not(.is-in){transform:none}
[data-reveal="lines"].gs-armed:not(.is-in){transform:translate3d(0,14px,0)}
[data-reveal].gs-armed:not(.is-done){transition:opacity .9s var(--gs-ease),transform 1.1s var(--gs-ease)}
/* lines: words wrapped once by the script; each word rises inside its own clip, words on a line share a delay */
[data-reveal="lines"].is-split{opacity:1;transform:none;transition:none}
.gs-w{display:inline-block;clip-path:inset(-.25em -.12em -.2em -.12em)}
.gs-wi{display:inline-block}
[data-reveal="lines"].is-split:not(.is-done) .gs-wi{transition:transform 1.05s var(--gs-ease)}
[data-reveal="lines"].is-split:not(.is-in) .gs-wi{transform:translate3d(0,110%,0)}
[data-reveal="lines"].is-done .gs-w{clip-path:none}



/* ── 4. Sticky features ──
   Markup: <section data-sticky-features><div data-sf-aside>…[data-sf-label]…</div>
           <div data-sf-panels><div data-sf-panel>…</div>…</div></section>
   Desktop: pinned aside, panels scroll; the active panel/label is full ink, the others soft.
   Phones, touch and reduced motion: a plain stacked list. */
@media (min-width:1024px) and (hover:hover) and (pointer:fine){
  [data-sticky-features]:has(> [data-sf-aside]){display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(40px,6vw,112px);align-items:start}
  [data-sticky-features] > [data-sf-aside]{position:sticky;top:var(--gll-sticky-top)}
  [data-sticky-features] > [data-sf-aside]::after{content:"";display:block;height:1px;margin-top:32px;
    background:linear-gradient(#0a0a0a,#0a0a0a) 0 0/calc(var(--sf-p,0) * 100%) 100% no-repeat,rgba(0,0,0,.15)}
  [data-sticky-features].sf-live [data-sf-panel],[data-sticky-features].sf-live [data-sf-label]{transition:color .45s var(--gs-ease)}
  [data-sticky-features].sf-live [data-sf-label]:not(.is-active){color:#717375}
  [data-sticky-features].sf-live [data-sf-panel]:not(.is-active) :is(h3,h4){color:#717375}

  /* membership "What membership does": the existing .gx block laid out as sticky features (pure CSS, no markup change) */
  html body #mv-premium .gx > div:has(> .gx-ben){display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(40px,6vw,112px);align-items:start}
  /* only the heading pins (with the progress hairline); the kicker above it scrolls away normally, so the two never overlap */
  html body #mv-premium .gx > div:has(> .gx-ben) > .gx-cap{grid-column:1;grid-row:1;align-self:start;position:static;margin:0 0 16px}
  html body #mv-premium .gx > div:has(> .gx-ben) > .gx-h2{grid-column:1;grid-row:2 / span 2;align-self:start;position:sticky;top:var(--gll-sticky-top);margin-top:0;max-width:12em;z-index:auto}
  html body #mv-premium .gx > div:has(> .gx-ben) > .gx-h2::after{content:"";display:block;height:1px;margin-top:28px;
    background:linear-gradient(#0a0a0a,#0a0a0a) 0 0/calc(var(--sf-p,0) * 100%) 100% no-repeat,rgba(0,0,0,.15)}
  html body #mv-premium .gx > div:has(> .gx-ben) > .gx-ben{grid-column:2;grid-row:1 / span 3;display:block !important;margin:0}
  html body #mv-premium .gx > div:has(> .gx-ben) > .gx-ben > div{padding-bottom:56px}
  html body #mv-premium .gx > div:has(> .gx-ben) > .gx-ben > div:last-child{padding-bottom:0}
  html body #mv-premium .gx .sf-live .gx-ben > div :is(.gx-h3,.gx-cap){transition:color .45s var(--gs-ease)}
  html body #mv-premium .gx .sf-live .gx-ben > div:not(.is-active) :is(.gx-h3,.gx-cap){color:#717375 !important}
}

/* ── 5. Stacking cards (desktop only; the script adds the scale/parallax scrub) ── */
@media (min-width:1024px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  [data-stack-cards] > *{position:sticky;top:calc(var(--gll-sticky-top) - 10px);transform-origin:50% 0;will-change:transform}
  [data-stack-cards] > :nth-child(2){top:calc(var(--gll-sticky-top) + 4px)}
  [data-stack-cards] > :nth-child(3){top:calc(var(--gll-sticky-top) + 18px)}
  [data-stack-cards] > :nth-child(4){top:calc(var(--gll-sticky-top) + 32px)}
  [data-stack-cards] > :nth-child(n+5){top:calc(var(--gll-sticky-top) + 46px)}
  [data-stack-cards] [data-stack-media]{overflow:clip}
}

/* ── 6. Marquee: a static scrollable row by default (no JS, reduced motion); a moving row when live ── */
[data-marquee]:not([data-marquee-max]){overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
[data-marquee]:not([data-marquee-max])::-webkit-scrollbar{display:none}
[data-marquee]:not([data-marquee-max]) > [data-marquee-track]{display:flex;flex-wrap:nowrap;width:max-content;gap:var(--mq-gap,56px);margin:0;padding:0;list-style:none}
[data-marquee]:not([data-marquee-max]) > [data-marquee-track] > *{flex:0 0 auto}
[data-marquee]:not(.is-live) [data-mq-clone]{display:none !important}
[data-marquee].is-live{overflow:hidden;cursor:grab;touch-action:pan-y}
[data-marquee].is-live [data-marquee-track]{will-change:transform}
[data-marquee].is-drag{cursor:grabbing;user-select:none}
[data-marquee].is-drag a{pointer-events:none}
[data-marquee-toggle]{min-height:44px;padding:0;background:none;border:0;font:600 11px/1 'Inter Tight','Inter',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
[data-marquee-toggle]:focus-visible{outline:1px solid currentColor;outline-offset:3px}

/* homepage "Trusted by" logo row (#gll-intro, page_widget 704). <=900px: one row of logos in every state, so the loop
   starting never changes the row's height (no layout shift): a swipeable row without JS or with reduced motion,
   a slow loop when the script runs (.is-live). Desktop keeps the single static row. */
#gll-intro .gll-trusted-mq{container-type:inline-size}
@media (max-width:900px){
  html:root body #gll-intro .gll-trusted-mq .gll-trusted-row:not(#gx1):not(#gx2){display:flex !important;flex-wrap:nowrap !important;justify-content:flex-start !important;align-items:center;gap:0 !important;
    width:100% !important;overflow-x:auto !important;scroll-snap-type:x mandatory !important;padding:0 !important;margin:0 !important;scrollbar-width:none}
  html:root body #gll-intro .gll-trusted-mq .gll-trusted-row:not(#gx1):not(#gx2) > .gll-trusted-item{flex:0 0 31cqw !important;width:31cqw;padding:0 12px;scroll-snap-align:start}
  html:root body #gll-intro .gll-trusted-mq.is-live{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 90%,transparent)}
  html:root body #gll-intro .gll-trusted-mq.is-live .gll-trusted-row:not(#gx1):not(#gx2){width:max-content !important;max-width:none !important;overflow:visible !important;scroll-snap-type:none !important;-webkit-mask-image:none !important;mask-image:none !important}
}
@media (max-width:480px){
  html:root body #gll-intro .gll-trusted-mq .gll-trusted-row:not(#gx1):not(#gx2) > .gll-trusted-item{flex-basis:40cqw !important;width:40cqw}
}

/* homepage member-firms row (homev2 "why" section, dark band) */
.gh2-mq{margin:0 0 52px}
.gh2-mq-head{display:flex;align-items:center;justify-content:space-between;min-height:44px;margin:0 0 8px}
.gh2-mq-cap{margin:0;font:600 11px/1.4 'Inter Tight','Inter',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#D4AF5A}
.gh2-mq-btn{color:rgba(255,255,255,.72)}
.gh2-mq-btn:hover{color:#fff}
.gh2-mq-row{border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}
.gh2-mq-track li{display:flex;align-items:baseline;gap:12px;padding:22px 0;white-space:nowrap}
.gh2-mq-track a{font:500 18px/1.3 'Inter Tight','Inter',sans-serif;letter-spacing:-.01em;color:#fff !important;text-decoration:none !important}
.gh2-mq-track a:hover{text-decoration:underline !important;text-underline-offset:5px;text-decoration-thickness:1px !important}
.gh2-mq-track a:focus-visible{outline:1px solid #fff;outline-offset:4px}
.gh2-mq-track span{font:400 13px/1.3 'Inter Tight','Inter',sans-serif;color:rgba(255,255,255,.62)}
@media (max-width:860px){.gh2-mq{margin-bottom:40px}.gh2-mq-track a{font-size:16px}.gh2-mq-track li{padding:18px 0}}

/* ── 7. Two-part CTA: .gll-cta2 = label block + 48px square arrow block, 2px apart.
   <a class="gll-cta2" href="…"><span class="gll-cta2__label">Claim this profile</span></a>
   Variants: --line (white, 1px ink), --light (on dark), --ghost (outline on dark). The arrow is drawn in CSS;
   links to "#…" point down. Existing CTAs are adopted below by selector so their markup stays untouched.
   The selector list is kept in step with CTA in js/gll-scroll.js (hover scramble). ── */
html body :where(.gll-cta2,.gll-hero .gll-btn-primary,.gll-hero .gll-btn-secondary,.gh2-why .gh2-btn,.mv-hero .mv-btn,#mv-premium .gpp-btn,#about-premium .gpp-cta .gpp-btn,.gllr-xbtn,.gnf-foot-all,.gllp2-actions .gllp2-btn-claim){
  --c2-h:48px;--c2-gap:2px;--c2-bg:#0a0a0a;--c2-fg:#fff;--c2-line:transparent;--c2-sq:#0a0a0a;--c2-bg-h:#262626;--c2-sq-h:#262626;--c2-line-h:transparent;--c2-ring:#0a0a0a;
  --c2-ar:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='1.5' stroke-linecap='square'%3E%3Cpath d='M2.5 8h10.5M9 4l4 4-4 4'/%3E%3C/svg%3E")}
html body :is(.gll-cta2--line,#mv-premium .gpp-btn--ghost,.gnf-foot-all){--c2-bg:#fff;--c2-fg:#0a0a0a;--c2-line:#0a0a0a;--c2-bg-h:#f2f2f2;--c2-line-h:#0a0a0a}
html body :is(.gll-cta2--light,.gll-hero .gll-btn-primary,.gh2-why .gh2-btn,.mv-hero .mv-btn--light,#mv-premium .gpp-plan.is-pop .gpp-btn,.gpp-dark .gpp-btn:not(.gpp-btn--ghost),.gllr-xbtn--solid){
  --c2-bg:#fff;--c2-fg:#0a0a0a;--c2-line:transparent;--c2-sq:#fff;--c2-bg-h:#e6e6e6;--c2-sq-h:#e6e6e6;--c2-ring:#fff;
  --c2-ar:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%230a0a0a' stroke-width='1.5' stroke-linecap='square'%3E%3Cpath d='M2.5 8h10.5M9 4l4 4-4 4'/%3E%3C/svg%3E")}
html body :is(.gll-cta2--ghost,.gll-hero .gll-btn-secondary,.mv-hero .mv-btn--ghost,.gpp-dark .gpp-btn--ghost,.gllr-xbtn--line){
  --c2-bg:transparent;--c2-fg:#fff;--c2-line:rgba(255,255,255,.6);--c2-sq:#fff;--c2-bg-h:rgba(255,255,255,.08);--c2-sq-h:#e6e6e6;--c2-line-h:#fff;--c2-ring:#fff;
  --c2-ar:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%230a0a0a' stroke-width='1.5' stroke-linecap='square'%3E%3Cpath d='M2.5 8h10.5M9 4l4 4-4 4'/%3E%3C/svg%3E")}

html body :is(.gll-cta2,.gll-hero .gll-btn-primary,.gll-hero .gll-btn-secondary,.gh2-why .gh2-btn,.mv-hero .mv-btn,#mv-premium .gpp-btn,#about-premium .gpp-cta .gpp-btn,.gllr-xbtn,.gnf-foot-all,.gllp2-actions .gllp2-btn-claim):not(#c2a):not(#c2b){
  position:relative !important;isolation:isolate;display:inline-flex !important;align-items:center !important;justify-content:flex-start !important;gap:0 !important;
  box-sizing:border-box !important;min-height:var(--c2-h) !important;height:var(--c2-h) !important;max-width:100%;
  padding:0 calc(var(--c2-h) + var(--c2-gap) + 22px) 0 22px !important;margin-top:0;
  background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;outline-offset:3px;
  color:var(--c2-fg) !important;font:600 12px/1 'Inter Tight','Inter',sans-serif !important;letter-spacing:.16em !important;text-transform:uppercase !important;
  text-align:left !important;text-decoration:none !important;-webkit-text-fill-color:currentColor !important;white-space:nowrap;overflow:visible;cursor:pointer;transform:none;translate:none !important;
  transition:color .25s var(--gs-ease-btn) !important}
html body :is(.gll-cta2,.gll-hero .gll-btn-primary,.gll-hero .gll-btn-secondary,.gh2-why .gh2-btn,.mv-hero .mv-btn,#mv-premium .gpp-btn,#about-premium .gpp-cta .gpp-btn,.gllr-xbtn,.gnf-foot-all,.gllp2-actions .gllp2-btn-claim):not(#c2a):not(#c2b)::before{
  -webkit-mask:none !important;mask:none !important;filter:none !important;clip-path:none !important;mix-blend-mode:normal !important;font-size:0 !important;
  content:"" !important;display:block !important;position:absolute !important;z-index:-1 !important;top:0 !important;bottom:0 !important;left:0 !important;right:calc(var(--c2-h) + var(--c2-gap)) !important;width:auto !important;height:auto !important;
  background:var(--c2-bg) !important;box-shadow:inset 0 0 0 1px var(--c2-line) !important;border:0 !important;border-radius:0 !important;opacity:1 !important;transform:none !important;
  transition:background-color .25s var(--gs-ease-btn),box-shadow .25s var(--gs-ease-btn)}
html body :is(.gll-cta2,.gll-hero .gll-btn-primary,.gll-hero .gll-btn-secondary,.gh2-why .gh2-btn,.mv-hero .mv-btn,#mv-premium .gpp-btn,#about-premium .gpp-cta .gpp-btn,.gllr-xbtn,.gnf-foot-all,.gllp2-actions .gllp2-btn-claim):not(#c2a):not(#c2b)::after{
  -webkit-mask:none !important;mask:none !important;filter:none !important;clip-path:none !important;mix-blend-mode:normal !important;font-size:0 !important;
  content:"" !important;display:block !important;position:absolute !important;z-index:-1 !important;top:0 !important;right:0 !important;left:auto !important;bottom:auto !important;width:var(--c2-h) !important;height:var(--c2-h) !important;border:0 !important;border-radius:0 !important;opacity:1 !important;
  background:var(--c2-ar) calc((var(--c2-h) - 16px) / 2) 50%/16px 16px no-repeat,var(--c2-ar) -16px 50%/16px 16px no-repeat,var(--c2-sq) !important;
  transform:none !important;transition:background-position .45s var(--gs-ease-btn),background-color .25s var(--gs-ease-btn)}
/* links to a section on the same page: the arrow points (and travels) down */
html body :is(.gll-cta2,.mv-hero .mv-btn,#mv-premium .gpp-btn,#about-premium .gpp-cta .gpp-btn,.gllr-xbtn,.gnf-foot-all)[href^="#"]:not(#c2a):not(#c2b)::after{transform:rotate(90deg) !important}
/* the old inline arrows/icons give way to the square */
html body :is(.gll-cta2,.gll-hero .gll-btn-primary,.gll-hero .gll-btn-secondary,.gh2-why .gh2-btn,.mv-hero .mv-btn,#mv-premium .gpp-btn,#about-premium .gpp-cta .gpp-btn,.gllr-xbtn,.gnf-foot-all,.gllp2-actions .gllp2-btn-claim):not(#c2a):not(#c2b) > :is(svg,i,.gm-arr,[aria-hidden="true"],.gll-cta2__arrow){display:none !important}
html body :is(.gll-cta2,.gll-hero .gll-btn-primary,.gll-hero .gll-btn-secondary,.gh2-why .gh2-btn,.mv-hero .mv-btn,#mv-premium .gpp-btn,#about-premium .gpp-cta .gpp-btn,.gllr-xbtn,.gnf-foot-all,.gllp2-actions .gllp2-btn-claim):not(#c2a):not(#c2b) .gll-cta2__label{display:block;overflow:hidden;text-overflow:clip;white-space:nowrap}
/* hover / keyboard focus: label block shifts tone, the arrow leaves right and a new one slides in from the left */
html body :is(.gll-cta2,.gll-hero .gll-btn-primary,.gll-hero .gll-btn-secondary,.gh2-why .gh2-btn,.mv-hero .mv-btn,#mv-premium .gpp-btn,#about-premium .gpp-cta .gpp-btn,.gllr-xbtn,.gnf-foot-all,.gllp2-actions .gllp2-btn-claim):not(#c2a):not(#c2b):is(:hover,:focus-visible){color:var(--c2-fg) !important;-webkit-text-fill-color:currentColor !important;background:transparent !important;border-color:transparent !important}
html body :is(.gll-cta2,.gll-hero .gll-btn-primary,.gll-hero .gll-btn-secondary,.gh2-why .gh2-btn,.mv-hero .mv-btn,#mv-premium .gpp-btn,#about-premium .gpp-cta .gpp-btn,.gllr-xbtn,.gnf-foot-all,.gllp2-actions .gllp2-btn-claim):not(#c2a):not(#c2b):is(:hover,:focus-visible)::before{background:var(--c2-bg-h) !important;box-shadow:inset 0 0 0 1px var(--c2-line-h)}
html body :is(.gll-cta2,.gll-hero .gll-btn-primary,.gll-hero .gll-btn-secondary,.gh2-why .gh2-btn,.mv-hero .mv-btn,#mv-premium .gpp-btn,#about-premium .gpp-cta .gpp-btn,.gllr-xbtn,.gnf-foot-all,.gllp2-actions .gllp2-btn-claim):not(#c2a):not(#c2b):is(:hover,:focus-visible)::after{
  background:var(--c2-ar) var(--c2-h) 50%/16px 16px no-repeat,var(--c2-ar) calc((var(--c2-h) - 16px) / 2) 50%/16px 16px no-repeat,var(--c2-sq-h) !important}
html body :is(.gll-cta2,.gll-hero .gll-btn-primary,.gll-hero .gll-btn-secondary,.gh2-why .gh2-btn,.mv-hero .mv-btn,#mv-premium .gpp-btn,#about-premium .gpp-cta .gpp-btn,.gllr-xbtn,.gnf-foot-all,.gllp2-actions .gllp2-btn-claim):not(#c2a):not(#c2b):focus-visible{outline:2px solid var(--c2-ring) !important;outline-offset:3px !important}
html body :is(.gll-cta2,.gll-hero .gll-btn-primary,.gll-hero .gll-btn-secondary,.gh2-why .gh2-btn,.mv-hero .mv-btn,#mv-premium .gpp-btn,#about-premium .gpp-cta .gpp-btn,.gllr-xbtn,.gnf-foot-all,.gllp2-actions .gllp2-btn-claim):not(#c2a):not(#c2b):active{translate:none !important}
html body :is(.gll-cta2,.gll-hero .gll-btn-primary,.gll-hero .gll-btn-secondary,.gh2-why .gh2-btn,.mv-hero .mv-btn,#mv-premium .gpp-btn,#about-premium .gpp-cta .gpp-btn,.gllr-xbtn,.gnf-foot-all,.gllp2-actions .gllp2-btn-claim):not(#c2a):not(#c2b):is(:disabled,[aria-disabled="true"]){opacity:.5;cursor:not-allowed}
/* --text: sentence-case label that may wrap (long firm names, prices), at least 56px tall; the arrow block stays a
   56px-wide column the full height of the button. Used by the claim page pay buttons. */
html body .gll-cta2.gll-cta2--text:not(#c2a):not(#c2b):not(#c2c):not(#c2d){--c2-h:56px;height:auto !important;min-height:56px !important;padding:12px calc(56px + var(--c2-gap) + 24px) 12px 24px !important;
  font:600 16px/24px 'Inter Tight','Inter Tight Fallback','Inter',sans-serif !important;letter-spacing:.01em !important;text-transform:none !important;white-space:normal !important;text-wrap:balance}
html body .gll-cta2.gll-cta2--text:not(#c2a):not(#c2b):not(#c2c):not(#c2d)::after{height:auto !important;bottom:0 !important}
/* busy (form submitted, e.g. "Opening secure checkout…"): dimmed, progress cursor, arrow stays put */
html body .gll-cta2[aria-busy="true"]:not(#c2a):not(#c2b):not(#c2c):not(#c2d){opacity:.75 !important;cursor:progress !important}
html body .gll-cta2[aria-busy="true"]:not(#c2a):not(#c2b):not(#c2c):not(#c2d)::after{background:var(--c2-ar) calc((var(--c2-h) - 16px) / 2) 50%/16px 16px no-repeat,var(--c2-sq) !important}
/* plan cards: the button keeps the card's full width */
html body #mv-premium .gpp-plan .gpp-btn:not(#c2a):not(#c2b){display:flex !important;width:100% !important}
/* phones: full-width label block + the square */
@media (max-width:600px){
  html body :is(.gll-cta2,.gll-hero .gll-btn-primary,.gll-hero .gll-btn-secondary,.gh2-why .gh2-btn,.mv-hero .mv-btn,#mv-premium .gpp-btn,#about-premium .gpp-cta .gpp-btn,.gllr-xbtn,.gnf-foot-all,.gllp2-actions .gllp2-btn-claim):not(#c2a):not(#c2b){display:flex !important;width:100% !important}
}

/* homepage hero on phones: the two CTAs stack, so they run at 44px with an 8px gap to stay clear of the slide controls */
@media (max-width:600px){
  html body .gll-hero :is(.gll-btn-primary,.gll-btn-secondary){--c2-h:44px}
  html body .gll-hero .gll-btns{gap:8px !important}
}

/* homepage hero slider controls (owner 2026-10-18): never touch the framed photo/cards or the bottom wave, >=16px clear.
   Slide 1 (framed photo + article cards, no wave): 16px above the hero's bottom edge.
   Slides 2-3 (photo card + white wave): 61px up, so 16px above the wave; on short screens the photo card gives up a
   little height so it ends at least 16px above the controls. Below 1100px the controls stay right-aligned, clear of
   the left column's trust line. */
@media (min-width:1000px){
  html body .gll-hero:not(.gll-dark-dots) .gsl-nav.gsl-hero{bottom:16px !important;top:auto !important}
  html body .gll-hero.gll-dark-dots .gsl-nav.gsl-hero{bottom:61px !important;top:auto !important}
}
@media (min-width:1000px) and (max-width:1099px){
  html body .gll-hero .gsl-nav.gsl-hero{left:auto !important;right:32px !important}
}
@media (min-width:1000px) and (max-height:820px){
  html body .gll-hero.gll-dark-dots .gll-img img{max-height:calc(100vh - 270px) !important}
}

/* ── Reduced motion & print: static, visible, colour-only feedback ── */
@media (prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1 !important;transform:none !important;transition:none !important}
  html body :is(.gll-cta2,.gll-hero .gll-btn-primary,.gll-hero .gll-btn-secondary,.gh2-why .gh2-btn,.mv-hero .mv-btn,#mv-premium .gpp-btn,#about-premium .gpp-cta .gpp-btn,.gllr-xbtn,.gnf-foot-all,.gllp2-actions .gllp2-btn-claim):not(#c2a):not(#c2b)::after{transition:background-color .2s linear !important}
  html body :is(.gll-cta2,.gll-hero .gll-btn-primary,.gll-hero .gll-btn-secondary,.gh2-why .gh2-btn,.mv-hero .mv-btn,#mv-premium .gpp-btn,#about-premium .gpp-cta .gpp-btn,.gllr-xbtn,.gnf-foot-all,.gllp2-actions .gllp2-btn-claim):not(#c2a):not(#c2b):is(:hover,:focus-visible)::after{
    background:var(--c2-ar) calc((var(--c2-h) - 16px) / 2) 50%/16px 16px no-repeat,var(--c2-sq-h) !important}
}
@media print{[data-reveal]{opacity:1 !important;transform:none !important}}
