
/* Hallmark · component: plan form · genre: editorial · theme: site tokens (orange #a84300, cream, Oswald + DM Sans)
 * states: default · hover · focus-visible · active · selected · error · step-complete · reduced-motion
 * Checked and step states cannot be set in Webflow styles, so they live here. */
.qz_form .qz_opt{position:relative;padding-right:3rem;transition:transform .2s cubic-bezier(.22,1,.36,1),border-color .2s,background-color .2s,box-shadow .2s}
.qz_form .qz_opt:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(31,31,31,.08)}
.qz_form .qz_opt:active{transform:translateY(0)}
.qz_form .qz_opt .qz_tick{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.qz_form .qz_opt:has(.qz_tick:checked){border-color:#a84300;background-color:#fbf0e6;box-shadow:0 0 0 1px #a84300}
.qz_form .qz_opt:has(.qz_tick:checked) .qz_opt-ic{background:#a84300;color:#fff}
.qz_form .qz_opt:has(.qz_tick:checked)::after{content:"";position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;background:#a84300 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/13px no-repeat}
.qz_form .qz_opt:has(.qz_tick:focus-visible){outline:3px solid #f06a1c;outline-offset:2px}
/* Step tracker */
.qz_form:not(.qz_on-2) [data-qz-step="1"],.qz_on-2 [data-qz-step="2"]{color:#1f1f1f}
.qz_form:not(.qz_on-2) [data-qz-step="1"] .qz_stepnum,.qz_on-2 [data-qz-step="2"] .qz_stepnum{background:#a84300;border-color:#a84300;color:#fff}
.qz_on-2 [data-qz-step="1"] .qz_stepnum{background:#fbf0e6;border-color:#a84300;color:#a84300}
.qz_on-2 .qz_stepline{background:#a84300}
/* Two steps: choices first, then contact details. Without script everything shows at once. */
.qz_form:not(.qz_js) [data-qz=next],.qz_form:not(.qz_js) [data-qz=back],.qz_form:not(.qz_js) .qz_steps{display:none}
.qz_js:not(.qz_on-2) .qz_step2{display:none}
.qz_on-2 .qz_opts,.qz_on-2 [data-qz=next],.qz_on-2>.qz_help{display:none}
@keyframes qzIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.qz_on-2 .qz_step2{animation:qzIn .35s cubic-bezier(.22,1,.36,1)}
.qz_form .qz_input:focus{background-color:#fff;border-color:#a84300;box-shadow:0 0 0 3px rgba(168,67,0,.18);outline:0}
@media (prefers-reduced-motion:reduce){.qz_form .qz_opt{transition:none}.qz_form .qz_opt:hover{transform:none}.qz_on-2 .qz_step2{animation:none}}
