:root {
  --accent: #61ff3e;
  --accent-hover: #a7ff93;
}

body.pricing-page {
  background-image: none;
}

main {
  display: flex;
  flex-direction: column;
}

.pricing-page .pricing-grid2 {
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
}

.pricing-page .pricing-grid2--primary {
  --section-padding-bottom: clamp(1.65rem, 2.4vw, 2.15rem);
  width: 100vw;
  max-width: none;
  margin: 0 calc(50% - 50vw) !important;
  padding-top: clamp(0.95rem, 1.8vw, 1.4rem);
  position: relative;
  z-index: 3;
  background: var(--bg) !important;
  border-radius: var(--section-radius) var(--section-radius) 0 0 !important;
  overflow: visible !important;
}

.pricing-page .pricing-grid2--supporting {
  --section-padding-bottom: clamp(1.45rem, 2.2vw, 2rem);
  margin-top: var(--site-gap);
}

.pricing-page .pricing-grid2--search {
  --section-padding-bottom: clamp(5rem, 8vw, 6.5rem);
  margin-top: var(--site-gap);
}

.pricing-page .pricing-grid2__inner {
  width: min(80rem, var(--content-shell-width));
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(2rem, 4vw, 3rem);
}

.pricing-page .pricing-grid2__title {
  width: 100%;
  max-width: none;
  justify-self: stretch;
  margin: 0 0 clamp(0.9rem, 1.8vw, 1.55rem);
  font-size: clamp(2rem, 3.5vw + 1rem, 3.2rem);
  font-weight: 300;
  font-variation-settings: "wght" 300;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--text);
  opacity: 1;
  text-align: center;
  text-wrap: pretty;
}

.pricing-page .pricing-grid2__title-copy {
  display: inline;
  color: inherit;
}

.pricing-page .pricing-grid2__title-accent {
  display: inline;
  color: var(--accent);
  font-weight: 900;
  font-variation-settings: "wght" 900;
}

.pricing-page .pricing-grid2__cols {
  align-items: center;
}

.pricing-page .pricing-grid2__col--featured {
  z-index: 1;
  --pricing-featured-lift: 0px;
}

.pricing-page
  .pricing-grid2__col:not(.pricing-grid2__col--featured)
  .pricing-grid2__card {
  border-color: #fff;
}

.pricing-page .pricing-grid2__badge,
.pricing-page .pricing-grid2__badge-label {
  color: #fff;
}

.pricing-page .pricing-grid2__badge {
  --pricing-featured-badge-size: 6.35rem;
  top: calc(var(--pricing-featured-badge-size) * -0.5);
  right: calc(var(--pricing-featured-badge-size) * -0.5);
  width: var(--pricing-featured-badge-size);
  box-shadow: 0 16px 28px rgba(0, 0, 0, 0.22);
  transform: translateY(var(--pricing-featured-lift)) rotate(18deg);
  transform-origin: center center;
  transition:
    transform 160ms ease,
    box-shadow 160ms ease;
}

.pricing-page .pricing-grid2__card {
  --pricing-card-scale: 1;
  --pricing-card-translate-y: 0px;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  gap: clamp(0.16rem, 0.3vw, 0.28rem);
  padding-block: clamp(1rem, 1.6vw, 1.35rem);
  padding-inline-start: clamp(0.88rem, 1vw, 1rem);
  padding-inline-end: clamp(1.16rem, 1.45vw, 1.34rem);
  background:
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.68) 0%,
      rgba(0, 0, 0, 0.82) 38%,
      rgba(0, 0, 0, 0.93) 100%
    ),
    url("/assets/hero.webp") center / cover no-repeat,
    #000;
  border-width: 1px;
  border-color: var(--accent);
  border-radius: 9px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
  color: #fff;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  transform: translateY(var(--pricing-card-translate-y))
    scale(var(--pricing-card-scale));
  transition:
    transform 160ms ease,
    border-color 160ms ease,
    box-shadow 160ms ease;
}

.pricing-page .pricing-grid2__card > * {
  position: relative;
  z-index: 1;
}

.pricing-page .pricing-grid2__card:is(:hover, :focus-within) {
  --pricing-card-translate-y: var(--pricing-hover-lift, -0.4rem);
  border-color: var(--accent);
  box-shadow:
    0 18px 38px rgba(0, 0, 0, 0.28),
    0 8px 18px rgba(0, 0, 0, 0.14);
}

