.grecaptcha-badge {
  display: none !important;
}

body {
  margin: 0px !important;
}

html.lenis {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

:root {
  /* GuestPro system colors */
  --main: #c4e965;
  --second: #679630;
  --text: #0b2522bf;
  --third: #102923;
  --fourth: #f1f8ec;
  --text-2: #211707;
  --fifth: #dfff8c;
  --six: #e8f3df;
  --third-2: #163d31;

  /* Existing semantic aliases */
  --ink: var(--third);
  --hm-coffee-05: var(--text-2);
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.btn a {
  min-height: 45px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  border: 1px solid var(--ink);
  background: var(--ink);
  color: #fff;
  font-size: 11px;
  transition: 0.25s var(--ease);
}
.btn.main a {
  gap: 0px;
  position: relative;
  overflow: hidden;
  justify-content: center;
  border-radius: 5px;
  font-family: "Plus Jakarta Sans";
  background: var(--main) !important;
  border-color: var(--main) !important;
  font-weight: 600;
  padding: 5px 10px 6px 16px;
  min-width: 140px;
  font-size: 13px;
  color: var(--ink);
}
.btn.main.black a {
  color: #fff !important;
  background: #211702 !important;
  border-color: #211702 !important;
}
.btn.main.trp a {
  color: #211702 !important;
  background: transparent !important;
  border-color: #211702 !important;
}

.is-dark .btn.main.black a {
  color: #fff !important;
  background: transparent !important;
  border-color: #fff !important;
}

.btn.main.mini a {
  min-width: 130px;
  min-height: 35px;
  font-size: 12px;
}
.btn.main .elementor-button-content-wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
}
.btn.main .elementor-button-text {
  padding-left: 10px;
  display: inline-block;
  transition: transform 0.35s var(--ease);
}
.btn.main .elementor-button-icon {
  width: 22px;
  height: 22px;
  margin: 0;
  background: #fff;
  border-radius: 999px;
  color: #000;
  padding: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
  opacity: 0;
  transform: translateX(-8px);
  transition:
    opacity 0.25s ease,
    transform 0.35s var(--ease);
}
.btn.main .elementor-button-icon svg {
  width: 16px;
  height: 16px;
}
.btn.main a:hover,
.btn.main a:focus-visible {
  background: var(--main);
  border-color: var(--main);
  color: var(--ink);
  transform: none;
}
.btn.main a:hover .elementor-button-text,
.btn.main a:focus-visible .elementor-button-text {
  transform: translateX(-11px);
}
.btn.main a:hover .elementor-button-icon,
.btn.main a:focus-visible .elementor-button-icon {
  opacity: 1;
  transform: translateX(0);
}
.btn.second a {
  gap: 0px;
  position: relative;
  overflow: hidden;
  justify-content: center;
  min-width: 140px;
  padding: 5px 10px 6px 20px;
  border-color: var(--ink);
  border-radius: 5px;
  background: transparent;
  color: var(--ink);
  font-family: "Plus Jakarta Sans";
  font-size: 13px;
  font-weight: 600;
}
.btn.second > span:first-child {
  padding-left: 10px;
  display: inline-block;
  transition: transform 0.35s var(--ease);
}
.btn.second .main-arrow {
  width: 22px;
  height: 22px;
  background: #fff;
  border-radius: 999px;
  color: #000;
  padding: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  right: 9px;
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
  opacity: 0;
  transform: translateX(-8px);
  transition:
    opacity 0.25s ease,
    transform 0.35s var(--ease);
}
.btn.second:hover,
.btn.second:focus-visible {
  border-color: var(--ink);
  background: var(--ink);
  color: #fff;
  transform: none;
}
.btn.second:hover > span:first-child,
.btn.second:focus-visible > span:first-child {
  transform: translateX(-11px);
}
.btn.second:hover .main-arrow,
.btn.second:focus-visible .main-arrow {
  opacity: 1;
  transform: translateX(0);
}
.btn:hover {
  background: var(--green);
  color: var(--ink);
  transform: translateY(-2px);
}
.case-action a {
  display: flex;
  align-items: center;
  gap: 8px;
  text-transform: uppercase;
  font-weight: 600 !important;
  font-size: 11px;
  letter-spacing: 0.5px;
  background: transparent !important;
  padding: 0px;
  color: #000 !important;
}
.case-action .elementor-button-text {
  padding-bottom: 3px;
  border-bottom: 1px solid currentColor;
}
.case-action > span {
  padding-bottom: 1px;
  border-bottom: 1px solid currentColor;
}
.case-action svg {
  stroke-width: 1;
  width: 18px !important;
  height: 18px !important;
  margin-top: -3px;
}
.wp-block-paragraph {
  display: none;
}

.navlinks .e-n-menu,
.navlinks .e-n-menu-wrapper {
  width: 100%;
}
.navlinks .e-n-menu-heading {
  display: flex;
  align-items: stretch;
  gap: 0;
  margin: 0;
  padding: 0;
}
.navlinks .e-n-menu-item {
  display: flex;
  align-items: stretch;
}
.navlinks .e-n-menu-title {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border: 0;
  background-color: transparent;
  background-image: linear-gradient(
    color-mix(in srgb, var(--main) 64%, transparent),
    transparent
  );
  background-repeat: no-repeat;
  background-position: top;
  background-size: 100% 0;
  color: inherit;
  padding: 29px 17px;
  cursor: pointer;
  font-weight: 500;
  transition:
    background-size 0.35s ease,
    color 0.35s ease,
    opacity 0.35s ease;
}
.navlinks .e-n-menu-title-container {
  display: inline-flex;
  align-items: center;
}
.navlinks .e-n-menu-dropdown-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: currentColor;
}
.navlinks .e-n-menu-dropdown-icon svg {
  width: 7px;
  height: 7px;
  transition: transform 0.25s ease;
}
.navlinks .e-n-menu-title:hover,
.navlinks .e-n-menu-title:focus-within,
.navlinks .e-n-menu-title:has(.e-n-menu-dropdown-icon[aria-expanded="true"]) {
  background-size: 100% 100%;
}
.navlinks
  .e-n-menu-title:has(.e-n-menu-dropdown-icon[aria-expanded="true"])
  .e-n-menu-dropdown-icon
  svg {
  transform: rotate(180deg);
}
.nav-actions {
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: clamp(14px, 1.6vw, 28px);
  margin-left: 24px;
  font-size: 13px;
  white-space: nowrap;
}
.a-lang {
  margin-top: 5px;
  font-weight: 500;
  display: flex;
  color: #101010;
  font-size: 13px;
  align-items: center;
  justify-content: center;
}
.navlinks .e-n-menu-content {
  box-shadow: 0 18px 30px rgba(20, 16, 8, 0.08);
}
.works-fade {
  background-color: #fff;
  color: var(--ink);
  transition:
    background-color 0.7s ease,
    color 0.7s ease;
}
.works-fade.is-dark .b-white > * {
  color: #fff !important;
}
.wrap-sticky
  .sticky-title.elementor-sticky--active:not(.elementor-sticky__spacer) {
  translate: 0 var(--sticky-boundary-shift, 0);
  will-change: translate;
}

#wrap-scrolled .sticky-title {
  opacity: 1;
  visibility: visible;
  transition:
    opacity 0.2s ease,
    visibility 0s linear 0s;
}

#wrap-scrolled.hide-title .sticky-title {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.2s ease,
    visibility 0s linear 0.2s;
}

