.alma-reviews,
.alma-reviews * { box-sizing: border-box; }

.alma-reviews {
  position: relative;
  overflow: hidden;
  padding: 66px 42px 70px;
  background:
    radial-gradient(ellipse at 92% -10%, rgb(131 185 93 / 26%) 0%, rgb(30 100 68 / 18%) 24%, transparent 48%),
    radial-gradient(circle at 99% 58%, rgb(88 154 74 / 13%), transparent 28%),
    linear-gradient(125deg, #03271d 0%, #06392a 56%, #042a20 100%);
  color: #fff;
  isolation: isolate;
}

.alma-reviews::before {
  content: '';
  position: absolute;
  z-index: -1;
  width: 720px;
  height: 540px;
  right: -215px;
  top: -325px;
  border: 1px solid rgb(190 226 130 / 16%);
  border-radius: 0 0 0 78%;
  transform: rotate(-12deg);
  box-shadow: -55px 48px 115px rgb(113 172 86 / 7%);
  pointer-events: none;
}

.alma-reviews::after {
  content: '';
  position: absolute;
  z-index: -1;
  width: 550px;
  height: 550px;
  right: -410px;
  bottom: -390px;
  border: 1px solid rgb(190 226 130 / 12%);
  border-radius: 50%;
  pointer-events: none;
}

.alma-reviews__shell {
  position: relative;
  width: min(100%, 1320px);
  margin-inline: auto;
}

.alma-reviews__header {
  width: calc(100% - 94px);
  margin-bottom: 28px;
}

.alma-reviews__eyebrow {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 20px;
  color: #c9ed71;
  font: 800 .61rem/1.2 Manrope, sans-serif;
  letter-spacing: .23em;
  text-transform: uppercase;
}

.alma-reviews__eyebrow span { width: 36px; height: 1px; background: currentColor; }

.alma-reviews__heading-row {
  display: grid;
  grid-template-columns: minmax(0, 1.62fr) minmax(185px, .38fr);
  gap: 42px;
  align-items: end;
}

.alma-reviews__heading-row h2 {
  max-width: 760px;
  margin: 0 0 14px;
  font-size: clamp(3rem, 4.7vw, 4.5rem);
  line-height: 1.01;
  letter-spacing: -.065em;
}

.alma-reviews__heading-row h2 em { color: #b8e474; font-style: normal; }
.alma-reviews__heading-row p { max-width: 680px; margin: 0; color: #d1ded6; font-size: .94rem; line-height: 1.62; }

.alma-reviews__rating-summary {
  min-width: 205px;
  min-height: 112px;
  padding: 18px 0 4px 28px;
  border-left: 1px solid rgb(201 237 113 / 35%);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.alma-reviews__rating-summary > span { color: #c9ed71; font-size: 1.3rem; letter-spacing: .09em; line-height: 1; }
.alma-reviews__rating-summary strong { margin-top: 8px; font: 800 .98rem Manrope, sans-serif; }
.alma-reviews__rating-summary small { margin-top: 4px; color: #9db3a6; font-size: .67rem; }

.alma-reviews__trust-note {
  position: absolute;
  top: 120px;
  right: 0;
  display: flex;
  align-items: flex-start;
  gap: 17px;
  color: #a6c96b;
}

.alma-reviews__trust-note span { width: 30px; height: 1px; margin-top: 7px; background: currentColor; }
.alma-reviews__trust-note small { font: 700 .48rem/1.55 Manrope, sans-serif; letter-spacing: .18em; }

.alma-reviews__content {
  display: grid;
  grid-template-columns: minmax(0, 1.9fr) minmax(330px, .92fr);
  gap: 18px;
  align-items: start;
}

.alma-reviews__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }

.alma-review-card {
  min-width: 0;
  min-height: 214px;
  padding: 20px 22px 18px;
  background: linear-gradient(140deg, #fffefa 0%, #f8f8f2 100%);
  border: 1px solid rgb(255 255 255 / 76%);
  border-radius: 8px;
  box-shadow: 0 17px 36px rgb(0 0 0 / 16%);
  color: #123a2b;
  display: flex;
  flex-direction: column;
}

.alma-review-card.is-live { border-top: 3px solid #a9d465; }

.alma-review-card__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.alma-review-card__service { min-width: 0; display: flex; align-items: center; gap: 12px; color: #2e6848; font: 800 .57rem/1.35 Manrope, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.alma-review-card__service-icon { width: 35px; height: 35px; flex: none; display: grid; place-items: center; border-radius: 50%; background: #e8f1df; color: #276d4a; }
.alma-review-card__service-icon svg { width: 18px; height: 18px; }
.alma-review-card__stars { flex: none; color: #69a239; font-size: .78rem; letter-spacing: .06em; }

.alma-review-card blockquote {
  margin: 17px 0 16px;
  color: #334c40;
  font-size: .79rem;
  line-height: 1.56;
}

.alma-review-card footer { display: flex; align-items: center; gap: 11px; margin-top: auto; padding-top: 12px; border-top: 1px solid #dfe6dd; }
.alma-review-card__avatar { width: 35px; height: 35px; flex: none; display: grid; place-items: center; border-radius: 50%; background: #e5efdc; color: #236445; font: 800 .61rem Manrope, sans-serif; }
.alma-review-card footer div { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.alma-review-card footer strong { font: 800 .68rem Manrope, sans-serif; overflow-wrap: anywhere; }
.alma-review-card footer small { color: #7a897f; font-size: .57rem; }

.alma-review-form {
  position: relative;
  min-height: 444px;
  padding: 25px 25px 21px;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% -5%, rgb(167 221 102 / 18%), transparent 32%),
    linear-gradient(145deg, rgb(11 69 49 / 95%), rgb(4 48 35 / 98%));
  border: 1px solid rgb(164 207 101 / 56%);
  border-radius: 14px;
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 3%), 0 25px 55px rgb(0 0 0 / 20%);
  color: #fff;
}

.alma-review-form::before {
  content: '';
  position: absolute;
  width: 220px;
  height: 220px;
  right: -150px;
  top: -150px;
  border: 1px solid rgb(188 228 111 / 14%);
  border-radius: 50%;
  pointer-events: none;
}

.alma-review-form__title { position: relative; display: flex; align-items: center; gap: 13px; margin-bottom: 18px; }
.alma-review-form__title > span { width: 43px; height: 43px; flex: none; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(145deg, #70994f, #2f6a49); color: #fff; box-shadow: 0 8px 22px rgb(0 0 0 / 20%); }
.alma-review-form__title > span svg { width: 20px; height: 20px; }
.alma-review-form__title p { margin: 0 0 2px; color: #c9ed71; font: 800 .53rem Manrope, sans-serif; letter-spacing: .17em; }
.alma-review-form__title h3 { margin: 0; color: #fff; font-size: 1.28rem; letter-spacing: -.035em; }

.alma-review-form__field { position: relative; display: block; margin-bottom: 12px; color: #f2f7f3; font: 800 .65rem Manrope, sans-serif; }
.alma-review-form__field input,
.alma-review-form__field select,
.alma-review-form__field textarea {
  width: 100%;
  margin-top: 6px;
  padding: 9px 12px;
  border: 1px solid rgb(217 232 220 / 56%);
  border-radius: 5px;
  background: rgb(4 37 28 / 35%);
  color: #f7fbf8;
  font: 500 .74rem/1.45 'DM Sans', sans-serif;
}

.alma-review-form__field input::placeholder,
.alma-review-form__field textarea::placeholder { color: #adc0b4; opacity: 1; }
.alma-review-form__field select { color-scheme: dark; }
.alma-review-form__field option { background: #0a3e2e; color: #fff; }
.alma-review-form__field input,
.alma-review-form__field select { min-height: 39px; }
.alma-review-form__field textarea { min-height: 75px; resize: vertical; }
.alma-review-form__field input:focus,
.alma-review-form__field select:focus,
.alma-review-form__field textarea:focus { outline: 2px solid rgb(191 234 112 / 26%); border-color: #bfe871; }
.alma-review-form__field small { display: block; margin-top: 3px; color: #91a99a; text-align: right; font: 500 .55rem 'DM Sans', sans-serif; }

.alma-review-form__rating { margin: 0 0 12px; padding: 0; border: 0; }
.alma-review-form__rating legend { margin-bottom: 4px; color: #f2f7f3; font: 800 .65rem Manrope, sans-serif; }
.alma-star-picker { width: max-content; display: flex; flex-direction: row-reverse; justify-content: flex-end; gap: 5px; }
.alma-star-picker input { position: absolute; opacity: 0; pointer-events: none; }
.alma-star-picker label { color: transparent; -webkit-text-stroke: 1px #f2f7f3; cursor: pointer; font-size: 1.55rem; line-height: 1; transition: color .16s ease, -webkit-text-stroke-color .16s ease, transform .16s ease; }
.alma-star-picker label:hover,
.alma-star-picker label:hover ~ label,
.alma-star-picker input:checked ~ label { color: #c9ed71; -webkit-text-stroke-color: #c9ed71; }
.alma-star-picker label:hover { transform: translateY(-1px); }
.alma-star-picker input:focus-visible + label { outline: 2px solid #c9ed71; outline-offset: 3px; border-radius: 2px; }
.alma-star-picker__value { display: block; margin-top: 5px; color: #91a99a; font-size: .57rem; }

.alma-review-form__honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; }
.alma-review-form__submit { width: 100%; min-height: 43px; display: flex; align-items: center; justify-content: center; gap: 18px; border: 0; border-radius: 5px; background: linear-gradient(90deg, #b7e86a, #c9f17e); color: #082b20; font: 800 .74rem Manrope, sans-serif; box-shadow: 0 8px 20px rgb(166 218 91 / 12%); transition: filter .2s ease, transform .2s ease; }
.alma-review-form__submit:hover:not(:disabled) { filter: brightness(1.06); transform: translateY(-1px); }
.alma-review-form__submit:disabled { opacity: .62; cursor: wait; }
.alma-review-form__submit b { font-size: 1rem; font-weight: 500; }
.alma-review-form__status { min-height: 0; margin: 7px 0 0; color: #c9ed71; font-size: .66rem; font-weight: 700; line-height: 1.45; }
.alma-review-form__status:empty { display: none; }
.alma-review-form__status.is-error { color: #ffc0b8; }
.alma-review-form__privacy { display: flex; gap: 9px; align-items: flex-start; margin: 12px 0 0; padding-top: 10px; border-top: 1px solid rgb(255 255 255 / 8%); color: #9eb2a5; font-size: .57rem; line-height: 1.45; }
.alma-review-form__privacy span { width: 16px; height: 18px; flex: none; display: grid; place-items: center; color: #c9ed71; border: 1px solid currentColor; border-radius: 50% 50% 55% 55%; font-weight: 800; }

.alma-reviews__brand-mark { display: flex; justify-content: flex-end; align-items: center; gap: 16px; margin-top: 18px; color: #c9ed71; font: 800 .54rem Manrope, sans-serif; letter-spacing: .24em; }
.alma-reviews__brand-mark span { width: 42px; height: 1px; background: currentColor; }

@media (max-width: 1120px) {
  .alma-reviews { padding-inline: 30px; }
  .alma-reviews__header { width: 100%; }
  .alma-reviews__trust-note { display: none; }
  .alma-reviews__content { grid-template-columns: 1fr; }
  .alma-review-form { width: min(100%, 680px); margin-inline: auto; }
}

@media (max-width: 720px) {
  .alma-reviews { padding: 74px 20px 78px; }
  .alma-reviews__header { margin-bottom: 31px; }
  .alma-reviews__eyebrow { margin-bottom: 18px; }
  .alma-reviews__heading-row { grid-template-columns: 1fr; gap: 22px; }
  .alma-reviews__heading-row h2 { font-size: clamp(2.5rem, 12vw, 3.7rem); }
  .alma-reviews__heading-row h2 br { display: none; }
  .alma-reviews__heading-row p { font-size: .88rem; }
  .alma-reviews__rating-summary { min-width: 0; min-height: 0; padding: 0; border-left: 0; }
  .alma-reviews__grid { grid-template-columns: 1fr; }
  .alma-review-card { min-height: 0; padding: 21px 20px 19px; }
  .alma-review-card blockquote { font-size: .82rem; }
  .alma-review-form { min-height: 0; padding: 25px 20px 22px; }
  .alma-reviews__brand-mark { margin-top: 25px; }
}

@media (max-width: 390px) {
  .alma-review-card__top { align-items: flex-start; }
  .alma-review-card__service { gap: 9px; font-size: .53rem; }
  .alma-review-card__service-icon { width: 32px; height: 32px; }
  .alma-review-card__stars { font-size: .7rem; }
}

@media (prefers-reduced-motion: reduce) {
  .alma-star-picker label,
  .alma-review-form__submit { transition: none; }
}
