/* ---------------- contact form ---------------- */
.formcard{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:clamp(26px,3.4vw,44px)}
.fg{margin-bottom:20px}
.fg2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.fg2{grid-template-columns:1fr}}
.fl{display:block;font-size:13px;font-weight:650;letter-spacing:.02em;margin-bottom:8px;color:var(--ink)}
.fl .req{color:var(--accent)}
.fi,.fsel,.fta{
  width:100%;font-family:var(--sans);font-size:16px;color:var(--ink);background:var(--paper);
  border:1.5px solid var(--line);border-radius:11px;padding:14px 16px;transition:border-color .18s,box-shadow .18s;
  -webkit-appearance:none;appearance:none;
}
.fsel{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%2363697A' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px;padding-right:42px}
.fta{min-height:132px;resize:vertical;line-height:1.55}
.fi:focus,.fsel:focus,.fta:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,74,28,.14)}
.fi::placeholder,.fta::placeholder{color:#A6ABB8}
.fi.bad,.fta.bad,.fsel.bad{border-color:#D92D20}

/* honeypot - never visible, never focusable */
.hp{position:absolute!important;left:-9999px!important;top:-9999px!important;width:1px;height:1px;overflow:hidden}

.fbtn{width:100%;justify-content:center;margin-top:4px}
.fbtn:disabled{opacity:.45;cursor:not-allowed}
.fbtn:disabled:hover{transform:none;background:var(--accent)}
.fstat{margin-top:14px;font-size:14.5px;min-height:22px;line-height:1.45}
.fstat.err{color:#D92D20}
.fstat.ok{color:#067647}
.fnote{margin-top:18px;font-size:13px;color:var(--ink2);opacity:.8;line-height:1.5}

/* ---- platform captcha widget: pull into the site palette ----
   The widget ships with its own inline styles, so these need !important. */
.capwrap{margin:4px 0 20px}
.capwrap:empty{display:none}
.capwrap > div{
  background:var(--soft)!important;border:1px solid var(--line)!important;border-radius:14px!important;
  font-family:var(--sans)!important;color:var(--ink)!important;max-width:none!important;padding:20px 22px!important;
}
.capwrap svg rect,.capwrap svg path{stroke:var(--accent)!important}
.capwrap input[type=text]{
  font-family:var(--sans)!important;border:1.5px solid var(--line)!important;border-radius:9px!important;
  padding:10px 12px!important;color:var(--ink)!important;
}
.capwrap input[type=text]:focus{outline:none!important;border-color:var(--accent)!important}
.capwrap button{
  background:var(--accent)!important;color:#fff!important;border:0!important;border-radius:100px!important;
  font-family:var(--sans)!important;font-weight:650!important;padding:10px 20px!important;cursor:pointer!important;
}
.capwrap button:hover{background:#E63A0D!important}

/* success panel */
.fdone{display:none;text-align:center;padding:22px 0 8px}
.fdone .tick{width:64px;height:64px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 22px;font-size:30px;font-weight:800;line-height:1}
.fdone h3{font-size:26px;letter-spacing:-.028em;font-weight:780;margin-bottom:10px}
.fdone p{font-size:16px;color:var(--ink2);max-width:36ch;margin:0 auto}
