main > .blue-card > *, main > .white-card > * {
  margin: var(--spacer) 0;
}

main > .blue-card > h3, main > .white-card > h3 {
  margin-top: 0;
}

/* ------------------------------ Hero Section ------------------------------ */
.hero-section p {
  margin: var(--spacer-m) auto;
  text-wrap: balance;
  line-height: 1.5;
  max-width: 70ch;
}
.hero-section .hero-section-heading {
  margin: var(--spacer-l) 0;
}

@media screen and (max-width: 48rem) {
  .hero-section span {
    display: none;
  }
  .trust-mobile {
    display: block;
    position: relative;
    margin: 0 auto var(--spacer-m) auto;
    z-index: 99;
  }
  .trust-mobile > .trust-tag-content {
    padding: calc(1.25 * var(--spacer));
  }
  h1, h3 {
    line-height: 1.25;
    text-wrap: balance;
  }
  .hero-section p {
    font-size: 1rem;
  }
}
/* ------------------------------ Hero Section ------------------------------ */
.hero-section-heading h3 {
  padding-top: var(--spacer);
}

.hero-section-trust {
  margin-top: var(--spacer-m);
  position: relative;
}

.svg-container img {
  position: relative;
  z-index: 0;
  width: 90%;
  display: block;
  margin: auto;
}

.trust-tag {
  display: flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  position: absolute;
  background: radial-gradient(farthest-corner at 25% 25%, rgba(217, 217, 217, 0.6) 0%, rgba(144, 144, 144, 0.8) 100%);
  border-radius: var(--border-rad);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  z-index: 100;
  transition: all 0.3s ease;
  box-shadow: 0 0 15px rgba(var(--c-black-data), var(--c-black-data), var(--c-black-data), 0.1);
}

.trust-mobile {
  display: none;
}

.trust-tag-content {
  display: flex;
  align-items: center;
  padding: var(--spacer);
  gap: calc(0.75 * var(--spacer));
}

.trust-tag svg {
  opacity: 0.6;
}

.trust-tag p {
  font: var(--h3-font);
  color: rgba(var(--c-black-data), var(--c-black-data), var(--c-black-data), 0.6);
  text-wrap: nowrap;
}

/* ---------------------------------- Plans --------------------------------- */
.plans-section {
  text-wrap: balance;
}

.plans-section-plans {
  display: grid;
  grid-template-columns: var(--spacer-xl) 1fr 1fr var(--spacer-xl);
  gap: var(--spacer-m);
}

.plan-section-growth, .plan-section-one-time {
  background: var(--c-secondary);
  border-radius: var(--border-rad);
  outline: 4px solid var(--c-metal2);
}

.plan > *, .price h3 {
  color: var(--c-primary);
  opacity: 1;
  line-height: normal;
}

.plan {
  margin: var(--spacer-m);
  display: grid;
  grid-template-rows: auto auto auto 1fr auto;
  gap: 1rem;
  text-wrap: balance;
}

.plan-section-growth {
  background: linear-gradient(0deg, var(--c-secondary) 50%, rgba(0, 0, 0, 0) 100%), radial-gradient(var(--c-secondary), var(--c-accent));
  grid-column: 2;
}

.plan-section-one-time {
  background: linear-gradient(0deg, var(--c-secondary) 50%, rgba(0, 0, 0, 0) 100%), radial-gradient(var(--c-secondary), var(--c-metal1));
  grid-column: 3;
}

.price {
  display: flex;
  justify-content: center;
}

.features-list, .one-time-lists {
  display: grid;
  grid-template-columns: 1fr;
}

.features-list ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: calc(0.75 * var(--spacer));
}

.features-list ul li {
  list-style: none;
  color: var(--c-black);
  font: var(--p-font);
  text-align: left;
  display: flex;
  align-items: center;
}

.features-list ul li img {
  width: calc(0.65 * var(--spacer-m));
  margin-right: calc(0.75 * var(--spacer));
}

.plan a {
  color: var(--c-secondary);
}

.price p:first-of-type {
  scale: 80%;
  transform: translateY(-6px);
}

.requirement {
  opacity: 0.5;
}

/* ------------------------------- Commitment ------------------------------- */
.highlight {
  position: relative;
}

