.zmw-contact{display:grid;grid-template-columns:1fr;gap:2rem}.zmw-contact__main>h2,.zmw-newsletter>h2{font:700 clamp(2rem,4vw,3rem)/1 var(--zmw-font-serif);margin-bottom:.7rem}.zmw-contact__main>p,.zmw-newsletter>p{font:.88rem/1.5 var(--zmw-font-sans);color:var(--zmw-color-muted)}.zmw-form-warning{padding:.8rem 1rem;border-left:.3rem solid var(--zmw-color-primary);background:var(--zmw-color-surface);font:.75rem/1.45 var(--zmw-font-sans);margin:1rem 0}.zmw-contact__aside{padding:1.2rem;border:1px solid var(--zmw-color-line);align-self:start}.zmw-contact__aside h3{font:700 1.6rem/1.05 var(--zmw-font-serif);margin:.5rem 0}.zmw-contact__aside a{display:flex;justify-content:space-between;padding:.7rem 0;border-bottom:1px solid var(--zmw-color-line);color:inherit;text-decoration:none;font:.8rem var(--zmw-font-sans);font-weight:800}.zmw-newsletter{text-align:center;border-top:1px solid var(--zmw-color-line);padding:2.5rem 0}.zmw-newsletter>p{max-width:40rem;margin-inline:auto}.zmw-form-shell{margin-top:1rem}.zmw-form-shell--newsletter{max-width:38rem;margin-inline:auto}
.zmw-form-shell .ff-el-group{margin-bottom:1rem}.zmw-form-shell label{font-family:var(--zmw-font-sans);font-weight:700}.zmw-form-shell input:not([type=checkbox]):not([type=radio]),.zmw-form-shell textarea,.zmw-form-shell select{width:100%;border:1px solid var(--zmw-color-ink);border-radius:0;background:var(--zmw-color-on-dark);padding:.75rem;font-family:var(--zmw-font-sans)}.zmw-form-shell .ff-btn-submit{min-height:2.75rem;border:1px solid var(--zmw-color-ink);border-radius:0;background:var(--zmw-color-primary);color:var(--zmw-color-ink);font-weight:800;padding:.7rem 1rem}.zmw-form-shell .error,.zmw-form-shell .text-danger{color:var(--zmw-color-error)}.zmw-form-shell .ff-message-success{border:1px solid var(--zmw-color-ink);background:var(--zmw-color-primary-soft);padding:1rem}
@media(min-width:65.625rem){.zmw-contact{grid-template-columns:minmax(0,1.45fr) minmax(18rem,.55fr);gap:3rem}}

/* Reusable form/contact interaction states. */
.zmw-contact__aside a {
  transition: padding-left var(--zmw-motion-fast) ease, background-color var(--zmw-motion-fast) ease;
}
.zmw-contact__aside a:hover {
  padding-left: .45rem;
  background: rgba(250, 216, 30, .045);
}
.zmw-form-shell .ff-btn-submit {
  cursor: pointer;
  transition: transform var(--zmw-motion-fast) ease, background-color var(--zmw-motion-fast) ease;
}
.zmw-form-shell .ff-btn-submit:hover {
  transform: translateY(-1px);
  background: var(--zmw-color-primary-hover);
}
.zmw-form-shell .ff-btn-submit:active { transform: translateY(0); }

/* GetResponse guide gate */
.zmw-guide-subscribe-form{display:grid;gap:.85rem;margin:0}.zmw-guide-subscribe-form__field label{display:block;margin-bottom:.4rem;font:800 .6875rem/1.3 var(--zmw-font-sans);text-transform:uppercase;letter-spacing:.055em;color:var(--zmw-color-ink)}.zmw-guide-subscribe-form input[type=email]{width:100%;min-height:3rem;border:1px solid var(--zmw-color-ink)!important;border-radius:0!important;background:var(--zmw-color-on-dark)!important;color:var(--zmw-color-ink)!important;padding:.75rem 1.125rem!important;font:400 1rem/1.35 var(--zmw-font-sans)!important;box-shadow:none!important}.zmw-guide-subscribe-form input[type=email]:focus{outline:3px solid var(--zmw-color-primary)!important;outline-offset:2px}.zmw-guide-subscribe-form__consent{display:flex!important;align-items:flex-start;gap:.625rem;font:400 .6875rem/1.5 var(--zmw-font-sans)!important;text-transform:none!important;letter-spacing:0!important;color:var(--zmw-color-muted)!important}.zmw-guide-subscribe-form__consent input{flex:0 0 auto;margin:.2rem 0 0;accent-color:var(--zmw-color-primary)}.zmw-guide-subscribe-form__consent a{color:var(--zmw-color-ink);text-decoration:underline;text-underline-offset:2px}.zmw-guide-subscribe-form__submit{justify-self:start}.zmw-guide-subscribe-form__submit:disabled{opacity:.6;cursor:wait}.zmw-guide-subscribe-form__trap{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}.zmw-guide-download[aria-busy=true] .zmw-guide-subscribe-form{opacity:.75}@media(max-width:40.625rem){.zmw-guide-subscribe-form__submit{width:100%;justify-content:center}}

