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

.alma-quote {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 760px;
  padding: 43px 24px 54px;
  color: #123b2d;
  background:
    linear-gradient(90deg, rgb(247 248 243 / 68%) 0%, rgb(247 248 243 / 24%) 35%, rgb(247 248 243 / 20%) 68%, rgb(247 248 243 / 52%) 100%),
    url('assets/images/quote-background-ai.webp') center center / cover no-repeat;
}

.alma-quote::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(120deg, transparent 0 24%, rgb(63 113 79 / 4%) 24.1% 25%, transparent 25.1% 100%),
    linear-gradient(180deg, rgb(255 255 255 / 14%), rgb(239 244 236 / 18%));
}

.alma-quote__shell {
  width: min(100%, 1240px);
  margin-inline: auto;
}

.alma-quote__brand {
  display: inline-flex;
  width: max-content;
  align-items: center;
  gap: 11px;
  margin: 0 0 19px 12px;
  color: #0d3227;
  line-height: 1;
}

.alma-quote__brand > img {
  width: 58px;
  height: 58px;
  flex: none;
  object-fit: cover;
  border-radius: 50%;
  box-shadow: 0 7px 18px rgb(17 62 43 / 13%);
}

.alma-quote__brand > span {
  display: flex;
  flex-direction: column;
}

.alma-quote__brand strong {
  position: relative;
  font: 300 2.05rem/1 Manrope, sans-serif;
  letter-spacing: .22em;
}

.alma-quote__brand strong::before,
.alma-quote__brand strong::after {
  content: '';
  position: absolute;
  width: 1px;
  height: 27px;
  top: 1px;
  background: currentColor;
  transform: rotate(28deg);
  opacity: .72;
}

.alma-quote__brand strong::before { left: 4px; }
.alma-quote__brand strong::after { right: 12px; }

.alma-quote__brand small {
  margin-top: 7px;
  font: 700 .48rem/1 DM Sans, sans-serif;
  letter-spacing: .22em;
}

.alma-quote .alma-quote__grid {
  display: grid;
  grid-template-columns: minmax(345px, .72fr) minmax(610px, 1.28fr);
  align-items: stretch;
  gap: 10px;
  margin-top: 0;
}