.highlight:before {
  content: "";
  background-color: var(--c-accent);
  width: 103%;
  height: 103%;
  position: absolute;
  z-index: -1;
  filter: url(#marker-shape);
  left: -0.125em;
  top: -0.05em;
  border-radius: 0.5rem;
  view-timeline-name: marker;
  view-timeline-axis: block;
}

@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: scroll()) {
    @keyframes marker {
      0%, 40% {
        width: 0%;
        opacity: 0.5;
      }
      60%, 100% {
        width: 100%;
        opacity: 1;
      }
    }
    .commitment-section .highlight:before {
      animation: marker linear forwards;
      animation-duration: 5s;
      animation-timeline: view();
    }
  }
}
.commitment-section-content {
  padding: var(--spacer-m) 0;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--spacer-m);
}
.commitment-section-content .commitment-section-content-card {
  display: grid;
  grid-template-columns: 0.15fr 1fr;
  grid-template-rows: 0.25fr auto;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 0.5rem;
}
.commitment-section-content .commitment-section-content-card h3 {
  color: rgb(123, 177, 151);
  opacity: 1;
  align-self: center;
  text-align: left;
}
.commitment-section-content .commitment-section-content-card .paragraphs {
  grid-row: 2;
  grid-column: 2;
  text-align: left;
}
.commitment-section-content .commitment-section-content-card .paragraphs p:first-of-type {
  padding-bottom: 1rem;
}
.commitment-section-content .commitment-section-content-card .number {
  border-radius: 50%;
  border: 3px solid rgb(123, 177, 151);
  aspect-ratio: 1/1;
  display: flex;
  line-height: 0;
}
.commitment-section-content .commitment-section-content-card .number h3 {
  margin: auto auto;
}

.commitment-section {
  text-wrap: balance;
}
.commitment-section > h3 {
  max-width: 50ch;
  margin: 0 auto;
}

/* ---------------------------- Growth Highlights --------------------------- */
.growth-section p {
  max-width: 60ch;
  margin: var(--spacer) auto;
}

.growth-plan-highlights {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--spacer-m);
}

.highlight-1, .highlight-2, .highlight-3 {
  background-color: var(--c-primary);
  border-radius: var(--border-rad);
  overflow: hidden;
  transition: all 0.3s ease;
}

.highlight-text {
  text-align: left;
  align-content: end;
  margin: var(--spacer-m);
  color: var(--c-secondary);
}
.highlight-text > h4, .highlight-text p {
  padding-top: 0.5rem;
}

.highlight-1:hover, .highlight-2:hover, .highlight-3:hover {
  filter: brightness(1.05);
}

.highlight-image img {
  border-radius: var(--border-rad);
  display: block;
}

/* ----------------------------------- FAQ ---------------------------------- */
.faq-section > .button-pair {
  margin: var(--spacer-m) 0;
}

div.faq-section-list {
  display: grid;
  grid-template-columns: 1fr;
  max-width: 800px;
  margin: var(--spacer-m) auto;
  gap: var(--spacer);
}

.faq-question {
  font: var(--h4-font);
  width: 100%;
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-height: -moz-fit-content;
  max-height: fit-content;
  background: none;
  border: none;
  color: var(--c-secondary);
  padding: calc(0.85 * var(--spacer-m)) calc(0.85 * var(--spacer));
  transition: all 0.3s ease;
  cursor: pointer;
}

.faq-question img {
  height: 1rem;
  width: auto;
  margin-left: 1rem;
  transition: transform 0.3s ease;
  filter: invert(100%);
}

.faq-answer {
  text-align: left;
  font: var(--h4-font);
  width: 100%;
  color: var(--c-metal2);
  padding: 0 calc(0.85 * var(--spacer));
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.5s ease-in-out, opacity 0.5s ease-in-out; /* Smooth slide */
}

.faq-question:hover, .faq-question:hover img {
  transform: translateY(-1px);
}

.faq-question.open img {
  transform-origin: center center;
  transform: rotate(45deg);
}

.faq-question.open + .faq-answer {
  max-height: 15rem;
  opacity: 1;
}

/* ------------------------------- Website Review Styles ------------------------------- */
.info-section h3 {
  max-width: 70ch;
  margin: 0 auto;
}

.info-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacer-l);
  padding: var(--spacer-m) var(--spacer);
}

.website-score-section {
  text-align: left;
}
.website-score-section h3 {
  margin-bottom: var(--spacer);
  text-align: center;
}
.website-score-section p {
  margin-bottom: var(--spacer);
}
.website-score-section ul {
  padding-left: 5%;
  margin-bottom: var(--spacer);
}
.website-score-section li {
  font: var(--p-font);
  margin-bottom: calc(var(--spacer) / 2);
  display: flex;
  align-items: center;
}
.website-score-section .list-icon {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--c-accent2);
  margin-right: calc(var(--spacer) / 2);
}