.pricing-page .pricing-grid2__col--featured .pricing-grid2__card {
  --pricing-card-translate-y: var(--pricing-featured-lift);
  border: 0;
}

.pricing-page .pricing-grid2__col--featured:is(:hover, :focus-within) {
  --pricing-featured-lift: var(--pricing-hover-lift, -0.4rem);
}

.pricing-page
  .pricing-grid2__col--featured:is(:hover, :focus-within)
  .pricing-grid2__card {
  box-shadow:
    0 18px 38px rgba(0, 0, 0, 0.28),
    0 8px 18px rgba(0, 0, 0, 0.14);
}

.pricing-page .pricing-grid2__card-title,
.pricing-page .pricing-grid2__card-copy,
.pricing-page .pricing-grid2__card-list,
.pricing-page .pricing-grid2__card-list li,
.pricing-page .pricing-grid2__card-price,
.pricing-page .pricing-grid2__card .strong {
  color: #fff;
}

.pricing-page .pricing-grid2__card-title {
  font-size: clamp(1.65rem, 0.72vw + 1.38rem, 2.1rem);
  font-weight: 900;
  font-variation-settings: "wght" 900;
  line-height: 0.98;
  letter-spacing: -0.04em;
}

.pricing-page .pricing-grid2__card-copy {
  margin-top: 0;
  font-size: clamp(1rem, 0.3vw + 0.96rem, 1.18rem);
  font-weight: 400;
  line-height: 1.42;
  opacity: 0.92;
  min-height: 0;
}

.pricing-page .pricing-grid2__card-list {
  margin-top: clamp(1.55rem, 2vw, 1.8rem);
  padding-left: 0;
  list-style: none;
  gap: 0.66rem;
  opacity: 0.9;
}

.pricing-page .pricing-grid2__card-list li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0.62rem;
  font-size: clamp(0.9rem, 0.2vw + 0.86rem, 1.02rem);
  line-height: 1.3;
  white-space: normal;
}

.pricing-page .pricing-grid2__card-list .strong {
  font-weight: 900;
  font-style: normal;
  color: var(--accent);
}

.pricing-page .pricing-grid2__card-price {
  margin: 0.65rem 0 0;
  font-size: clamp(1.18rem, 0.45vw + 1.08rem, 1.5rem);
  font-weight: 900;
  font-variation-settings: "wght" 900;
  line-height: 1.02;
  letter-spacing: -0.03em;
  opacity: 1;
}

.pricing-page .pricing-grid2__card-cta {
  margin-top: 0.75rem;
}

.pricing-page .pricing-grid2--supporting .pricing-grid2__inner {
  gap: clamp(1.7rem, 2.8vw, 2.25rem);
}

.pricing-page .pricing-grid2--supporting .pricing-grid2__title {
  margin-bottom: clamp(1.15rem, 2vw, 1.75rem);
}

.pricing-page .pricing-grid2--supporting .pricing-grid2__cols {
  align-items: stretch;
}

.pricing-page .pricing-grid2__card-list li::before {
  content: "";
  display: block;
  width: 1.08rem;
  height: 1.08rem;
  margin-top: 0.14rem;
  background: url("/assets/icons/graphic.png") center / contain no-repeat;
  flex: 0 0 auto;
}

.pricing-page .pricing-grid2__card-list li::marker {
  content: "";
}

@media (max-width: 767px) {
  .pricing-page .pricing-grid2__title {
    margin-inline: 0;
    text-align: left;
    white-space: normal;
  }

  .pricing-page .pricing-grid2__badge {
    --pricing-featured-badge-size: 5.1rem;
    top: calc(var(--pricing-featured-badge-size) * -0.5);
    right: calc(var(--pricing-featured-badge-size) * 0.04);
    padding: 0.76rem;
    transform: translateY(var(--pricing-featured-lift)) rotate(0deg);
  }

  .pricing-page .pricing-grid2__badge-label {
    max-width: 3rem;
    font-size: 0.48rem;
  }

  .pricing-page .pricing-grid2__cols {
    grid-template-columns: minmax(0, 1fr);
    justify-content: center;
  }

  .pricing-page .pricing-grid2__col {
    width: min(100%, 26rem);
    margin-inline: auto;
  }

  .pricing-page .pricing-grid2__card {
    padding-block: 0.92rem;
    padding-inline-start: 0.74rem;
    padding-inline-end: 0.96rem;
    grid-template-rows: auto auto minmax(0, 1fr) auto auto;
  }

  .pricing-page .pricing-grid2__col--featured {
    order: 1;
  }

  .pricing-page .pricing-grid2__col:nth-child(3) {
    order: 2;
  }

  .pricing-page .pricing-grid2__col:nth-child(1) {
    order: 3;
  }
}

