/* Buyer Hesitation Map. Page-local layout on top of styles.css tokens. */
.hm-hero { max-width:860px; padding-bottom:18px; }
.hm-hero h1 { font-size:clamp(38px,5.6vw,68px); line-height:1.02; letter-spacing:-.05em; }
.hm-hero .lead { margin-bottom:12px; font-size:18px; }
.hm-sample-links { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0; color:var(--muted); font-size:14px; }
.hm-sample-links a { display:inline-flex; align-items:center; min-height:40px; padding:8px 12px; border:1px solid var(--line); border-radius:999px; color:var(--text); background:var(--panel); font-size:14px; text-decoration:none; }
.hm-sample-links a:hover { border-color:var(--accent-ink); color:var(--accent-ink); }
.hm-tool { scroll-margin-top:20px; margin:24px 0 0; padding:24px; border:1px solid var(--line); border-radius:20px; background:var(--panel); box-shadow:var(--shadow); }
.hm-group { min-width:0; margin:18px 0 0; padding:0; border:0; }
.hm-form > .hm-group:first-of-type { margin-top:0; }
.hm-resume { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin:0 0 18px; padding:14px 16px; border:1px solid var(--accent-ink); border-radius:14px; background:var(--accent-soft); }
.hm-resume p { flex:1 1 220px; margin:0; font-weight:650; }
.hm-link-toggle { margin-top:12px; }
.hm-group legend { padding:0; font-weight:760; }
.hm-hint { margin:4px 0 0; color:var(--muted); font-size:13px; }
.hm-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.hm-chip { display:inline-flex; flex-direction:column; align-items:flex-start; gap:2px; min-height:44px; padding:9px 14px; border:1px solid var(--control-border); border-radius:12px; color:var(--text); background:var(--panel); font:inherit; font-size:15px; text-align:left; cursor:pointer; }
.hm-chip:hover { border-color:var(--accent-ink); }
.hm-chip[aria-pressed="true"] { border-color:var(--accent-ink); background:var(--accent-soft); color:var(--accent-ink); font-weight:720; }
.hm-link-label { margin-top:16px; font-size:14px; }
.hm-link { max-width:560px; }
.hm-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin-top:20px; }
.hm-status { min-height:1.4em; margin:12px 0 0; color:var(--muted); font-size:14px; overflow-wrap:anywhere; }
.hm-stages { display:grid; gap:8px; margin:12px 0; padding:0; list-style:none; counter-reset:stage; }
.hm-stages li { counter-increment:stage; display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid var(--line); border-radius:10px; color:var(--muted); }
.hm-stages li::before { content:counter(stage); display:inline-grid; place-items:center; width:24px; height:24px; flex:0 0 24px; border-radius:50%; border:1px solid var(--control-border); font-size:12px; font-weight:800; }
.hm-stages li[data-state="done"] { color:var(--text); }
.hm-stages li[data-state="done"]::before { content:"✓"; border-color:var(--accent-ink); color:var(--panel); background:var(--accent-ink); }
.hm-stages li[data-state="active"] { color:var(--text); border-color:var(--accent-ink); background:var(--accent-soft); font-weight:720; }
.hm-stages li[data-state="active"]::before { border-color:var(--accent-ink); color:var(--accent-ink); animation:hm-pulse 1.4s ease-in-out infinite; }
@keyframes hm-pulse { 50% { box-shadow:0 0 0 5px var(--accent-soft); } }
@media (prefers-reduced-motion:reduce) { .hm-stages li[data-state="active"]::before { animation:none; } }
.hm-progress-label { margin:0; font-weight:650; overflow-wrap:anywhere; }
.hm-choice,.hm-failure { padding:18px; border:1px solid var(--warning-border); border-radius:14px; background:var(--warning-soft); }
.hm-choice-question,.hm-failure-text { margin:0; font-size:17px; font-weight:650; overflow-wrap:anywhere; }
.hm-choice .kicker,.hm-failure .kicker { color:var(--warning-ink); }
.hm-choice-option { min-height:44px; white-space:normal; text-align:left; }
.hm-result { margin-top:8px; }
.hm-report-head { padding-bottom:18px; border-bottom:1px solid var(--line); }
.hm-report-head h2 { margin-bottom:4px; }
.hm-meta { margin:0; color:var(--muted); font-size:14px; }
.hm-stats { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:16px 0 0; }
.hm-stats div { min-width:0; padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:var(--panel-2); }
.hm-stats dt { color:var(--muted); font-size:11px; font-weight:800; letter-spacing:1px; text-transform:uppercase; }
.hm-stats dd { margin:2px 0 0; font-size:22px; font-weight:800; font-variant-numeric:tabular-nums; }
.hm-section { margin-top:28px; }
.hm-section > h3 { margin-bottom:4px; font-size:clamp(20px,2.4vw,26px); }
.hm-section-note { margin:0 0 12px; color:var(--muted); font-size:14px; }
.hm-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; padding:0; list-style:none; }
.hm-card { min-width:0; padding:16px; border:1px solid var(--line); border-radius:16px; background:var(--panel); }
.hm-card[data-status="unanswered"] { border-color:var(--accent-rose); box-shadow:inset 3px 0 0 var(--accent-rose); }
.hm-card-head { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; }
.hm-pill { display:inline-flex; padding:3px 9px; border:1px solid var(--control-border); border-radius:999px; color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.6px; text-transform:uppercase; }
.hm-card[data-status="unanswered"] .hm-pill { border-color:var(--rose-ink); color:var(--rose-ink); background:var(--rose-soft); }
.hm-card[data-status="partly_answered"] .hm-pill { border-color:var(--warning-border); color:var(--warning-ink); background:var(--warning-soft); }
.hm-card[data-status="answered"] .hm-pill { border-color:var(--accent-ink); color:var(--accent-ink); background:var(--accent-soft); }
.hm-kind { color:var(--muted); font-size:12px; }
.hm-card h4 { margin:10px 0 4px; font-size:19px; line-height:1.3; }
.hm-facts,.hm-answered { margin:0; color:var(--muted); font-size:14px; }
.hm-answered b { color:var(--text); }
.hm-quotes { display:grid; gap:8px; margin-top:12px; }
.hm-quote { margin:0; padding:10px 12px; border-left:3px solid var(--accent-cyan); border-radius:0 10px 10px 0; background:var(--panel-2); }
.hm-quote p { margin:0; overflow-wrap:anywhere; }
.hm-quote .hm-cite { margin-top:4px; color:var(--muted); font-size:12px; }
.hm-terms { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:12px; }
.hm-terms-label { color:var(--muted); font-size:12px; }
.hm-term { padding:2px 8px; border:1px solid var(--line); border-radius:999px; font-size:12px; overflow-wrap:anywhere; }
.hm-angle-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.hm-angle { min-width:0; padding:16px; border:1px solid var(--text); border-radius:16px; color:var(--panel); background:var(--text); }
.hm-angle-label { margin:0; color:#AEB4C0; font-size:12px; font-weight:800; letter-spacing:.6px; text-transform:uppercase; }
.hm-hook { margin:8px 0 10px; font-size:19px; font-weight:780; line-height:1.3; overflow-wrap:anywhere; }
.hm-film-label { margin:0; color:#7FE9E5; font-size:12px; font-weight:800; letter-spacing:1px; text-transform:uppercase; }
.hm-shots { margin:4px 0 0; padding-left:18px; color:#E3E6EC; font-size:14px; }
.hm-shots li { margin:4px 0; }
.hm-why { margin:10px 0 0; color:#C9CDD6; font-size:13px; }
.hm-brief-text { max-height:340px; margin:0; padding:14px; overflow:auto; border:1px solid var(--line); border-radius:12px; background:var(--panel-2); font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
.hm-caveats ul { margin:0; padding-left:20px; color:var(--muted); font-size:14px; }
.hm-caveats li { margin:6px 0; }
.hm-next { display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; margin-top:24px; }
.hm-faq { max-width:820px; }
.hm-faq details { padding:12px 0; border-top:1px solid var(--line); }
.hm-faq summary { cursor:pointer; font-weight:720; }
.hm-faq details p { margin:8px 0 0; color:var(--muted); }
@media (max-width:900px) {
  .hm-angle-grid { grid-template-columns:minmax(0,1fr); }
  }
@media (max-width:650px) {
  .hm-tool { padding:16px; }
  .hm-cards,  .hm-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hm-chip { flex:1 1 calc(50% - 8px); min-width:0; }
  .hm-actions .button { width:100%; }
}
.hm-top-list { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.hm-top-card { min-width:0; padding:16px 18px; border:1px solid var(--accent-rose); border-radius:16px; background:var(--panel); box-shadow:inset 3px 0 0 var(--accent-rose); }
.hm-top-label { margin:0; color:var(--muted); font-size:13px; font-weight:720; overflow-wrap:anywhere; }
.hm-top-card .hm-hook { margin:6px 0 8px; }
.hm-top-quote { margin:0; color:var(--muted); font-size:14px; overflow-wrap:anywhere; }
.hm-top-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-top:12px; }
.hm-top-actions .button { min-height:38px; padding:6px 14px; font-size:14px; }
.hm-honest { margin:12px 0 0; color:var(--muted); font-size:13px; }
.hm-all { margin-top:24px; padding-top:16px; border-top:1px solid var(--line); }
.hm-all > summary { cursor:pointer; color:var(--accent-ink); font-weight:760; }
