/* Arsenal Media form enhancements + contact page layout update */
.fieldHelp{display:block;margin:6px 0 0;color:var(--muted,#5f6670);font-size:12px;line-height:1.45}
.formStatus{display:none;border-radius:14px;padding:12px 14px;margin:0;font-weight:850;line-height:1.45}
.formStatus.is-success{display:block;background:#ecfdf3;color:#027a48;border:1px solid #abefc6}
.formStatus.is-error{display:block;background:#fff1f3;color:#b42318;border:1px solid #fecdd6}
.hpField{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contactBox button[disabled]{opacity:.7;cursor:wait}
.contactBox select,.contactBox input,.contactBox textarea{font:inherit}
.contactBox textarea{min-height:128px}

/* -------------------------------------------------------
   CONTACT PAGE BALANCE FIX
   Makes the form wider on desktop so it does not feel tall
   and skinny beside the intro card.
------------------------------------------------------- */
.contactReviewSection{background:#fff;}
.contactReviewGrid{
  grid-template-columns:minmax(280px,.74fr) minmax(720px,1.55fr)!important;
  gap:30px!important;
  align-items:start!important;
}
.contactIntroPanel{
  position:sticky;
  top:96px;
  padding:28px!important;
}
.contactIntroPanel h2{font-size:clamp(25px,2.4vw,36px);line-height:1.1;margin-bottom:12px;}
.contactIntroPanel p{font-size:15.5px;line-height:1.72;}
.contactIntroPanel .miniList{gap:12px;margin-top:20px;}
.contactIntroPanel .miniItem{align-items:flex-start;}
.contactIntroPanel .miniIcon{width:38px;height:38px;border-radius:11px;}
.contactIntroPanel .miniItem span{line-height:1.5;}

.contactReviewForm{
  padding:30px!important;
  border-radius:28px!important;
}
.formHeader{
  border-bottom:1px solid var(--line,rgba(15,17,22,.12));
  padding-bottom:18px;
  margin-bottom:18px;
}
.formHeader h2{
  margin:8px 0 6px;
  font-size:clamp(26px,2.4vw,38px);
  line-height:1.08;
  letter-spacing:-.03em;
  color:var(--ink,#171a21);
}
.formHeader p{margin:0;color:#535b67;line-height:1.65;max-width:760px;}
.contactReviewForm .formGrid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px 16px!important;
}
.contactReviewForm .field.full{grid-column:1/-1;}
.contactReviewForm .field.wide{grid-column:span 2;}
.contactReviewForm label{font-size:12.5px;letter-spacing:.01em;}
.contactReviewForm input,
.contactReviewForm select,
.contactReviewForm textarea{
  min-height:48px;
  border-radius:14px;
  border-color:#d8d0c5;
  background:#fff;
}
.contactReviewForm textarea{
  min-height:132px;
}
.contactReviewForm .fullWidth{grid-column:1/-1;}
.contactReviewForm .btn.fullWidth{
  width:auto;
  justify-self:start;
  min-width:260px;
}
.contactReviewForm .note.fullWidth{
  max-width:780px;
  margin-top:-2px;
}

@media(max-width:1100px){
  .contactReviewGrid{grid-template-columns:1fr!important;}
  .contactIntroPanel{position:relative;top:auto;}
  .contactReviewForm .formGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .contactReviewForm .field.wide{grid-column:1/-1;}
}
@media(max-width:680px){
  .contactReviewForm{padding:22px!important;border-radius:22px!important;}
  .contactReviewForm .formGrid{grid-template-columns:1fr!important;}
  .contactReviewForm .field,
  .contactReviewForm .field.wide,
  .contactReviewForm .field.full{grid-column:1/-1;}
  .contactReviewForm .btn.fullWidth{width:100%;min-width:0;}
  .contactIntroPanel{padding:22px!important;}
}


/* -------------------------------------------------------
   SITE-WIDE WORKFLOW REVIEW FORMS
   Used on homepage, services, portfolio, about, blog, and case-study pages.
------------------------------------------------------- */
.inlineLeadSection{background:#fff;position:relative;}
.inlineLeadWrap{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(520px,1.18fr);gap:30px;align-items:center;}
.inlineLeadCopy h2,.bottomLeadCopy h2{font-size:clamp(28px,3.2vw,48px);line-height:1.06;letter-spacing:-.04em;margin:8px 0 14px;color:var(--ink,#171a21);}
.inlineLeadCopy p,.bottomLeadCopy p{font-size:clamp(16px,1.45vw,19px);line-height:1.72;color:var(--muted,#535b67);margin:0;}
.amLeadForm{background:#fff;border:1px solid var(--line,rgba(15,17,22,.12));border-radius:26px;padding:24px;box-shadow:var(--shadow2,0 20px 60px rgba(0,0,0,.08));}
.amLeadForm .formGrid{display:grid;gap:14px 16px;}
.amLeadForm .miniFormGrid{grid-template-columns:repeat(2,minmax(0,1fr));}
.amLeadForm .reviewFormGrid{grid-template-columns:repeat(2,minmax(0,1fr));}
.amLeadForm .field{display:flex;flex-direction:column;gap:7px;}
.amLeadForm .field.full{grid-column:1/-1;}
.amLeadForm .field.wide{grid-column:span 1;}
.amLeadForm label{font-size:12.5px;font-weight:850;color:var(--ink,#171a21);letter-spacing:.01em;}
.amLeadForm label span{color:var(--muted,#535b67);font-weight:700;}
.amLeadForm input,.amLeadForm select,.amLeadForm textarea{width:100%;min-height:48px;border:1px solid #d8d0c5;border-radius:14px;background:#fff;color:#171a21;font:inherit;padding:12px 13px;outline:none;}
.amLeadForm textarea{min-height:112px;resize:vertical;line-height:1.55;}
.amLeadForm input:focus,.amLeadForm select:focus,.amLeadForm textarea:focus{border-color:#c8102e;box-shadow:0 0 0 4px rgba(200,16,46,.12);}
.amLeadForm .btn{justify-self:start;min-width:210px;}
.amLeadFormCompact textarea{min-height:104px;}
.bottomLeadSection{background:#0d0f14;color:#fff;position:relative;overflow:hidden;}
.bottomLeadSection:before{content:"";position:absolute;inset:-120px -160px auto auto;width:420px;height:420px;background:radial-gradient(circle,rgba(200,16,46,.35),rgba(200,16,46,0) 68%);pointer-events:none;}
.bottomLeadGrid{display:grid;grid-template-columns:minmax(280px,.86fr) minmax(560px,1.14fr);gap:34px;align-items:center;position:relative;z-index:1;}
.bottomLeadCopy h2{color:#fff;}
.bottomLeadCopy p{color:#d5d9e2;}
.leadBullets{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px;}
.leadBullets li{position:relative;padding-left:24px;color:#e5e7eb;line-height:1.55;font-weight:750;}
.leadBullets li:before{content:"";position:absolute;left:0;top:.58em;width:9px;height:9px;border-radius:50%;background:#c8102e;box-shadow:0 0 0 5px rgba(200,16,46,.16);}
.amLeadFormDark{background:#fff;color:#171a21;border:1px solid rgba(255,255,255,.16);}
.compactHeader{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid rgba(15,17,22,.1);}
.compactHeader h3{font-size:clamp(22px,2.2vw,30px);line-height:1.1;letter-spacing:-.025em;margin:0 0 6px;color:#171a21;}
.compactHeader p{margin:0;color:#535b67;line-height:1.55;font-size:14.5px;}
.amLeadForm .formStatus{grid-column:1/-1;}
.amLeadForm .hpField{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
@media(max-width:1020px){.inlineLeadWrap,.bottomLeadGrid{grid-template-columns:1fr}.amLeadForm .field.wide{grid-column:1/-1}}
@media(max-width:680px){.inlineLeadWrap,.bottomLeadGrid{gap:22px}.amLeadForm{padding:20px;border-radius:22px}.amLeadForm .miniFormGrid,.amLeadForm .reviewFormGrid{grid-template-columns:1fr}.amLeadForm .field,.amLeadForm .field.wide,.amLeadForm .field.full{grid-column:1/-1}.amLeadForm .btn{width:100%;min-width:0}.leadBullets li{font-size:14.5px}}

/* -------------------------------------------------------
   CLOUDFLARE TURNSTILE HUMAN VERIFICATION
   Injected by assets/js/contact-forms.js on every contact form.
------------------------------------------------------- */
.humanCheckField{
  grid-column:1/-1!important;
  margin-top:2px;
}
.humanCheckField label{
  display:block;
  margin-bottom:8px;
}
.humanCheckField label span{
  color:var(--muted,#535b67);
  font-weight:700;
}
.turnstileBox{
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  background:#fbfaf8;
  border:1px solid #d8d0c5;
  border-radius:16px;
  padding:12px;
  overflow:hidden;
}
.humanCheckField.has-error .turnstileBox{
  border-color:#f04438;
  background:#fff1f3;
}
.turnstileError{
  color:#b42318;
  font-weight:850;
  font-size:14px;
  line-height:1.45;
}
.amLeadFormDark .turnstileBox,
.contactReviewForm .turnstileBox{
  background:#fff;
}
@media(max-width:680px){
  .turnstileBox{
    padding:10px;
    border-radius:14px;
  }
}

/* -------------------------------------------------------
   TURNSTILE VISIBILITY PATCH v27
   Keeps the human check visible even if form layouts vary.
------------------------------------------------------- */
.humanCheckField{
  display:block!important;
  grid-column:1/-1!important;
  width:100%!important;
  clear:both!important;
  margin:8px 0 14px!important;
  padding:0!important;
}
.humanCheckField label{
  display:block!important;
  margin:0 0 8px!important;
  color:#171a21!important;
  font-size:12.5px!important;
  font-weight:850!important;
}
.turnstileBox{
  min-height:84px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  background:#fff!important;
  border:1px solid #d8d0c5!important;
  border-radius:16px!important;
  padding:12px!important;
  overflow:hidden!important;
}
.turnstileLoading,
.turnstileError{
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:800!important;
}
.turnstileLoading{color:#535b67!important;}
.turnstileError{color:#b42318!important;}
.humanCheckField.has-error .turnstileBox{
  border-color:#f04438!important;
  background:#fff1f3!important;
}
.humanCheckField.is-verified .turnstileBox{
  border-color:#1f9d55!important;
}

/* -------------------------------------------------------
   TURNSTILE STYLING REFINEMENT v29
   Makes the human check feel compact and intentional.
------------------------------------------------------- */
.humanCheckField{
  display:block!important;
  grid-column:1/-1!important;
  width:100%!important;
  clear:both!important;
  margin:10px 0 10px!important;
  padding:0!important;
}
.humanCheckField label{
  display:flex!important;
  align-items:baseline!important;
  gap:6px!important;
  margin:0 0 8px!important;
  color:#171a21!important;
  font-size:12.5px!important;
  font-weight:850!important;
}
.humanCheckField label span{
  color:#6b7280!important;
  font-size:12px!important;
  font-weight:700!important;
}
.turnstileBox{
  min-height:auto!important;
  width:fit-content!important;
  max-width:100%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  background:transparent!important;
  border:none!important;
  border-radius:0!important;
  padding:0!important;
  overflow:visible!important;
  box-shadow:none!important;
}
.turnstileBox iframe{
  max-width:100%!important;
}
.humanCheckField.has-error .turnstileBox,
.humanCheckField.is-verified .turnstileBox{
  border:none!important;
  background:transparent!important;
}
.humanCheckField .fieldHelp,
.humanCheckField .humanCheckHelp,
.humanCheckField small{
  display:block;
  margin-top:8px;
  color:#6b7280!important;
  font-size:12px!important;
  line-height:1.45!important;
}
.turnstileLoading,
.turnstileError{
  display:inline-flex!important;
  align-items:center!important;
  min-height:48px!important;
  padding:12px 14px!important;
  border-radius:12px!important;
  border:1px solid #d8d0c5!important;
  background:#fff!important;
  font-size:13px!important;
  line-height:1.45!important;
  font-weight:800!important;
}
.turnstileLoading{color:#535b67!important;}
.turnstileError{
  color:#b42318!important;
  border-color:#f2b8b5!important;
  background:#fff5f5!important;
}
@media(max-width:680px){
  .turnstileBox{
    width:100%!important;
  }
  .turnstileBox iframe{
    transform-origin:left top;
    max-width:100%!important;
  }
}
