


.fc-formcard {
  width: var(--fc-form-card-w);
  max-width: 100%;
  padding: calc(var(--fc-form-card-pad) - var(--fc-border-width));
  background-color: var(--fc-glass-3);
  border: var(--fc-border-width) solid var(--fc-color-hairline);
  border-radius: var(--fc-form-card-radius);

  
  display: flex;
  flex-direction: column;
  gap: var(--fc-form-card-gap);
}


.fc-formcard__title {
  margin: 0;
  font-family: var(--fc-font-heading);
  font-weight: var(--fc-fw-bold);
  font-size: var(--fc-fs-h6);
  line-height: var(--fc-lh-h6);
  color: var(--fc-color-text);
}


.fc-formcard .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: var(--fc-form-card-gap);
}


.fc-formcard .fc-ff__row {
  display: grid;
  grid-template-columns: var(--fc-form-col-a) var(--fc-form-col-b);
  gap: var(--fc-sp-20);
}


.fc-formcard .fc-ff__field {
  display: flex;
  flex-direction: column;
  gap: var(--fc-sp-8);
  
  min-width: 0;
}

.fc-formcard .fc-ff__field > label,
.fc-formcard .fc-ff__group > label,
.fc-formcard .fc-ff__legend {
  display: block;
  margin: 0;
  font-family: var(--fc-font-body);
  font-weight: var(--fc-fw-medium);
  font-size: var(--fc-fs-sm);
  line-height: var(--fc-lh-auto);
  color: var(--fc-color-text);
}


.fc-formcard .wpcf7-form-control-wrap {
  display: block;
}


.fc-formcard input[type="text"],
.fc-formcard input[type="tel"],
.fc-formcard input[type="email"],
.fc-formcard textarea {
  width: 100%;
  padding:
    calc(var(--fc-form-field-pad-y) - var(--fc-border-width))
    calc(var(--fc-form-field-pad-x) - var(--fc-border-width));
  background-color: var(--fc-color-night-alt);
  border: var(--fc-border-width) solid var(--fc-color-hairline);
  border-radius: var(--fc-form-field-radius);
  font-family: var(--fc-font-body);
  font-weight: var(--fc-fw-regular);
  font-size: var(--fc-fs-body);
  line-height: var(--fc-lh-body);
  color: var(--fc-color-text);
  transition: border-color var(--fc-transition-fast);
}

.fc-formcard textarea {
  height: var(--fc-form-textarea-h);
  resize: vertical;
}

.fc-formcard ::placeholder {
  color: var(--fc-color-text-muted);
  
  opacity: var(--fc-opacity-placeholder);
}


.fc-formcard .fc-ff__group {
  display: flex;
  flex-direction: column;
  gap: var(--fc-sp-12);
}

.fc-formcard .wpcf7-radio,
.fc-formcard .wpcf7-acceptance {
  display: flex;
  flex-direction: column;
  gap: var(--fc-sp-10);
}


.fc-formcard .wpcf7-list-item {
  display: block;
  margin: 0;
}

.fc-formcard .wpcf7-radio .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: var(--fc-sp-10);
  margin: 0;
  cursor: pointer;
}

.fc-formcard .wpcf7-list-item-label {
  font-family: var(--fc-font-body);
  font-weight: var(--fc-fw-regular);
  font-size: var(--fc-fs-body);
  line-height: var(--fc-lh-body);
  color: var(--fc-color-text-muted);
}


.fc-formcard input[type="radio"]:checked + .wpcf7-list-item-label {
  color: var(--fc-color-text);
}


.fc-formcard input[type="radio"],
.fc-formcard input[type="checkbox"] {
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
  appearance: none;
  background: none;
  border: var(--fc-border-width-accent) solid var(--fc-color-hairline);
  cursor: pointer;
  transition: border-color var(--fc-transition-fast);
}

.fc-formcard input[type="radio"] {
  width: var(--fc-form-radio);
  height: var(--fc-form-radio);
  border-radius: var(--fc-radius-pill);
}

