/*
 * Gravity Forms markup adapter.
 * Values mirror the approved contact and subscribe rules already in site.css
 * and company-pages.css; this file adds no new visual design.
 */
.contact-form-wrap .gform_wrapper{ min-width:0; }
.contact-form-wrap .gform_wrapper form{ display:flex; flex-direction:column; gap:1.1rem; }
.contact-form-wrap .gform_wrapper .gform_fields{ row-gap:1.1rem; }
.contact-form-wrap .gform_wrapper .gfield.field{ display:flex; flex-direction:column; gap:.4rem; }
.contact-form-wrap .gform_wrapper .gfield.field label{ font-size:.85rem; font-weight:600; color:var(--ink-2); letter-spacing:.01em; }
.contact-form-wrap .gform_wrapper .gfield_required_text{ display:none; }
.contact-form-wrap .gform_wrapper .gfield.field.gfield_contains_required > .gfield_label::after{ content:" *"; }
.contact-form-wrap .gform_wrapper fieldset.consent-block > legend{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.contact-form-wrap .gform_wrapper .gfield.field input,
.contact-form-wrap .gform_wrapper .gfield.field select,
.contact-form-wrap .gform_wrapper .gfield.field textarea{
  width:100%; padding:.85rem 1rem; border:1px solid var(--border);
  border-radius:var(--radius-sm); background:var(--bg); color:var(--ink);
  font-family:var(--body); font-size:1rem; line-height:1.5;
  transition:border-color .2s, box-shadow .2s; appearance:none; -webkit-appearance:none;
}
.contact-form-wrap .gform_wrapper .gfield.field textarea{ resize:vertical; min-height:110px; }
.contact-form-wrap .gform_wrapper .gfield.field input::placeholder,
.contact-form-wrap .gform_wrapper .gfield.field textarea::placeholder{ color:var(--muted); }
.contact-form-wrap .gform_wrapper .gfield.field select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235C6B64' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right .85rem center; padding-right:2.5rem; cursor:pointer;
}
.contact-form-wrap .gform_wrapper .gfield.field input:focus,
.contact-form-wrap .gform_wrapper .gfield.field select:focus,
.contact-form-wrap .gform_wrapper .gfield.field textarea:focus{ outline:none; border-color:var(--green); box-shadow:0 0 0 3px rgba(0,183,79,.15); }
.contact-form-wrap .gform_wrapper .gfield.consent-block .ginput_container_consent{ display:flex; align-items:flex-start; gap:.75rem; margin-top:.4rem; }
.contact-form-wrap .gform_wrapper .gfield.consent-block input[type="checkbox"]{ flex:0 0 auto; width:18px; height:18px; border:1.5px solid var(--border); border-radius:4px; background:var(--bg); cursor:pointer; margin-top:2px; accent-color:var(--green); }
.contact-form-wrap .gform_wrapper .gfield.consent-block label{ font-size:.88rem; color:var(--muted); line-height:1.55; cursor:pointer; }
.contact-form-wrap .gform_wrapper .gfield.consent-block label a{ color:var(--green-ink); text-decoration:underline; text-underline-offset:2px; }
.contact-form-wrap .gform_wrapper .gfield.consent-block label a:hover{ color:var(--green); }
.contact-form-wrap .gform_wrapper .gform_footer{ margin-top:.4rem; padding:0; }
.contact-form-wrap .gform_wrapper .gform_footer .gform_button.btn{
  width:100% !important; min-height:0 !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:.55rem !important;
  margin:0 !important; padding:1rem 1.6rem !important; border:0 !important; border-radius:999px !important;
  background:var(--green) !important; color:#fff !important; box-shadow:0 8px 24px -8px rgba(0,183,79,.6) !important;
  font-family:var(--body) !important; font-size:1rem !important; font-weight:600 !important; line-height:1 !important; text-transform:none !important;
  transition:transform .2s var(--ease), box-shadow .2s var(--ease), background .2s;
}
.contact-form-wrap .gform_wrapper .gform_footer .gform_button.btn svg{ width:18px; height:18px; }
.contact-form-wrap .gform_wrapper .gform_footer .gform_button.btn:hover{
  background:var(--green-bright) !important; color:#fff !important; transform:translateY(-2px);
  box-shadow:0 14px 30px -8px rgba(0,183,79,.7) !important;
}
.contact-form-wrap .gform_confirmation_wrapper{
  width:100%; min-width:0; min-height:clamp(260px,32vw,430px);
  display:grid; place-items:start center; align-self:stretch;
}
.contact-form-wrap .gform_confirmation_message{
  width:min(100%,640px); margin:0; padding:clamp(2rem,5vw,3.25rem);
  border:1px solid rgba(0,183,79,.32); border-radius:var(--radius);
  background:
    radial-gradient(circle at 50% 0%, rgba(0,183,79,.1), transparent 60%),
    rgba(255,255,255,.78);
  box-shadow:0 18px 50px -28px rgba(5,51,34,.35);
  color:var(--ink); font-size:clamp(1rem,1.5vw,1.15rem);
  font-weight:600; line-height:1.65; text-align:center;
}
.contact-form-wrap .gform_confirmation_message::before{
  content:"✓"; width:52px; height:52px; margin:0 auto 1.25rem;
  display:grid; place-items:center; border:1px solid rgba(0,183,79,.32);
  border-radius:50%; background:rgba(0,183,79,.1); color:var(--green-ink);
  font-size:1.45rem; font-weight:700; line-height:1;
}
.subscribe .gform_wrapper,
.subscribe .gform_wrapper form,
.subscribe .gform_wrapper .gform_body,
.subscribe .gform_wrapper .gform_footer{ margin:0; padding:0; }
.subscribe .gform_wrapper form{ display:flex; gap:.6rem; flex-wrap:wrap; align-items:flex-start; }
.subscribe .gform_wrapper .gform_body{ flex:1 1 250px; }
.subscribe .gform_wrapper .gform_footer{ flex:0 0 auto; }
.subscribe .gform_wrapper input[type="email"]{ font-family:var(--body); font-size:.95rem; padding:.8rem 1rem; border:1px solid var(--border); border-radius:var(--radius-sm); min-width:250px; background:#fff; }
.subscribe .gform_confirmation_wrapper{ flex:1 1 100%; display:flex; align-items:center; min-height:54px; }
.subscribe .gform_confirmation_message{
  width:100%; margin:0; padding:.85rem 1rem; border:1px solid rgba(0,183,79,.3);
  border-radius:var(--radius-sm); background:rgba(0,183,79,.08);
  color:var(--green-ink); font-size:.92rem; font-weight:600; line-height:1.45; text-align:center;
}
@media (min-width:861px){
  .contact-form-wrap > .gform_wrapper,
  .contact-form-wrap > .gform_confirmation_wrapper{
    grid-column:2;
  }
}
@media (max-width:600px){
  .contact-form-wrap .gform_confirmation_wrapper{ min-height:230px; }
  .contact-form-wrap .gform_confirmation_message{ padding:1.75rem 1.35rem; }
}
