/* Company health check: topic page, questionnaire and result page. */
.hc-page {
  --hc-line: rgba(16, 35, 62, .14);
  --hc-card: #fbf9f4;
  --hc-ok: #2f7d62;
  --hc-ok-soft: #e1f0e8;
  --hc-unsure: #94640c;
  --hc-unsure-soft: #f6ead0;
  --hc-gap: #c13a51;
  --hc-gap-soft: #f8dde2;
  --hc-na: #5d677c;
  --hc-na-soft: #e6e2d9;
  color: var(--ink);
}
.hc-page [hidden] { display: none !important; }

/* Utilities used by these views that are not part of the shared stylesheet. */
.pt-\[126px\] { padding-top: 126px; }
.text-tide\/85 { color: #8fb0dcd9; }
.text-white\/72 { color: #ffffffb8; }
.text-white\/78 { color: #ffffffc7; }
.bg-tide\/55 { background-color: #8fb0dc8c; }
.opacity-55 { opacity: .55; }
.text-\[1\.02rem\] { font-size: 1.02rem; }
@media (min-width: 48rem) {
  .md\:pt-\[162px\] { padding-top: 162px; }
}

/* ------------------------------------------------------------------ hero */
.hc-hero { isolation: isolate; }
.hc-hero-orbit {
  position: absolute; right: -18rem; top: -20rem; z-index: -1;
  width: 56rem; height: 56rem; border: 1px solid rgba(143, 176, 220, .22); border-radius: 50%;
  box-shadow: 0 0 0 4.5rem rgba(143, 176, 220, .045), 0 0 0 10rem rgba(143, 176, 220, .025);
}
.hc-hero-orbit::before {
  position: absolute; inset: 9rem; content: ""; border: 1px dashed rgba(143, 176, 220, .28); border-radius: 50%;
}
.hc-hero-grid { display: grid; gap: 3rem; }
@media (min-width: 64rem) {
  .hc-hero-grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 4.5rem; align-items: end; }
}
.hc-hero-facts { display: flex; flex-wrap: wrap; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.hc-hero-facts li {
  display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .95rem;
  border: 1px solid rgba(143, 176, 220, .3); border-radius: 999px;
  color: rgba(255, 255, 255, .86); font-size: .88rem; line-height: 1.4;
}
.hc-hero-cta { box-shadow: 0 14px 32px -16px rgba(222, 72, 96, .85); justify-content: center; }
.hc-hero-cta:hover { background: #c93a51; }
.hc-hero-secondary { justify-content: center; border-color: rgba(255, 255, 255, .34); color: #fff; }
.hc-hero-secondary:hover { background: rgba(255, 255, 255, .08); }

.hc-sheet {
  position: relative; padding: 1.5rem 1.5rem 1.3rem; border-radius: 16px;
  background: var(--hc-card); color: var(--ink);
  box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .65), 0 0 0 1px rgba(255, 255, 255, .06);
}
@media (min-width: 64rem) {
  .hc-sheet { transform: rotate(-.8deg); padding: 1.8rem 1.8rem 1.5rem; }
}
.hc-sheet::before {
  position: absolute; top: -9px; left: 50%; width: 5.5rem; height: 18px; content: "";
  transform: translateX(-50%); border-radius: 6px; background: #d7cfbf; box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .08);
}
.hc-sheet-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: .9rem; border-bottom: 2px solid var(--ink); }
.hc-sheet-top .mono-label { font-size: .68rem; color: var(--ink-soft); }
.hc-sheet-free { padding: .2rem .65rem; border-radius: 999px; background: var(--coral); color: #fff; font-size: .74rem; font-weight: 600; }
.hc-sheet-list { margin: 0; padding: 0; list-style: none; }
.hc-sheet-list li { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: .9rem; padding: .95rem 0; border-bottom: 1px dashed var(--rule); }
.hc-sheet-icon { display: inline-flex; width: 2.5rem; height: 2.5rem; align-items: center; justify-content: center; border-radius: 50%; background: var(--isle-soft); color: var(--isle); }
.hc-sheet-index { margin: 0; font-family: var(--font-mono); font-size: .66rem; letter-spacing: .14em; color: var(--coral); }
.hc-sheet-list h2 { margin: .1rem 0 0; font-family: var(--font-display); font-size: 1.08rem; font-weight: 560; line-height: 1.35; }
.hc-sheet-list p:last-child { margin: .2rem 0 0; color: var(--ink-soft); font-size: .86rem; line-height: 1.6; }
.hc-legend { display: flex; flex-wrap: wrap; gap: .4rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.hc-scope {
  display: flex; align-items: flex-start; gap: .6rem; max-width: 56rem; padding-top: 1.2rem;
  border-top: 1px solid rgba(143, 176, 220, .2); color: rgba(255, 255, 255, .7); font-size: .88rem; line-height: 1.75;
}
.hc-scope svg { margin-top: .3rem; color: var(--tide); }

/* Status tags shared by the page and the report. */
.hc-tag {
  display: inline-flex; align-items: center; gap: .38rem; padding: .22rem .62rem; border-radius: 999px;
  font-size: .74rem; font-weight: 600; line-height: 1.4; white-space: nowrap;
}
.hc-tag::before { width: 6px; height: 6px; content: ""; border-radius: 50%; background: currentColor; }
.hc-tag-ok { background: var(--hc-ok-soft); color: var(--hc-ok); }
.hc-tag-unsure { background: var(--hc-unsure-soft); color: var(--hc-unsure); }
.hc-tag-gap { background: var(--hc-gap-soft); color: var(--hc-gap); }
.hc-tag-na { background: var(--hc-na-soft); color: var(--hc-na); }

/* ------------------------------------------------------------ the tool */
.hc-tool { display: grid; gap: 1.6rem; }
@media (min-width: 64rem) {
  .hc-tool { grid-template-columns: 16rem minmax(0, 1fr); gap: 3.5rem; align-items: start; }
  .hc-rail { position: sticky; top: 7rem; }
}
.hc-rail ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .4rem; margin: 0; padding: 0; list-style: none; }
.hc-rail li {
  display: flex; flex-direction: column; gap: .3rem; padding: .7rem 0 .6rem; border-bottom: 2px solid var(--rule);
  color: var(--ink-soft); font-size: .74rem; line-height: 1.35; transition: color .25s, border-color .25s;
}
.hc-rail li b { font-family: var(--font-mono); font-size: .74rem; font-weight: 600; letter-spacing: .1em; }
.hc-rail li.is-current { border-color: var(--coral); color: var(--ink); }
.hc-rail li.is-current b { color: var(--coral); }
.hc-rail li.is-done { border-color: var(--isle); color: var(--ink); }
.hc-rail li.is-done b { color: var(--isle); }
@media (min-width: 64rem) {
  .hc-rail ol { grid-template-columns: 1fr; gap: 0; }
  .hc-rail li { flex-direction: row; align-items: center; gap: .9rem; padding: .95rem 0; border-bottom-width: 1px; font-size: .95rem; }
  .hc-rail li.is-current { border-bottom: 2px solid var(--coral); }
}
.hc-rail-note { display: none; align-items: flex-start; gap: .55rem; margin: 1.4rem 0 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.7; }
.hc-rail-note svg { margin-top: .25rem; }
.hc-rail-note a { color: var(--isle); text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 64rem) { .hc-rail-note { display: flex; } }

.hc-form {
  position: relative; min-width: 0; padding: 1.35rem; border: 1px solid var(--rule); border-radius: 18px;
  background: var(--hc-card); box-shadow: 0 30px 60px -46px rgba(10, 23, 48, .5);
}
@media (min-width: 48rem) { .hc-form { padding: 2.3rem 2.5rem; } }
.hc-form-head { display: none; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.hc-form.is-wizard .hc-form-head { display: flex; }
.hc-step-count { margin: 0; color: var(--ink-soft); font-family: var(--font-mono); font-size: .74rem; letter-spacing: .12em; }
.hc-progress { flex: 1; max-width: 14rem; height: 3px; overflow: hidden; border-radius: 3px; background: var(--rule); }
.hc-progress i { display: block; width: 33%; height: 100%; background: var(--coral); transition: width .45s cubic-bezier(.2, .7, .2, 1); }
.hc-form.is-wizard .hc-step:not(.is-active) { display: none; }
.hc-form:not(.is-wizard) .hc-step + .hc-step { margin-top: 2.4rem; padding-top: 2.2rem; border-top: 1px solid var(--rule); }
.hc-form:not(.is-wizard) .hc-step-actions button[type="button"] { display: none; }
.hc-step { min-width: 0; margin: 0; padding: 0; border: 0; }
.hc-step-title {
  display: flex; align-items: baseline; gap: .75rem; margin: 0 0 1.4rem; padding: 0;
  color: var(--ink); font-family: var(--font-display); font-size: 1.5rem; font-weight: 560; line-height: 1.25;
}
.hc-step-title span { color: var(--coral); font-family: var(--font-mono); font-size: .8rem; letter-spacing: .12em; }
.hc-step-title:focus { outline: none; }
.hc-step-title:focus-visible { outline: 2px solid var(--isle); outline-offset: 4px; }

.hc-field { display: grid; gap: .45rem; margin-bottom: 1.15rem; min-width: 0; }
.hc-field label { color: var(--ink); font-size: .9rem; font-weight: 600; }
.hc-field-row { display: grid; gap: 0 1.2rem; }
@media (min-width: 48rem) { .hc-field-row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.hc-page input[type="text"], .hc-page input[type="tel"], .hc-page input[type="email"], .hc-page input[type="date"], .hc-page select, .hc-page textarea {
  width: 100%; min-height: 3rem; padding: .7rem .9rem; border: 1px solid #cfc6b3; border-radius: 10px;
  background: #fff; color: var(--ink); font: inherit; font-size: 1rem; line-height: 1.4;
  transition: border-color .2s, box-shadow .2s;
}
.hc-page textarea { min-height: 6rem; resize: vertical; }
.hc-page input:focus, .hc-page select:focus, .hc-page textarea:focus { border-color: var(--isle); outline: none; box-shadow: 0 0 0 3px rgba(36, 84, 156, .18); }
.hc-page input::placeholder, .hc-page textarea::placeholder { color: #8a8f9c; }
.hc-hint { margin: 0; color: var(--ink-soft); font-size: .8rem; line-height: 1.65; }
.hc-oneof { margin: -.25rem 0 1rem; }
.hc-req { color: var(--coral); font-style: normal; }
.hc-choice { min-width: 0; margin: 0 0 1.3rem; padding: 0; border: 0; }
.hc-choice legend { margin-bottom: .6rem; padding: 0; color: var(--ink); font-size: .9rem; font-weight: 600; }
.hc-choice > .hc-hint { margin: -.25rem 0 .6rem; }
.hc-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.hc-chip, .hc-answer { position: relative; display: inline-flex; }
.hc-chip input, .hc-answer input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.hc-chip span, .hc-answer span {
  display: inline-flex; min-height: 2.6rem; align-items: center; padding: .45rem 1rem; border: 1px solid #cfc6b3; border-radius: 999px;
  background: #fff; color: var(--ink); font-size: .9rem; line-height: 1.35; transition: background .2s, color .2s, border-color .2s;
}
.hc-chip:hover span, .hc-answer:hover span { border-color: var(--isle); }
.hc-chip input:checked + span { border-color: var(--deep); background: var(--deep); color: #fff; }
.hc-chip-check input:checked + span { border-color: var(--isle); background: var(--isle-soft); color: var(--isle); }
.hc-chip-check input:checked + span::before { margin-right: .4rem; content: "✓"; font-weight: 700; }
.hc-chip input:focus-visible + span, .hc-answer input:focus-visible + span { outline: 2px solid var(--isle); outline-offset: 2px; }
.hc-chip input:disabled + span { opacity: .45; }

.hc-detected { display: flex; flex-direction: column; gap: .3rem; margin-bottom: 1.3rem; padding: .85rem 1rem; border-left: 3px solid var(--isle); border-radius: 8px; background: var(--isle-soft); }
.hc-detected .mono-label { color: var(--isle); font-size: .68rem; }
.hc-detected p { margin: 0; color: var(--ink); font-size: .9rem; line-height: 1.65; }
.hc-manual, .hc-noscript {
  display: flex; align-items: flex-start; gap: .6rem; margin: 0 0 1.2rem; padding: .85rem 1rem; border-radius: 8px;
  background: var(--hc-unsure-soft); color: #5f4210; font-size: .88rem; line-height: 1.65;
}
.hc-manual svg { margin-top: .2rem; }
.hc-alert { margin-bottom: 1.2rem; padding: .8rem 1rem; border: 1px solid rgba(222, 72, 96, .35); border-radius: 8px; background: var(--hc-gap-soft); color: #8e2236; font-size: .9rem; line-height: 1.6; }
.hc-step-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .75rem; margin-top: 1.6rem; padding-top: 1.3rem; border-top: 1px solid var(--rule); }
.hc-step-actions [data-hc-prev] { margin-right: auto; }
.hc-step-actions .btn-coral { justify-content: center; }
.hc-step-actions .btn-coral:disabled { cursor: progress; opacity: .7; }
.hc-btn-plain {
  display: inline-flex; height: 3rem; align-items: center; gap: .5rem; padding: 0 1.15rem; border: 1px solid #cfc6b3; border-radius: 999px;
  background: transparent; color: var(--ink); font-size: .95rem; font-weight: 500; transition: background .2s, border-color .2s;
}
.hc-btn-plain:hover { border-color: var(--ink-soft); background: var(--paper-2); }
.hc-btn-plain-dark { border-color: rgba(255, 255, 255, .3); color: #fff; }
.hc-btn-plain-dark:hover { border-color: rgba(255, 255, 255, .6); background: rgba(255, 255, 255, .08); }
.hc-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Questions */
.hc-intro { margin: -.4rem 0 1.3rem; color: var(--ink-soft); font-size: .92rem; line-height: 1.75; }
.hc-qgroup-title { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .4rem 1rem; margin: 0 0 .2rem; padding-bottom: .6rem; border-bottom: 2px solid var(--ink); }
.hc-qgroup-title span:first-child { font-family: var(--font-display); font-size: 1.15rem; font-weight: 560; }
.hc-qgroup-title .mono-label { color: var(--ink-soft); font-size: .66rem; }
.hc-qgroup + .hc-qgroup { margin-top: 2rem; }
.hc-q { min-width: 0; margin: 0; padding: 1.15rem 0; border: 0; border-bottom: 1px solid var(--rule); }
.hc-q legend { display: block; width: 100%; padding: 0; }
.hc-q-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; color: var(--ink); font-size: .96rem; font-weight: 600; line-height: 1.45; }
.hc-q-meta b { padding: .14rem .5rem; border-radius: 4px; background: var(--paper-2); color: var(--ink-soft); font-family: var(--font-mono); font-size: .66rem; font-weight: 500; letter-spacing: .08em; }
.hc-q-text { display: block; margin-top: .4rem; color: var(--ink-soft); font-size: .9rem; font-weight: 400; line-height: 1.7; }
.hc-q-options { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .8rem; }
.hc-answer span { min-height: 2.4rem; padding: .35rem .95rem; font-size: .86rem; }
.hc-answer-yes input:checked + span { border-color: var(--hc-ok); background: var(--hc-ok); color: #fff; }
.hc-answer-no input:checked + span { border-color: var(--hc-gap); background: var(--hc-gap); color: #fff; }
.hc-answer-unsure input:checked + span { border-color: var(--hc-unsure); background: var(--hc-unsure); color: #fff; }
.hc-answer-na input:checked + span { border-color: var(--hc-na); background: var(--hc-na); color: #fff; }
.hc-q-optional { margin: .55rem 0 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.6; }
.hc-answered { margin-top: 1rem; }

/* ------------------------------------------------------- how it works */
.hc-steps { display: grid; gap: 1px; margin: 0; padding: 0; border-top: 2px solid var(--ink); background: var(--rule); list-style: none; }
@media (min-width: 48rem) { .hc-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .hc-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.hc-steps li { padding: 1.8rem 1.4rem 2rem; background: var(--paper-2); }
.hc-steps-num { color: var(--coral); font-family: var(--font-display); font-size: 2.6rem; line-height: 1; }
.hc-steps h3 { margin: .9rem 0 .55rem; font-family: var(--font-display); font-size: 1.2rem; font-weight: 560; line-height: 1.35; }
.hc-steps p { margin: 0; color: var(--ink-soft); font-size: .9rem; line-height: 1.75; }

/* ----------------------------------------------------------- boundaries */
.hc-bounds { display: grid; gap: 1.1rem; }
@media (min-width: 48rem) { .hc-bounds { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 80rem) { .hc-bounds { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.hc-bounds article { padding: 1.6rem; border: 1px solid rgba(143, 176, 220, .22); border-radius: 14px; background: rgba(255, 255, 255, .03); }
.hc-bounds article span { color: var(--tide); font-family: var(--font-mono); font-size: .74rem; letter-spacing: .14em; }
.hc-bounds h3 { margin: .9rem 0 .6rem; color: #fff; font-family: var(--font-display); font-size: 1.2rem; font-weight: 560; line-height: 1.35; }
.hc-bounds p { margin: 0; color: rgba(255, 255, 255, .72); font-size: .9rem; line-height: 1.75; }
.hc-result-key { display: grid; gap: 1rem; margin: 0; padding-top: 2rem; border-top: 1px solid rgba(143, 176, 220, .2); }
@media (min-width: 48rem) { .hc-result-key { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .hc-result-key { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.hc-result-key div { display: flex; flex-direction: column; align-items: flex-start; gap: .5rem; }
.hc-result-key dd { margin: 0; color: rgba(255, 255, 255, .74); font-size: .86rem; line-height: 1.65; }

/* ------------------------------------------------------------------ FAQ */
.hc-faq-wrap { display: grid; gap: 2.5rem; }
@media (min-width: 64rem) { .hc-faq-wrap { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 5rem; } }
.hc-faq { border-top: 2px solid var(--ink); }
.hc-faq details { border-bottom: 1px solid var(--rule); }
.hc-faq summary { display: grid; grid-template-columns: 2.4rem minmax(0, 1fr) 1.5rem; align-items: start; gap: .8rem; padding: 1.25rem 0; cursor: pointer; list-style: none; }
.hc-faq summary::-webkit-details-marker { display: none; }
.hc-faq summary span { padding-top: .25rem; color: var(--coral); font-family: var(--font-mono); font-size: .78rem; }
.hc-faq summary strong { color: var(--ink); font-family: var(--font-display); font-size: 1.08rem; font-weight: 560; line-height: 1.5; }
.hc-faq summary i { padding-top: .3rem; color: var(--ink-soft); transition: transform .25s; }
.hc-faq details[open] summary i { transform: rotate(45deg); }
.hc-faq summary:focus-visible { outline: 2px solid var(--isle); outline-offset: 2px; }
.hc-faq details p { margin: 0; padding: 0 0 1.3rem; color: var(--ink-soft); font-size: .94rem; line-height: 1.85; }
@media (min-width: 48rem) { .hc-faq details p { padding: 0 2.3rem 1.4rem 3.2rem; } }

/* -------------------------------------------------------------- related */
.hc-related-grid { display: grid; gap: 1rem; }
@media (min-width: 48rem) { .hc-related-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.hc-related-grid a {
  position: relative; display: block; padding: 1.5rem 3rem 1.6rem 1.5rem; border: 1px solid var(--rule); border-radius: 14px;
  background: var(--hc-card); transition: border-color .25s, transform .25s, box-shadow .25s;
}
.hc-related-grid a:hover { border-color: var(--isle); transform: translateY(-2px); box-shadow: 0 18px 40px -30px rgba(10, 23, 48, .45); }
.hc-related-grid a:focus-visible { outline: 2px solid var(--isle); outline-offset: 2px; }
.hc-related-grid strong { display: block; margin-top: .55rem; color: var(--ink); font-family: var(--font-display); font-size: 1.15rem; font-weight: 560; }
.hc-related-grid p { margin: .5rem 0 0; color: var(--ink-soft); font-size: .88rem; line-height: 1.7; }
.hc-related-grid svg { position: absolute; top: 1.45rem; right: 1.3rem; color: var(--coral); }

/* ------------------------------------------------------- mobile action bar */
.hc-mobile-bar { display: none; }
@media (max-width: 767px) {
  #root.oi-health-root [data-floating-contact] { display: none; }
  #root.oi-health-root main { padding-bottom: calc(4.2rem + env(safe-area-inset-bottom)); }
  .hc-mobile-bar {
    position: fixed; right: 0; bottom: 0; left: 0; z-index: 55; display: grid; grid-auto-columns: 1fr; grid-auto-flow: column;
    padding-bottom: env(safe-area-inset-bottom); border-top: 1px solid rgba(16, 35, 62, .14);
    background: rgba(248, 246, 241, .97); box-shadow: 0 -12px 30px -24px rgba(10, 23, 48, .55); backdrop-filter: blur(12px);
  }
  .hc-mobile-bar a { display: flex; min-height: 4.2rem; flex-direction: column; align-items: center; justify-content: center; gap: .28rem; border-right: 1px solid rgba(16, 35, 62, .12); color: var(--deep); font-size: .74rem; }
  .hc-mobile-bar a:last-child { border-right: 0; background: var(--deep); color: #fff; }
  .hc-mobile-bar a:focus-visible { outline: 2px solid var(--coral); outline-offset: -2px; }
}

/* ---------------------------------------------------------- result page */
.hc-report-head { display: grid; gap: 2rem; }
@media (min-width: 64rem) { .hc-report-head { grid-template-columns: minmax(0, 1fr) auto; align-items: end; } }
.hc-report-company { margin-bottom: 0; color: rgba(255, 255, 255, .86); font-family: var(--font-display); font-size: 1.3rem; line-height: 1.45; word-break: break-word; }
.hc-report-meta { display: grid; gap: .8rem; min-width: 16rem; margin: 0; padding: 1.1rem 1.3rem; border: 1px solid rgba(143, 176, 220, .25); border-radius: 12px; }
.hc-report-meta div { display: flex; justify-content: space-between; gap: 1.5rem; }
.hc-report-meta dt { color: var(--tide); font-family: var(--font-mono); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.hc-report-meta dd { margin: 0; color: #fff; font-size: .92rem; }
.hc-report-actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.hc-report-actions .btn-ghost { border-color: rgba(255, 255, 255, .34); color: #fff; }
.hc-report-actions .btn-ghost:hover { background: rgba(255, 255, 255, .08); }
.hc-done { border-bottom: 1px solid rgba(47, 125, 98, .25); background: var(--hc-ok-soft); color: #1f5a45; }
.hc-done .container { display: flex; align-items: center; gap: .7rem; padding-top: 1rem; padding-bottom: 1rem; }
.hc-done p { margin: 0; font-size: .94rem; line-height: 1.6; }
.hc-report-grid { display: grid; gap: 1.4rem; }
@media (min-width: 64rem) { .hc-report-grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } }
.hc-card { min-width: 0; padding: 1.5rem; border: 1px solid var(--rule); border-radius: 16px; background: var(--hc-card); }
@media (min-width: 48rem) { .hc-card { padding: 2rem; } }
.hc-company-fields { display: grid; margin: 1.1rem 0 0; }
@media (min-width: 48rem) { .hc-company-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2rem; } }
.hc-company-fields div { min-width: 0; padding: .75rem 0; border-bottom: 1px dashed var(--rule); }
.hc-company-fields dt { color: var(--ink-soft); font-size: .76rem; }
.hc-company-fields dd { margin: .2rem 0 0; color: var(--ink); font-size: .98rem; font-weight: 500; line-height: 1.5; word-break: break-word; }
.hc-missing { display: inline-block; padding: .08rem .5rem; border-radius: 4px; background: var(--hc-unsure-soft); color: var(--hc-unsure); font-size: .8rem; font-weight: 600; }
.hc-break { word-break: break-all; }
.hc-detect-line { display: flex; align-items: flex-start; gap: .55rem; margin: 1.1rem 0 0; padding: .75rem .9rem; border-radius: 8px; background: var(--isle-soft); color: var(--ink); font-size: .86rem; line-height: 1.65; }
.hc-detect-line svg { margin-top: .2rem; color: var(--isle); }
.hc-counts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin: 1.2rem 0 0; padding: 0; list-style: none; }
.hc-counts li { display: flex; flex-direction: column; padding: 1rem 1.1rem; border-radius: 12px; }
.hc-counts b { font-family: var(--font-display); font-size: 2.2rem; font-weight: 560; line-height: 1; }
.hc-counts span { margin-top: .4rem; font-size: .82rem; font-weight: 600; }
.hc-counts .is-gap { background: var(--hc-gap-soft); color: var(--hc-gap); }
.hc-counts .is-unsure { background: var(--hc-unsure-soft); color: var(--hc-unsure); }
.hc-counts .is-ok { background: var(--hc-ok-soft); color: var(--hc-ok); }
.hc-counts .is-na { background: var(--hc-na-soft); color: var(--hc-na); }
.hc-next-box { margin-top: 1.2rem; padding-top: 1.1rem; border-top: 1px solid var(--rule); }
.hc-next-box .mono-label { margin: 0; color: var(--ink-soft); font-size: .68rem; }
.hc-next-box p:last-child { margin: .45rem 0 0; color: var(--ink); font-size: .94rem; line-height: 1.75; }
.hc-manual-box { display: flex; align-items: flex-start; gap: .8rem; margin-top: 1rem; padding: 1rem; border-radius: 10px; background: var(--hc-unsure-soft); color: #5f4210; }
.hc-manual-box h2 { margin: 0; font-size: .98rem; font-weight: 600; }
.hc-manual-box p { margin: .3rem 0 0; font-size: .88rem; line-height: 1.65; }
.hc-findings-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1.2rem; }
.hc-preview-note { display: flex; align-items: flex-start; gap: .5rem; max-width: 34rem; margin: 0; padding: .6rem 1rem; border: 1px solid var(--rule); border-radius: 12px; background: var(--hc-card); color: var(--ink-soft); font-size: .84rem; line-height: 1.6; }
.hc-preview-note svg { margin-top: .2rem; color: var(--coral); }
.hc-findings { display: grid; gap: 1rem; }
@media (min-width: 64rem) { .hc-findings { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.hc-finding { min-width: 0; padding: 1.3rem 1.4rem; border: 1px solid var(--rule); border-left: 4px solid var(--hc-na); border-radius: 12px; background: var(--hc-card); }
.hc-finding.is-gap { border-left-color: var(--hc-gap); }
.hc-finding.is-unsure { border-left-color: var(--hc-unsure); }
.hc-finding.is-ok { border-left-color: var(--hc-ok); }
.hc-finding header { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.hc-finding-topic { color: var(--ink-soft); font-family: var(--font-mono); font-size: .68rem; letter-spacing: .1em; }
.hc-finding h3 { margin: .7rem 0 0; color: var(--ink); font-family: var(--font-display); font-size: 1.12rem; font-weight: 560; line-height: 1.45; }
.hc-finding-why { margin: .5rem 0 0; color: var(--ink-soft); font-size: .9rem; line-height: 1.75; }
.hc-finding-detail { display: grid; gap: .75rem; margin: 1rem 0 0; padding-top: .9rem; border-top: 1px dashed var(--rule); }
.hc-finding-detail dt { color: var(--ink-soft); font-family: var(--font-mono); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; }
.hc-finding-detail dd { margin: .25rem 0 0; color: var(--ink); font-size: .9rem; line-height: 1.7; }
.hc-sources { display: grid; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.hc-sources a { display: inline-flex; align-items: flex-start; gap: .3rem; color: var(--isle); text-decoration: underline; text-underline-offset: 3px; word-break: break-word; }
.hc-sources svg { flex-shrink: 0; margin-top: .3rem; }
.hc-empty { color: var(--ink-soft); font-size: .95rem; }
.hc-full-extra { display: grid; gap: 1.4rem; }
@media (min-width: 64rem) { .hc-full-extra { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: start; } }
.hc-calendar ol { margin: 1.1rem 0 0; padding: 0; list-style: none; }
.hc-calendar li { display: grid; grid-template-columns: 7.6rem minmax(0, 1fr); gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--rule); }
.hc-calendar time { color: var(--ink); font-family: var(--font-mono); font-size: .82rem; font-weight: 600; }
.hc-calendar li.is-gap time { color: var(--hc-gap); }
.hc-calendar li.is-unsure time { color: var(--hc-unsure); }
.hc-calendar strong { display: block; color: var(--ink); font-size: .94rem; font-weight: 600; line-height: 1.5; }
.hc-calendar span { display: block; margin-top: .2rem; color: var(--ink-soft); font-size: .82rem; line-height: 1.6; }
.hc-misreadings ul { display: grid; gap: .85rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.hc-misreadings li { position: relative; padding-left: 1.2rem; color: var(--ink-soft); font-size: .88rem; line-height: 1.75; }
.hc-misreadings li::before { position: absolute; left: 0; content: "—"; color: var(--coral); }
.hc-next-actions { padding-top: 1.6rem; border-top: 1px solid var(--rule); }
.hc-next-actions > div { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: .9rem; }
.hc-lead-grid { display: grid; gap: 2.5rem; }
@media (min-width: 64rem) { .hc-lead-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 5rem; align-items: start; } }
.hc-lead-phone { display: flex; flex-direction: column; gap: .5rem; }
.hc-lead-phone a { display: inline-flex; align-items: center; gap: .55rem; color: #fff; font-family: var(--font-display); font-size: 1.6rem; }
.hc-lead-form { min-width: 0; padding: 1.5rem; border-radius: 18px; background: var(--hc-card); color: var(--ink); box-shadow: 0 40px 80px -48px rgba(0, 0, 0, .7); }
@media (min-width: 48rem) { .hc-lead-form { padding: 2.2rem; } }
.hc-check { display: flex; align-items: flex-start; gap: .65rem; margin-bottom: .85rem; color: var(--ink); font-size: .88rem; line-height: 1.6; cursor: pointer; }
.hc-check input { flex-shrink: 0; width: 1.1rem; height: 1.1rem; margin-top: .2rem; accent-color: var(--isle); }
.hc-check a { color: var(--isle); text-decoration: underline; text-underline-offset: 3px; }
.hc-lead-submit { width: 100%; justify-content: center; margin-top: .6rem; }
.hc-lead-submit:disabled { cursor: progress; opacity: .7; }
@media (min-width: 48rem) { .hc-lead-submit { width: auto; } }
.hc-disclaimer { display: flex; align-items: flex-start; gap: .6rem; max-width: 62rem; margin: 0; color: var(--ink-soft); font-size: .84rem; line-height: 1.8; }
.hc-disclaimer svg { margin-top: .3rem; }

@media (prefers-reduced-motion: reduce) {
  .hc-page *, .hc-page *::before { transition: none !important; }
  .hc-sheet { transform: none; }
}

/* ---------------------------------------------------------------- print */
@media print {
  header, footer, [data-site-header], [data-floating-contact], [data-storage-notice], [data-oi-toast], [data-back-top], .no-print, .hc-mobile-bar { display: none !important; }
  body, #root, .hc-page, .bg-paper, .bg-paper-2 { background: #fff !important; }
  .hc-report-hero { background: #fff !important; color: #000 !important; }
  .hc-report-hero .chart-grid-dark { display: none; }
  .hc-report-hero .container { padding-top: 0 !important; padding-bottom: 1rem !important; }
  .hc-report-hero *, .hc-report-meta dt, .hc-report-meta dd { color: #000 !important; }
  .hc-report-meta { border-color: #999; }
  .hc-card, .hc-finding, .hc-calendar li { break-inside: avoid; box-shadow: none; }
  .hc-findings { grid-template-columns: 1fr 1fr; }
  .hc-sources a::after { content: " " attr(href); color: #555; font-size: .7rem; word-break: break-all; }
  section { padding-top: 1rem !important; padding-bottom: 1rem !important; }
}