.fc-formcard input[type="radio"]:checked {
  
  border-color: var(--fc-color-accent);
  background-image: var(--fc-glyph-radio);
  background-repeat: no-repeat;
  background-position: center;
  background-size: var(--fc-form-radio) var(--fc-form-radio);
  
  background-origin: border-box;
}


.fc-formcard input[type="checkbox"] {
  width: var(--fc-form-check);
  height: var(--fc-form-check);
  border-radius: var(--fc-form-check-radius);
}

.fc-formcard input[type="checkbox"]:checked {
  border-color: transparent;
  background-image: var(--fc-glyph-check), var(--fc-gradient-brand);
  background-repeat: no-repeat, no-repeat;
  background-position: center, center;
  background-size: 12px 12px, 100% 100%;
}

.fc-formcard .wpcf7-acceptance .wpcf7-list-item label {
  display: flex;
  align-items: flex-start;
  gap: var(--fc-sp-12);
  margin: 0;
  cursor: pointer;
}

.fc-formcard .wpcf7-acceptance .wpcf7-list-item-label {
  font-size: var(--fc-fs-sm);
  line-height: var(--fc-lh-sm);
}


.fc-formcard .fc-ff__note {
  margin: 0;
  font-family: var(--fc-font-body);
  font-weight: var(--fc-fw-regular);
  font-size: var(--fc-fs-sm);
  line-height: var(--fc-lh-sm);
  color: var(--fc-color-text-muted);
}


.fc-formcard .fc-ff__actions {
  display: flex;
  align-items: center;
  gap: var(--fc-sp-16);
}

.fc-formcard .wpcf7-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  padding: var(--fc-sp-16) var(--fc-sp-32);
  border: 0;
  border-radius: var(--fc-radius-pill);
  background-image: var(--fc-gradient-brand);
  font-family: var(--fc-font-heading);
  font-weight: var(--fc-fw-semibold);
  font-size: var(--fc-fs-btn);
  line-height: var(--fc-lh-auto);
  color: var(--fc-color-accent-contrast);
  white-space: nowrap;
  cursor: pointer;
  transition: filter var(--fc-transition-hover);
}


.fc-formcard .wpcf7-submit:hover {
  filter: brightness(1.08);
}

.fc-formcard .wpcf7-submit:active {
  filter: brightness(0.94);
}


.fc-formcard form.submitting .wpcf7-submit {
  opacity: .6;
  pointer-events: none;
}


.fc-formcard .wpcf7-spinner {
  display: none;
  width: 20px;
  height: 20px;
  margin: 0;
  border: 2px solid var(--fc-color-hairline);
  border-top-color: var(--fc-color-accent);
  border-radius: var(--fc-radius-pill);
}

.fc-formcard .wpcf7-spinner.is-active,
.fc-formcard form.submitting .wpcf7-spinner {
  display: block;
  animation: fc-ff-spin 700ms linear infinite;
}

@keyframes fc-ff-spin {
  to {
    transform: rotate(360deg);
  }
}


.fc-formcard .wpcf7-not-valid {
  border-color: var(--fc-color-error);
}

.fc-formcard .wpcf7-not-valid-tip {
  display: block;
  margin-top: var(--fc-sp-8);
  font-family: var(--fc-font-body);
  font-size: var(--fc-fs-sm);
  line-height: var(--fc-lh-sm);
  color: var(--fc-color-error);
}


.fc-formcard .wpcf7-response-output {
  display: none;
  order: -1;
  margin: 0;
  padding: var(--fc-sp-14) var(--fc-sp-16);
  border: var(--fc-border-width) solid var(--fc-color-hairline);
  border-radius: var(--fc-form-field-radius);
  background-color: var(--fc-glass-4);
  font-family: var(--fc-font-body);
  font-size: var(--fc-fs-sm);
  line-height: var(--fc-lh-sm);
  color: var(--fc-color-text);
}

.fc-formcard form.sent .wpcf7-response-output,
.fc-formcard form.invalid .wpcf7-response-output,
.fc-formcard form.unaccepted .wpcf7-response-output,
.fc-formcard form.failed .wpcf7-response-output,
.fc-formcard form.aborted .wpcf7-response-output,
.fc-formcard form.spam .wpcf7-response-output,
.fc-formcard form.payment-required .wpcf7-response-output {
  display: block;
}

