/* ============================================================
   Kramer CPA — intake form. Extends kramer.css; tokens only.
   ============================================================ */

.intake-body{min-height:100svh;display:flex;flex-direction:column}
.intake-exit{font-size:13px;font-weight:500;color:var(--muted-text)}
.intake-exit:hover{color:var(--text)}

.intake-main{
  flex:1;
  display:flex;align-items:center;justify-content:center;
  padding:calc(var(--header-h) + 32px) 24px 64px;
}
.intake-frame{width:100%;max-width:640px}

.intake-progress{
  font-size:13px;font-weight:500;
  letter-spacing:.08em;
  color:var(--muted-text);
  margin-bottom:24px;
  min-height:1em;
}

/* screen transitions — entrance only, content visible at rest */
.intake-screen{opacity:1;transform:none}
.intake-screen.is-entering{opacity:0;transform:translateY(16px)}
.intake-screen.is-settled{transition:opacity .28s ease,transform .28s ease;opacity:1;transform:none}

.q-title{margin-bottom:16px}
.q-note{font-size:13px;color:var(--muted-text);margin-bottom:24px}
.intake-screen .support{margin-bottom:28px;max-width:none}

/* interstitial copy block (B1 / I1 / C1 / B6) */
.interstitial{
  border-top:1px solid var(--line);
  padding-top:20px;
  margin-bottom:28px;
}
.interstitial p{font-size:16px;color:var(--muted-2);line-height:1.75;text-wrap:pretty}
.interstitial p + p{margin-top:12px}
.interstitial strong{color:var(--text);font-weight:600}

/* answer options */
.opts{display:flex;flex-direction:column;gap:10px}
.opt{
  display:block;width:100%;
  text-align:left;
  padding:15px 18px;
  border:1px solid var(--line);
  border-radius:8px;
  font-size:15px;font-weight:500;
  color:var(--text);
  background:transparent;
  transition:border-color .15s ease,background .15s ease;
  min-height:48px;
}
.opt:hover{border-color:var(--text)}
.opt.is-picked{border-color:var(--text);background:var(--btn-tint)}
.opt-hint{display:block;font-size:13px;font-weight:400;color:var(--muted-text);margin-top:2px}

/* text fields */
.field{margin-bottom:20px}
.field label{
  display:block;
  font-size:11px;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted-text);
  margin-bottom:8px;
}
.field input,.field textarea{
  width:100%;
  font:inherit;font-size:16px;
  color:var(--text);
  background:#ffffff;
  border:1px solid var(--line);
  border-radius:8px;
  padding:13px 16px;
}
.field textarea{min-height:132px;resize:vertical}
.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-color:var(--text)}
/* invalid state must read differently from the focus ring: tinted fill + ink border */
.field input.is-invalid,.field textarea.is-invalid{border-color:var(--text);background:var(--btn-tint)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:560px){.field-row{grid-template-columns:1fr}}

.form-error{font-size:13px;font-weight:500;color:var(--text);margin-top:14px}
.form-error:empty{display:none}

/* actions row */
.actions{display:flex;align-items:center;gap:18px;margin-top:28px}
.btn-back{
  font-size:13px;font-weight:500;color:var(--muted-text);
  padding:11px 0;
}
.btn-back:hover{color:var(--text)}
.btn[disabled]{opacity:.55;cursor:default}

/* terminal screens */
.terminal .statement--sm{margin-bottom:18px}
.terminal .support{margin-bottom:0}
.terminal-actions{margin-top:32px}
.calendly-wrap{margin-top:32px;border-top:1px solid var(--line-2);padding-top:32px}
.calendly-wrap iframe{width:100%;height:640px;border:0}
.calendly-link{
  display:inline-block;margin-top:14px;
  font-size:13px;font-weight:500;color:var(--muted-text);
  padding:11px 0;
}
.calendly-link:hover{color:var(--text)}
@media (max-width:700px){
  .calendly-wrap{margin-top:24px;padding-top:24px}
  .calendly-wrap iframe{height:760px}
}

.intake-noscript{max-width:640px;margin:0 auto;padding:120px 24px}

@media (max-width:560px){
  .intake-main{padding:calc(var(--header-h) + 16px) 20px 48px}
  .intake-progress{margin-bottom:18px}
}

@media (prefers-reduced-motion:reduce){
  .intake-screen.is-entering{opacity:1;transform:none}
  .intake-screen.is-settled{transition:none}
}

/* privacy link under the questionnaire frame (2026-08-24) — quiet, persistent,
   visible on every screen including the contact/submit step */
.intake-footnote{margin-top:28px}
