/* member-dock 2026-10-18: membership panel, bottom-right, desktop >= 1100px only.
   Markup: Src/GllMemberDock/Dock.php. Behaviour: js/gll-member-dock.js.
   Motion is transform/opacity only; the element is position:fixed (no layout shift).
   z-index 1040: above page content and the back-to-top button (99), below Bootstrap
   modals (1050+), the cookie bar (99999) and the search overlay. */
.gll-mdock{display:none;position:fixed;right:24px;bottom:24px;z-index:1040;width:340px;pointer-events:none;font-family:"Inter Tight",Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.gll-mdock[hidden]{display:none!important}
@media (min-width:1100px){.gll-mdock{display:block}}
@media print{.gll-mdock{display:none!important}}

.gll-mdock__panel{position:relative;box-sizing:border-box;padding:24px;background:#0a0a0a;color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:0;box-shadow:none;
  opacity:0;transform:translate3d(0,calc(100% + 32px),0);transform-origin:100% 100%;
  transition:transform .6s cubic-bezier(.22,1,.36,1),opacity .4s ease}
.gll-mdock.is-in .gll-mdock__panel{opacity:1;transform:none;pointer-events:auto}
.gll-mdock.is-in.is-compact .gll-mdock__panel{opacity:0;transform:translate3d(0,14px,0) scale(.97);pointer-events:none;transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .25s ease}

/* scroll progress hairline along the top edge, just inside the 1px border (white on black) */
.gll-mdock__bar{position:absolute;left:0;right:0;top:0;height:1px;overflow:hidden;pointer-events:none}
.gll-mdock__fill{display:block;width:100%;height:100%;background:#fff;transform:scaleX(0);transform-origin:0 50%;will-change:transform}

.gll-mdock__cap{margin:0 0 14px;padding-right:40px;font-size:11px;font-weight:600;line-height:1.4;letter-spacing:.2em;text-transform:uppercase;color:#D4AF5A}
.gll-mdock__x{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;background:transparent;border:0;border-radius:0;color:rgba(255,255,255,.72);cursor:pointer;transition:color .2s ease}
.gll-mdock__x:hover{color:#fff}
html body .gll-mdock .gll-mdock__x:focus-visible,html body .gll-mdock .gll-mdock__cta:focus-visible{outline:1px solid #fff!important;outline-offset:3px!important;box-shadow:none!important}
html body .gll-mdock .gll-mdock__x:focus:not(:focus-visible),html body .gll-mdock .gll-mdock__cta:focus:not(:focus-visible){outline:0!important}

.gll-mdock__h{margin:0 0 8px;font-size:22px;font-weight:500;line-height:1.25;letter-spacing:-.02em;color:#fff}
.gll-mdock__t{margin:0 0 16px;font-size:15px;font-weight:400;line-height:1.6;color:rgba(255,255,255,.78)}
.gll-mdock__lines{display:grid;margin:0 0 16px;padding:0;list-style:none}
.gll-mdock__line{grid-area:1/1;margin:0;font-size:19px;font-weight:500;line-height:1.35;letter-spacing:-.015em;color:#fff;opacity:0;transform:translate3d(0,6px,0);transition:opacity .5s ease,transform .6s cubic-bezier(.22,1,.36,1)}
.gll-mdock__line.is-on{opacity:1;transform:none}
.gll-mdock__v{display:flex;align-items:center;gap:8px;margin:0 0 20px;font-size:13px;font-weight:400;line-height:1.45;color:rgba(255,255,255,.72)}
.gll-mdock__tick{flex:0 0 14px;width:14px;height:14px;display:block}

/* two-part CTA (label | arrow), the same shape as the site's .gll-cta2 */
.gll-mdock__cta{display:flex;align-items:stretch;min-height:48px;background:#fff;color:#0a0a0a;border:1px solid #fff;border-radius:0;text-decoration:none;transition:background-color .25s ease,color .25s ease}
.gll-mdock__cta:hover,.gll-mdock__cta:focus-visible{background:#0a0a0a;color:#fff;text-decoration:none}
.gll-mdock__cta-l{flex:1 1 auto;display:flex;align-items:center;padding:0 18px;font-size:15px;font-weight:500;letter-spacing:-.005em}
.gll-mdock__cta-r{flex:0 0 48px;display:flex;align-items:center;justify-content:center;border-left:1px solid currentColor}
.gll-mdock__cta-r svg,.gll-mdock__parr svg{transition:transform .3s cubic-bezier(.22,1,.36,1)}
.gll-mdock__cta:hover .gll-mdock__cta-r svg,.gll-mdock__pill:hover .gll-mdock__parr svg{transform:translate3d(3px,0,0)}

/* compact pill (fast downward scroll) */
.gll-mdock__pill{position:absolute;right:0;bottom:0;display:flex;align-items:center;gap:14px;height:48px;box-sizing:border-box;padding-left:18px;background:#0a0a0a;color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:0;cursor:pointer;white-space:nowrap;
  opacity:0;visibility:hidden;transform:translate3d(0,10px,0);transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .3s ease,visibility 0s linear .45s}
.gll-mdock.is-in.is-compact .gll-mdock__pill{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition-delay:0s}
.gll-mdock__pcap{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#D4AF5A}
.gll-mdock__plabel{font-size:14px;font-weight:500}
.gll-mdock__parr{display:flex;align-items:center;justify-content:center;width:46px;height:100%;border-left:1px solid rgba(255,255,255,.14)}

/* the back-to-top button stacks above the dock while it is shown (JS sets --gll-mdock-h) */
html.gll-mdock-on #_bttb,html.gll-mdock-on #_bttb:hover{transform:translate3d(0,calc(-1 * var(--gll-mdock-h,0px) - 12px),0)!important}
#_bttb{transition:transform .5s cubic-bezier(.22,1,.36,1),background-color .2s ease}

@media (prefers-reduced-motion:reduce){
  .gll-mdock__panel,.gll-mdock.is-in .gll-mdock__panel{transform:none!important;transition:opacity .3s ease}
  .gll-mdock__line,.gll-mdock__pill{transform:none!important}
  .gll-mdock__cta-r svg,.gll-mdock__parr svg{transition:none}
  #_bttb{transition:none}
}