.fc-formcard form.sent .wpcf7-response-output {
  border-color: var(--fc-color-success);
}

.fc-formcard form.invalid .wpcf7-response-output,
.fc-formcard form.unaccepted .wpcf7-response-output {
  border-color: var(--fc-color-warning);
}

.fc-formcard form.failed .wpcf7-response-output,
.fc-formcard form.aborted .wpcf7-response-output,
.fc-formcard form.spam .wpcf7-response-output {
  border-color: var(--fc-color-error);
}


.fc-formcard .screen-reader-response {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}


.fc-formcard .fc-ff__hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}




@media (max-width: 899.98px) {
  
  .fc-formcard {
    --fc-form-card-pad: var(--fc-sp-32);
    --fc-form-card-gap: var(--fc-sp-24);
  }
}


@media (max-width: 599.98px) {
  .fc-formcard .fc-ff__row {
    grid-template-columns: 1fr;
    gap: var(--fc-sp-24);
  }

  .fc-formcard .wpcf7-submit {
    width: 100%;
  }

  .fc-formcard .fc-ff__actions {
    flex-wrap: wrap;
  }
}
.fc-contact {
  padding-block: var(--fc-sp-100);
}
.fc-contact__grid {
  display: grid;
  grid-template-columns: 560px 560px;
  gap: var(--fc-sp-100);
  align-items: start;
}
.fc-contact__intro {
  display: flex;
  flex-direction: column;
  gap: var(--fc-sp-20);
  min-width: 0;
}
.fc-contact__title {
  margin: 0;
  font-weight: var(--fc-fw-black);
  font-size: var(--fc-fs-h1-sub);
  line-height: var(--fc-lh-h1-sub);
  letter-spacing: var(--fc-ls-h1-cta);
}
.fc-contact__lead {
  margin: 0;
  font-family: var(--fc-font-heading);
  font-weight: var(--fc-fw-semibold);
  font-size: var(--fc-fs-lead);
  line-height: var(--fc-lh-auto);
  color: var(--fc-color-text);
  opacity: var(--fc-opacity-lead-soft);
}
.fc-contact__text {
  margin: 0;
  font-size: var(--fc-fs-lead);
  line-height: var(--fc-lh-lead);
  color: var(--fc-color-text-muted);
}
.fc-contact__card {
  display: flex;
  flex-direction: column;
  gap: var(--fc-sp-20);
  margin: 0;
  padding: calc(var(--fc-sp-28) - var(--fc-border-width));
  list-style: none;
  background: var(--fc-glass-4);
  border: var(--fc-border-width) solid var(--fc-color-hairline);
  border-radius: var(--fc-radius-xl);
}
.fc-contact__row {
  display: flex;
  align-items: center;
  gap: var(--fc-sp-16);
}
.fc-contact__row-icon {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--fc-form-field-radius);
  background: var(--fc-glass-6);
  color: var(--fc-color-text);
}
.fc-contact__row-text {
  font-family: var(--fc-font-heading);
  font-weight: var(--fc-fw-semibold);
  font-size: var(--fc-fs-award);
  line-height: var(--fc-lh-auto);
  color: var(--fc-color-text);
  text-decoration: none;
  min-width: 0;
  overflow-wrap: anywhere;
}
a.fc-contact__row-text:hover,
a.fc-contact__row-text:focus-visible {
  color: var(--fc-color-accent-alt);
}
.fc-contact__form {
  --fc-form-card-w: 560px;
  --fc-form-card-pad: var(--fc-sp-40);
  --fc-form-card-radius: var(--fc-radius-2xl);
  --fc-form-card-gap: var(--fc-sp-22);
}
@media (max-width: 1439.98px) {
  .fc-contact__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 560px);
    gap: var(--fc-sp-56);
  }
}
@media (max-width: 899.98px) {
  .fc-contact {
    padding-block: var(--fc-sp-56);
  }
  .fc-contact__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--fc-sp-40);
  }
  .fc-contact__form {
    --fc-form-card-pad: var(--fc-sp-28);
  }
}
