.landing-full-form {
  padding: 96px 0;
}

.landing-full-form--dark {
  background: #eef1e8;
}

.landing-full-form--light {
  background: #f5f7f1;
}

.landing-full-form__inner {
  width: min(1367px, calc(100% - 48px));
  margin: 0 auto;
  display: flex;
  justify-content: center;
}

.landing-full-form__card {
  width: min(932px, 100%);
  border-radius: 8px;
  background: #4f554a;
  padding: 48px 49px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

.landing-full-form__title {
  margin: 0;
  color: #ffffff;
  text-align: center;
  font-family: var(--font-display);
  font-size: clamp(34px, 3.2vw, 47.78px);
  font-weight: 400;
  line-height: 1.1;
}

.landing-full-form__subtitle {
  margin: 0;
  margin-top: 24px;
  color: #d8dcd2;
  text-align: center;
  font-family: var(--font-body);
  font-size: 19.2px;
  line-height: 1.6;
  max-width: 729px;
}

.landing-full-form__form,
.landing-full-form__form form,
.landing-full-form__form .wpcf7-form,
.landing-full-form__placeholder {
  margin-top: 32px;
  width: min(750px, 100%);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px 25px;
}

.landing-full-form__form p {
  margin: 0;
  width: 100%;
}

.landing-full-form__form label {
  display: block;
  margin: 0;
  font-size: 0;
  line-height: 0;
  color: transparent;
}

.landing-full-form__form label > br {
  display: none;
}

.landing-full-form__form p:has(textarea),
.landing-full-form__actions,
.landing-full-form__placeholder-message,
.landing-full-form__placeholder-button {
  grid-column: 1 / -1;
}

.landing-full-form__form .wpcf7-form-control-wrap {
  width: 100%;
  display: block;
}

.landing-full-form__form .wpcf7-form-control {
  width: 100%;
  max-width: none;
  display: block;
  box-sizing: border-box;
}

.landing-full-form__form input:not([type='submit']),
.landing-full-form__form textarea,
.landing-full-form__placeholder-field,
.landing-full-form__placeholder-message {
  width: 100%;
  min-height: 54px;
  border-radius: 16px;
  border: 1px solid #5c6b78;
  background: #ffffff;
  color: #5c6b78;
  padding: 7px 15px 10px;
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
}

.landing-full-form__form input::placeholder,
.landing-full-form__form textarea::placeholder {
  color: #5c6b78;
  opacity: 1;
}

.landing-full-form__form textarea,
.landing-full-form__placeholder-message {
  min-height: 54px;
  padding: 7px 15px 10px;
  resize: none;
}

#landing-full-form .landing-full-form__form textarea,
#landing-full-form .landing-full-form__form .wpcf7-textarea,
#landing-full-form .landing-full-form__form textarea[name*='message'] {
  height: 54px;
  min-height: 54px;
  max-height: 54px;
  resize: none;
}

.landing-full-form__form label:has(input[name*='message']),
.landing-full-form__form p:has(input[name*='message']) {
  grid-column: 1 / -1;
}

.landing-full-form__form input[name*='message'] {
  min-height: 54px;
  padding: 7px 15px 10px;
}

.landing-full-form__placeholder {
  grid-column: 1 / -1;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px 25px;
}

.landing-full-form__placeholder > .landing-full-form__placeholder-message,
.landing-full-form__placeholder > .landing-full-form__placeholder-button {
  grid-column: 1 / -1;
}

.landing-full-form__placeholder-row {
  grid-column: 1 / -1;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 25px;
}

.landing-full-form__placeholder-field {
  display: flex;
  align-items: center;
}

.landing-full-form__button {
  width: fit-content;
  min-height: 72px;
  border: 0;
  border-radius: 16px;
  padding: 24px 32px;
  background: #5f7f2e;
  color: #ffffff;
  font-family: var(--font-secondary);
  font-size: 18px;
  line-height: 23.4px;
  letter-spacing: 1px;
  font-weight: 500;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  white-space: nowrap;
}

.landing-full-form__actions {
  display: flex;
  justify-content: center;
  width: 100%;
}

.landing-full-form__placeholder-button {
  align-self: center;
  justify-self: center;
}

.landing-full-form__button:hover,
.landing-full-form__button:focus-visible {
  background: #4b6723;
}