.website-score-gauge {
  display: flex;
  justify-content: center;
  align-items: center;
}

.gauge-container {
  position: relative;
  aspect-ratio: 2/1;
  width: 350px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  margin-bottom: var(--spacer-m);
}

.gauge-svg {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 260px;
  height: 300px;
}

.gauge-path {
  fill: none;
  stroke-width: 30;
  stroke-linecap: round;
}

.gauge-bg {
  stroke: var(--c-metal2);
}

.gauge-fill {
  stroke: url(#gradient);
  stroke-dasharray: 432;
  stroke-dashoffset: 432;
  animation: fillGauge 2s cubic-bezier(0.23, 1, 0.32, 1) forwards;
  animation-delay: 0.5s;
}

.gauge-text {
  position: relative;
  text-align: center;
  font: var(--h3-font);
  color: var(--c-primary);
  bottom: 5%;
}

.gauge-value {
  font: var(--h2-font);
}

.gauge-total {
  opacity: 0.7;
}

@keyframes fillGauge {
  from {
    stroke-dashoffset: 432; /* Empty */
  }
  to {
    /* Math: 432 - ([score]% * 432) */
    stroke-dashoffset: 160;
  }
}
.info-form {
  outline: 0px solid var(--c-metal1);
  border-radius: var(--border-rad);
  background: var(--c-secondary);
  box-shadow: 0 4px 25px rgba(0, 0, 0, 0.15);
  max-width: 700px;
  margin: 0 auto;
  padding: var(--spacer-l);
  justify-self: center;
}
.info-form h3 {
  margin-bottom: var(--spacer-m);
}
.info-form .form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacer-m);
}
.info-form .form-group {
  width: 100%;
}
.info-form .form-group label {
  color: var(--c-primary);
  text-align: left;
  margin-bottom: 0.5rem;
}
.info-form .form-group label span {
  color: var(--c-accent);
}
.info-form .form-group input {
  background: #fff;
  border: 2px solid var(--c-metal1);
  transition: all 0.3s ease;
}
.info-form .form-group input::-moz-placeholder {
  opacity: 0.6;
}
.info-form .form-group input::placeholder {
  opacity: 0.6;
}
.info-form .form-group input:focus {
  border-color: var(--c-accent);
  box-shadow: 0 0 0 3px rgba(184, 139, 74, 0.2);
  outline: none;
}
.info-form #review-form-submit {
  margin-top: var(--spacer);
  border: none;
  padding-inline: 2rem;
}
.info-form .form-group.full-width {
  grid-column: 1/-1;
}
.info-form .form-message {
  margin: 0.25rem 0;
}