.alma-quote .alma-quote__contact {
  min-height: 620px;
  padding: 44px 38px 26px;
  border: 1px solid rgb(158 216 171 / 55%);
  border-radius: 9px;
  background:
    radial-gradient(circle at 18% 12%, rgb(49 124 84 / 24%), transparent 32%),
    linear-gradient(145deg, #063f30 0%, #003728 48%, #064535 100%);
  box-shadow: 0 17px 42px rgb(10 51 37 / 17%);
}

.alma-quote__eyebrow {
  display: flex;
  align-items: center;
  gap: 17px;
  color: #8fbc9c;
  font: 700 .58rem/1.2 DM Sans, sans-serif;
  letter-spacing: .25em;
  text-transform: uppercase;
}

.alma-quote__eyebrow span {
  width: 31px;
  height: 1px;
  background: #b9dfa4;
}

.alma-quote .alma-quote__contact h2 {
  margin: 24px 0 23px;
  color: #fff;
  font: 400 clamp(2.18rem, 3vw, 3.15rem)/1.07 Georgia, 'Times New Roman', serif;
  letter-spacing: -.045em;
}

.alma-quote .alma-quote__contact h2 em {
  color: #bce99b;
  font-style: normal;
}

.alma-quote .alma-quote__contact > p {
  max-width: 360px;
  margin: 0;
  color: #e1eee6;
  font-size: .86rem;
  line-height: 1.65;
}

.alma-quote .alma-quote__contact-options {
  display: grid;
  gap: 9px;
  margin-top: 23px;
}

.alma-quote .alma-quote__contact-options a {
  display: grid;
  grid-template-columns: 47px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 13px;
  min-height: 71px;
  padding: 11px 17px;
  border: 1px solid rgb(157 213 171 / 37%);
  border-radius: 9px;
  background: rgb(255 255 255 / 3%);
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.alma-quote .alma-quote__contact-options a:hover {
  border-color: rgb(183 234 170 / 70%);
  background: rgb(255 255 255 / 7%);
  transform: translateY(-1px);
}

.alma-quote__contact-icon {
  display: grid !important;
  width: 47px;
  height: 47px;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(145deg, #328b65, #126347);
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 13%);
}

.alma-quote .alma-quote__contact-icon img {
  width: 24px;
  height: 24px;
  filter: brightness(0) invert(1);
}

.alma-quote .alma-quote__contact-options strong {
  color: white;
  font-size: .82rem;
}

.alma-quote .alma-quote__contact-options small {
  margin-top: 2px;
  color: #c6d9ce;
  font-size: .69rem;
}

.alma-quote .alma-quote__contact-options b {
  color: #e0f3df;
  font-size: 1.15rem;
}

.alma-quote .alma-quote__note {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: start;
  gap: 15px;
  margin-top: auto;
  padding: 14px 17px;
  border: 1px solid rgb(157 213 171 / 24%);
  border-left: 1px solid rgb(157 213 171 / 24%);
  border-radius: 9px;
  background: linear-gradient(90deg, rgb(255 255 255 / 7%), rgb(255 255 255 / 3%));
  color: #cadbd0;
  font-size: .66rem;
  line-height: 1.55;
}

.alma-quote__note > svg {
  width: 36px;
  height: 36px;
  padding-right: 10px;
  color: #bce99b;
  border-right: 1px solid rgb(188 233 155 / 48%);
}

.alma-quote__note small {
  display: block;
  margin-top: 9px;
  color: #83ae92;
  font-size: .48rem;
  font-weight: 700;
  letter-spacing: .23em;
  text-transform: uppercase;
}

.alma-quote .alma-quote__form {
  min-height: 620px;
  padding: 30px 35px 24px;
  border: 1px solid rgb(210 220 210 / 90%);
  border-radius: 9px;
  background: rgb(255 255 253 / 94%);
  box-shadow: 0 17px 42px rgb(10 51 37 / 12%);
  backdrop-filter: blur(6px);
}

.alma-quote .alma-quote__form-title {
  gap: 17px;
  margin-bottom: 19px;
}

.alma-quote .alma-quote__form-title .form-title-icon {
  width: 48px;
  height: 48px;
  flex: none;
  color: #1f6547;
  background: #e8f1e3;
}

.alma-quote .alma-quote__form-title .form-title-icon svg {
  width: 24px;
  height: 24px;
}

.alma-quote .alma-quote__form-title h3 {
  margin: 0 0 3px;
  color: #0b3328;
  font-size: 1.28rem;
  letter-spacing: -.035em;
}

.alma-quote .alma-quote__form-title p {
  color: #77877e;
  font-size: .74rem;
}

.alma-quote .form-row {
  gap: 18px;
}

.alma-quote .quote-form label.alma-quote__field {
  display: block;
  margin: 0 0 13px;
  color: #163d31;
  font-size: .68rem;
  font-weight: 700;
  line-height: 1.3;
}

.alma-quote__control {
  position: relative;
  display: block;
  margin-top: 7px;
}

.alma-quote__control > svg {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 13px;
  width: 18px;
  height: 18px;
  color: #76988a;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
  transform: translateY(-50%);
  pointer-events: none;
}

.alma-quote .quote-form .alma-quote__control input,
.alma-quote .quote-form .alma-quote__control select,
.alma-quote .quote-form .alma-quote__control textarea {
  width: 100%;
  min-height: 42px;
  margin: 0;
  padding: 10px 13px 10px 43px;
  border: 1px solid #cad7cf;
  border-radius: 3px;
  background-color: rgb(255 255 255 / 92%);
  color: #123b2d;
  font-size: .75rem;
  font-weight: 500;
  box-shadow: 0 1px 2px rgb(20 60 43 / 2%);
}

.alma-quote .quote-form .alma-quote__control select {
  padding-right: 35px;
}

.alma-quote .quote-form .alma-quote__control textarea {
  min-height: 82px;
  padding-top: 12px;
  line-height: 1.55;
}

.alma-quote__control-textarea > svg {
  top: 13px;
  transform: none;
}

.alma-quote .quote-form .alma-quote__control input:focus,
.alma-quote .quote-form .alma-quote__control select:focus,
.alma-quote .quote-form .alma-quote__control textarea:focus {
  border-color: #488669;
  box-shadow: 0 0 0 3px rgb(72 134 105 / 11%);
}

.alma-quote .quote-form .alma-quote__control ::placeholder {
  color: #93a49b;
}

.alma-quote .alma-quote__hint {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 1px 0 13px;
  color: #718078;
  font-size: .63rem;
  line-height: 1.45;
}

.alma-quote__hint > span {
  display: grid;
  width: 17px;
  height: 17px;
  flex: none;
  place-items: center;
  border: 1px solid #80aa91;
  border-radius: 50%;
  color: #3d7758;
  font: 700 .64rem/1 Georgia, serif;
}

.alma-quote .alma-quote__submit {
  width: 100%;
  min-height: 46px;
  justify-content: center;
  gap: 12px;
  padding: 12px 20px;
  border: 1px solid #19563f;
  border-radius: 4px;
  background: linear-gradient(90deg, #07513d, #0d4637);
  box-shadow: 0 8px 16px rgb(13 70 55 / 13%);
  color: white;
  font-size: .86rem;
}

.alma-quote .alma-quote__submit svg {
  width: 19px;
  height: 19px;
}

.alma-quote .alma-quote__submit img {
  width: 20px;
  height: 20px;
  filter: brightness(0) invert(1);
}

.alma-quote .alma-quote__submit span {
  margin: 0;
}

.alma-quote .alma-quote__submit b {
  margin-left: 4px;
  font-size: 1.15rem;
  font-weight: 400;
}

.alma-quote .alma-quote__submit:hover {
  background: linear-gradient(90deg, #0c6149, #12513f);
}

.alma-quote .form-feedback {
  margin: 5px 0 0;
  min-height: 0;
  font-size: .69rem;
}

@media (max-width: 1040px) {
  .alma-quote .alma-quote__grid {
    grid-template-columns: minmax(310px, .7fr) minmax(540px, 1.3fr);
  }

  .alma-quote .alma-quote__contact { padding-inline: 29px; }
  .alma-quote .alma-quote__form { padding-inline: 26px; }
}

@media (max-width: 900px) {
  .alma-quote {
    padding: 54px 24px 72px;
    background-position: 44% center;
  }

  .alma-quote__shell { max-width: 720px; }
  .alma-quote__brand { margin-left: 0; }

  .alma-quote .alma-quote__grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .alma-quote .alma-quote__contact,
  .alma-quote .alma-quote__form {
    min-height: 0;
  }

  .alma-quote .alma-quote__contact { padding: 39px; }
  .alma-quote .alma-quote__contact h2 { font-size: clamp(2.4rem, 7vw, 3.4rem); }
  .alma-quote .alma-quote__contact > p { max-width: 560px; }
  .alma-quote .alma-quote__contact-options { grid-template-columns: 1fr 1fr; }
  .alma-quote .alma-quote__note { margin-top: 22px; max-width: 520px; }
}

@media (max-width: 600px) {
  .alma-quote {
    padding: 45px 16px 74px;
    background-position: 38% center;
  }

  .alma-quote__brand > img { width: 52px; height: 52px; }
  .alma-quote__brand strong { font-size: 1.8rem; }
  .alma-quote__brand small { font-size: .43rem; }

  .alma-quote .alma-quote__contact {
    padding: 32px 22px 23px;
  }

  .alma-quote .alma-quote__contact h2 {
    font-size: clamp(2.35rem, 11vw, 3.15rem);
  }

  .alma-quote .alma-quote__contact-options {
    grid-template-columns: 1fr;
  }

  .alma-quote .alma-quote__contact-options a {
    padding-inline: 13px;
  }

  .alma-quote .alma-quote__note {
    grid-template-columns: 35px minmax(0, 1fr);
    padding-inline: 13px;
  }

  .alma-quote__note > svg {
    width: 31px;
    padding-right: 7px;
  }

  .alma-quote .alma-quote__form {
    padding: 28px 18px 22px;
  }

  .alma-quote .alma-quote__form-title h3 {
    font-size: 1.12rem;
  }

  .alma-quote .alma-quote__form-title .form-title-icon {
    width: 43px;
    height: 43px;
  }

  .alma-quote .form-row { grid-template-columns: 1fr; gap: 0; }
  .alma-quote .quote-form label.alma-quote__field { margin-bottom: 14px; }
  .alma-quote .quote-form .alma-quote__control input,
  .alma-quote .quote-form .alma-quote__control select,
  .alma-quote .quote-form .alma-quote__control textarea { font-size: .78rem; }
  .alma-quote .alma-quote__submit { font-size: .78rem; }
}

@media (prefers-reduced-motion: reduce) {
  .alma-quote .alma-quote__contact-options a,
  .alma-quote .alma-quote__submit { transition: none; }
}
