/* Digital Success home services tools: components layered on ds-core.css.
   Plumbing and HVAC growth tools. Copyright Digital Success - Part of ISHIR. All rights reserved. */
:root{--hs-blue:#2f6f9f;--hs-amber:#c98a00;--hs-amber-bg:#fff6dd}

/* hero extras */
.hs-proof{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0;padding:0;list-style:none;position:relative;z-index:1}
.hs-proof li{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:10px 14px;font-size:.84rem;color:#cfd8e0;flex:1 1 210px;min-width:0}
.hs-proof li b{display:block;color:#fff;font-size:1.02rem;font-weight:800}
.hs-jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;position:relative;z-index:1}
.hs-jump .btn.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4)}
.hs-jump .btn.ghost:hover{border-color:var(--green);background:transparent}
.hs-who{font-size:.86rem;color:#9fb0c0;margin:14px 0 0;position:relative;z-index:1}

/* tool shell */
.hs-app{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:22px;align-items:start}
.hs-app>*{min-width:0}
.hs-side{position:sticky;top:84px;display:grid;gap:12px}
.hs-side>*{min-width:0}
.hs-h{display:flex;align-items:center;gap:10px;margin:4px 0 10px;font-size:1.02rem;font-weight:800;color:var(--navy)}
.hs-h .n{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;font-size:.82rem;flex:0 0 auto}
.hs-sub{font-size:.86rem;color:var(--muted);margin:-4px 0 12px}
.hs-stepnav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:16px}
.hs-stepnav button{font:inherit;font-size:.8rem;font-weight:700;border:1.5px solid var(--line);background:#fff;border-radius:10px;padding:9px 6px;color:var(--navy);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;min-width:0}
.hs-stepnav button i{font-style:normal;display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--panel);font-size:.72rem;flex:0 0 auto}
.hs-stepnav button[aria-selected="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.hs-stepnav button[aria-selected="true"] i{background:var(--green);color:var(--navy)}
.hs-stepnav button.done i{background:var(--green);color:var(--navy)}
.hs-pane{display:grid;gap:12px}
.hs-pane[hidden]{display:none}
.hs-pane>*{min-width:0}
.hs-nav2{display:flex;justify-content:space-between;gap:10px;margin-top:6px}
.hs-g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.hs-g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.hs-g2>*,.hs-g3>*{min-width:0}
.hs-in{display:grid;gap:4px}
.hs-in label{font-size:.8rem;font-weight:700;color:var(--navy)}
.hs-in small{font-size:.74rem;color:var(--muted);line-height:1.35}
.hs-assume{font-size:.74rem;font-weight:700;color:var(--hs-amber);background:var(--hs-amber-bg);border-radius:999px;padding:2px 8px;display:inline-block;margin-left:4px;vertical-align:1px}
.hs-note{font-size:.84rem;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.hs-note b{color:var(--navy)}

/* task picker */
.hs-tasks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.hs-task{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:.85rem;line-height:1.35;cursor:pointer;background:#fff}
.hs-task input{width:auto;margin-top:2px;accent-color:var(--navy)}
.hs-task:has(input:checked){border-color:var(--navy);background:#f3f6f9}
.hs-task small{display:block;color:var(--muted);font-size:.74rem}

/* tier editor and cards */
.hs-tieredit{border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:10px;background:#fff}
.hs-tieredit h4{margin:0;font-size:.95rem;display:flex;justify-content:space-between;align-items:center;gap:8px}
.hs-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.hs-tier{border:1.5px solid var(--line);border-radius:14px;padding:16px 14px;background:#fff;display:grid;gap:8px;align-content:start;position:relative;min-width:0}
.hs-tier.pop{border-color:var(--green);box-shadow:0 8px 24px rgba(140,190,63,.25)}
.hs-tier .rib{position:absolute;top:-11px;left:14px;background:var(--green);color:var(--navy);font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:999px}
.hs-tier h4{margin:0;font-size:1rem}
.hs-tier .pr{font-size:1.6rem;font-weight:800;color:var(--navy);line-height:1.1}
.hs-tier .pr small{font-size:.78rem;color:var(--muted);font-weight:600}
.hs-tier ul{margin:0;padding-left:16px;font-size:.82rem;line-height:1.45}
.hs-tier li{margin:2px 0}

/* preview tabs and document */
.hs-tabs{display:flex;gap:4px;border-bottom:2px solid var(--line);overflow-x:auto;scrollbar-width:none}
.hs-tabs::-webkit-scrollbar{display:none}
.hs-tabs button{font:inherit;font-size:.86rem;font-weight:700;border:0;background:none;padding:9px 12px;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap}
.hs-tabs button[aria-selected="true"]{color:var(--navy);border-bottom-color:var(--green)}
.hs-view{min-width:0}
.hs-view[hidden]{display:none}
.hs-doc{background:#fff;border:1px solid var(--line);border-radius:6px;padding:22px 22px 18px;font-size:.84rem;line-height:1.55;max-height:620px;overflow:auto;box-shadow:inset 0 -14px 14px -14px rgba(0,0,0,.12)}
.hs-doc h3{font-size:1.1rem;text-align:center;margin:0 0 2px}
.hs-doc .dsub{text-align:center;color:var(--muted);font-size:.78rem;margin:0 0 14px}
.hs-doc h5{font-size:.82rem;margin:14px 0 4px;text-transform:uppercase;letter-spacing:.05em;color:var(--navy)}
.hs-doc ol,.hs-doc ul{margin:0;padding-left:18px}
.hs-doc table{font-size:.8rem;margin:6px 0}
.hs-doc .sig{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.hs-doc .sig div{border-top:1px solid var(--ink);padding-top:4px;font-size:.74rem;color:var(--muted)}
.hs-doc .fill{background:#fff6dd;padding:0 3px;border-radius:3px}
.hs-actions{display:flex;flex-wrap:wrap;gap:8px}
.hs-actions .btn{padding:10px 14px;font-size:.88rem}

/* projection */
.hs-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.hs-kpi{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-width:0}
.hs-kpi b{display:block;font-size:1.32rem;color:var(--navy);line-height:1.2;overflow-wrap:anywhere}
.hs-kpi span{font-size:.76rem;color:var(--muted);line-height:1.3;display:block}
.hs-kpi.hl{background:var(--navy);border-color:var(--navy)}
.hs-kpi.hl b{color:var(--green)}.hs-kpi.hl span{color:#cfd8e0}
.hs-chart{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px}
.hs-chart svg{display:block;width:100%;height:auto}
.hs-chart text{font-family:var(--font);font-size:11px;fill:var(--muted)}

/* contextual CTA */
.hs-cta{background:linear-gradient(135deg,var(--navy),#22374b);color:#e6edf3;border-radius:12px;padding:16px 18px;display:grid;gap:10px;border-left:5px solid var(--green)}
.hs-cta b{color:#fff;font-size:1rem}
.hs-cta p{margin:0;font-size:.88rem;color:#cfd8e0}
.hs-cta .btn{justify-self:start}

/* scorecard */
.hs-areas{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:14px}
.hs-areas button{font:inherit;font-size:.76rem;font-weight:700;border:1.5px solid var(--line);background:#fff;border-radius:10px;padding:8px 6px;color:var(--navy);cursor:pointer;display:grid;gap:4px;text-align:left;min-width:0}
.hs-areas button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hs-areas button em{font-style:normal;font-size:.7rem;color:var(--muted);font-weight:600}
.hs-areas button .bar{height:4px;border-radius:9px;background:var(--line);overflow:hidden}
.hs-areas button .bar i{display:block;height:100%;background:var(--green);width:0;transition:width .3s}
.hs-areas button[aria-selected="true"]{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy) inset}
.hs-q{border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:grid;gap:8px;background:#fff}
.hs-q.ans{background:#fbfcfd}
.hs-q .qt{font-weight:700;font-size:.92rem;color:var(--navy);display:flex;justify-content:space-between;gap:10px}
.hs-q .qt em{font-style:normal;font-size:.72rem;color:var(--muted);font-weight:700;white-space:nowrap}
.hs-q .why{font-size:.8rem;color:var(--muted);margin:0}
.hs-q .seg{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.hs-q .seg button{padding:7px 4px;font-size:.8rem}
.hs-q .seg button[data-v="1"][aria-pressed="true"]{background:var(--green);color:var(--navy)}
.hs-q .seg button[data-v="0.5"][aria-pressed="true"]{background:var(--hs-amber)}
.hs-q .seg button[data-v="0"][aria-pressed="true"]{background:var(--bad)}
.hs-q .seg button[data-v="-1"][aria-pressed="true"]{background:#5a6470}
.hs-qs{display:grid;gap:8px}
.hs-ring{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;background:var(--navy);border-radius:14px;padding:16px;color:#cfd8e0}
.hs-ring svg{width:112px;height:112px}
.hs-ring .lbl2{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:#bfe08a;font-weight:800}
.hs-ring h4{color:#fff;margin:2px 0 4px;font-size:1.08rem}
.hs-ring p{margin:0;font-size:.84rem}
.hs-bars{display:grid;gap:8px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.hs-bar{display:grid;grid-template-columns:minmax(0,9em) minmax(0,1fr) 3.4em;gap:8px;align-items:center;font-size:.8rem;font-weight:700;color:var(--navy)}
.hs-bar .t{height:10px;border-radius:9px;background:var(--line);overflow:hidden}
.hs-bar .t i{display:block;height:100%;border-radius:9px;background:var(--green);transition:width .3s}
.hs-bar .t i.lo{background:var(--bad)}.hs-bar .t i.mid{background:var(--hs-amber)}
.hs-bar output{text-align:right;color:var(--muted)}
.hs-fixes{display:grid;gap:8px;counter-reset:fx}
.hs-fix{border:1px solid var(--line);border-radius:10px;padding:10px 12px 10px 42px;position:relative;font-size:.84rem;background:#fff}
.hs-fix::before{counter-increment:fx;content:counter(fx);position:absolute;left:12px;top:10px;width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:.72rem;font-weight:800}
.hs-fix b{color:var(--navy);display:block;font-size:.88rem}
.hs-fix .tag{margin-left:6px;vertical-align:1px}
.hs-ai{display:grid;gap:8px}
.hs-ai .p{border:1px dashed var(--line);border-radius:10px;padding:10px 12px;display:grid;gap:8px;font-size:.86rem}
.hs-ai .p q{font-weight:700;color:var(--navy);quotes:none}
.hs-ai .links{display:flex;flex-wrap:wrap;gap:6px}
.hs-ai .links .btn{padding:7px 12px;font-size:.8rem}
.hs-ai .seg{max-width:280px}

/* lead sources */
.hs-srcs{display:grid;gap:10px}
.hs-src{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff;display:grid;gap:10px}
.hs-src.off{opacity:.55}
.hs-src .hd{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.hs-src .hd b{color:var(--navy);font-size:.96rem}
.hs-src .hd small{display:block;font-size:.74rem;color:var(--muted);font-weight:600}
.hs-src .ins{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.hs-src .ins>*{min-width:0}
.hs-src .outs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;background:var(--panel);border-radius:9px;padding:8px 10px}
.hs-src .outs div{font-size:.72rem;color:var(--muted);min-width:0}
.hs-src .outs b{display:block;font-size:.98rem;color:var(--navy);overflow-wrap:anywhere}
.hs-v{font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:999px;white-space:nowrap}
.hs-v.scale{background:var(--green);color:var(--navy)}
.hs-v.keep{background:var(--green-bg);color:var(--green-ink)}
.hs-v.fix{background:var(--hs-amber-bg);color:var(--warn)}
.hs-v.cut{background:var(--bad-bg);color:var(--bad)}
.hs-v.nodata{background:var(--panel);color:var(--muted);border:1px solid var(--line)}
.hs-split{display:grid;gap:6px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.hs-split .track{display:flex;height:16px;border-radius:9px;overflow:hidden;background:var(--line)}
.hs-split .track i{display:block;height:100%}
.hs-split .lg{display:flex;justify-content:space-between;gap:8px;font-size:.8rem;font-weight:700;color:var(--navy);flex-wrap:wrap}
.hs-facts{background:var(--navy);color:#cfd8e0;border-radius:14px;padding:18px;display:grid;gap:10px}
.hs-facts h3{color:#fff;margin:0;font-size:1.05rem}
.hs-facts ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.hs-facts li{font-size:.86rem;border-left:3px solid var(--green);padding-left:10px}
.hs-facts li b{color:#fff}
.hs-facts a{color:#bfe08a}
.hs-hyg{display:grid;gap:6px}

/* article extras */
article.guide .hs-callout{background:var(--green-bg);border-left:4px solid var(--green);border-radius:0 10px 10px 0;padding:12px 16px;margin:16px 0}
article.guide .hs-callout p:last-child{margin:0}
article.guide ul.hs-list{padding-left:20px}
article.guide ul.hs-list li{margin:6px 0}
.hs-related h3 a{color:var(--navy)}
.hs-existing{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0}
.hs-existing a{border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:.84rem;font-weight:600;color:var(--navy);background:#fff}
.hs-existing a:hover{border-color:var(--green);text-decoration:none}

@media(max-width:960px){
  .hs-app{grid-template-columns:minmax(0,1fr)}
  .hs-side{position:static}
}
@media(max-width:640px){
  .hs-proof li{flex:1 1 100%;padding:8px 12px}
  .hs-jump .btn{flex:1 1 auto}
  .hs-stepnav button{flex-direction:column;gap:2px;padding:7px 2px;font-size:.7rem}
  .hs-g3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hs-tasks{grid-template-columns:minmax(0,1fr)}
  .hs-areas{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
  .hs-areas button{padding:6px 4px;font-size:.66rem}
  .hs-areas button em{font-size:.62rem}
  .hs-q .seg button{font-size:.72rem;padding:7px 2px}
  .hs-ring{grid-template-columns:minmax(0,1fr);text-align:center;justify-items:center}
  .hs-bar{grid-template-columns:minmax(0,7.2em) minmax(0,1fr) 3em;font-size:.74rem}
  .hs-src .ins{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hs-src .outs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hs-doc{padding:16px 14px;max-height:520px}
  .hs-doc .sig{grid-template-columns:minmax(0,1fr)}
  .hs-kpi b{font-size:1.12rem}
}
@media print{
  body.hs-printing>*:not(#hs-print){display:none!important}
  #hs-print{display:block!important}
  #hs-print .hs-doc{max-height:none;overflow:visible;border:0;box-shadow:none;font-size:11pt}
}
#hs-print{display:none}

/* tier matrix rows */
.hs-matrix{display:grid;gap:6px}
.hs-mrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff}
.hs-mrow>*{min-width:0}
.hs-mrow b{font-size:.85rem;color:var(--navy);display:block;line-height:1.35}
.hs-mrow small{font-size:.74rem;color:var(--muted);display:block}
.hs-mrow .seg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}
.hs-mrow .seg button{padding:6px 4px;font-size:.74rem;min-width:0}
.hs-mrow .seg .s{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hs-mrow .seg button[data-v="0"][aria-pressed="true"]{background:#5a6470}
@media(max-width:640px){.hs-mrow{grid-template-columns:minmax(0,1fr)}}
.hs-lsa{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:6px}
.hs-lsa>*{min-width:0}
article.guide .fill{background:#fff6dd;padding:0 3px;border-radius:3px}
@media(max-width:760px){.hs-lsa{grid-template-columns:minmax(0,1fr)}}
.hs-g2,.hs-g3{align-items:start}
.hs-g2>.hs-in>label,.hs-g3>.hs-in>label{min-height:2.9em;display:flex;flex-wrap:wrap;align-items:flex-end;gap:2px 4px;line-height:1.3}
.hs-g2>.check{align-self:center}
.hs-tier li i{color:var(--muted);font-style:normal;font-weight:700}
@media(max-width:640px){.hs-tiers{grid-template-columns:minmax(0,1fr);gap:16px}}
@media(min-width:961px){.hs-side{max-height:calc(100vh - 100px);overflow:auto;padding-right:4px;scrollbar-width:thin}}
.hs-mini{position:sticky;top:76px;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;background:var(--navy);color:#cfd8e0;border-radius:10px;padding:8px 12px;font-size:.8rem}
.hs-mini b{color:var(--green)}.hs-mini a{color:#bfe08a;font-weight:700}
@media(min-width:961px){.hs-mini{display:none}}
.hs-doc table{width:100%;table-layout:fixed}
.hs-doc th,.hs-doc td{padding:6px 5px;overflow-wrap:anywhere}
.hs-doc th{font-size:.7rem}

/* batch 2 components */
.hs-book{margin-top:8px;min-width:0}
.hs-book table{font-size:.86rem}
.hs-src output.pbp,.hs-src output.anet{display:flex;align-items:center;min-height:44px;font-size:1.15rem;font-weight:800;color:var(--navy)}
.pbflag{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.8rem}
.pbflag .hint{margin:0}
.hs-side input[type=range]{width:100%;accent-color:var(--navy)}
.hs-phase{border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:8px}
.hs-phase summary{cursor:pointer;list-style:none;padding:12px 14px;display:flex;justify-content:space-between;gap:10px;font-weight:800;color:var(--navy)}
.hs-phase summary::-webkit-details-marker{display:none}
.hs-phase summary em{font-style:normal;font-size:.8rem;color:var(--muted);white-space:nowrap}
.hs-phase[open] summary{border-bottom:1px solid var(--line)}
.hs-weeks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}
.hs-weeks>*{min-width:0}
.hs-week{display:grid;gap:6px;align-content:start}
.hs-week>b{font-size:.86rem;color:var(--navy)}
.hs-ideas{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.hs-idea{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff;display:grid;gap:6px;align-content:start;min-width:0}
.hs-idea.hl{border-color:var(--green);box-shadow:0 0 0 2px var(--green) inset}
.hs-idea .ih{display:flex;flex-wrap:wrap;gap:6px}
.hs-idea .ih .tag{background:var(--panel);color:var(--navy)}
.hs-idea .ih .tag.good{background:var(--green-bg);color:var(--green-ink)}
.hs-idea h3{margin:0;font-size:1rem}
.hs-idea p{margin:0;font-size:.84rem}
.hs-idea .ang{font-weight:700;color:var(--navy);background:var(--panel);border-left:3px solid var(--green);padding:6px 9px;border-radius:0 8px 8px 0}
.hs-idea .when{font-size:.74rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.hs-idea .hs-actions .btn{padding:7px 12px;font-size:.8rem}
@media(max-width:640px){.hs-weeks{grid-template-columns:minmax(0,1fr)}.hs-ideas{grid-template-columns:minmax(0,1fr)}}
.hs-in small.hs-as{color:var(--hs-amber);font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}
.hs-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:26px}
@media(max-width:1100px){.hs-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hs-group{display:grid;gap:12px;align-content:start;min-width:0}
.hs-group h2{margin:0;font-size:1.15rem}
@media(max-width:900px){.hs-groups{grid-template-columns:minmax(0,1fr)}}
.hs-q .seg button[data-s="good"][aria-pressed="true"]{background:var(--green);color:var(--navy)}
.hs-q .seg button[data-s="mid"][aria-pressed="true"]{background:var(--hs-amber);color:#fff}
.hs-q .seg button[data-s="bad"][aria-pressed="true"]{background:var(--bad);color:#fff}
.hs-lsa>.hs-tieredit{align-content:start}
