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 h1 {
  margin-bottom: var(--spacer);
}
.hero-section p {
  margin: var(--spacer-m) 0;
  text-wrap: balance;
  line-height: 1.5;
}
.hero-section .hero-section-heading {
  margin: var(--spacer-l) 0;
}

@media screen and (max-width: 48rem) {
  .hero-section span {
    display: none;
  }
}
/* ------------------------------- Website Review Styles ------------------------------- */
.info-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacer-l);
  padding: 0 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;
}

/* --------------------------- Commitment Section --------------------------- */
.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;
}

/* ------------------------------ 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: 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: 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: 42rem) {
  .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: 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;
  }
  .form-grid {
    grid-template-columns: 1fr !important;
  }
}/*# sourceMappingURL=styles_website-review.css.map */