/* ApexTrux forms. Mobile first. */
.apx-form{max-width:720px;background:#fff;border:1px solid var(--apx-border);border-radius:var(--apx-r-l);padding:24px}
@media(min-width:768px){.apx-form{padding:40px}}
.apx-form fieldset{border:0;margin:0;padding:0;min-width:0}
.apx-form legend{font-family:var(--apx-head);font-weight:700;font-size:30px;line-height:1.1;margin:0 0 20px;padding:0}
.apx-step.is-entering{animation:apxIn .35s ease both}
@keyframes apxIn{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.apx-field{margin-bottom:20px}
.apx-field[hidden]{display:none}
.apx-field label{display:block;font-weight:600;margin-bottom:6px}
.apx-req{color:var(--apx-orange-link)}
.apx-help{margin:-2px 0 8px;font-size:14px;color:var(--apx-muted)}
.apx-form input[type=text],.apx-form input[type=tel],.apx-form input[type=email],.apx-form input[type=number],.apx-form input[type=date],.apx-form select,.apx-form textarea{width:100%;box-sizing:border-box;min-height:48px;padding:12px 14px;border:1px solid #8A939B;border-radius:var(--apx-r-s);font:inherit;font-size:16px;color:var(--apx-ink);background:#fff;transition:border-color .3s,box-shadow .3s}
.apx-form textarea{min-height:110px;resize:vertical}
.apx-form input[type=file]{width:100%;padding:10px 0;font:inherit;font-size:16px}
.apx-form input:focus-visible,.apx-form select:focus-visible,.apx-form textarea:focus-visible{outline:3px solid var(--apx-orange);outline-offset:1px;border-color:var(--apx-ink)}
.apx-form [aria-invalid=true]{border-color:#B42318;background:#FFF6F5}
.apx-err{margin:6px 0 0;color:#B42318;font-size:14px;font-weight:600;min-height:0}
.apx-err:empty{display:none}
.apx-check{display:flex!important;gap:12px;align-items:flex-start;font-weight:400!important}
.apx-check input{width:24px;height:24px;flex:none;margin-top:2px;accent-color:var(--apx-orange)}
.apx-check a{color:var(--apx-orange-link)}
.apx-progress{margin-bottom:24px}
.apx-progress-t{margin:0 0 8px;font-weight:600;color:var(--apx-muted);font-size:15px}
.apx-bar{height:8px;background:var(--apx-light);border-radius:8px;overflow:hidden}
.apx-bar span{display:block;height:100%;background:var(--apx-orange);border-radius:8px;transition:width .4s ease}
.apx-form-nav{display:flex;gap:12px;justify-content:space-between;margin-top:8px}
.apx-form-nav .apx-btn[hidden]{display:none}
.apx-form-nav [data-apx-back]{margin-right:auto}
.apx-form-nav [data-apx-next],.apx-form-nav [data-apx-submit]{margin-left:auto}
.apx-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.apx-form-errors{background:#FFF6F5;border:1px solid #B42318;border-radius:var(--apx-r-m);padding:16px 20px;margin-bottom:24px;color:#7A1A12}
.apx-form-errors ul{margin:8px 0 0 20px}
.apx-form-for{background:var(--apx-pale);border-radius:var(--apx-r-s);padding:12px 16px;margin:0 0 24px}
.apx-thanks{max-width:720px}
.apx-thanks-lead{font-size:22px;font-weight:600}
.apx-ref{font-family:var(--apx-head);font-size:28px;letter-spacing:.04em;background:var(--apx-light);border-radius:var(--apx-r-s);padding:2px 10px}
.apx-thanks .apx-btn{margin:4px 12px 4px 0}
@media(prefers-reduced-motion:reduce){.apx-step.is-entering{animation:none}.apx-bar span{transition:none}}
/* Tap targets: at least 44px */
.apx-check span a{display:block;padding:10px 0;min-height:24px}
