/* Buyer Hesitation Map. Page-local layout on top of styles.css tokens. */
.hm-page .art-hero { grid-template-columns:minmax(0,1fr) 190px; gap:28px; }
.hm-page .hero-art img { max-width:190px; }
.hm-hero { max-width:800px; padding-bottom:0; }
.hm-samples { margin-top:14px; font-size:14px; }
.hm-samples summary { display:list-item; width:fit-content; min-height:44px; padding:9px 0; color:var(--accent-ink); font-weight:600; cursor:pointer; }
.hm-samples[open] summary { margin-bottom:6px; }
.hm-hero h1 { font-size:clamp(34px,4.7vw,54px); line-height:1.08; letter-spacing:-.04em; }
.hm-hero .lead { max-width:640px; margin-bottom:0; font-size:17px; line-height:1.6; }
.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:44px; padding:9px 14px; 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:22px 0 0; padding:28px; border:1px solid var(--line); border-top:3px solid var(--accent-ink); border-radius:var(--radius-card); background:var(--panel); box-shadow:var(--shadow); }
.hm-group { min-width:0; margin:24px 0 0; padding:20px 0 0; border:0; border-top:1px solid var(--line); }
.hm-form > .hm-group:first-of-type { margin-top:0; padding-top:0; border-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 8px 0 0; font-size:17px; font-weight:700; line-height:1.4; }
.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(--line); border-radius:var(--radius-control); color:var(--text); background:var(--panel); font:inherit; font-size:14px; line-height:1.4; text-align:left; overflow-wrap:anywhere; cursor:pointer; transition:background-color .15s ease,border-color .15s ease; }
.hm-chip:hover:not(:disabled) { border-color:var(--accent-ink); background:var(--accent-soft); }
.hm-chip:disabled { color:var(--muted); border-color:var(--line); background:var(--panel-2); cursor:not-allowed; box-shadow:none; }
.hm-chip[aria-pressed="true"] { border-color:var(--accent-ink); background:var(--accent-soft); color:var(--accent-ink); font-weight:650; box-shadow:inset 0 0 0 1px var(--accent-ink); }
.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-preview { margin:16px 0 8px; }
.hm-preview-title { margin:0 0 8px; font-weight:800; }
.hm-preview-list { display:grid; gap:8px; margin:0 0 8px; padding:0; list-style:none; }
.hm-preview-list li { padding:10px 12px; border-left:3px solid var(--accent-cyan); border-radius:0 10px 10px 0; background:var(--panel-2); animation:hm-fade .4s ease-out; }
.hm-preview-quote { margin:0; overflow-wrap:anywhere; }
.hm-preview-list .hm-cite { margin:4px 0 0; color:var(--muted); font-size:12px; }
@keyframes hm-fade { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce) { .hm-preview-list li { animation:none; } }
.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:14px 16px; 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:26px; line-height:1.3; font-weight:750; 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:#EBC6CE; box-shadow:inset 3px 0 0 var(--rose-ink); }
.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 { min-height:44px; padding:8px 0; cursor:pointer; font-weight:650; line-height:1.5; }
.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:760px) {
  .hm-page .art-hero { grid-template-columns:minmax(0,1fr); gap:0; }
  .hm-page .hero-art { display:none; }
}
@media (max-width:650px) {
  .hm-hero h1 { font-size:34px; }
  .hm-hero .lead { font-size:16px; }
  .hm-tool { margin-top:16px; padding:18px; }
  .hm-cards,  .hm-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hm-chip { flex:1 1 calc(50% - 8px); min-width:0; justify-content:center; min-height:46px; }
  .hm-actions .button { width:100%; min-height:52px; }
  /* Only the form start action sticks; report export rows stay in document flow. */
  .hm-form > .hm-actions { position:sticky; bottom:0; z-index:5; margin:20px -18px -18px; padding:12px 18px calc(12px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); border-radius:0 0 18px 18px; background:var(--panel); box-shadow:0 -8px 20px rgba(15,17,21,.04); }
}
.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 #EBC6CE; border-radius:16px; background:var(--panel); box-shadow:inset 3px 0 0 var(--rose-ink); }
.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:44px; 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 { min-height:44px; padding:8px 0; cursor:pointer; color:var(--accent-ink); font-weight:760; }
/* Thin evidence: too few public comments to rely on (contract 3.9). */
.hm-thin { margin-top:18px; padding:16px 18px; border:1px solid var(--warning-border); border-radius:14px; background:var(--warning-soft); }
.hm-thin .kicker { color:var(--warning-ink); }
.hm-thin-text { margin:4px 0 10px; }
.hm-empty { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.hm-card .hm-pill.hm-weak { border-color:var(--warning-border); color:var(--warning-ink); background:var(--warning-soft); }
/* 2026-10-06: answered count first on every card; the product link as a chip; free maps left today. */
.hm-top-answered { margin:0 0 4px; color:var(--rose-ink); font-size:14px; font-weight:800; }
.hm-card > .hm-answered:first-child { margin:0 0 8px; color:var(--rose-ink); font-weight:700; }
.hm-card > .hm-answered:first-child b { color:inherit; }
.hm-chip.hm-link-chip { border-style:dashed; color:var(--accent-ink); font-weight:700; }
.hm-chip.hm-link-chip[aria-pressed="true"] { border-style:solid; }
.hm-link-box .hm-link-label { margin-top:14px; }
.hm-category-hint { margin-top:10px; color:var(--accent-ink); font-weight:700; }
.hm-used { display:grid; gap:12px; margin:0 0 20px; }
.hm-used-text { margin:0; padding:10px 14px; border-left:3px solid var(--warning-border); border-radius:8px; background:var(--warning-soft); color:var(--text); font-size:15px; }
.hm-ready { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin:0 0 18px; padding:12px 14px; border:1px solid var(--accent-ink); border-radius:12px; background:var(--accent-soft); }
.hm-ready-text { flex:1 1 260px; margin:0; font-size:15px; color:var(--text); }
.hm-ready-text b { display:block; }
@media (max-width:650px) { .hm-ready-open { width:100%; } }
@media print {
  .hm-page .art-hero,.hm-form,.hm-samples,.hm-actions,.hm-next { display:none !important; }
  .hm-tool { margin:0; padding:0; border:0; box-shadow:none; }
  .hm-cards,.hm-angle-grid { grid-template-columns:minmax(0,1fr); }
  .hm-card,.hm-top-card,.hm-angle { box-shadow:none; break-inside:avoid; }
  .hm-angle { color:#17212B; background:#fff; border-color:#8997A3; }
  .hm-angle-label,.hm-film-label,.hm-shots,.hm-why { color:#17212B; }
  .hm-brief-text { max-height:none; overflow:visible; }
}