/* Contact Form 7 — production form engine. */
.zmw-form-shell .wpcf7-form p{margin:0 0 1rem}.zmw-form-shell .wpcf7-form label{display:block}.zmw-form-shell .wpcf7-form-control-wrap{display:block;margin-top:.4rem}.zmw-form-shell .wpcf7-submit{min-height:2.75rem;border:1px solid var(--zmw-color-ink);border-radius:0;background:var(--zmw-color-primary);color:var(--zmw-color-ink);font:800 .75rem/1.2 var(--zmw-font-sans);padding:.7rem 1rem;cursor:pointer;transition:transform var(--zmw-motion-fast) ease,background-color var(--zmw-motion-fast) ease}.zmw-form-shell .wpcf7-submit:hover{transform:translateY(-1px);background:var(--zmw-color-primary-hover)}.zmw-form-shell .wpcf7-not-valid-tip{display:block;margin-top:.35rem;color:var(--zmw-color-error);font:.6875rem/1.4 var(--zmw-font-sans)}.zmw-form-shell .wpcf7-response-output{margin:1rem 0 0!important;border:0!important;border-left:5px solid var(--zmw-color-primary)!important;background:var(--zmw-color-primary-soft);padding:1rem!important;font:.75rem/1.45 var(--zmw-font-sans);font-weight:700}.zmw-form-shell .wpcf7-list-item{margin:0}.zmw-form-shell .wpcf7-spinner{vertical-align:middle}

/* Form readability — 0.3.12.40.
 * Keep ZM / CF7 / Fluent Forms readable even when Elementor global form styles
 * try to flatten borders or shrink submit controls. */
.zmw-form-shell input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=reset]),
.zmw-form-shell textarea,
.zmw-form-shell select {
  width: 100%;
  min-height: 3.25rem;
  border: 1px solid #b9b9b3 !important;
  border-radius: var(--zmw-radius-sm) !important;
  background: var(--zmw-color-background) !important;
  color: var(--zmw-color-ink) !important;
  padding: .875rem 1rem !important;
  font: 400 1rem/1.4 var(--zmw-font-sans) !important;
  box-shadow: none !important;
  transition: border-color var(--zmw-motion-fast) ease, box-shadow var(--zmw-motion-fast) ease, background-color var(--zmw-motion-fast) ease;
}

.zmw-form-shell textarea {
  min-height: 10rem;
  resize: vertical;
}

.zmw-form-shell input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=reset])::placeholder,
.zmw-form-shell textarea::placeholder {
  color: #74716a !important;
  opacity: 1;
}

.zmw-form-shell input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=reset]):focus,
.zmw-form-shell textarea:focus,
.zmw-form-shell select:focus {
  outline: 0 !important;
  border-color: var(--zmw-color-ink) !important;
  box-shadow: 0 0 0 3px rgba(250, 216, 30, .32) !important;
  background: var(--zmw-color-background) !important;
}

.zmw-form-shell .wpcf7-form > p,
.zmw-form-shell .ff-el-group {
  margin-bottom: 1rem;
}

.zmw-form-shell .wpcf7-form-control-wrap,
.zmw-form-shell .ff-el-input--content {
  display: block;
}

.zmw-form-shell .wpcf7-acceptance label,
.zmw-form-shell .wpcf7-list-item label,
.zmw-form-shell .ff-el-form-check label,
.zmw-form-shell .ff-el-form-check-label {
  line-height: 1.55 !important;
}

.zmw-form-shell input[type=checkbox],
.zmw-form-shell input[type=radio] {
  width: 1.1rem;
  height: 1.1rem;
  flex: 0 0 1.1rem;
  margin-top: .12rem;
  accent-color: var(--zmw-color-primary);
}

.zmw-form-shell .wpcf7-acceptance .wpcf7-list-item label,
.zmw-form-shell .ff-el-form-check label {
  display: flex;
  align-items: flex-start;
  gap: .625rem;
}

.zmw-form-shell .wpcf7-acceptance a,
.zmw-form-shell .ff-el-form-check a {
  color: inherit !important;
  font-weight: inherit;
  text-decoration: underline !important;
  text-underline-offset: .15em;
}

.zmw-form-shell .wpcf7-acceptance a:hover,
.zmw-form-shell .wpcf7-acceptance a:focus-visible,
.zmw-form-shell .ff-el-form-check a:hover,
.zmw-form-shell .ff-el-form-check a:focus-visible {
  color: inherit !important;
  font-weight: 700;
  text-decoration: underline !important;
  text-decoration-thickness: 2px;
}

.zmw-form-shell .wpcf7-submit,
.zmw-form-shell .ff-btn-submit,
.zmw-form-shell button[type=submit] {
  min-height: 3.25rem !important;
  padding: .875rem 1.75rem !important;
  border: 1px solid var(--zmw-color-ink) !important;
  border-radius: var(--zmw-radius-sm) !important;
  background: var(--zmw-color-primary) !important;
  color: var(--zmw-color-ink) !important;
  font: 800 .9375rem/1.2 var(--zmw-font-sans) !important;
  letter-spacing: .01em;
  box-shadow: none !important;
  cursor: pointer;
  transition: transform var(--zmw-motion-fast) ease, background-color var(--zmw-motion-fast) ease, box-shadow var(--zmw-motion-fast) ease;
}

.zmw-form-shell .wpcf7-submit:hover,
.zmw-form-shell .wpcf7-submit:focus-visible,
.zmw-form-shell .ff-btn-submit:hover,
.zmw-form-shell .ff-btn-submit:focus-visible,
.zmw-form-shell button[type=submit]:hover,
.zmw-form-shell button[type=submit]:focus-visible {
  background: var(--zmw-color-primary-hover) !important;
  transform: translateY(-1px);
  box-shadow: 0 3px 0 rgba(23, 23, 20, .16) !important;
}

.zmw-form-shell .wpcf7-submit:active,
.zmw-form-shell .ff-btn-submit:active,
.zmw-form-shell button[type=submit]:active {
  transform: translateY(0);
  box-shadow: none !important;
}

@media (max-width: 40.625rem) {
  .zmw-form-shell .wpcf7-submit,
  .zmw-form-shell .ff-btn-submit,
  .zmw-form-shell button[type=submit] {
    width: 100% !important;
    justify-content: center;
  }
}