.landing-full-form__button::before {
  content: '';
  width: 24px;
  height: 24px;
  display: inline-block;
  flex-shrink: 0;
  transform: translateY(4px) translateX(-2px);
  background: no-repeat center/24px 24px url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19.95 21C17.8667 21 15.8083 20.5458 13.775 19.6375C11.7417 18.7292 9.89167 17.4417 8.225 15.775C6.55833 14.1083 5.27083 12.2583 4.3625 10.225C3.45417 8.19167 3 6.13333 3 4.05C3 3.75 3.1 3.5 3.3 3.3C3.5 3.1 3.75 3 4.05 3H8.1C8.33333 3 8.54167 3.07917 8.725 3.2375C8.90833 3.39583 9.01667 3.58333 9.05 3.8L9.7 7.3C9.73333 7.56667 9.725 7.79167 9.675 7.975C9.625 8.15833 9.53333 8.31667 9.4 8.45L6.975 10.9C7.30833 11.5167 7.70417 12.1125 8.1625 12.6875C8.62083 13.2625 9.125 13.8167 9.675 14.35C10.1917 14.8667 10.7333 15.3458 11.3 15.7875C11.8667 16.2292 12.4667 16.6333 13.1 17L15.45 14.65C15.6 14.5 15.7958 14.3875 16.0375 14.3125C16.2792 14.2375 16.5167 14.2167 16.75 14.25L20.2 14.95C20.4333 15.0167 20.625 15.1375 20.775 15.3125C20.925 15.4875 21 15.6833 21 15.9V19.95C21 20.25 20.9 20.5 20.7 20.7C20.5 20.9 20.25 21 19.95 21ZM6.025 9L7.675 7.35L7.25 5H5.025C5.10833 5.68333 5.225 6.35833 5.375 7.025C5.525 7.69167 5.74167 8.35 6.025 9ZM14.975 17.95C15.625 18.2333 16.2875 18.4583 16.9625 18.625C17.6375 18.7917 18.3167 18.9 19 18.95V16.75L16.65 16.275L14.975 17.95Z' fill='white'/%3E%3C/svg%3E");
}

.landing-full-form__form .wpcf7-spinner {
  display: none;
}

.landing-full-form__form .wpcf7-not-valid-tip,
.landing-full-form__form .wpcf7-response-output {
  grid-column: 1 / -1;
  margin: 8px 0 0;
  color: #f5f2ea;
  font-family: var(--font-body);
  font-size: 13px;
}

@media (max-width: 860px) {
  .landing-full-form {
    padding: 72px 0;
  }

  .landing-full-form__inner {
    width: min(100% - 32px, 960px);
  }

  .landing-full-form__card {
    padding: 32px 24px;
  }

  .landing-full-form__title {
    font-size: clamp(30px, 6.8vw, 42px);
  }

  .landing-full-form__subtitle {
    font-size: 17px;
  }

  .landing-full-form__form,
  .landing-full-form__form form,
  .landing-full-form__form .wpcf7-form,
  .landing-full-form__placeholder {
    width: 100%;
    gap: 16px;
  }

  .landing-full-form__form,
  .landing-full-form__form form,
  .landing-full-form__form .wpcf7-form {
    grid-template-columns: 1fr;
  }

  .landing-full-form__placeholder-row {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .landing-full-form__placeholder {
    grid-template-columns: 1fr;
  }

  .landing-full-form__button {
    width: 100%;
  }
}

/* Final layout lock for full-form parity across CF7/placeholder markup variants. */
#landing-full-form .landing-full-form__form {
  width: min(750px, 100%);
  margin-top: 32px;
  display: block;
}

#landing-full-form .landing-full-form__form form,
#landing-full-form .landing-full-form__form .wpcf7-form,
#landing-full-form .landing-full-form__placeholder {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px 25px;
}

#landing-full-form .landing-full-form__placeholder {
  grid-column: 1 / -1;
}

#landing-full-form .landing-full-form__placeholder > div {
  min-height: 54px;
  border-radius: 16px;
  border: 1px solid #5c6b78;
  background: #fff;
  color: #5c6b78;
  padding: 7px 15px 10px;
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
}

#landing-full-form .landing-full-form__placeholder > .landing-full-form__placeholder-message,
#landing-full-form .landing-full-form__placeholder > .landing-full-form__placeholder-button,
#landing-full-form .landing-full-form__actions {
  grid-column: 1 / -1;
}

#landing-full-form .landing-full-form__placeholder > .landing-full-form__placeholder-message {
  min-height: 54px;
  padding: 7px 15px 10px;
}

#landing-full-form .landing-full-form__placeholder > .landing-full-form__placeholder-button,
#landing-full-form .landing-full-form__actions .landing-full-form__button {
  width: auto;
  max-width: 100%;
  justify-self: center;
}

@media (max-width: 860px) {
  #landing-full-form .landing-full-form__form form,
  #landing-full-form .landing-full-form__form .wpcf7-form,
  #landing-full-form .landing-full-form__placeholder {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  #landing-full-form .landing-full-form__placeholder > .landing-full-form__placeholder-button,
  #landing-full-form .landing-full-form__actions .landing-full-form__button {
    width: 100%;
  }
}
