/* Google profile health check: page-only components, scoped to .hc-* */
.hc-progress { height: 6px; border-radius: 999px; background: var(--line); overflow: hidden; margin: .5rem 0 .25rem; }
.hc-progress span { display: block; height: 100%; width: 0; background: var(--brand-sky); transition: width .3s; }
.hc-area { border: 0; padding: 0; margin: 1.5rem 0 0; min-width: 0; }
.hc-area legend { font-family: var(--font-display); font-weight: 800; font-size: 1.05rem; color: var(--foreground); margin-bottom: .5rem; padding: 0; }
.hc-q { padding: .85rem 0; border-top: 1px solid var(--line); scroll-margin-top: 6rem; }
.hc-q.hc-missing { background: #fef3f2; border-radius: .5rem; padding-inline: .6rem; }
.hc-q-text { font-weight: 600; margin: 0 0 .35rem; display: flex; gap: .55rem; align-items: baseline; }
.hc-q-num { flex: none; width: 1.6rem; height: 1.6rem; border-radius: 999px; display: inline-grid; place-items: center; font-size: .78rem; font-weight: 700;
  background: var(--teal-soft); color: var(--brand-navy); }
.hc-q-help { margin: -.1rem 0 .45rem 2.15rem; }
.hc-opts { display: flex; flex-wrap: wrap; gap: .45rem; margin-left: 2.15rem; }
.hc-opts input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.hc-opts label { cursor: pointer; border: 1.5px solid color-mix(in oklab, var(--brand-navy) 18%, transparent); border-radius: 999px; padding: .4rem 1rem;
  font-size: .9rem; font-weight: 600; background: #fff; min-height: 2.5rem; display: inline-flex; align-items: center; }
.hc-opts input:checked + label { background: var(--brand-navy); border-color: var(--brand-navy); color: #fff; }
.hc-opts input:focus-visible + label { outline: 2px solid var(--brand-navy); outline-offset: 2px; }
.hc-score-row { display: flex; gap: 1.25rem; align-items: center; margin: .75rem 0 1rem; }
.hc-ring { --p: 0; --c: var(--brand-sky); flex: none; width: 7.5rem; height: 7.5rem; border-radius: 50%; display: grid; place-items: center;
  background: conic-gradient(var(--c) calc(var(--p) * 1%), var(--line) 0); }
.hc-ring[data-band="work"], .hc-ring[data-band="attention"] { --c: var(--brand-coral); }
.hc-ring-num { width: 5.9rem; height: 5.9rem; border-radius: 50%; background: #fff; display: grid; place-items: center; font-family: var(--font-display);
  font-weight: 800; font-size: 2rem; color: var(--brand-navy); line-height: 1; }
.hc-ring-num small { font-size: .8rem; color: var(--muted-foreground); font-weight: 600; display: block; text-align: center; }
.hc-band { font-family: var(--font-display); font-weight: 800; font-size: 1.25rem; margin: 0 0 .25rem; color: var(--foreground); }
.tool-page ul.hc-areas { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; gap: .45rem; }
.hc-areas li { display: grid; grid-template-columns: 9.5rem 1fr 3rem; gap: .6rem; align-items: center; font-size: .9rem; }
.hc-area-track { height: 8px; background: var(--line); border-radius: 999px; overflow: hidden; }
.hc-area-fill { display: block; height: 100%; background: var(--brand-sky); border-radius: 999px; }
.hc-area-pts { text-align: right; font-weight: 700; color: var(--brand-navy); }
.hc-email { border-top: 1px solid var(--line); margin-top: 1.25rem; padding-top: 1.25rem; }
.hc-two { display: grid; gap: 0 1rem; }
@media (min-width: 640px) { .hc-two { grid-template-columns: 1fr 1fr; } }
.hc-opt { color: #8a94a3; font-weight: 400; font-size: .85em; }
.hc-check { display: grid; grid-template-columns: 1.25rem 1fr; gap: .6rem; align-items: start; margin: .6rem 0 .2rem; font-size: .9rem; line-height: 1.5; }
.hc-check input { width: 1.15rem; height: 1.15rem; margin-top: .15rem; accent-color: var(--brand-navy); }
.hc-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 480px) { .hc-areas li { grid-template-columns: 7.5rem 1fr 2.6rem; font-size: .85rem; } .hc-ring { width: 6.5rem; height: 6.5rem; } .hc-ring-num { width: 5rem; height: 5rem; font-size: 1.7rem; } }
.lht-page .hc-q-help { margin: -.1rem 0 .45rem 2.15rem; }
.hc-email h3 { display: flex; align-items: center; gap: .55rem; }
.hc-email .lht-num { flex: none; width: 1.75rem; height: 1.75rem; border-radius: 999px; display: inline-grid; place-items: center; font-size: .85rem;
  background: var(--teal-soft); color: var(--brand-navy); }
.hc-ts { margin: .6rem 0 .2rem; min-height: 65px; }
