/* Additive Help Map styles; House navigation and baseline assets are preserved. */
body[data-help-map-page] { --hm-ink:#1b2b38; --hm-muted:#51616d; --hm-line:#ccd4d7; --hm-paper:#f6f7f3; --hm-blue:#174d68; --hm-soft:#eaf0ef; color:var(--hm-ink); background:#fcfcfa; }
.hm-main { padding-top:.2rem; padding-bottom:3rem; }
.hm-brand { font-weight:750; text-decoration:none; color:var(--hm-ink); letter-spacing:-.025em; font-size:1.1rem; }
[data-help-map-page] .site-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.5rem 2rem; padding-top:1.05rem; padding-bottom:1.05rem; }
[data-help-map-page] .site-header nav { margin:0; font-size:.85rem; gap:.65rem 1rem; }
[data-help-map-page] .site-header nav a { color:var(--hm-muted); }
[data-help-map-page] .site-header nav [aria-current] { color:var(--hm-ink); }
[data-help-map-page] button { cursor:pointer; }
[data-help-map-page] button:disabled { cursor:not-allowed; opacity:.58; }
[data-help-map-page] [hidden] { display:none!important; }
.hm-subnav { gap:1.6rem; margin:.2rem 0 0; padding:1rem 0; border-bottom:1px solid #e4e7e4; font-size:.88rem; }
.hm-subnav a { text-decoration:none; color:var(--hm-muted); }
.hm-subnav a[aria-current] { color:var(--hm-ink); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:.5rem; }
.hm-small-tag { display:inline-block; border:1px solid #c6cbd0; border-radius:3px; padding:0 .3rem; font-size:.64rem; line-height:1.5; text-transform:uppercase; vertical-align:middle; margin-left:.25rem; letter-spacing:.04em; }
.hm-hero { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2rem; padding:3.5rem 0 2.3rem; align-items:center; }
.hm-eyebrow { margin:0 0 .7rem; text-transform:uppercase; font-size:.69rem; letter-spacing:.13em; font-weight:700; color:var(--hm-blue); }
[data-help-map-page] h1 { font-size:clamp(2.4rem,5.4vw,4rem); letter-spacing:-.055em; font-weight:650; line-height:1.08; margin:.6rem 0 1.1rem; max-width:18ch; }
.hm-lede { max-width:43rem; color:var(--hm-muted); font-size:1.1rem; line-height:1.65; margin:0; }
.hm-hero-note { display:flex; align-items:center; gap:1rem; padding-right:.5rem; font-size:.83rem; color:var(--hm-muted); }
.hm-compass { color:var(--hm-blue); font-size:3rem; font-weight:300; width:4rem; height:4rem; display:grid; place-content:center; border:1px solid #bdccca; border-radius:50%; }
.hm-coverage { padding:1rem 1.3rem; border:1px solid var(--hm-line); border-left:4px solid var(--hm-blue); background:var(--hm-soft); margin:.2rem 0 2rem; font-size:.83rem; }
.hm-coverage p { margin:.3rem 0; }
.hm-coverage .hm-coverage-top { display:flex; justify-content:space-between; align-items:baseline; gap:.3rem 1.5rem; flex-wrap:wrap; }
.hm-coverage strong { font-size:.88rem; }
.hm-coverage ul { margin:.4rem 0; padding-left:1.3rem; }
.hm-private { background:#fff4dc; border-color:#d3b676; border-left-color:#826020; }
.hm-test-notice { background:#fff4dc; border:1px solid #d3b676; border-left:4px solid #826020; padding:1rem 1.2rem; margin:0 0 1.2rem; font-size:.88rem; }
.hm-section-title { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; margin:0 0 .6rem; }
.hm-section-title h2 { margin:0; letter-spacing:-.025em; font-size:1.4rem; font-weight:650; }
.hm-section-title>a { font-size:.79rem; }
.hm-caption { font-size:.79rem; color:var(--hm-muted); line-height:1.6; }
.hm-topic-section { margin:2.5rem 0; }
.hm-topic-section>.hm-caption { margin:.5rem 0 1rem; }
.hm-topic-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(165px,1fr)); gap:.7rem; }
.hm-topic { display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; min-height:142px; text-align:left; padding:1rem 1.1rem; background:#f0f3f0; color:var(--hm-ink); border:1px solid var(--hm-line); border-radius:5px; width:100%; }
.hm-topic:nth-child(3n+2) { background:#f0f1f6; }
.hm-topic:nth-child(3n+3) { background:#f4f1e9; }
.hm-topic[aria-pressed="true"] { color:white; background:var(--hm-blue); border-color:var(--hm-blue); box-shadow:inset 0 0 0 2px #fcfcfa; }
.hm-topic-label { display:flex; justify-content:space-between; align-items:center; width:100%; gap:.5rem; font-weight:650; font-size:.9rem; line-height:1.4; }
.hm-topic-count { display:flex; gap:.5rem; align-items:baseline; }
.hm-topic-count strong { font-size:2rem; letter-spacing:-.06em; line-height:1; font-weight:500; }
.hm-topic-count span { font-size:.7rem; }
.hm-explorer { margin:3rem 0; }
.hm-filter-panel { max-width:none; padding:1.25rem; background:var(--hm-paper); border:1px solid var(--hm-line); border-radius:5px; margin:1.1rem 0 1.35rem; }
.hm-filter-panel label,.hm-form label { font-size:.78rem; font-weight:600; margin-top:0; }
.hm-filter-panel label input,.hm-filter-panel label select,.hm-form input,.hm-form select,.hm-form textarea { display:block; margin-top:.35rem; background:#fff; color:var(--hm-ink); border:1px solid #9eacb2; border-radius:3px; font-size:.88rem; padding:.65rem .7rem; min-height:43px; width:100%; font-weight:400; }
.hm-filter-panel .hm-search { margin-bottom:1rem; }
.hm-search input { padding-left:.85rem; }
.hm-filter-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem 1rem; }
.hm-filter-grid select { width:100%; }
.hm-button { display:inline-flex; align-items:center; justify-content:center; gap:.7rem; min-height:43px; padding:.6rem .9rem; border:1px solid #9eacb2; border-radius:3px; color:var(--hm-ink); background:#fff; text-decoration:none; font-size:.83rem; line-height:1.4; font-weight:600; }
.hm-primary { background:var(--hm-blue); color:#fff; border-color:var(--hm-blue); }
.hm-button:hover { border-color:var(--hm-blue); background:#edf3f2; }
.hm-primary:hover { background:#123e55; color:#fff; }
.hm-apply { margin-top:1rem; }
.hm-results-summary { margin:1.2rem 0 .2rem; font-weight:650; font-size:.93rem; }
.hm-results-summary+.hm-caption { margin-top:0; max-width:55rem; }
.hm-results-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:1.4rem; margin-top:1.4rem; align-items:start; }
.hm-results-layout.has-detail { grid-template-columns:minmax(0,1fr) minmax(325px,.95fr); }
.hm-item-list,.hm-sample-list { padding:0; margin:0; list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.has-detail .hm-item-list,.hm-sample-list { grid-template-columns:1fr; }
.hm-item { border:1px solid var(--hm-line); border-radius:5px; background:#fff; padding:1.25rem; display:flex; flex-direction:column; gap:.65rem; height:100%; }
.hm-item.is-selected { border:2px solid var(--hm-blue); padding:calc(1.25rem - 1px); }
.hm-item h3 { margin:0; line-height:1.45; font-size:1.05rem; letter-spacing:-.015em; }
.hm-item h3 a { color:var(--hm-ink); text-decoration:none; }
.hm-item h3 a:hover { text-decoration:underline; }
.hm-item p { margin:0; font-size:.86rem; line-height:1.65; }
.hm-item-type { font-size:.65rem; text-transform:uppercase; letter-spacing:.095em; font-weight:700; color:var(--hm-blue); }
.hm-badges { display:flex; flex-wrap:wrap; gap:.4rem; }
.hm-badge { display:inline-block; padding:.12rem .45rem; border:1px solid #d2d9db; background:#f6f7f7; border-radius:3px; font-size:.67rem; line-height:1.65; color:#42545f; }
.hm-badge-warn { background:#fff4dc; border-color:#ddc38f; color:#745521; }
.hm-badge-change { background:#e9f1f2; border-color:#afc9cc; color:#1d5660; }
.hm-item-meta { padding-top:.65rem; margin-top:auto; border-top:1px solid #e6e9e8; font-size:.72rem!important; color:var(--hm-muted); }
.hm-item-bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem; font-size:.73rem; }
.hm-item-bottom a { color:var(--hm-blue); }
.hm-empty { padding:2.5rem 1.5rem; border:1px dashed #a8b9bd; background:var(--hm-paper); text-align:center; border-radius:5px; }
.hm-empty p { font-size:.9rem; max-width:38rem; margin:.8rem auto; }
.hm-empty h3 { font-size:1.4rem; letter-spacing:-.035em; margin:.3rem 0; }
.hm-empty a { font-size:.85rem; }
.hm-error { padding:1rem 1.25rem; background:#fff2ed; border:1px solid #cba597; border-left-width:4px; }
.hm-detail { padding:1.5rem; border:1px solid #9fb7bf; border-top:4px solid var(--hm-blue); background:#fff; border-radius:4px; min-width:0; scroll-margin-top:1rem; }
.hm-detail .hm-detail-top { display:flex; justify-content:space-between; gap:1rem; align-items:center; margin-bottom:1rem; font-size:.78rem; }
.hm-detail h2 { margin:.7rem 0 1rem; line-height:1.35; letter-spacing:-.025em; }
.hm-detail h3 { font-size:.9rem; margin:1.3rem 0 .4rem; }
.hm-detail p,.hm-detail dd,.hm-detail li { font-size:.84rem; line-height:1.7; }
.hm-detail dl { display:grid; grid-template-columns:minmax(100px,.4fr) minmax(0,1fr); gap:.5rem 1rem; border-top:1px solid #e2e7e6; padding-top:1rem; }
.hm-detail dt,.hm-detail dd { margin:0; font-size:.76rem; white-space:normal; }
.hm-detail dt { font-weight:600; color:var(--hm-muted); }
.hm-detail blockquote { margin:.5rem 0; padding:.8rem 1rem; border-left:3px solid #bdccca; background:#f5f7f5; }
.hm-detail blockquote p { margin:0; }
.hm-detail .hm-evidence { background:#f5f7f5; padding:.8rem; border-radius:3px; }
.hm-detail ul { padding-left:1.2rem; }
.hm-detail details { border-top:1px solid #e2e7e6; margin-top:1.1rem; padding-top:.9rem; }
.hm-detail summary { cursor:pointer; font-size:.84rem; font-weight:600; }
.hm-form { max-width:45rem; }
.hm-form>label { display:block; margin:1rem 0; }
.hm-form button[type="submit"] { margin-top:1rem; }
.hm-form-result { font-size:.85rem; overflow-wrap:anywhere; }
.hm-form-result:not(:empty) { border-left:3px solid var(--hm-blue); padding:.6rem .8rem; background:var(--hm-soft); }
.hm-form-result[data-error="true"] { background:#fff2ed; border-color:#a05e46; }
.hm-optional { font-weight:400; color:var(--hm-muted); }
.hm-next { margin:3rem 0 0; padding:2rem; border-top:1px solid var(--hm-line); border-bottom:1px solid var(--hm-line); background:var(--hm-paper); display:flex; gap:2rem; align-items:center; justify-content:space-between; }
.hm-next h2 { margin:.2rem 0 .6rem; letter-spacing:-.035em; }
.hm-next p:not(.hm-eyebrow) { font-size:.9rem; max-width:42rem; margin:.5rem 0; color:var(--hm-muted); }
.hm-next .hm-button { flex-shrink:0; }
[data-help-map-page] .site-footer { border-top:1px solid var(--hm-line); border-bottom:0; padding:1rem; }
[data-help-map-page] .site-footer nav { font-size:.77rem; gap:.65rem 1.2rem; }
[data-help-map-page] .site-footer a { color:var(--hm-muted); }
.hm-reading { max-width:48rem; margin:3rem auto; }
.hm-reading h1 { font-size:clamp(2.5rem,5vw,3.8rem); max-width:16ch; }
.hm-reading .hm-coverage { margin-top:2rem; }
.hm-reading section { border-top:1px solid var(--hm-line); padding-top:1rem; margin-top:2.3rem; }
.hm-reading h2 { font-size:1.35rem; letter-spacing:-.025em; }
.hm-reading p,.hm-reading dd { font-size:.94rem; line-height:1.85; }
.hm-definitions dt { color:var(--hm-blue); }
.hm-definitions dd { white-space:normal; }
.hm-price-card { padding:1.5rem 2rem; border:1px solid var(--hm-line); background:var(--hm-paper); min-width:240px; border-radius:5px; }
.hm-price-card p { margin:.5rem 0; font-size:.8rem; }
.hm-price-card .hm-price { font-size:2.6rem; line-height:1.2; letter-spacing:-.05em; color:var(--hm-blue); }
.hm-pilot-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(270px,.8fr); gap:3rem; margin:2.5rem 0; }
.hm-step { margin:0; }
.hm-step h2 { font-size:1.35rem; letter-spacing:-.03em; margin:.4rem 0 1rem; }
.hm-step p:not(.hm-eyebrow):not(.hm-caption) { font-size:.88rem; }
.hm-step-divider { margin-top:2rem; padding-top:1.7rem; border-top:1px solid var(--hm-line); }
.hm-check { display:flex!important; align-items:flex-start; gap:.7rem; font-size:.82rem!important; font-weight:400!important; }
.hm-check input { width:1.1rem!important; height:1.1rem; min-height:0; margin:.2rem 0 0; flex-shrink:0; accent-color:var(--hm-blue); }
.hm-inline-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.7rem 1.1rem; margin:1rem 0; }
.hm-text-button { padding:.25rem; border:0; border-radius:0; background:transparent; color:#0750a0; text-decoration:underline; text-underline-offset:3px; font-size:.82rem; }
.hm-pilot-aside .hm-facts { margin:0 0 2rem; background:var(--hm-paper); padding:1.4rem; border:1px solid var(--hm-line); border-radius:5px; }
.hm-pilot-aside h2 { font-size:1.1rem; letter-spacing:-.02em; margin:.2rem 0 1rem; }
.hm-pilot-aside p,.hm-pilot-aside li { font-size:.82rem; line-height:1.8; }
.hm-pilot-aside ul:not(.hm-sample-list) { padding-left:1.1rem; }
.hm-sample-list .hm-item { padding:1rem; }
.hm-sample-list h3 { font-size:.93rem; }
.hm-inline-notice { padding:.8rem 1rem; background:var(--hm-soft); border:1px solid var(--hm-line); font-size:.85rem; }
.hm-order-panel { margin:2rem 0; padding:1.5rem; border:1px solid #a3b9c1; border-top:4px solid var(--hm-blue); border-radius:4px; background:#fff; scroll-margin-top:1rem; }
.hm-order-panel dl { display:grid; grid-template-columns:minmax(110px,.25fr) minmax(0,1fr); gap:.5rem 1rem; font-size:.86rem; }
.hm-order-panel dt,.hm-order-panel dd { margin:0; white-space:normal; }
.hm-order-panel dt { color:var(--hm-muted); font-weight:500; }
.hm-order-panel details { margin:1.5rem 0; padding:1rem 0; border-block:1px solid var(--hm-line); }
.hm-order-panel summary { cursor:pointer; font-size:.9rem; font-weight:600; }
.hm-order-panel pre { white-space:pre-wrap; overflow-wrap:anywhere; font-size:.76rem; background:var(--hm-paper); }
.hm-account-recovery { padding:1.5rem; background:var(--hm-paper); border:1px solid var(--hm-line); border-radius:5px; margin:2rem 0; }
.hm-account-recovery h2 { margin:.2rem 0; font-size:1.25rem; letter-spacing:-.02em; }
.hm-account-recovery>p { font-size:.87rem; max-width:50rem; }
.hm-recovery-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:1rem; }
.hm-recovery-grid label { margin:0; }
[data-help-map-page="account"] h1 { margin-top:.7rem; max-width:24ch; }
[data-help-map-page="account"] .hm-main>.hm-eyebrow { margin-top:3rem; }
[data-help-map-page="account"] .hm-main>.hm-test-notice { margin-top:1.5rem; }
@media (min-width:1000px) { .hm-filter-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:.7rem; } .hm-filter-grid label { font-size:.71rem; } .hm-filter-grid select { font-size:.75rem; padding-inline:.45rem; } }
@media (max-width:800px) { .hm-hero { gap:1rem; padding:2.5rem 0 1.8rem; } .hm-hero-note { display:none; } .hm-results-layout.has-detail { grid-template-columns:1fr; } .hm-detail { grid-row:1; } .hm-item-list { grid-template-columns:1fr; } .hm-pilot-layout { grid-template-columns:1fr; gap:2rem; } .hm-pilot-aside { display:grid; grid-template-columns:1fr 1fr; gap:1.3rem; } .hm-next { flex-direction:column; align-items:flex-start; gap:1rem; } .hm-price-card { min-width:180px; padding:1.1rem; } .hm-price-card .hm-price { font-size:2rem; } }
@media (max-width:540px) { .hm-main { padding-inline:1rem; } .hm-subnav { gap:.7rem 1.2rem; font-size:.78rem; } .hm-hero { grid-template-columns:1fr; padding-top:2rem; } .hm-lede { font-size:1rem; } .hm-topic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; } .hm-topic { min-height:128px; padding:.85rem; } .hm-topic-label { font-size:.79rem; } .hm-topic-count strong { font-size:1.8rem; } .hm-filter-panel { padding:1rem; } .hm-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; } .hm-filter-panel label { font-size:.7rem; } .hm-filter-panel select { font-size:.75rem; padding-inline:.4rem; } .hm-section-title h2 { font-size:1.2rem; } .hm-section-title>a { font-size:.73rem; } .hm-detail { padding:1rem; } .hm-detail dl { grid-template-columns:1fr; gap:.15rem; } .hm-detail dd { margin-bottom:.6rem; } .hm-next { padding:1.3rem; } .hm-reading { margin:2rem 0; } .hm-pilot-aside { display:block; } .hm-price-card { display:flex; flex-wrap:wrap; gap:0 1.1rem; align-items:baseline; } .hm-price-card .hm-eyebrow { width:100%; } .hm-recovery-grid { grid-template-columns:1fr; } .hm-order-panel,.hm-account-recovery { padding:1rem; } .hm-order-panel dl { grid-template-columns:1fr; gap:.15rem; } .hm-order-panel dd { margin-bottom:.7rem; } }
@media (prefers-reduced-motion:reduce) { [data-help-map-page] *,[data-help-map-page] *::before,[data-help-map-page] *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