@media (min-width: 768px) {
  .pricing-page .pricing-grid2__inner {
    justify-items: center;
    width: min(80rem, var(--content-shell-width));
    gap: clamp(1.7rem, 2.8vw, 3.3rem);
  }

  .pricing-page .pricing-grid2__title {
    width: min(100%, 74rem);
    margin-inline: auto;
    text-align: center;
    white-space: normal;
  }

  .pricing-page .pricing-grid2__cols {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    justify-self: center;
    justify-content: center;
    width: min(100%, 84rem);
    max-width: min(100%, 84rem);
    margin-inline: auto;
    gap: clamp(0.85rem, 1.8vw, 1.75rem);
  }

  .pricing-page .pricing-grid2__col {
    width: 100%;
    min-width: 0;
    margin-inline: 0;
  }

  .pricing-page .pricing-grid2__card {
    border-radius: clamp(15px, 1vw + 10px, 18px);
    padding-block: clamp(0.88rem, 0.4vw + 0.8rem, 1.15rem);
    padding-inline-start: clamp(0.72rem, 0.5vw + 0.62rem, 1rem);
    padding-inline-end: clamp(0.8rem, 0.55vw + 0.69rem, 1.2rem);
  }

  .pricing-page .pricing-grid2__card-title {
    font-size: clamp(1.7rem, 0.6vw + 1.46rem, 2rem);
  }

  .pricing-page .pricing-grid2__card-copy {
    margin-top: 0;
    font-size: clamp(0.98rem, 0.22vw + 0.92rem, 1.12rem);
    line-height: 1.42;
  }

  .pricing-page .pricing-grid2__card-list {
    margin-top: clamp(1.3rem, 0.5vw + 1.18rem, 1.55rem);
    gap: clamp(0.56rem, 0.1vw + 0.54rem, 0.64rem);
  }

  .pricing-page .pricing-grid2__card-list li {
    align-items: start;
    gap: 0.52rem;
    font-size: clamp(0.84rem, 0.22vw + 0.8rem, 0.98rem);
    line-height: 1.28;
    white-space: normal;
  }

  .pricing-page .pricing-grid2__card-list li::before {
    width: clamp(0.98rem, 0.1vw + 0.96rem, 1.08rem);
    height: clamp(0.98rem, 0.1vw + 0.96rem, 1.08rem);
    margin-top: 0.12rem;
  }

  .pricing-page .pricing-grid2__card-price {
    margin-top: 0.5rem;
    font-size: clamp(1rem, 0.4vw + 0.92rem, 1.5rem);
  }

  .pricing-page .pricing-grid2__card-cta {
    margin-top: clamp(0.75rem, 0.25vw + 0.7rem, 0.9rem);
    font-size: clamp(0.92rem, 0.08vw + 0.9rem, 1rem);
  }

  .pricing-page .pricing-grid2__badge {
    --pricing-featured-badge-size: clamp(5.4rem, 1vw + 5rem, 6.35rem);
    top: calc(var(--pricing-featured-badge-size) * -0.42);
    right: calc(var(--pricing-featured-badge-size) * -0.4);
    padding: clamp(0.8rem, 0.2vw + 0.76rem, 0.95rem);
    transform: translateY(var(--pricing-featured-lift)) rotate(18deg);
  }

  .pricing-page .pricing-grid2__badge-label {
    max-width: clamp(3.15rem, 0.5vw + 3rem, 3.7rem);
    font-size: clamp(0.5rem, 0.04vw + 0.49rem, 0.54rem);
  }

  .pricing-page .pricing-grid2__col .pricing-grid2__card {
    transform-origin: center center;
  }

  .pricing-page .pricing-grid2__col--featured .pricing-grid2__card {
    --pricing-card-scale: 1.06;
  }
}
