/* The AFH intake form, one question at a time. Without JavaScript the four fieldsets are an ordinary form (no .is-steps class).
   Site tokens only. */
.afh-q{scroll-margin-top:100px}
.afh-q .aq-head,.afh-q .aq-nav{display:none}
.afh-q.is-steps .aq-head{display:block;margin:0 0 1.25rem}
.afh-q.is-steps .aq-nav{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0 0}
.afh-q .aq-count{margin:0 0 .5rem;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--s500)}
.afh-q .aq-bar{height:4px;border-radius:var(--pill);background:var(--border);overflow:hidden}
.afh-q .aq-bar span{display:block;height:100%;width:25%;border-radius:var(--pill);background:var(--ember);transition:width .25s ease}
@media (prefers-reduced-motion:reduce){.afh-q .aq-bar span{transition:none}}

.afh-q .aq-step{border:0;padding:0;margin:0 0 1.75rem;min-width:0}
.afh-q.is-steps .aq-step{margin:0}
.afh-q.is-steps .aq-step[hidden]{display:none}
.afh-q.is-steps .aq-step:not([hidden]){animation:aqin .28s ease both}
@keyframes aqin{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.afh-q.is-steps .aq-step:not([hidden]){animation:none}}
.afh-q .aq-step > legend{float:left;width:100%;padding:0;margin:0 0 .75rem;font-family:var(--display);font-weight:700;font-size:1.5rem;
  line-height:1.2;letter-spacing:-.01em;text-transform:none;color:var(--ink)}
.afh-q .aq-step > legend + *{clear:both}
.afh-q .aq-step > legend:focus{outline:none}
.afh-q .aq-sub{margin:0 0 1rem;color:var(--s700);font-size:.9375rem;line-height:1.55}

/* Answers: big tap targets, one per line */
.afh-q .aq-opts{display:grid;gap:.6rem}
.afh-q .aq-opt{position:relative;display:flex;align-items:center;gap:.85rem;margin:0;padding:.95rem 1.1rem;min-height:56px;background:var(--surface);
  border:1.5px solid var(--border);border-radius:var(--r12);cursor:pointer;font-size:1.0625rem;font-weight:500;color:var(--ink);line-height:1.35;
  transition:border-color .15s,background .15s,box-shadow .15s}
.afh-q .aq-opt:hover{border-color:var(--ember)}
.afh-q .aq-opt input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.afh-q .aq-dot{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--s300);background:var(--surface);display:grid;place-items:center;
  transition:border-color .15s,background .15s}
.afh-q .aq-opt:has(input:checked){border-color:var(--ink);background:var(--surface);box-shadow:0 0 0 1px var(--ink)}
.afh-q .aq-opt:has(input:checked) .aq-dot{border-color:var(--ember);background:var(--ember)}
.afh-q .aq-opt:has(input:checked) .aq-dot::after{content:"";width:8px;height:8px;border-radius:50%;background:#fff}
.afh-q .aq-opt:has(input:focus-visible){outline:3px solid var(--ember);outline-offset:2px}

/* The where-question is short chips */
.afh-q .aq-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.afh-q .aq-chip{position:relative;display:inline-flex;align-items:center;margin:0;padding:.65rem 1.15rem;min-height:44px;background:var(--surface);
  border:1.5px solid var(--border);border-radius:var(--pill);cursor:pointer;font-size:.9375rem;font-weight:500;color:var(--ink);transition:border-color .15s,background .15s,color .15s}
.afh-q .aq-chip:hover{border-color:var(--ember)}
.afh-q .aq-chip input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.afh-q .aq-chip:has(input:checked){border-color:var(--ink);background:var(--ink);color:#fff}
.afh-q .aq-chip:has(input:focus-visible){outline:3px solid var(--ember);outline-offset:2px}

/* The last question: three fields and the send button */
.afh-q .aq-fields{display:grid;gap:.85rem;margin:0 0 1rem}
@media (min-width:620px){.afh-q .aq-fields{grid-template-columns:1fr 1fr}.afh-q .aq-wide{grid-column:1 / -1}}
.afh-q .aq-fields label{display:flex;flex-direction:column;gap:.3rem;margin:0;font-size:.875rem;font-weight:600;color:var(--ink)}
.afh-q .aq-fields input{min-height:50px;margin:0;padding:.6rem .85rem;font:inherit;font-size:1rem;border:1.5px solid var(--border);border-radius:var(--r8);
  background:var(--surface);color:var(--ink);width:100%}
.afh-q .aq-fields input:focus{outline:2px solid var(--ember);outline-offset:1px;border-color:var(--ember)}
.afh-q .aq-step[data-step="4"] .btn{margin-top:.25rem}
.afh-q .aq-step[data-step="4"] .optin{margin:.25rem 0 .75rem}

/* Back and Next */
.afh-q .aq-back{font:inherit;font-weight:600;font-size:.9375rem;background:none;border:0;padding:.7rem .25rem;color:var(--s700);cursor:pointer;
  text-decoration:underline;text-underline-offset:3px}
.afh-q .aq-back:hover{color:var(--ink)}
.afh-q .aq-back:focus-visible,.afh-q .aq-next:focus-visible{outline:3px solid var(--ember);outline-offset:2px}
.afh-q .aq-next[disabled]{opacity:.4;cursor:not-allowed}
.afh-q .aq-next[hidden]{display:none}