/* ------------------------------ Media Queries ----------------------------- */
@media screen and (max-width: 75rem) {
  .form-grid.form-grid {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
  .info-form {
    width: 100%;
  }
}
@media screen and (max-width: 72rem) {
  .growth-plan-highlights {
    display: flex;
    flex-direction: column;
  }
  .highlight-1, .highlight-2, .highlight-3 {
    display: flex;
    align-items: center;
  }
  .highlight-2 {
    flex-direction: row-reverse;
  }
}
@media screen and (max-width: 67rem) {
  .commitment-section p span {
    display: none;
  }
  .commitment-section-content .commitment-section-content-card {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr auto 5fr;
    row-gap: 1rem;
  }
  .commitment-section-content .commitment-section-content-card .number {
    grid-column: 1;
    grid-row: 1;
    font-size: 1.5rem;
    width: 50px;
  }
  .commitment-section-content .commitment-section-content-card h3 {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
  }
  .commitment-section-content .commitment-section-content-card .paragraphs {
    grid-column: 1;
    grid-row: 3;
  }
  .commitment-section-content .commitment-section-content-card .paragraphs p {
    text-wrap: wrap;
  }
}
@media screen and (max-width: 63rem) {
  .plans-section-plans {
    grid-template-columns: 1fr 1fr;
  }
  .plan-section-growth {
    grid-column: 1;
  }
  .plan-section-one-time {
    grid-column: 2;
  }
}
@media screen and (max-width: 60rem) {
  .info-form-grid {
    grid-template-columns: 1fr;
    gap: var(--spacer-l);
  }
  .website-score-section {
    order: 1;
    text-align: center;
  }
  .gauge-value {
    font-size: 50px;
  }
  .website-score-section p {
    text-align: left;
  }
  .website-score-section ul {
    text-align: left;
  }
  .info-form {
    order: 2;
  }
}
@media screen and (max-width: 55rem) {
  .commitment-section-content {
    grid-template-columns: 1fr;
    gap: var(--spacer-l);
  }
  .commitment-section-content .commitment-section-content-card {
    grid-template-columns: var(--spacer-m) 0.1fr 1fr var(--spacer-m);
    grid-template-rows: 1fr auto;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 0;
  }
  .commitment-section-content .commitment-section-content-card .number {
    grid-column: 2;
    grid-row: 1;
    font-size: 1.5rem;
    width: 50px;
  }
  .commitment-section-content .commitment-section-content-card .number h3 {
    margin: auto auto;
    line-height: 0;
  }
  .commitment-section-content .commitment-section-content-card h3 {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
  }
  .commitment-section-content .commitment-section-content-card .paragraphs {
    grid-column: 3;
    grid-row: 2;
    text-wrap: wrap;
  }
}
@media screen and (max-width: 50rem) {
  .plans-section-plans {
    grid-template-columns: 1fr;
  }
  .plan-section-growth {
    grid-column: 1;
  }
  .plan-section-one-time {
    grid-column: 1;
  }
  .features-list ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
  .plan {
    margin: 1rem;
    gap: 0.75rem;
  }
  .plans-section p span, .growth-section p span {
    display: none;
  }
  .plans-section p, .growth-section p {
    text-wrap: balance;
  }
}
@media screen and (max-width: 44rem) {
  .features-list ul li {
    font-size: 0.95rem;
  }
  .hero-section p span {
    display: none;
  }
}
@media screen and (max-width: 42rem) {
  .growth-plan-highlights {
    display: grid;
    grid-template-columns: 1fr;
  }
  .highlight-1, .highlight-2, .highlight-3 {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .faq-section-list {
    margin: 0;
  }
  .info-form-grid {
    padding: 0;
  }
  .gauge-container {
    width: 263px;
  }
  .gauge-svg {
    width: 195px;
    height: 225px;
  }
  .gauge-value {
    font-size: 36px;
  }
}
@media screen and (max-width: 40rem) {
  .features-list ul li span {
    display: none;
  }
  .features-list ul li {
    font-size: 1rem;
  }
}
@media screen and (max-width: 39rem) {
  .highlight-1, .highlight-2, .highlight-3 {
    display: grid;
    grid-template-columns: 0.75fr 1fr;
    background: none;
  }
  .highlight-text {
    color: var(--c-primary);
  }
  .features-list ul {
    -moz-column-gap: 0.4rem;
         column-gap: 0.4rem;
  }
}
@media screen and (max-width: 35rem) {
  .commitment-section h3 span {
    display: none;
  }
  .commitment-section-content .commitment-section-content-card {
    grid-template-columns: 0.1fr 1fr;
    -moz-column-gap: 0.75rem;
         column-gap: 0.75rem;
  }
  .commitment-section-content .commitment-section-content-card .number {
    grid-column: 1;
    font-size: 1rem;
    width: 40px;
  }
  .commitment-section-content .commitment-section-content-card h3 {
    grid-column: 2;
  }
  .commitment-section-content .commitment-section-content-card .paragraphs {
    grid-column: 2;
  }
  .features-list ul {
    -moz-column-gap: 0;
         column-gap: 0;
  }
  .features-list ul li {
    font-size: 0.9rem;
  }
  .form-grid {
    grid-template-columns: 1fr !important;
  }
}
@media screen and (max-width: 33rem) {
  .highlight-1, .highlight-2, .highlight-3 {
    grid-template-columns: 1fr;
    background: var(--c-primary);
  }
  .highlight-text {
    color: var(--c-secondary);
  }
}
@media screen and (max-width: 30rem) {
  .plan {
    margin: 1.5rem;
  }
  .features-list ul {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 0.75rem;
  }
  .features-list ul li {
    font: var(--p-font);
  }
  .features-list ul li span {
    display: inline;
  }
  .features-list ul li img {
    width: 1rem;
    margin-right: 1rem;
  }
}
@media screen and (max-width: 24rem) {
  .features-list ul li span {
    display: none;
  }
}/*# sourceMappingURL=styles_plans.css.map */