/* Landing additions: Services dropdown, mobile menu, card slider (uses mygp.css tokens). */

/* Services dropdown: anchored under its nav button, left-aligned with it. */
.lp-navitem { position: relative; display: inline-flex; }
.lp-mega { left: 0; right: auto; justify-content: flex-start; padding-top: 12px; }
.lp-mega .mega { width: max-content; min-width: 420px; max-width: calc(100vw - 32px); padding: 24px 28px; min-height: 0; height: auto; }
.lp-mega[hidden] { display: none; }

/* Mobile menu */
.lp-drawer { position: relative; z-index: 49; background: var(--white); border-bottom: 1px solid var(--header-border); }
.lp-drawer[hidden] { display: none; }
.lp-drawer nav { display: flex; flex-direction: column; padding: 8px 16px 16px; }
.lp-drawer a { padding: 14px 4px; font-size: 18px; color: var(--grey); border-bottom: 1px solid var(--grey-very-light); }
.lp-drawer a:last-child { border-bottom: 0; }

/* Card slider */
.lp-slider { display: flex; flex-direction: column; gap: 16px; }
.lp-slider__bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.lp-slider__all { display: inline-flex; align-items: center; gap: 4px; font-weight: 500; }
.lp-slider__nav { display: flex; gap: 8px; }
.lp-slider__btn { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--grey-very-light); background: var(--white); display: grid; place-items: center; cursor: pointer; }
.lp-slider__btn:disabled { opacity: 0.35; cursor: default; }
.lp-slider--static .lp-slider__nav { display: none; }
.lp-slider__track {
  display: flex !important; gap: 24px; margin: 0; padding: 12px 2px 8px; list-style: none;
  overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 2px; scrollbar-width: none;
}
.lp-slider__track::-webkit-scrollbar { display: none; }
.lp-slider__track:focus-visible { outline: 2px solid var(--primary-500); outline-offset: 4px; border-radius: 16px; }
.lp-slide { flex: 0 0 calc((100% - 48px) / 3); scroll-snap-align: start; display: flex; }
.lp-slide > .offer-card { width: 100%; }
@media (max-width: 1023px) { .lp-slide { flex-basis: calc((100% - 24px) / 2); } }
@media (max-width: 639px) { .lp-slide { flex-basis: 85%; } }
@media (prefers-reduced-motion: reduce) { .lp-slider__track { scroll-behavior: auto; } }

/* Home: two services side by side. */
.lp-services { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
@media (max-width: 767px) { .lp-services { grid-template-columns: 1fr !important; } }

/* Home hero: service tabs (visitor-controlled, no autoplay). */
.lp-hero-tabs { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: var(--grey-extra-light, #f3f6fa); align-self: flex-start; }
.lp-hero-tab { display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 16px; border: 0; border-radius: 999px; background: transparent; font: inherit; font-size: 15px; color: var(--grey); cursor: pointer; }
.lp-hero-tab .icon { font-size: 18px; }
.lp-hero-tab[aria-selected="true"] { background: var(--white); color: var(--primary-500); box-shadow: 0 1px 3px rgba(17, 20, 24, 0.12); }
.lp-hero-tab:focus-visible { outline: 2px solid var(--primary-500); outline-offset: 2px; }
.lp-hero-panel { display: contents; }
.lp-hero-panel[hidden], [data-hero-panel][hidden] { display: none !important; }
@media (prefers-reduced-motion: no-preference) {
  .lp-hero-panel:not([hidden]) > *, .lp-hero [data-hero-panel]:not([hidden]) { animation: lp-fade 200ms ease-out; }
}
@keyframes lp-fade { from { opacity: 0; } to { opacity: 1; } }

/* Home: product sliders per service. */
.lp-products .options__inner { gap: 40px; }
.lp-products__group { display: flex; flex-direction: column; gap: 4px; }
.lp-products__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.lp-products__title { margin: 0; font-size: 24px; font-weight: 500; }

/* Page loading bar (top of the viewport) while navigating between pages. */
.lp-loading { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 1000; overflow: hidden; background: rgba(4, 76, 201, 0.15); pointer-events: none; }
.lp-loading[hidden] { display: none; }
.lp-loading__bar { position: absolute; top: 0; bottom: 0; width: 40%; background: var(--primary-500, #044cc9); border-radius: 0 3px 3px 0; animation: lp-loading 1.1s ease-in-out infinite; }
@keyframes lp-loading { 0% { left: -40%; } 100% { left: 100%; } }
/* Reduce motion: a steady bar that slowly fills instead of sweeping. */
@media (prefers-reduced-motion: reduce) {
  .lp-loading__bar { left: 0; width: 100%; transform-origin: left; animation: lp-loading-fill 4s ease-out forwards; }
  @keyframes lp-loading-fill { from { transform: scaleX(0.1); } to { transform: scaleX(0.9); } }
}
.lp-is-loading, .lp-is-loading a { cursor: progress; }

/* Home: descriptive service cards. */
.lp-svcs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 767px) { .lp-svcs { grid-template-columns: 1fr; } }
.lp-svc { position: relative; height: 100%; box-sizing: border-box; display: flex; flex-direction: column; gap: 16px; padding: 28px; border-radius: 24px; border: 1px solid var(--grey-very-light, #e1e4e8); background: var(--white); overflow: hidden; transition: box-shadow 150ms ease, border-color 150ms ease; }
.lp-svc::before { content: ""; position: absolute; right: -60px; top: -60px; width: 200px; height: 200px; border-radius: 50%; background: var(--lp-tone-bg); opacity: 0.6; pointer-events: none; }
.lp-svc--gp { --lp-tone-bg: #e8efff; --lp-tone: #2f52d6; }
.lp-svc--thriva { --lp-tone-bg: #fde8ef; --lp-tone: #c2185b; }
.lp-svc:hover { border-color: var(--lp-tone); box-shadow: 0 8px 24px rgba(17, 20, 24, 0.08); }
.lp-svc__top { position: relative; display: flex; align-items: center; gap: 14px; }
.lp-svc__icon { width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; background: var(--lp-tone-bg); color: var(--lp-tone); flex-shrink: 0; }
.lp-svc__icon .icon { font-size: 28px; }
.lp-svc__eyebrow { margin: 0; font-size: 13px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: var(--lp-tone); }
.lp-svc__title { margin: 2px 0 0; font-size: 24px; line-height: 30px; font-weight: 600; color: var(--grey-charcoal, #111418); }
.lp-svc__line { position: relative; margin: 0; font-size: 17px; line-height: 26px; color: var(--grey, #474c52); }
.lp-svc__points { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.lp-svc__points li { display: flex; align-items: center; gap: 10px; font-size: 16px; color: var(--grey-charcoal, #111418); }
.lp-svc__points .icon { font-size: 20px; color: var(--lp-tone); }
.lp-svc__facts { margin: 4px 0 0; padding-top: 16px; border-top: 1px solid var(--grey-very-light, #e1e4e8); font-size: 15px; color: var(--grey, #474c52); }
.lp-svc__actions { margin-top: auto; display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.lp-svc__more { font-weight: 500; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