.works-fade.is-dark {
  background-color: var(--hm-coffee-05);
  background-image: none;
  /* color: #fff; */
}
.works-fade.works-c2.is-dark {
  background-color: #f1f8ec !important;
}
.works-fade.is-dark .works-content.item-sticky {
  transform: none;
  will-change: unset;
}
.works-fade .trust-layer {
  background-color: transparent;
}
.works-fade::before,
.works-fade::after {
  display: none !important;
  transition: opacity 0.7s ease;
}
.works-fade.is-dark::before,
.works-fade.is-dark::after {
  opacity: 0;
}
.works-fade .section-title,
.works-fade .showcase-kicker,
.works-fade .elementor-heading-title,
.works-fade .elementor-widget-text-editor {
  transition: color 0.7s ease;
}
.works-fade.is-dark .section-title,
.works-fade.is-dark .showcase-kicker,
.works-fade.is-dark .elementor-heading-title {
  color: #fff;
}
.works-fade.is-dark .muted,
.works-fade.is-dark .results-heading p,
.works-fade.is-dark .elementor-widget-text-editor {
  color: rgba(255, 255, 255, 0.7);
}
.works-fade .works-content,
.works-fade.works-content {
  opacity: 0;
  transform: translateY(42px);
  transition:
    opacity 0.75s ease,
    transform 0.75s var(--ease);
  will-change: opacity, transform;
}
.works-fade.is-dark .works-content,
.works-fade.works-content.is-dark {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .works-fade .works-content,
  .works-fade.is-dark .works-content,
  .works-fade.works-content,
  .works-fade.works-content.is-dark {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.bg-gradient2 {
  background: linear-gradient(
    to bottom,
    rgba(161, 204, 55, 0.32) 0%,
    rgba(161, 204, 55, 0.12) 50%,
    #fafbf5 100%
  );
}

.ai-section {
  position: relative;
  overflow: hidden;
  background: #dbf284;
}

.ai-section2 {
  position: relative;
  overflow: hidden;

  /*     background: radial-gradient(circle at 8% 5%, rgba(178, 226, 92, 0.48) 0%, rgba(201, 231, 145, 0.25) 20%, rgba(246, 247, 232, 0) 48%), radial-gradient(circle at 100% 72%, rgba(201, 239, 112, 0.32) 0%, rgba(221, 240, 174, 0.16) 20%, rgba(246, 247, 232, 0) 45%), #f7f8ed; */

  background:
    radial-gradient(
      900px 620px at -8% 12%,
      rgba(178, 226, 92, 0.4),
      transparent 70%
    ),
    radial-gradient(
      900px 620px at 108% 14%,
      rgba(201, 239, 112, 0.28),
      transparent 70%
    ),
    #f7f8ed;
}
.border-bg {
  position: relative;
  overflow: hidden;
}
.ai-section::before,
.border-bg::before {
  content: "" !important;
  position: absolute;
  top: 0;
  left: 0;
  width: 42%;
  height: 52%;
  background-image:
    linear-gradient(rgba(157, 199, 93, 0.14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(157, 199, 93, 0.14) 1px, transparent 1px);
  background-size: 85px 85px;
  -webkit-mask-image: radial-gradient(
    ellipse at top left,
    #000 0%,
    rgba(0, 0, 0, 0.8) 35%,
    transparent 75%
  );
  mask-image: radial-gradient(
    ellipse at top left,
    #000 0%,
    rgba(0, 0, 0, 0.8) 35%,
    transparent 75%
  );
  pointer-events: none;
}
.ai-section::after,
.border-bg::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 5%;
  width: 30%;
  height: 45%;
  background-image:
    linear-gradient(rgba(157, 199, 93, 0.15) 1px, transparent 1px),
    linear-gradient(90deg, rgba(157, 199, 93, 0.15) 1px, transparent 1px);
  background-size: 85px 85px;
  -webkit-mask-image: radial-gradient(
    ellipse at bottom right,
    #000 0%,
    rgba(0, 0, 0, 0.8) 35%,
    transparent 75%
  );
  mask-image: radial-gradient(
    ellipse at bottom right,
    #000 0%,
    rgba(0, 0, 0, 0.8) 35%,
    transparent 75%
  );
  pointer-events: none;
}

.elementor-widget-guestpro-hero-zooming {
  position: relative;
  left: auto;
  width: 100% !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  flex: 0 0 100%;
  align-self: stretch;
}

.reveal-title .elementor-heading-title {
  background: linear-gradient(
    to right,
    #222 0%,
    #222 50%,
    rgba(34, 34, 34, 0.15) 50%,
    rgba(34, 34, 34, 0.15) 100%
  );

  background-size: 200% 100%;
  background-position: 100% 0;

  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;

  animation: text-reveal linear forwards;
  animation-timeline: view();
  animation-range: entry 10% cover 70%;
}

@keyframes text-reveal {
  to {
    background-position: 0% 0;
  }
}

/* Elementor Hero Running: an infinite, pannable diagonal image plane. */
.elementor-widget-guestpro-hero-running,
.elementor-widget-guestpro-hero-running > .elementor-widget-container {
  width: 100%;
  max-width: none;
}
.hero-running {
  position: relative;
  isolation: isolate;
  width: 100%;
  min-height: 90vh;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: #fff;
  color: var(--ink);
}
.hero-running-plane {
  position: absolute;
  z-index: 1;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.hero-running-card {
  --hero-running-card-width: 260px;
  position: absolute;
  top: 0;
  left: 0;
  width: var(--hero-running-card-width);
  height: calc(var(--hero-running-card-width) * 0.72);
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
  background: #e9ece8;
  box-shadow: 0 22px 55px rgba(11, 37, 34, 0.14);
  opacity: 0;
  transition: opacity 0.75s ease;
  will-change: transform;
  backface-visibility: hidden;
}
.hero-running-card.is-visible {
  opacity: 1;
}
.hero-running-card:nth-child(4n) {
  width: calc(var(--hero-running-card-width) * 1.22);
}
.hero-running-card:nth-child(3n + 2) {
  height: calc(var(--hero-running-card-width) * 1.05);
}
.hero-running-card img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  border-radius: inherit;
}
.hero-running-scrim {
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(
    circle at center,
    rgba(255, 255, 255, 0.98) 0 15%,
    rgba(255, 255, 255, 0.87) 25%,
    rgba(255, 255, 255, 0.42) 42%,
    rgba(255, 255, 255, 0.08) 58%,
    transparent 70%
  );
}
.hero-running-content {
  pointer-events: auto;
  user-select: text;
}
@media (max-width: 767px) {
  .hero-running {
    min-height: 760px;
  }
  .hero-running-card {
    --hero-running-card-width: 150px;
  }
  .hero-running-scrim {
    background: radial-gradient(
      circle at center,
      rgba(255, 255, 255, 0.98) 0 22%,
      rgba(255, 255, 255, 0.85) 38%,
      rgba(255, 255, 255, 0.38) 56%,
      transparent 76%
    );
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero-running-card {
    will-change: auto;
  }
}
.elementor-widget-guestpro-hero-zooming > .elementor-widget-container {
  width: 100%;
  max-width: none;
}
.hero-zooming {
  position: relative;
  width: 100%;
  max-width: none;
  height: calc(100vh - 70px);
  display: flex;
  justify-content: center;
  align-items: center;
  isolation: isolate;
  overflow: hidden;
  background: #fff;
  color: var(--ink);
}
/* .hero-zooming .hero-grid-bg {
  position: absolute;
  z-index: 0;
  inset: -6%;
  opacity: 0.3;
  background-image: radial-gradient(circle, rgba(11, 37, 34, 0.24) 1px, transparent 1.4px);
  background-size: 28px 28px;
  will-change: transform;
} */
.hero-zooming .hero-stage {
  position: absolute;
  z-index: 1;
  inset: 0;
  overflow: hidden;
  perspective: 900px;
  pointer-events: none;
}
.hero-zooming .float-img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(170px, 15vw, 330px);
  height: auto;
  max-height: 360px;
  display: block;
  object-fit: cover;
  border-radius: 18px;
  box-shadow: 0 24px 65px rgba(11, 37, 34, 0.18);
  will-change: transform, opacity;
  backface-visibility: hidden;
}
.hero-zooming .hero-scrim {
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(
    circle at center,
    rgba(255, 255, 255, 0.94) 0 12%,
    rgba(255, 255, 255, 0.72) 25%,
    rgba(255, 255, 255, 0.3) 40%,
    rgba(255, 255, 255, 0.08) 52%,
    transparent 62%
  );
}
.hero-zoom-content {
  margin-top: -90px;
  position: relative;
  z-index: 3;
  width: min(760px, calc(100% - 40px));
  text-align: center;
}
.hero-zoom-eyebrow {
  margin-bottom: 20px;
}
.hero-zoom-content h1 {
  color: #101010;
  font-size: 44px;
  line-height: 1.3;
  letter-spacing: -0.03em;
  font-weight: 600;
  margin-bottom: 27px !important;
  max-width: 500px;
  margin: 0 auto;
}
.hero-zoom-description {
  max-width: 400px;
  margin: 0 auto 35px;
  color: rgba(11, 37, 34, 0.7);
  font-size: clamp(15px, 1.15vw, 19px);
  line-height: 1.55;
}
.hero-zoom-description > :first-child {
  margin-top: 0;
}
.hero-zoom-description > :last-child {
  margin-bottom: 0;
}
:is(.hero-zooming, .hero-running) .actions {
  display: flex;
  gap: 10px;
  justify-content: center;
}
:is(.hero-zooming, .hero-running) .actions > .btn {
  min-height: 45px;
  min-width: 140px;
  padding: 5px 10px 6px 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--ink);
  border-radius: 5px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: 0.25s var(--ease);
}
:is(.hero-zooming, .hero-running) .actions > .btn.main {
  background: var(--main);
  border-color: var(--main);
  color: var(--ink);
}
:is(.hero-zooming, .hero-running) .actions > .btn.second {
  background: transparent;
  border-color: var(--ink);
  color: var(--ink);
}
:is(.hero-zooming, .hero-running) .actions > .btn > span:first-child {
  padding-left: 10px;
  transition: transform 0.35s var(--ease);
}
:is(.hero-zooming, .hero-running) .actions .main-arrow {
  width: 22px;
  height: 22px;
  padding: 3px;
  display: flex;
  flex: 0 0 22px;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 999px;
  color: #000;
  opacity: 0;
  transform: translateX(-8px);
  transition:
    opacity 0.25s ease,
    transform 0.35s var(--ease);
}
:is(.hero-zooming, .hero-running) .actions .main-arrow svg {
  width: 16px;
  height: 16px;
}
:is(.hero-zooming, .hero-running) .actions > .btn:hover,
:is(.hero-zooming, .hero-running) .actions > .btn:focus-visible {
  transform: none;
}
:is(.hero-zooming, .hero-running) .actions > .btn.second:hover,
:is(.hero-zooming, .hero-running) .actions > .btn.second:focus-visible {
  background: var(--ink);
  color: #fff;
}
:is(.hero-zooming, .hero-running) .actions > .btn:hover > span:first-child,
:is(.hero-zooming, .hero-running)
  .actions
  > .btn:focus-visible
  > span:first-child {
  transform: translateX(-11px);
}
:is(.hero-zooming, .hero-running) .actions > .btn:hover .main-arrow,
:is(.hero-zooming, .hero-running) .actions > .btn:focus-visible .main-arrow {
  opacity: 1;
  transform: translateX(0);
}
.hero-zoom-scroll {
  position: absolute;
  z-index: 4;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  animation: hero-zoom-scroll-cue 1.8s ease-in-out infinite;
}
@keyframes hero-zoom-scroll-cue {
  50% {
    transform: translate(-50%, 8px);
  }
}
@media (max-width: 700px) {
  .hero-zooming {
    min-height: 760px;
  }
  .hero-zooming .float-img {
    width: clamp(125px, 34vw, 190px);
    border-radius: 13px;
  }
  .hero-zooming .hero-scrim {
    background: radial-gradient(
      circle at center,
      rgba(255, 255, 255, 0.96) 0 18%,
      rgba(255, 255, 255, 0.76) 34%,
      rgba(255, 255, 255, 0.34) 50%,
      rgba(255, 255, 255, 0.08) 64%,
      transparent 74%
    );
  }
  .hero-zoom-content {
    padding: 110px 0;
  }
  .hero-zoom-content h1 {
    font-size: clamp(34px, 10vw, 44px);
  }
  :is(.hero-zooming, .hero-running) .actions {
    flex-wrap: wrap;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero-zoom-scroll {
    animation: none;
  }
}

.elementor-widget-guestpro-stats,
.elementor-widget-guestpro-stats > .elementor-widget-container {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
.guestpro-stat-grid {
  width: 100%;
  display: block;
  overflow: hidden;
  --stat-fade: 28px;
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0,
    #000 var(--stat-fade),
    #000 calc(100% - var(--stat-fade)),
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0,
    #000 var(--stat-fade),
    #000 calc(100% - var(--stat-fade)),
    transparent 100%
  );
}
.guestpro-stat-grid .stat-track {
  width: max-content;
  display: flex;
  will-change: transform;
  animation: guestpro-stat-grid-marquee 85s linear infinite;
}
.guestpro-stat-grid .stat-set {
  flex: 0 0 auto;
  display: flex;
  align-items: stretch;
  gap: 16px;
  padding-right: 16px;
}
.guestpro-stat-grid .stat {
  flex: 0 0 auto;
  width: clamp(280px, 20vw, 520px);
  min-height: 200px;
  padding: 25px 20px;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 15px;
}
.guestpro-stat-grid .stat .num {
  margin-top: auto;
  font-size: 60px;
  line-height: 1.2;
  letter-spacing: -0.07em;
}
.guestpro-stat-grid .stat .num small {
  margin-left: 7px;
  font-size: 30px;
}
.guestpro-stat-grid .stat p {
  margin: 18px 0 0;
  font-size: 12px;
  line-height: 1.5;
}
.guestpro-stat-grid:hover .stat-track {
  animation-play-state: paused;
}
@keyframes guestpro-stat-grid-marquee {
  to {
    transform: translateX(-50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .guestpro-stat-grid {
    overflow-x: auto;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .guestpro-stat-grid .stat-track {
    animation: none;
  }
  .guestpro-stat-grid .stat-set[aria-hidden="true"] {
    display: none;
  }
}

.elementor-widget-guestpro-trust-layer,
.elementor-widget-guestpro-trust-layer > .elementor-widget-container {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
.guestpro-trust-layer {
  --trust-layer-bg: var(--hm-coffee-05);
  position: relative;
  overflow: hidden;
  color: #fff;
}
.guestpro-trust-layer,
.guestpro-trust-layer *,
.guestpro-trust-layer::before,
.guestpro-trust-layer::after {
  box-sizing: border-box;
}
.guestpro-trust-layer .trust-layer-inner {
  position: relative;
  min-height: 380px;
  overflow: hidden;
}
.guestpro-trust-layer::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  background: linear-gradient(
    90deg,
    var(--trust-layer-bg) 0%,
    var(--trust-layer-bg) 25%,
    color-mix(in srgb, var(--trust-layer-bg) 93%, transparent) 38%,
    color-mix(in srgb, var(--trust-layer-bg) 36%, transparent) 62%,
    transparent 82%
  );
  pointer-events: none;
}
/* Fade only the existing overlay; preserve its gradient and final appearance. */
.works-fade .guestpro-trust-layer::after {
  opacity: 0;
  transition: opacity 0.7s ease;
}
.works-fade.is-dark .guestpro-trust-layer::after {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .works-fade .guestpro-trust-layer::after {
    transition: none;
  }
}
.guestpro-trust-layer .trust-layer-copy {
  position: absolute;
  z-index: 4;
  top: 50%;
  left: 0;
  width: min(600px, 43vw);
  padding-left: clamp(24px, 3.5vw, 50px);
  transform: translateY(-50%);
}
.guestpro-trust-layer .guestpro-trust-subtitle {
  display: inline-flex;
  margin-bottom: 25px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}
.guestpro-trust-layer .guestpro-trust-title {
  margin: 0;
  color: inherit;
  font-size: clamp(36px, 5vw, 48px);
  line-height: 1.2;
  letter-spacing: -0.038em;
  font-weight: 600;
}
.guestpro-trust-layer .guestpro-trust-description {
  margin-top: 20px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 15px;
  line-height: 1.55;
}
.guestpro-trust-layer .guestpro-trust-description > :first-child {
  margin-top: 0;
}
.guestpro-trust-layer .guestpro-trust-description > :last-child {
  margin-bottom: 0;
}
.guestpro-trust-layer .guestpro-trust-button {
  margin-top: 24px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  color: inherit;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.5px;
}
.guestpro-trust-layer .guestpro-trust-button > span {
  padding-bottom: 1px;
  border-bottom: 1px solid currentColor;
}
.guestpro-trust-layer .guestpro-trust-button svg {
  width: 20px;
  height: 20px;
  stroke-width: 1;
  transition: transform 0.25s var(--ease);
}
.guestpro-trust-layer .guestpro-trust-button:hover svg,
.guestpro-trust-layer .guestpro-trust-button:focus-visible svg {
  transform: translate(3px, -3px);
}
.guestpro-trust-layer .trust-logo-field {
  position: absolute;
  z-index: 1;
  inset: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
  transform: translateX(0%);
}
.guestpro-trust-layer .trust-logo-row {
  width: 100%;
  overflow: hidden;
}
.guestpro-trust-layer .trust-logo-track {
  /* width: max-content; */
  display: flex;
  transform: translateX(-50%);
  animation: guestpro-trust-logos-right 78s linear infinite;
  will-change: transform;
}
.guestpro-trust-layer .trust-logo-row:nth-child(2) .trust-logo-track {
  animation-duration: 92s;
}
.guestpro-trust-layer .trust-logo-row:nth-child(3) .trust-logo-track {
  animation-duration: 84s;
}
.guestpro-trust-layer .trust-logo-row:nth-child(4) .trust-logo-track {
  animation-duration: 98s;
}
.guestpro-trust-layer .trust-logo-set {
  padding-right: 14px;
  display: flex;
  gap: 14px;
}
.guestpro-trust-layer .trust-logo-tile {
  width: 80px;
  height: 80px;
  flex: 0 0 80px;
  padding: 8px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  background: #fff;
}
.guestpro-trust-layer .trust-logo-tile img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}
@keyframes guestpro-trust-logos-right {
  from {
    transform: translateX(-50%);
  }
  to {
    transform: translateX(0);
  }
}
@media (max-width: 800px) {
  .guestpro-trust-layer,
  .guestpro-trust-layer .trust-layer-inner {
    min-height: 80vh;
  }
  .guestpro-trust-layer::after {
    background: linear-gradient(
      180deg,
      var(--trust-layer-bg) 0%,
      var(--trust-layer-bg) 29%,
      color-mix(in srgb, var(--trust-layer-bg) 90%, transparent) 42%,
      color-mix(in srgb, var(--trust-layer-bg) 18%, transparent) 70%,
      transparent 100%
    );
  }
  .guestpro-trust-layer .trust-layer-copy {
    top: 56px;
    right: 24px;
    left: 24px;
    width: auto;
    padding-left: 0;
    transform: none;
  }
  .guestpro-trust-layer .trust-logo-field {
    inset: 30vh 0 0;
    padding: 0px 0;
    transform: none;
  }
  .guestpro-trust-layer .trust-logo-row.trust-logo-row-4 {
    display: none;
  }
  .guestpro-trust-layer .trust-logo-tile {
    width: 82px;
    height: 82px;
    flex-basis: 82px;
    padding: 13px;
    border-radius: 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .guestpro-trust-layer .trust-logo-track {
    animation: none;
  }
}

.elementor-widget-guestpro-single-card,
.elementor-widget-guestpro-single-card > .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.guestpro-single-card {
  position: relative;
  padding: 40px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-sizing: border-box;
  background: #f3f3f7;
  color: #050505;
  border-radius: 15px;
  transition: background-color 0.5s ease;
}
.guestpro-single-card:hover {
  background-color: #f0ffc8 !important;
}
/* .guestpro-single-card::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 122px;
  left: 0;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #fff;
  transform: translateX(-50%);
  pointer-events: none;
} */
.guestpro-single-card-icon {
  padding: 8px;
  position: relative;
  z-index: 2;
  width: 45px;
  height: 45px;
  flex: 0 0 45px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  border-radius: 10px;
  background: #5858581c;
  color: #050505;
}
.guestpro-single-card-icon i {
  font-size: 36px;
}
.guestpro-single-card-icon svg {
  width: 36px;
  height: 36px;
  fill: currentColor;
}
.guestpro-single-card-content {
  position: relative;
  z-index: 2;
  min-height: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.guestpro-single-card-title {
  margin: 30px 0 15px;
  color: inherit;
  font-size: 21px;
  line-height: 1.12;
  letter-spacing: -0.035em;
  font-weight: 700;
}
.guestpro-single-card-description {
  max-width: 430px;
  color: rgba(5, 5, 5, 0.78);
  font-size: 14px;
  line-height: 1.45;
}
.guestpro-single-card-description > :first-child {
  margin-top: 0;
}
.guestpro-single-card-description > :last-child {
  margin-bottom: 0;
}
.guestpro-single-card-button {
  color: inherit;
}
.guestpro-single-card-button span {
  margin-top: auto;
  padding-top: 52px;
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 13px;
  font-size: 11px;
  border-bottom: 1px solid;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  padding-bottom: 2px;
  text-decoration: none;
}
.guestpro-single-card-button svg {
  stroke-width: 1;
  width: 20px;
  height: 20px;
  margin-bottom: -6px;
  transition: transform 0.25s var(--ease);
}
.guestpro-single-card-button:hover svg,
.guestpro-single-card-button:focus-visible svg {
  transform: translateX(5px);
}

.sticky-title.elementor-sticky--active.show-icon .icon-sticky {
  opacity: 1 !important;
  transform: translateX(0) !important;
}
.icon-sticky {
  opacity: 0;
  transform: translateX(-8px);
  transition:
    opacity 0.5s ease,
    transform 0.5s ease,
    color 0.7s ease;
}
.icon-sticky svg {
  stroke: #211707;
}
/* .works-fade.is-dark{
  color: #fff;
 } */
/* .works-fade.is-dark .sticky-title{
  display: none;
} */

@media (max-width: 700px) {
  .guestpro-single-card {
    min-height: auto;
    padding: 30px;
    border-radius: 22px;
  }
  .guestpro-single-card::before {
    top: 92px;
    width: 46px;
    height: 46px;
  }
  .guestpro-single-card-icon {
    width: 50px;
    height: 50px;
    flex-basis: 50px;
    padding: 13px;
  }
  .guestpro-single-card-button span {
    margin-top: auto;
    padding-top: 30px;
  }
  .guestpro-single-card-title {
    margin-top: 25px;
    font-size: 20px;
  }
  .guestpro-single-card-button {
    font-size: 16px;
  }
}

.guestpro-single-card-2-group {
  display: flex !important;
  align-items: flex-end;
  gap: 12px;
}
.guestpro-single-card-2-group > .elementor-widget-guestpro-single-card-2 {
  width: auto !important;
  min-width: 0;
  height: var(--guestpro-card-inactive-height, 220px);
  flex: 1 1 0;
  transition:
    flex-grow 0.75s cubic-bezier(0.2, 0.8, 0.2, 1),
    height 0.75s cubic-bezier(0.2, 0.8, 0.2, 1),
    filter 0.45s ease;
}
.guestpro-single-card-2-group
  > .elementor-widget-guestpro-single-card-2.active {
  z-index: 5;
  height: 360px;
  flex-grow: 3;
  filter: drop-shadow(0 28px 32px rgba(8, 34, 31, 0.13));
}
.elementor-widget-guestpro-single-card-2 > .elementor-widget-container,
.guestpro-single-card-2 {
  width: 100%;
  height: 100%;
}
.guestpro-single-card-2 {
  position: relative;
  z-index: 1;
  padding: 0;
  overflow: hidden;
  box-sizing: border-box;
  cursor: pointer;
  background: #fff;
  color: var(--ink);
  border-radius: 10px;
}
.guestpro-single-card-2-copy {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  padding: 28px;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  background: #fff;
  transition:
    width 0.75s cubic-bezier(0.2, 0.8, 0.2, 1),
    padding 0.45s ease;
}
.elementor-widget-guestpro-single-card-2.active .guestpro-single-card-2-copy {
  width: 48%;
  padding: 34px;
}
.guestpro-single-card-2-title {
  letter-spacing: 0px !important;
  margin: 0 0 10px;
  color: inherit;
  font-size: clamp(20px, 1.4vw, 30px);
  line-height: 1.1;
  font-weight: 600;
}
.guestpro-single-card-2-description {
  margin: 0 0 9px;
  color: rgba(11, 37, 34, 0.72);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.55;
}
.guestpro-single-card-2-description > :first-child {
  margin-top: 0;
}
.guestpro-single-card-2-description > :last-child {
  margin-bottom: 0;
}
.guestpro-single-card-2-button {
  margin-top: 10px;
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 7px;
  color: inherit;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
}
.elementor-widget-guestpro-single-card-2:not(.active)
  .guestpro-single-card-2-description,
.elementor-widget-guestpro-single-card-2:not(.active) .case-action,
.elementor-widget-guestpro-single-card-2:not(.active)
  .guestpro-single-card-2-metrics {
  display: none;
}
.elementor-widget-guestpro-single-card-2:not(.active)
  .guestpro-single-card-2-copy {
  justify-content: space-between;
}
.guestpro-single-card-2-button svg {
  transition: transform 0.25s var(--ease);
  stroke-width: 1;
  width: 20px;
}
.guestpro-single-card-2-button span {
  border-bottom: 1px solid;
  letter-spacing: 0.5px;
  font-weight: 600;
  padding-bottom: 2px;
}
.guestpro-single-card-2-button:hover svg,
.guestpro-single-card-2-button:focus-visible svg {
  transform: translate(3px, -3px);
}
.guestpro-single-card-2-stat {
  margin-top: auto;
  padding: 0;
  display: block;
  background: transparent;
  font-size: 12px;
  font-weight: 500;
}
.guestpro-single-card-2-stat strong {
  display: block;
  font-size: 25px;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: normal;
}
.guestpro-single-card-2-stat span {
  display: block;
}
.guestpro-single-card-2-metrics {
  margin-top: auto;
  padding-top: 22px;
}
.guestpro-single-card-2-image {
/* 	   max-width: 280px ! IMPORTANT; */
        margin-left: auto !important;
  position: absolute;
  z-index: 1;
  inset: 0 0 0 48%;
  width: 52%;
  height: auto !important;
  display: block;
  border-radius: 8px !important;
  clip-path: inset(15px round 10px);
  opacity: 0;
  transform: scale(1.06);
  object-fit: cover;
  object-position: center;
  transition:
    opacity 0.4s ease 0.18s,
    transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.elementor-widget-guestpro-single-card-2.active .guestpro-single-card-2-image {
  opacity: 1;
  transform: scale(1);
}
/* Active desktop card: keep the image in normal flow so it defines card height. */
@media (min-width: 1025px) {
  .guestpro-single-card-2-group
    > .elementor-widget-guestpro-single-card-2.active {
    height: auto;
  }
  .elementor-widget-guestpro-single-card-2.active
    > .elementor-widget-container {
    height: auto;
  }
  .elementor-widget-guestpro-single-card-2.active
    .guestpro-single-card-2 {
    height: auto;
    display: grid;
    grid-template-columns: minmax(0, 48%) minmax(0, 52%);
    align-items: stretch;
  }
  .elementor-widget-guestpro-single-card-2.active
    .guestpro-single-card-2-copy {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    height: auto;
  }
  .elementor-widget-guestpro-single-card-2.active
    .guestpro-single-card-2-image {
    position: relative;
    inset: auto;
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    width: calc(100% - 30px);
    height: auto !important;
    margin: 15px;
    border-radius: 10px;
    clip-path: none;
    object-fit: contain;
  }
}
/* Vertical image variants. Add img-top or img-bottom to the parent wrapper. */
@media (min-width: 1025px) {
  .img-top .guestpro-single-card-2-group
    > .elementor-widget-guestpro-single-card-2.active,
  .img-bottom .guestpro-single-card-2-group
    > .elementor-widget-guestpro-single-card-2.active,
  .elementor-widget-guestpro-single-card-2.img-top.active,
  .elementor-widget-guestpro-single-card-2.img-bottom.active {
    height: auto;
    min-height: 0;
  }
  .img-top .elementor-widget-guestpro-single-card-2.active
    > .elementor-widget-container,
  .img-bottom .elementor-widget-guestpro-single-card-2.active
    > .elementor-widget-container,
  .elementor-widget-guestpro-single-card-2:is(.img-top, .img-bottom).active
    > .elementor-widget-container {
    height: auto;
  }
  .img-top .elementor-widget-guestpro-single-card-2.active
    .guestpro-single-card-2,
  .img-bottom .elementor-widget-guestpro-single-card-2.active
    .guestpro-single-card-2,
  .elementor-widget-guestpro-single-card-2:is(.img-top, .img-bottom).active
    .guestpro-single-card-2 {
    height: auto;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
  }
  .img-top .elementor-widget-guestpro-single-card-2.active
    .guestpro-single-card-2-copy,
  .img-bottom .elementor-widget-guestpro-single-card-2.active
    .guestpro-single-card-2-copy,
  .elementor-widget-guestpro-single-card-2.img-top.active
    .guestpro-single-card-2-copy,
  .elementor-widget-guestpro-single-card-2.img-bottom.active
    .guestpro-single-card-2-copy {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    padding: 28px 34px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    column-gap: clamp(24px, 4vw, 60px);
    align-items: start;
  }
  .img-top .elementor-widget-guestpro-single-card-2.active
    .guestpro-single-card-2-title,
  .img-bottom .elementor-widget-guestpro-single-card-2.active
    .guestpro-single-card-2-title,
  .elementor-widget-guestpro-single-card-2:is(.img-top, .img-bottom).active
    .guestpro-single-card-2-title {
    grid-column: 1;
    grid-row: 1;
  }
  .img-top .elementor-widget-guestpro-single-card-2.active
    .guestpro-single-card-2-description,
  .img-bottom .elementor-widget-guestpro-single-card-2.active
    .guestpro-single-card-2-description,
  .elementor-widget-guestpro-single-card-2:is(.img-top, .img-bottom).active
    .guestpro-single-card-2-description {
    grid-column: 1;
    grid-row: 2;
  }
  .img-top .elementor-widget-guestpro-single-card-2.active
    .guestpro-single-card-2-button,
  .img-bottom .elementor-widget-guestpro-single-card-2.active
    .guestpro-single-card-2-button,
  .elementor-widget-guestpro-single-card-2:is(.img-top, .img-bottom).active
    .guestpro-single-card-2-button {
    grid-column: 1;
    grid-row: 3;
  }
  .img-top .elementor-widget-guestpro-single-card-2.active
    .guestpro-single-card-2-metrics,
  .img-bottom .elementor-widget-guestpro-single-card-2.active
    .guestpro-single-card-2-metrics,
  .elementor-widget-guestpro-single-card-2:is(.img-top, .img-bottom).active
    .guestpro-single-card-2-metrics {
    grid-column: 2;
    grid-row: 1 / 4;
    align-self: end;
    margin: 0;
    padding: 0;
  }
  .img-top .elementor-widget-guestpro-single-card-2.active
    .guestpro-single-card-2-copy,
  .elementor-widget-guestpro-single-card-2.img-top.active
    .guestpro-single-card-2-copy {
    grid-column: 1;
    grid-row: 2;
  }
  .img-top .elementor-widget-guestpro-single-card-2.active
    .guestpro-single-card-2-image,
  .elementor-widget-guestpro-single-card-2.img-top.active
    .guestpro-single-card-2-image {
    position: relative;
    inset: auto;
    grid-column: 1;
    grid-row: 1;
    width: calc(100% - 30px);
    height: auto !important;
    margin: 15px;
    border-radius: 10px;
    clip-path: none;
    object-fit: contain;
  }
  .img-bottom .elementor-widget-guestpro-single-card-2.active
    .guestpro-single-card-2-copy,
  .elementor-widget-guestpro-single-card-2.img-bottom.active
    .guestpro-single-card-2-copy {
    grid-column: 1;
    grid-row: 1;
  }
  .img-bottom .elementor-widget-guestpro-single-card-2.active
    .guestpro-single-card-2-image,
  .elementor-widget-guestpro-single-card-2.img-bottom.active
    .guestpro-single-card-2-image {
    position: relative;
    inset: auto;
    grid-column: 1;
    grid-row: 2;
    width: calc(100% - 30px);
    height: auto !important;
    margin: 15px;
    border-radius: 10px;
    clip-path: none;
    object-fit: contain;
  }
}
@media (max-width: 1024px) {
  .guestpro-single-card-2-group {
    width: 100%;
    min-width: 0;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
  }
  .guestpro-single-card-2-group > .elementor-widget-guestpro-single-card-2,
  .guestpro-single-card-2-group
    > .elementor-widget-guestpro-single-card-2.active {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    grid-column: 1 / -1 !important;
  }
  .guestpro-single-card-2-group
    > .elementor-widget-guestpro-single-card-2.active {
    height: 520px;
  }
  .elementor-widget-guestpro-single-card-2.active .guestpro-single-card-2-copy {
    width: 100%;
    height: 55%;
    padding: 20px;
  }
  .elementor-widget-guestpro-single-card-2.active
    .guestpro-single-card-2-image {
    transform: scale(0.97);
	
  }
  .guestpro-single-card-2-image {
    inset: 55% 0 0;
    width: 100%;
    height: 45% !important;
  }
}
/* Mobile: every card stays fully open and follows one natural content flow. */
@media (max-width: 767px) {
  .guestpro-single-card-2-group
    > .elementor-widget-guestpro-single-card-2,
  .guestpro-single-card-2-group
    > .elementor-widget-guestpro-single-card-2.active {
    height: auto !important;
    min-height: 0 !important;
    filter: none;
  }
  .guestpro-single-card-2 {
    height: auto;
    display: flex;
    flex-direction: column;
    cursor: default;
  }
  .elementor-widget-guestpro-single-card-2
    .guestpro-single-card-2-image {
		        max-width: 100% !important;
    height: auto !important;
    position: relative;
    inset: auto;
    order: 1;
    width: calc(100% - 24px);
    margin: 12px;
    flex: none;
    opacity: 1;
    transform: none;
    clip-path: none;
    object-fit: contain;
  }
  .elementor-widget-guestpro-single-card-2
    .guestpro-single-card-2-copy,
  .elementor-widget-guestpro-single-card-2.active
    .guestpro-single-card-2-copy {
    position: relative;
    inset: auto;
    order: 2;
    width: 100%;
    height: auto;
    padding: 18px 20px 22px;
    display: flex;
  }
  .elementor-widget-guestpro-single-card-2:not(.active)
    .guestpro-single-card-2-description,
  .elementor-widget-guestpro-single-card-2:not(.active) .case-action,
  .elementor-widget-guestpro-single-card-2:not(.active)
    .guestpro-single-card-2-metrics {
    display: block;
  }
  .elementor-widget-guestpro-single-card-2
    .guestpro-single-card-2-description {
    margin-bottom: 6px;
  }
  .elementor-widget-guestpro-single-card-2
    .guestpro-single-card-2-metrics {
    margin-top: 10px;
    padding-top: 0;
  }
  .elementor-widget-guestpro-single-card-2
    .guestpro-single-card-2-stat {
    margin-top: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .guestpro-single-card-2-group > .elementor-widget-guestpro-single-card-2,
  .guestpro-single-card-2-copy,
  .guestpro-single-card-2-image {
    transition: none;
  }
}

.elementor-widget-guestpro-testimonials,
.elementor-widget-guestpro-testimonials > .elementor-widget-container,
.guestpro-testimonials {
  width: 100%;
  min-width: 0;
}
.guestpro-testimonials {
  padding: 0;
  overflow: visible;
  background: transparent;
}
.guestpro-testimonial-nav {
  margin-bottom: 20px;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-right: 10%;
}
.guestpro-testimonial-nav button {
  width: 45px;
  height: 45px;
  padding: 0 0 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 99px;
  background: #fff;
  color: #000;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.guestpro-testimonial-viewport {
  width: 100%;
  overflow: hidden;
  border-radius: 0px;
}
.guestpro-testimonial-slider {
  position: relative;
  display: flex;
  transform: translateX(0);
  transition: transform 0.6s var(--ease);
  gap: 15px;
}
.guestpro-testimonial-quote {
  position: relative;
  flex: 0 0 96%;
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 40fr) minmax(0, 54fr);
  column-gap: 6%;
  padding: 25px 70px 25px 25px;
  overflow: hidden;
  box-sizing: border-box;
  border-radius: 15px;
  background: #fff;
  align-items: center;
}
.guestpro-testimonial-quote::before,
.guestpro-testimonial-quote::after {
  display: none;
  content: "";
  position: absolute;
  z-index: 0;
  background: var(--main);
  pointer-events: none;
}
.guestpro-testimonial-quote::before {
  width: 18%;
  height: 60px;
  top: 0;
  left: 0;
}
.guestpro-testimonial-quote::after {
  width: 18%;
  height: 62px;
  right: 0;
  bottom: 0;
}
.guestpro-testimonial-photo {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: transparent;
  width: 100%;
  aspect-ratio: 1;
  align-self: center;
  border-radius: 15px;
}
.guestpro-testimonial-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100% !important;
  display: block;
  object-fit: cover;
  object-position: center;
  border-radius: inherit;
}
.guestpro-testimonial-copy {
  position: relative;
  z-index: 1;
  min-width: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
.guestpro-testimonial-copy blockquote {
  margin: 0;
  color: #000;
  font-size: 21px;
  line-height: 1.6;
  letter-spacing: -0.03em;
}
.guestpro-testimonial-name {
  margin-top: 30px;
  color: var(--ink);
  font-size: clamp(14px, 1.6vw, 21px);
  font-style: normal;
  font-weight: 700;
}
.guestpro-testimonial-job {
  color: var(--ink);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  margin-top: 3px;
  margin-bottom: 20px;
}
@media (min-width: 801px) {
  .guestpro-testimonial-copy {
    align-self: center;
  }
  .guestpro-testimonial-name {
 
  }
  .testi-s2 .guestpro-testimonials,
  .guestpro-testimonials.testi-s2 {
    display: flex;
    flex-direction: column;
  }
  .testi-s2 .guestpro-testimonial-nav {
    order: 2;
    justify-content: flex-start;
    margin: 24px 0 0;
  }
}
@media (max-width: 800px) {
  .guestpro-testimonials {
    display: flex;
    flex-direction: column;
  }
  .guestpro-testimonial-viewport {
    order: 1;
    transition: height 0.6s var(--ease);
  }
  .guestpro-testimonial-slider {
    align-items: flex-start;
  }
  .guestpro-testimonial-nav {
    order: 2;
    margin: 0 auto;
    margin-top: 50px;
    justify-content: flex-end;
  }
  .guestpro-testimonial-quote {
    min-height: auto;
    grid-template-columns: minmax(0, 120px) minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    align-content: start;
    gap: 0 20px;
    padding: 28px;
  }
  .guestpro-testimonial-photo {
    grid-column: 1;
    grid-row: 2 / 4;
    min-height: 0;
    max-width: 120px;
    justify-self: start;
    margin-top: 30px;
  }
  .guestpro-testimonial-copy {
    display: contents;
    padding: 0;
  }
  .guestpro-testimonial-copy blockquote {
    grid-column: 1 / -1;
    grid-row: 1;
    font-size: 17px;
    text-align: left;
  }
  .guestpro-testimonial-name {
    grid-column: 2;
    grid-row: 2;
    align-self: end;
    margin-top: 30px;
    font-size: 20px;
    text-align: left;
  }
  .guestpro-testimonial-job {
    grid-column: 2;
    grid-row: 3;
    align-self: start;
    min-width: 0;
    overflow-wrap: anywhere;
    text-align: left;
  }

  .box-mega-menu {
    min-width: 0;
    padding: 15px 25px !important;
    border-right: 0px;
  }
  .title-mega .elementor-heading-title {
    margin: 0px !important;
    color: #211b11 !important;
    font-size: 14px;
  }
}
@media (max-width: 500px) {
  .btn.main.mini a {
    padding: 5px 0px 6px 8px;
    min-width: 90px;
    min-height: 35px;
    font-size: 11px;
  }
  .btn.main.mini .elementor-button-icon {
    width: 18px;
    height: 18px;
  }
  .guestpro-testimonial-quote {
    flex-basis: 100%;
    padding: 20px 20px 40px 20px;
    grid-template-columns: minmax(0, 90px) minmax(0, 1fr);
    gap: 0 16px;
  }
  .guestpro-testimonial-copy blockquote {
    font-size: 15px;
  }
  .guestpro-testimonial-name {
    font-size: 18px;
  }
  .guestpro-testimonial-job {
    font-size: 13px;
  }
  .guestpro-testimonial-slider {
    gap: 0px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .guestpro-testimonial-viewport,
  .guestpro-testimonial-slider {
    transition: none;
  }
}
.a-lang svg:first-child {
  width: 17px;
  height: 17px;
  margin-bottom: 1px;
  margin-right: 2px;
  stroke-width: 1;
}
.a-lang svg:last-child {
  width: 17px;
  height: 17px;
  margin-bottom: -1px;
  margin-left: 3px;
  stroke-width: 1.3;
}
.navlinks .e-n-menu[data-layout="dropdown"] .e-n-menu-title {
  justify-content: space-between !important;
}
.navlinks .e-n-menu[data-layout="dropdown"] .e-n-menu-wrapper {
  margin-top: 21px !important;
  background: #fff !important;
  height: 100vh;
}

.title-mega .elementor-heading-title {
  margin: 0 0 0px;
  color: #211b11 !important;
  font-size: 15px;
  font-weight: 500 !important;
  letter-spacing: 0px;
}
.menu-mega .elementor-icon-list-item {
  line-height: 2 !important;
  font-weight: 300;
  opacity: 0.8;
}
.menu-mega .elementor-icon-list-text {
  color: #211b11 !important;
  font-size: 13px !important;
}
.menu-mega .elementor-icon-list-text:hover {
  color: var(--second) !important;
}
.box-mega-menu {
  min-width: 0;
  padding: 42px clamp(24px, 2.2vw, 46px) !important;
  border-right: 1px solid #deddd5;
}

/* Elementor pricing card */
.elementor-widget-guestpro-pricing-card,
.elementor-widget-guestpro-pricing-card > .elementor-widget-container {
  width: 100%;
  height: 100%;
  min-width: 0;
}
.guestpro-pricing-card {
  position: relative;
  width: 100%;
  min-width: 0;
  /* height: 100%; */
  min-height: 540px !important;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  border: 1px solid #575757;
  background: #fff;
  color: #100d08;
}
.guestpro-pricing-card-header {
  min-height: 210px;
  padding: 32px 28px 25px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  box-sizing: border-box;
  background: #f3f2eb;
}
.guestpro-pricing-title {
  margin: 0 0 15px;
  color: inherit;
  font-size: 24px;
  font-weight: 500;
  line-height: 1 !important;
  letter-spacing: -0.045em !important;
}
.guestpro-pricing-subtitle {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.35;
}
.guestpro-pricing-button {
  min-height: 40px;
  margin-top: auto;
  padding: 10px 8px 10px 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  box-sizing: border-box;
  overflow: hidden;
  border-radius: 5px;
  background: #211702;
  color: #fff;
  font-size: 13px;
  line-height: 1.1;
  text-decoration: none;
}
.guestpro-pricing-button > span {
  display: inline-block;
  padding-left: 10px;
  transition: transform 0.35s var(--ease);
}
.guestpro-pricing-button svg {
  width: 22px;
  height: 22px;
  margin-left: 4px;
  padding: 4px;
  flex: 0 0 22px;
  box-sizing: border-box;
  border-radius: 999px;
  background: #fff;
  color: #000;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0;
  transform: translateX(-8px);
  transition:
    opacity 0.25s ease,
    transform 0.35s var(--ease);
}
.guestpro-pricing-button:hover > span,
.guestpro-pricing-button:focus-visible > span {
  transform: translateX(-7px);
}
.guestpro-pricing-button:hover svg,
.guestpro-pricing-button:focus-visible svg {
  opacity: 1;
  transform: translateX(0);
}
.guestpro-pricing-distribution {
  display: none !important;
  position: relative;
  min-height: 50px;
  padding: 15px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  box-sizing: border-box;
  border-top: 1px solid #d9d5c8;
  border-bottom: 1px solid #d9d5c8;
  background: #fff;
}
.guestpro-pricing-distribution-text {
  min-width: 0;
  font-size: 14px;
  line-height: 1.3;
}
.guestpro-pricing-tooltip {
  position: relative;
  z-index: 10;
  flex: 0 0 auto;
}
.guestpro-pricing-tooltip > summary {
  width: 17px;
  height: 17px;
  padding: 0;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  border: 1.5px solid currentColor;
  border-radius: 50%;
  font-size: 11px;
  line-height: 1;
  list-style: none;
  cursor: pointer;
}
.guestpro-pricing-tooltip > summary::-webkit-details-marker,
.guestpro-pricing-feature > summary::-webkit-details-marker {
  display: none;
}
.guestpro-pricing-tooltip-popover {
  position: absolute;
  right: auto;
  bottom: calc(100% + 20px);
  left: 50%;
  width: min(330px, 80vw);
  padding: 25px 52px 25px 25px;
  box-sizing: border-box;
  border: 1px solid #d9d4c7;
  border-radius: 6px;
  background: #fff;
  color: #100d08;
  box-shadow: 0 16px 35px rgba(31, 23, 8, 0.12);
  transform: translateX(-50%);
}
.guestpro-pricing-tooltip-popover::after {
  content: "";
  position: absolute;
  right: auto;
  bottom: -10px;
  left: 50%;
  width: 18px;
  height: 18px;
  border-right: 1px solid #d9d4c7;
  border-bottom: 1px solid #d9d4c7;
  background: #fff;
  transform: translateX(-50%) rotate(45deg);
}
.guestpro-pricing-tooltip-popover p {
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.35;
}
.guestpro-pricing-tooltip-popover a {
  color: var(--second);
  font-size: 14px;
  border-bottom: 1px solid var(--second);
}
.guestpro-pricing-tooltip-close {
  position: absolute;
  top: 13px;
  right: 18px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 32px;
  font-weight: 200;
  line-height: 1;
  cursor: pointer;
}
.guestpro-pricing-card-body {
  min-height: 0;
  padding: 12px 18px 30px;
  flex: 1;
  box-sizing: border-box;
  background: #fff;
}
.guestpro-pricing-body-description {
  padding: 14px 0px 22px;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.5;
}
.guestpro-pricing-body-description > :first-child {
  margin-top: 0;
}
.guestpro-pricing-body-description > :last-child {
  margin-bottom: 0;
}
.guestpro-pricing-feature {
  margin: 0;
  border-bottom: 1px solid #565656;
}
.guestpro-pricing-feature:last-child {
  border-bottom: 0;
}
.guestpro-pricing-feature > summary,
.guestpro-pricing-feature-row {
  min-height: 50px;
  padding: 10px 0;
  display: grid;
  /*   grid-template-columns: 35px minmax(0, 1fr) 18px; */
  grid-template-columns: minmax(0, 1fr) 18px;

  align-items: center;
  gap: 5px;
  box-sizing: border-box;
  list-style: none;
}
.guestpro-pricing-feature > summary {
  cursor: pointer;
}
.guestpro-pricing-feature-indicator {
  display: none !important;
  width: 22px;
  height: 22px;
  display: block;
  background: var(--pricing-feature-color, #fff570);
}
.guestpro-pricing-feature-title {
  min-width: 0;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.25;
}
.guestpro-pricing-feature-arrow {
  width: 10px;
  height: 10px;
  justify-self: end;
  border-top: 1.1px solid currentColor;
  border-right: 1.1px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.25s ease;
}
.guestpro-pricing-feature[open] .guestpro-pricing-feature-arrow {
  transform: rotate(135deg) translate(-2px, 2px);
}
.guestpro-pricing-feature-description {
  padding-bottom: 10px;
  font-size: 14px;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .guestpro-pricing-card {
    min-height: 0;
  }

  .guestpro-pricing-tooltip-popover {
    position: fixed;
    z-index: 9999;
    right: 20px;
    bottom: 20px;
    left: 20px;
    width: auto;
    transform: none;
  }
  .guestpro-pricing-tooltip-popover::after {
    display: none;
  }
}

/* Minimal plan comparison; mobile shows only the selected plan. */
.guestpro-pricing-list-shell {
  --pricing-list-border: rgba(16, 41, 35, 0.13);
  width: 100%;
  color: var(--third);
  background: transparent;
  border: 0;
  box-shadow: none;
}
.guestpro-pricing-list-tabs {
  display: none;
}
.guestpro-pricing-list {
  width: 100%;
  margin: 0;
  table-layout: fixed;
  border-collapse: collapse;
  border: 0;
  color: inherit;
  background: transparent;
}
.guestpro-pricing-list col {
  width: 24%;
}
.guestpro-pricing-list .guestpro-pricing-list-feature-column {
  width: 28%;
}
.guestpro-pricing-list th,
.guestpro-pricing-list td {
  padding: 25px 20px;
  border: 0;
  border-bottom: 1px solid var(--pricing-list-border);
  background: transparent;
  vertical-align: middle;
  text-align: left;
  font-size: 15px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.guestpro-pricing-list thead th {
  padding-block: 30px;
}
.guestpro-pricing-list-plan {
  font-size: 18px;
  font-weight: 600;
}
.guestpro-pricing-list-feature {
  font-weight: 500;
}
.guestpro-pricing-list-badge {
  display: none;
}
.guestpro-pricing-list-check {
  color: var(--second);
  background: transparent;
  font-size: 23px;
  line-height: 1;
}
.guestpro-pricing-list-value-label {
  margin-left: 6px;
}
@media (max-width: 767px) {
  .guestpro-pricing-list-tabs {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 8px 0 25px;
    scrollbar-width: thin;
  }
  .guestpro-pricing-list-tabs button {
    flex: 0 0 auto;
    padding: 12px 20px;
    border: 0;
    border-radius: 999px;
    background: var(--six);
    color: var(--third);
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition:
      background-color 0.2s ease,
      color 0.2s ease;
  }
  .guestpro-pricing-list-tabs button[aria-pressed="true"] {
    background: var(--third);
    color: var(--fourth);
  }
  .guestpro-pricing-list-tabs button:focus-visible {
    outline: 2px solid var(--second);
    outline-offset: 2px;
  }
  .guestpro-pricing-list {
    min-width: 0;
  }
  .guestpro-pricing-list colgroup,
  .guestpro-pricing-list thead th:not(:first-child) {
    display: none;
  }
  .guestpro-pricing-list thead,
  .guestpro-pricing-list tbody {
    display: block;
  }
  .guestpro-pricing-list tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    border-bottom: 1px solid var(--pricing-list-border);
  }
  .guestpro-pricing-list th,
  .guestpro-pricing-list td {
    border: 0;
    padding: 22px 10px;
  }
  .guestpro-pricing-list thead th:first-child {
    grid-column: 1 / -1;
    font-weight: 600;
  }
  .guestpro-pricing-list tbody td {
    display: none;
    text-align: right;
  }
  .guestpro-pricing-list-shell[data-selected-plan="0"] td:nth-child(2),
  .guestpro-pricing-list-shell[data-selected-plan="1"] td:nth-child(3),
  .guestpro-pricing-list-shell[data-selected-plan="2"] td:nth-child(4) {
    display: table-cell;
  }
}

/* Keep the heading and stacked cards together within their Elementor section. */
@media (min-width: 768px) and (min-height: 651px) {
  .section-sticky.has-sticky-heading,
  .section-sticky.has-sticky-heading > .e-con-inner {
    overflow: visible;
  }
  .section-sticky.has-sticky-heading .title-sticky {
    position: sticky;
    top: var(--section-sticky-top, 108px);
    translate: 0 var(--section-sticky-title-exit, 0px);
    z-index: 10;
  }
  .section-sticky.has-sticky-heading .guestpro-sticky-card {
    top: var(--section-sticky-card-top, 108px);
  }
}
.guestpro-sticky-cards {
  position: relative;
  isolation: isolate;
  display: flow-root;
}
.guestpro-sticky-card {
  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.08);
  padding: 45px;
  gap: 80px;
  position: sticky;
  top: var(--sticky-card-offset, 108px);
  min-height: var(--sticky-card-height, 450px);
  margin-bottom: var(--sticky-card-gap, 60px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  overflow: hidden;
  border-radius: var(--sticky-card-radius, 15px);
  background: #f6f6f6;
  color: var(--third);
}
.guestpro-sticky-card:nth-child(3n) {
  background: var(--fourth);
}
.guestpro-sticky-card:last-child {
  margin-bottom: 0;
}
.sticky-card-copy {
  display: flex;
  flex-direction: column;
}
.sticky-card-copy h3 {
  margin: 0 0 0px;
  font-size: 26px;
  line-height: 1.1;
  font-weight: 600;
  color: inherit;
}
.sticky-card-description {
  font-size: 15px;
  line-height: 1.5;
  margin: 0 0 25px;
}
.sticky-card-subtitle {
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 600;
  color: inherit;
}
.sticky-card-description > :last-child {
  margin-bottom: 0;
}
.sticky-card-description p {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}
.sticky-card-labels-group {
  margin-top: 0px;
}
.sticky-card-labels-title {
  margin: 0 0 16px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  color: inherit;
}
.sticky-card-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 12px;
  line-height: 1.5;
}
.sticky-card-labels li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  padding: 6px 12px 6px 6px;
  border-radius: 999px;
  background: var(--six);
  color: inherit;
  overflow-wrap: anywhere;
}
.sticky-card-labels li::before {
  content: "";
  display: block;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: var(--main);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%23000000'%3E%3Cpath d='M20.707 6.293a1 1 0 0 1 0 1.414l-10 10a1 1 0 0 1-1.414 0l-5-5a1 1 0 0 1 1.414-1.414L10 15.586l9.293-9.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 11px;
}
.sticky-card-action {
  order: 99 !important;
  margin-top: 30px;
  display: inline-flex;
  align-self: flex-start;
  gap: 5px;
  color: inherit;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 600;
}
.sticky-card-action > span:first-child {
  border-bottom: 1px solid currentColor;
}
.sticky-card-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: auto;
  max-width: 80%;
  padding-top: 40px;
}
.sticky-card-metrics strong {
  display: block;
  font-size: 28px;
}
.sticky-card-metrics span {
  display: block;
  font-size: 12px;
}
.sticky-card-art {
  min-width: 0;
  background: transparent;
}
.sticky-card-art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px !important;
}
.shadow .sticky-card-art img {
	    box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px;
}
@media (max-width: 767px) {
  .sticky-card-metrics {
    max-width: 100%;
  }
  .sticky-card-metrics strong {
    font-size: 23px;
  }
  .guestpro-sticky-card {
    padding: 30px;
    gap: 30px;
    position: relative;
    top: auto;
    grid-template-columns: 1fr;
  }

  .sticky-card-art img {
    max-height: 380px;
  }
}
@media (max-height: 650px) {
  .guestpro-sticky-card {
    position: relative;
    top: auto;
  }
}

/* GuestPro Partners directory */
.gp-partners {
  --gp-partner-accent: var(--third, #102923);
  padding: 0;
  background: var(--fourth, #fcfff1);
  color: var(--third, #102923);
}
.gp-partners .gp-partners-layout {
  display: grid;
  grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 64px);
}
.gp-partners .gp-partners-no-filter {
  grid-template-columns: minmax(0, 1fr);
}
.gp-partners-filters {
  margin: 36px 0 0;
  padding: 0;
  border: 0;
  min-width: 0;
}
.gp-partners-filters legend {
  padding: 0;
  margin-bottom: 26px;
  border-top: 1px solid #dbdbdb;
  width: 100%;
  font-weight: 500;
  padding-top: 20px;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 1px;
  color: #4a4747;
  display: none;
}
.gp-partners-filters label {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 15px;
  margin-bottom: 20px;
  cursor: pointer;
  line-height: 1.5;
}
.gp-partners-filters input {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin: 2px 0 0;
  accent-color: var(--gp-partner-accent);
}
.gp-partners-sidebar {
  min-width: 0;
}
@media (min-width: 768px) {
  .gp-partners-sidebar {
    position: sticky;
    top: var(--gp-partners-sticky-top, 60px);
    align-self: start;
    max-height: calc(100dvh - var(--gp-partners-sticky-top, 108px) - 24px);
    overflow-y: auto;
  }
}
.gp-partners-heading {
  margin: 0 0 24px;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.2;
  color: inherit;
}
.gp-partners-all {
  display: block;
  border: 0;
  background: transparent;
  padding: 0 0 20px;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
.gp-partners-all[aria-pressed="true"] {
  font-weight: 700;
}
.gp-partners-filters input[type="checkbox"] {
  appearance: none;
  position: absolute;
  left: 0;
  top: 2px;
  margin: 0;
  border: 0;
  border-radius: 50%;
  background: var(--main, #a3cd39);
  opacity: 0;
  transform: scale(0.65);
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
  cursor: pointer;
}
.gp-partners-filters label > span {
  padding-left: 0;
  transition: padding-left 0.2s ease;
}
.gp-partners-filters input:checked,
.gp-partners-filters label:hover input,
.gp-partners-filters input:focus-visible {
  opacity: 1;
  transform: scale(1);
}
.gp-partners-filters input:checked + span,
.gp-partners-filters label:hover > span,
.gp-partners-filters input:focus-visible + span {
  padding-left: 32px;
}
.gp-partners-filters input:checked + span {
  font-weight: 700;
}
@media (prefers-reduced-motion: reduce) {
  .gp-partners-filters input[type="checkbox"],
  .gp-partners-filters label > span {
    transition: none;
  }
}
/* Privacy navigation: use the same active cue as the Partners filters. */
.menu-privacy .elementor-nav-menu li {
  position: relative;
}
.menu-privacy .elementor-nav-menu li::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 0;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--main, #a3cd39);
  opacity: 0;
  transform: translateY(-50%) scale(0.65);
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
  pointer-events: none;
}
.menu-privacy .elementor-nav-menu li > a.elementor-item {
  padding-inline-start: 0 !important;
  transition:
    padding-inline-start 0.2s ease,
    font-weight 0.2s ease;
}
.menu-privacy .elementor-nav-menu li:hover::before,
.menu-privacy .elementor-nav-menu li:focus-within::before,
.menu-privacy .elementor-nav-menu li.current-menu-item::before,
.menu-privacy .elementor-nav-menu li.current-menu-ancestor::before {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}
.menu-privacy .elementor-nav-menu li:hover > a.elementor-item,
.menu-privacy .elementor-nav-menu li:focus-within > a.elementor-item,
.menu-privacy .elementor-nav-menu li.current-menu-item > a.elementor-item,
.menu-privacy .elementor-nav-menu li.current-menu-ancestor > a.elementor-item,
.menu-privacy .elementor-nav-menu a.elementor-item-active {
  padding-inline-start: 28px !important;
  font-weight: 600 !important;
}
@media (max-width: 767px) {
  .menu-privacy .elementor-menu-toggle,
  .menu-privacy .elementor-nav-menu--dropdown {
    display: none !important;
  }
  .menu-privacy .elementor-nav-menu--main {
    display: block !important;
    width: 100%;
    overflow: hidden;
  }
  .menu-privacy .elementor-nav-menu--main > .elementor-nav-menu {
    width: 100%;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap;
    gap: 24px;
    margin: 0;
    padding: 0 !important;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .menu-privacy .elementor-nav-menu--main > .elementor-nav-menu::-webkit-scrollbar {
    display: none;
  }
  .menu-privacy .elementor-nav-menu--main .menu-item {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  .menu-privacy .elementor-nav-menu--main .menu-item::before {
    position: relative;
    top: auto;
    left: auto;
    flex: 0 0 0;
    width: 0;
    height: 14px;
    margin-right: 0;
    transform: scale(0.65);
    transition:
      flex-basis 0.2s ease,
      width 0.2s ease,
      margin-right 0.2s ease,
      opacity 0.2s ease,
      transform 0.2s ease;
  }
  .menu-privacy .elementor-nav-menu--main .menu-item:hover::before,
  .menu-privacy .elementor-nav-menu--main .menu-item:focus-within::before,
  .menu-privacy .elementor-nav-menu--main .menu-item.current-menu-item::before,
  .menu-privacy .elementor-nav-menu--main .menu-item.current-menu-ancestor::before {
    flex-basis: 14px;
    width: 14px;
    margin-right: 8px;
    transform: scale(1);
  }
  .menu-privacy .elementor-nav-menu--main .menu-item > a.elementor-item,
  .menu-privacy .elementor-nav-menu--main .menu-item:hover > a.elementor-item,
  .menu-privacy .elementor-nav-menu--main .menu-item:focus-within > a.elementor-item,
  .menu-privacy .elementor-nav-menu--main .menu-item.current-menu-item > a.elementor-item,
  .menu-privacy .elementor-nav-menu--main .menu-item.current-menu-ancestor > a.elementor-item,
  .menu-privacy .elementor-nav-menu--main a.elementor-item-active {
    width: auto;
    padding: 0 !important;
    border: 0 !important;
    white-space: nowrap;
    background: transparent !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .menu-privacy .elementor-nav-menu li::before,
  .menu-privacy .elementor-nav-menu li > a.elementor-item {
    transition: none;
  }
}
.gp-partner-card {
  position: relative;
  transition:
    box-shadow 0.2s ease,
    transform 0.2s ease;
}
.gp-partner-detail {
  color: inherit;
  text-decoration: none;
}
.gp-partner-detail::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
}
.gp-partner-card:hover {
}
.gp-partner-card:focus-within {
  outline: 2px solid var(--gp-partner-accent);
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  .gp-partner-card {
    transition: none;
  }
  .gp-partner-card:hover {
    transform: none;
  }
}
.gp-partners-main {
  min-width: 0;
}
.gp-partners-search {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 15px;
  border-radius: 8px;
  background: #f3f3f3;
  font-size: 14px;
  font-weight: 300;
}
.gp-partners-search svg {
  width: 19px;
  flex-shrink: 0;
  color: var(--gp-partner-accent);
}
.gp-partners .gp-partners-search input {
  outline: none !important;
  min-width: 0;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  font: inherit;
  color: inherit;
}
.gp-partners-count {
  display: none;
  margin: 30px 0 20px;
}
.gp-partners-grid {
  margin-top: 30px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
}
.gp-partner-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid #f0f0f0 !important;
  padding: 25px;
  border: none;
  border-radius: 12px;
  background: #fff;
}
.gp-partner-logo {
  height: 70px;
  width: 70px;
  border-radius: 8px;
  padding: 12px;
  background: #f6f6f6;
  display: flex;
  align-items: center;
  justify-content: start;
  margin-bottom: 28px;
}
.gp-partner-logo img {
  display: block;
  max-width: 100%;
  width: auto;
  height: auto;
  max-height: 100%;
  object-fit: contain;
}
.gp-partner-card h3 {
  margin: 0 0 12px;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.25;
  color: inherit;
  overflow-wrap: anywhere;
}
.gp-partner-description {
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.gp-partner-link {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 12px;
  margin-top: auto;
  color: var(--gp-partner-accent);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.gp-partners-mobile-filter {
  display: none;
}
.gp-partners-more {
  display: block;
  margin: 32px auto 0;
  padding: 10px 26px;
  border: 1px solid currentColor;
  border-radius: 5px;
  font: inherit;
  cursor: pointer;
  font-size: 12px;
  background: #000;
  color: #fff;
  font-weight: 500;
}
.gp-partners [hidden] {
  display: none !important;
}
.gp-partners :is(input, select, a, button):focus-visible {
  outline: 2px solid var(--gp-partner-accent);
  outline-offset: 4px;
}
@media (max-width: 1100px) {
  .gp-partners-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .gp-partners .gp-partners-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .gp-partners-filters {
    display: none;
  }
  .gp-partners-mobile-filter {
    display: block;
    width: 100%;
    margin-top: 20px;
    padding: 16px;
    border: 1px solid rgb(16 41 35 / 18%);
    border-radius: 8px;
    background-color: #fff;
    color: inherit;
    font: inherit;
  }
  .gp-partners-search {
    padding: 16px 20px;
  }
  .gp-partners-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 15px;
  }
  .gp-partner-card {
    padding: 20px;
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 20px 5px;
    align-content: start;
    align-items: center;
  }
  .gp-partner-card .gp-partner-logo {
    width: 55px;
    height: 55px;
    margin: 0;
    grid-column: 1;
    grid-row: 1;
  }
  .gp-partner-card h3 {
    font-size: 18px;
    grid-column: 2;
    grid-row: 1;
    margin: 0;
  }
  .gp-partner-card .gp-partner-description {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}

/* GuestPro Testimonial Running */
.gtr {
  padding: 60px 0 70px;
  overflow: hidden;
}
.gtr-viewport {
  position: relative;
  overflow: hidden;
}
.gtr-track {
  display: flex;
  width: max-content;
  animation: gtr-run var(--gtr-duration, 70s) linear infinite;
}
.gtr-set {
  display: flex;
  gap: 24px;
  padding-right: 24px;
}
.gtr-card {
  box-sizing: border-box;
  width: clamp(360px, 37vw, 650px);
  min-height: 230px;
  padding: 36px;
  border-radius: 20px;
  background: var(--fourth);
  color: var(--third);
  display: flex;
  flex-direction: column;
}
.gtr-card blockquote {
  margin: 0 0 65px;
  padding: 0;
  border: 0;
  font-size: 16px;
  line-height: 1.5;
  color: inherit;
}
.gtr-person {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: auto;
}
.gtr-person img,
.gtr-avatar {
  width: 52px;
  height: 52px !important;
  border-radius: 100% !important;
  object-fit: cover;
  flex-shrink: 0;
}
.gtr-avatar {
  display: grid;
  place-items: center;
  background: var(--six);
}
.gtr-person strong,
.gtr-person div > span {
  display: block;
}
.gtr-person strong {
  font-size: 15px;
  font-weight: 500;
}
.gtr-person div > span {
  margin-top: 0px;
  font-size: 13px;
  opacity: 0.65;
}
.gtr:hover .gtr-track,
.gtr:focus-within .gtr-track {
  animation-play-state: paused;
}
.gtr-dots {
  display: none;
}
.gtr-logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-around;
  gap: 40px;
  margin: 75px auto 0;
}
.gtr-logos img {
  width: 130px;
  height: 50px;
  object-fit: contain;
  filter: grayscale(1);
}
@keyframes gtr-run {
  to {
    transform: translateX(-50%);
  }
}
@media (max-width: 767px) {
  .gtr {
    padding: 28px 16px 45px;
  }
  .gtr-viewport {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .gtr-viewport::-webkit-scrollbar {
    display: none;
  }
  .gtr-track {
    animation: none;
    width: 100%;
  }
  .gtr-set {
    width: 100%;
    flex: 0 0 100%;
    padding: 0;
    gap: 16px;
  }
  .gtr-set[aria-hidden] {
    display: none;
  }
  .gtr-card {
    width: 100%;
    flex: 0 0 100%;
    min-height: 300px;
    padding: 28px 22px;
    scroll-snap-align: start;
  }
  .gtr-card blockquote {
    font-size: 15px;
    margin-bottom: 50px;
  }
  .gtr-dots {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 18px;
  }
  .gtr-dot {
    padding: 8px;
    border: 0;
    background: transparent;
    cursor: pointer;
  }
  .gtr-dot::before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--six);
  }
  .gtr-dot[aria-pressed="true"]::before {
    background: var(--main);
  }
  .gtr-logos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 35px 25px;
    width: 100%;
    margin-top: 65px;
  }
  .gtr-logos img {
    max-width: 100%;
    justify-self: center;
  }
}
@media (prefers-reduced-motion: reduce) {
  .gtr-track {
    animation: none;
  }
  .gtr-viewport {
    overflow-x: auto;
  }
  .gtr-set[aria-hidden] {
    display: none;
  }
}

/* ========================================
   BENEFIT LIST - GUESTPRO
======================================== */

.benefit-list {
  list-style: none;
  padding: 0;
  margin: 0;

  gap: 34px;
}

/* ========================================
   LIST ITEM
======================================== */
.benefit-list ul {
  padding: 0px;
  margin-top: 20px;
}
.benefit-list li {
  position: relative;

  margin: 0;
  padding: 0 0 15px 40px;

  line-height: 1.65;
}

/* Remove default bullet */
.benefit-list li::marker {
  content: "";
}

/* ========================================
   CHECK ICON - TABLER SVG
======================================== */

.benefit-list li::before {
  content: "";

  position: absolute;
  top: 9%;
  left: 0;

  width: 20px;
  height: 20px;

  /* Kotak abu */
  background-color: #f1f1f1;
  border-radius: 6px;

  /* Check SVG */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%23000000'%3E%3Cpath d='M20.707 6.293a1 1 0 0 1 0 1.414l-10 10a1 1 0 0 1-1.414 0l-5-5a1 1 0 0 1 1.414-1.414L10 15.586l9.293-9.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E");

  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px;
}

/* ========================================
   BOLD TEXT
======================================== */

.benefit-list li strong {
  font-weight: 600;
  color: inherit;
}

/* ========================================
   LINKS
======================================== */
.benefit-list a:not(ul a):not(li a) {
    border-bottom: 1px solid var(--second);
    font-weight: 500;
}
.benefit-list li a,
.benefit-list  a {
  color: inherit;
  font-weight: 600;

  text-decoration: underline;
  text-decoration-color: #a1cc37;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;

  transition: color 0.3s ease;
}

.benefit-list li a:hover {
  color: #659630;
}

.info {
  display: inline;
  padding: 0 4px;

  background: linear-gradient(
    to bottom,
    transparent 52%,
    #a1cc37 52%,
    #a1cc37 85%,
    transparent 85%
  );

  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

/* GuestPro FAQ */
.gp-faq-group + .gp-faq-group {
  margin-top: 48px;
}
.gp-faq-group-title {
  margin: 0 0 24px;
  color: var(--third, #102923);
  font-weight: 600;
    font-size: 23px;
  line-height: 1.3;
}
.gp-faq {
  width: 100%;
}
.gp-faq-item {
  border-bottom: 1px solid
    color-mix(in srgb, var(--text, #0b2522bf) 25%, transparent);
}
.gp-faq-item:first-child {
  border-top: 1px solid
    color-mix(in srgb, var(--text, #0b2522bf) 45%, transparent);
}
.gp-faq .gp-faq-item:first-child{
	border-top:none !important;
}
.gp-faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 20px 0px;
  list-style: none;
  cursor: pointer;
  color: var(--third, #102923);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.4;
}
.gp-faq-question::-webkit-details-marker {
  display: none;
}
.gp-faq-question > span:first-child {
  min-width: 0;
  overflow-wrap: anywhere;
}
.gp-faq-question:focus-visible {
  outline: 2px solid var(--second, #679630);
  outline-offset: 4px;
}
.gp-faq-icon {
  position: relative;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: var(--six, #e8f3df);
  transition: background-color 0.2s ease;
}
.gp-faq-icon::before,
.gp-faq-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 11px;
  height: 2px;
  background: currentColor;
  transform: translate(-50%, -50%);
}
.gp-faq-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.gp-faq-item[open] .gp-faq-icon {
  background: var(--main, #a3cd39);
}
.gp-faq-item[open] .gp-faq-icon::after {
  display: none;
}
.gp-faq-item[open] .gp-faq-question {
  padding-bottom: 14px;
}
.gp-faq-answer {
  padding: 0 68px 32px 0px;
  color: var(--text, #0b2522bf);
    font-size: 15px;
    font-weight: 300;
    line-height: 1.6;
  overflow-wrap: anywhere;
}
.gp-faq-answer > :first-child {
  margin-top: 0;
}
.gp-faq-answer > :last-child {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .gp-faq-icon::before, .gp-faq-icon::after {
    width: 9px;
    height: 1.5px;
  }
  .gp-faq-icon {
    position: relative;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
  }
  .gp-faq-question {
    font-size: 17px;
    gap: 16px;
    padding: 24px 0;
  }
  .gp-faq-answer {
   padding: 0 0 24px;
        font-size: 14px;
        line-height: 1.5rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .gp-faq-icon {
    transition: none;
  }
}

/* Elementor floating labels: add gp-floating-labels to the Form widget.
   Keep input placeholders and labels enabled. Selects use an empty first option.
   Override --gp-label-background when the input background is not white. */
@supports selector(:has(input)) {
  .gp-floating-labels {
    --gp-placeholder-color: #8c8c8c;
    --gp-select-caret-color: #6b7280;
  }
  .gp-floating-labels .elementor-field-textual::placeholder {
    color: var(--gp-placeholder-color);
    opacity: 1;
  }
  .gp-floating-labels
    .elementor-field-type-select:has(select option:first-child:checked):not(
      :focus-within
    )
    > .elementor-field-label {
    color: #929d9b;
    font-weight: 400;
  }
  .elementor-field-type-html a {
    color: #000;
    border-bottom: 1px solid var(--second);
  }
  .gp-floating-labels .elementor-select-wrapper select {
    appearance: none;
    -webkit-appearance: none;
    background-image: none;
    padding-right: 48px;
  }
  .gp-floating-labels .elementor-select-wrapper::before,
  .gp-floating-labels .select-caret-down-wrapper svg {
    display: none;
  }
  .gp-floating-labels .elementor-select-wrapper .select-caret-down-wrapper {
    position: absolute;
    top: 50%;
    right: 20px;
    width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
    transform: translateY(-50%);
    pointer-events: none;
  }
  .gp-floating-labels .select-caret-down-wrapper::after {
    content: "";
    width: 10px;
    height: 10px;
    border-right: 2px solid var(--gp-select-caret-color);
    border-bottom: 2px solid var(--gp-select-caret-color);
    transform: translateY(-3px) rotate(45deg);
  }
  .gp-floating-labels
    .elementor-field-group:has(
      > input.elementor-field-textual[placeholder],
      > textarea.elementor-field-textual[placeholder],
      > .elementor-select-wrapper select
    ) {
    position: relative;
    --gp-label-background: #fff;
    --gp-label-inset: 24px;
  }
  .gp-floating-labels
    .elementor-field-group:has(
      > :where(
        input.elementor-field-textual[placeholder],
        textarea.elementor-field-textual[placeholder],
        .elementor-select-wrapper
      )
    )
    > .elementor-field-label {
    position: absolute;
    z-index: 2;
    top: 0;
    left: var(--gp-label-inset);
    max-width: calc(100% - 2 * var(--gp-label-inset));
    width: auto;
    margin: 0;
    border-radius: 5px 5px 0px 0px;
    padding: 5px 10px !important;
    background: var(--gp-label-background);
    line-height: 1.2;
    opacity: 0;
    transform: translateY(-25%);
    pointer-events: none;
    transition:
      opacity 0.2s ease,
      transform 0.2s ease,
      top 0.2s ease;
  }
  /* A blank native select has no placeholder, so use its label in-field. */
  .gp-floating-labels
    .elementor-field-type-select:has(select)
    > .elementor-field-label {
    top: 50%;
    opacity: 1;
    background: transparent;
    transform: translateY(-50%);
  }
  .gp-floating-labels .select-caret-down-wrapper svg {
    display: none !important;
  }
  .gp-floating-labels
    .elementor-field-group:has(.elementor-field-textual):focus-within
    > .elementor-field-label,
  .gp-floating-labels
    .elementor-field-group:has(
      input.elementor-field-textual[placeholder]:not(:placeholder-shown),
      textarea.elementor-field-textual[placeholder]:not(:placeholder-shown)
    )
    > .elementor-field-label,
  .gp-floating-labels
    .elementor-field-group:has(select option:checked:not(:first-child))
    > .elementor-field-label,
  .gp-floating-labels
    .elementor-field-group:has(input:autofill)
    > .elementor-field-label {
    top: 0;
    opacity: 1;
    background: var(--gp-label-background);
    transform: translateY(-50%);
  }
  .gp-floating-labels .elementor-field-textual:focus::placeholder {
    opacity: 0;
  }
  @media (prefers-reduced-motion: reduce) {
    .gp-floating-labels .elementor-field-group > .elementor-field-label {
      transition: none;
    }
  }
}


/* Highlight is isolated from the existing post grid layout. */
.gpg-highlight {
  padding: 40px;
  border-radius: 28px;
  background: linear-gradient(var(--six), #fff);
}
.gpg-highlight-slide {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: clamp(24px, 5vw, 80px);
  align-items: center;
  animation: gpg-highlight-in 0.35s ease;
}
.gpg-highlight-slide[hidden] {
  display: none !important;
}
.gpg-highlight-copy {
  min-width: 0;
}
.gpg-highlight .gpg-title {
  font-size: clamp(26px, 3.2vw, 46px);
  line-height: 1.18;
}
.gpg-highlight .gpg-description {
  font-size: 15px;
}
.gpg-highlight-image {
  aspect-ratio: 4 / 3;
  border-radius: 28px;
  overflow: hidden;
  background: var(--six);
}
.gpg-highlight-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.gpg-highlight-nav {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 30px;
}
.gpg-highlight-nav button {
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: var(--third);
  cursor: pointer;
  font-size: 28px;
  line-height: 1;
}
.gpg-highlight-nav button:hover {
  background: var(--main);
}
.gpg-highlight :is(a, button):focus-visible {
  outline: 2px solid var(--second);
  outline-offset: 4px;
}
.gpg-highlight-status {
  font-size: 11px;
  color: var(--text);
}
@keyframes gpg-highlight-in {
  from {
    opacity: 0.3;
  }
  to {
    opacity: 1;
  }
}
@media (max-width: 767px) {
  .gpg-highlight-slide {
    grid-template-columns: minmax(0, 1fr);
  }
  .gpg-highlight-image {
    border-radius: 16px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .gpg-highlight-slide {
    animation: none;
  }
}

.gpg-highlight-nav button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.gpg-highlight-nav button svg {
  display: block;
  flex-shrink: 0;
}

/* Shared single-post layout, including custom post types. */
.gps-single {
  color: var(--third);
}
.gps-single > article > section > .wrap,
.gps-single > .gps-comments.wrap,
.gps-header > .wrap,
.gps-footer > .wrap {
  width: 92%;
  max-width: none;
  margin-inline: auto;
  padding-inline: 0;
}
.gps-header {
  background: var(--fourth);
  border-bottom: 1px solid rgb(16 41 35 / 12%);
}
.gps-header > .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-block: 24px;
}
.gps-brand {
  font-size: 26px;
  font-weight: 700;
  color: var(--third);
  text-decoration: none;
}
.gps-brand img {
  display: block;
  width: 145px;
  height: auto;
}
.gps-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.gps-menu a {
  color: var(--third);
  text-decoration: none;
  font-size: 14px;
}
.gps-contact {
  background: var(--main);
  color: var(--third);
  border-radius: 99px;
  padding: 12px 20px;
  text-decoration: none;
  font-size: 13px;
}
.gps-hero {
  padding: 80px 0;
  background: var(--fourth);
}
.gps-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: clamp(32px, 6vw, 100px);
  align-items: start;
}
.gps-hero-grid.gps-no-image {
  grid-template-columns: minmax(0, 900px);
}
.gps-breadcrumb {
  display: flex;
  gap: 5px;
  align-items: center;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 600;
  margin-bottom: 28px;
}
.gps-breadcrumb svg {
  width: 15px;
}
.gps-breadcrumb a {
  color: inherit;
}
.gps-intro h1 {
  font-size: clamp(28px, 2.6vw, 40px);
  line-height: 1.2;
  letter-spacing: -0.035em;
  color: inherit;
  margin: 0 0 28px;
  overflow-wrap: anywhere;
}
.gps-meta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
  font-size: 11px;
  text-transform: uppercase;
  font-weight: 600;
}
.gps-meta a {
  color: inherit;
  text-decoration: none;
}
.gps-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgb(16 41 35 / 20%);
  padding: 4px 10px;
  border-radius: 99px;
}
.gps-badge::before {
  content: "";
  width: 10px;
  height: 10px;
  background: var(--main);
  border-radius: 50%;
}
.gps-byline {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  border-top: 1px solid rgb(16 41 35 / 15%);
  margin-top: 35px;
  padding-top: 24px;
  font-size: 13px;
}
.gps-byline > div {
  text-align: right;
}
.gps-byline span {
  display: block;
  font-size: 11px;
  opacity: 0.7;
  margin-bottom: 5px;
}
.gps-featured img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 6px;
}
.gps-body {
  background: #fff;
  padding: 70px 0;
}
.gps-content {
  max-width: 800px;
  margin-inline: auto;
  font-size: 15px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.gps-content p {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  margin: 0 0 24px;
}
.gps-content b {
	font-weight:600 !important;
}
.gps-content :is(h2, h3, h4) {
  color: inherit;
  margin: 36px 0 20px;
  line-height: 1.3;
}
.gps-content h2 {
  font-size: 25px;
}
.gps-content h3 {
  font-size: 21px;
}
.gps-content h4 {
  font-size: 18px;
}
.gps-content img {
  max-width: 100%;
  height: auto;
}
.gps-content figure {
  max-width: 100%;
  margin-inline: 0;
}
.gps-content blockquote {
  border-left: 3px solid var(--main);
  margin: 30px 0;
  padding: 12px 24px;
  background: var(--fourth);
}
.gps-content table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}
.gps-content a {
  color: var(--second);
  text-decoration: underline;
}
.gps-comments {
  padding-block: 30px;
}
.gps-footer {
  padding: 30px 0;
  background: var(--fourth);
  color: var(--third);
}
.gps-footer > .wrap {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 12px;
}
@media (max-width: 1024px) {
  .gps-single > article > section > .wrap,
  .gps-single > .gps-comments.wrap,
  .gps-header > .wrap,
  .gps-footer > .wrap {
    width: 90%;
  }
}
@media (max-width: 767px) {
  .gps-single > article > section > .wrap,
  .gps-single > .gps-comments.wrap,
  .gps-header > .wrap,
  .gps-footer > .wrap {
    width: 88%;
  }
  .gps-intro h1 {
    font-size: 28px;
  }
  .gps-content h2 {
    font-size: 22px;
  }
  .gps-content h3 {
    font-size: 19px;
  }
  .gps-hero {
    padding: 40px 0;
  }
  .gps-hero-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .gps-body {
    padding: 40px 0;
  }
  .gps-content {
    font-size: 14px;
  }
  .gps-header > .wrap {
    flex-wrap: wrap;
  }
  .gps-header nav {
    order: 3;
    width: 100%;
  }
  .gps-menu {
    gap: 12px 20px;
  }
}

/* Default WordPress archives use the same cards as Post Grid. */
.gpa {
  color: var(--third);
  background: var(--fourth);
}
.gpa section > .wrap {
  width: 92%;
  max-width: none;
  padding-inline: 0;
  margin-inline: auto;
}
.gpa-hero {
  padding: 90px 0 100px;
  background: linear-gradient(var(--six), var(--fourth));
}
.gpa-heading {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 70px;
  align-items: center;
}
.gpa-eyebrow {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 600;
  margin: 0 0 24px;
}
.gpa-heading h1 {
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1.2;
  color: inherit;
  margin: 0;
  overflow-wrap: anywhere;
}
.gpa-description {
  font-size: 15px;
  line-height: 1.7;
}
.gpa-description p {
  font-size: inherit;
  line-height: inherit;
  margin: 0;
  color: inherit;
}
.gpa-results {
  background: #fff;
  border-radius: 24px 24px 0 0;
  padding: 55px 0 70px;
}
.gpa-empty {
  font-size: 15px;
}
@media (max-width: 1024px) {
  .gpa section > .wrap {
    width: 90%;
  }
}
@media (max-width: 767px) {
  .gpa section > .wrap {
    width: 88%;
  }
  .gpa-hero {
    padding: 45px 0 55px;
  }
  .gpa-heading {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  .gpa-description {
    font-size: 14px;
  }
  .gpa-results {
    padding: 35px 0 45px;
  }
}

/* GuestPro Post Grid */
.gpg {
  color: var(--third);
  scroll-margin-top: 110px;
}
.gpg-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 48px 32px;
}
.gpg-card {
  position: relative;
  min-width: 0;
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid rgb(16 41 35 / 22%);
  padding-bottom: 30px;
}
.gpg-image {
  aspect-ratio: 16 / 9;
  background: var(--six);
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 26px;
}
.gpg-image img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}
.gpg-card:hover .gpg-image img {
  transform: scale(1.035);
}
.gpg-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 18px;
  margin-bottom: 24px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}
.gpg-group {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border: 1px solid rgb(16 41 35 / 25%);
  border-radius: 99px;
  padding: 5px 12px 5px 8px;
}
.gpg-group::before {
  content: "";
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--main);
}
.gpg-category {
  color: var(--text);
}
.gpg-title {
  font-size: 22px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: -0.025em;
  margin: 0 0 22px;
  color: inherit;
  overflow-wrap: anywhere;
}
.gpg-title a {
  color: inherit;
  text-decoration: none;
}
.gpg-title a::after {
  content: "";
  position: absolute;
  inset: 0;
}
/* .gpg-card:focus-within {
  outline: 2px solid var(--second);
  outline-offset: 5px;
} */
.gpg-description {
  font-size: 11px;
  line-height: 1.6;
  margin: 0 0 22px;
  color: var(--text);
}
.gpg-reading {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: auto 0 0;
  padding-top: 10px;
  color: var(--text);
  font-size: 11px;
}
.gpg-reading svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}
.gpg-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 40px;
}
.gpg-pagination .page-numbers {
  padding: 4px 15px;
  border: 0px solid rgb(16 41 35 / 20%);
  border-radius: 5px;
  color: inherit;
}
.gpg-pagination .current {
  background: var(--third);
  color: var(--fourth);
}
@media (max-width: 1024px) {
  .gpg-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .gpg-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .gpg-image img {
    transition: none;
  }
  .gpg-card:hover .gpg-image img {
    transform: none;
  }
}

/* GuestPro Service Tabs */
.gst {
  color: var(--third);
}
.gst-navigation {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 40px;
}
.gst-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.gst-tab {
  border: 1px solid rgb(16 41 35 / 20%);
  border-radius: 9px;
  padding: 7px 18px;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  font-size: 13px;
  transition:
    background-color 0.2s,
    color 0.2s;
}
.gst-tab[aria-selected="true"] {
  background: var(--third);
  color: var(--fourth);
  border-color: var(--third);
}
.gst-panel {
  display: grid;
  grid-template-columns: minmax(0, 44fr) minmax(0, 56fr);
  gap: 32px;
  padding: 24px;
  border-radius: 12px;
  background: var(--main);
  animation: gst-enter 0.4s ease both;
}
.gst-panel[hidden] {
  display: none !important;
}
.gst-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 32px;
}
.gst-subtitle {
  font-size: 13px;
  text-transform: uppercase;
  font-weight: 500;
  margin: 0 0 8px;
  color: inherit;
}
.gst-title {
  font-size: 28px;
  line-height: 1.15;
  font-weight: 600;
  margin: 0;
  color: inherit;
}
.gst-description {
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 24px;
}
.gst-description p {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}
.gst-description > :last-child {
  margin-bottom: 0;
}
.gst-link {
  margin-top: 28px;
}
.gst-labels {
  margin-top: auto;
  padding-top: 40px;
}
.gst-image {
  position: relative;
  min-height: 300px;
  overflow: hidden;
  border-radius: 9px;
}
.gst-image img {
  border-radius: 12px !important;
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gst :is(button, a):focus-visible {
  outline: 2px solid var(--second);
  outline-offset: 4px;
}
@keyframes gst-enter {
  from {
    opacity: 0.3;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 767px) {
  .gst-navigation {
    margin-bottom: 24px;
    gap: 8px;
  }
  .gst-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding: 5px;
  }
  .gst-tab {
    white-space: nowrap;
    padding: 10px 16px;
    font-size: 11px;
  }
  .gst-panel {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    gap: 24px;
    padding: 20px;
  }
  .gst-copy {
    padding: 8px;
  }
  .gst-image {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }
  .gst-labels {
    padding-top: 20px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .gst-panel {
    animation: none;
  }
  .gst-tab {
    transition: none;
  }
}
