/* Interior-page polish. Intentionally not loaded by the homepage.
   Keep these selectors scoped: shared components also appear on Home. */

/* Restore component rhythm lost to the base heading / paragraph resets. */
.hq-inner .hq-h1--page {
  margin-top: 20px;
  line-height: 1.08;
  letter-spacing: -.025em;
}
.hq-inner .hq-ed-hero .hq-crumb { margin-bottom: 20px; }
.hq-inner .hq-ed-h1 {
  margin-top: 16px;
  letter-spacing: -.03em;
}
.hq-inner .hq-ed-hero .hq-ed-h1--category {
  font-size: clamp(34px, 5.6vw, 76px);
  line-height: 1.08;
  overflow-wrap: normal;
  text-wrap: balance;
}
.hq-inner .hq-ed-tagline {
  margin-top: 20px;
  line-height: 1.25;
  max-width: 36ch;
}
.hq-inner .hq-case-meta { margin-top: 8px; }
.hq-inner #visit { padding-top: var(--hq-section-y); }
.hq-inner main section[id] { scroll-margin-top: 120px; }
.hq-inner .hq-content-industry-card[id] { scroll-margin-top: 120px; }
.hq-inner .hq-section:not(.hq-section--ink) + .hq-section:not(.hq-section--ink) {
  padding-top: 0;
}

/* Type remains comfortably inside its container at phone widths. */
.hq-inner .hq-h1--dd {
  font-size: clamp(38px, 4.8vw, 64px);
  line-height: 1.08;
  letter-spacing: -.025em;
}
.hq-inner .hq-content-product-hero-inner h1 {
  font-size: clamp(36px, 6vw, 80px);
  line-height: 1.08;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.hq-inner .hq-content-hero-line2 { margin-top: 12px; }
.hq-inner .hq-content-industries-hero h1,
.hq-inner .hq-content-faq-hero h1 {
  line-height: 1.1;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.hq-inner .hq-content-industries-hero h1 { font-size: clamp(36px, 5vw, 68px); }
.hq-inner .hq-content-industries-hero { max-width: 1050px; }
.hq-inner .hq-case-title { line-height: 1.15; }
.hq-inner main .hq-btn {
  max-width: 100%;
  white-space: normal;
  text-align: center;
}
.hq-inner .hq-content-breadcrumb ol { flex-wrap: wrap; }
.hq-inner .hq-content-industries-cta h3,
.hq-inner .hq-content-faq-cta h3 {
  font-size: clamp(28px, 4vw, 46px);
  line-height: 1.1;
}
.hq-inner .hq-content-related-product,
.hq-inner .hq-content-industry-product {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

/* Customer proof: balanced cards and statistics that never collide. */
.hq-inner .hq-case-stat-v--word { font-size: 30px; }
.hq-inner .hq-voices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hq-inner .hq-case-logo-tile img { height: 38px; max-width: 180px; object-fit: contain; }
.hq-inner .hq-ba-mobile-label { display: none; }
.hq-inner .hq-case-stat-l,
.hq-inner .hq-case-meta { font-size: 13px; }

/* DiaDNA's explanation is prose, not a hash; do not break every word. */
.hq-inner .hq-verify-fp { word-break: normal; overflow-wrap: break-word; }
.hq-inner .hq-verify-bar { gap: 12px; flex-wrap: wrap; }
.hq-inner .hq-verify-stat { min-width: 0; }
.hq-inner .hq-custody-stage { min-width: 0; }
.hq-inner .hq-custody-where { flex-shrink: 0; }

/* Screenshot viewer: title may wrap, but the Close control must not shrink. */
.hq-inner .hq-screenshot-toolbar h2 { font-size: clamp(18px, 3vw, 22px); line-height: 1.3; }
.hq-inner .hq-screenshot-toolbar button { flex-shrink: 0; }

/* FAQ disclosure rows have a consistent text edge in both states. */
.hq-inner .hq-content-faq-hero { padding-bottom: 32px; }
.hq-inner .hq-content-faq-category { max-width: 880px; }
.hq-inner .hq-answer { padding: 0; }
.hq-inner .hq-answer summary {
  margin-left: 0;
  padding: 22px 0;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  list-style: none;
  line-height: 1.5;
}
.hq-inner .hq-answer summary::-webkit-details-marker { display: none; }
.hq-inner .hq-answer summary::after {
  content: '+';
  flex: none;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  color: var(--lo-royal);
}
.hq-inner .hq-answer[open] summary::after { content: '−'; }
.hq-inner .hq-answer > div { margin: 0 0 24px; padding-right: 32px; }

/* Forms and long-form pages: readable helpers, lists and state messages. */
.hq-inner .hq-form-panel small {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--lo-text-dim);
}
.hq-inner .hq-form-status:empty {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
.hq-inner .hq-form-status:not(:empty) {
  padding: 12px 14px;
  border-left: 3px solid currentColor;
  background: #fff3f4;
  line-height: 1.6;
  overflow-wrap: break-word;
}
.hq-inner .hq-service-intro > .hq-team-photo {
  display: block;
  height: auto;
  aspect-ratio: 8 / 3;
}
.hq-inner .hq-content-legal-page h2 { line-height: 1.3; }
.hq-inner .hq-content-legal-page ul,
.hq-inner .hq-content-legal-page ol { padding-inline-start: 24px; }
.hq-inner .hq-content-legal-page li + li { margin-top: 10px; }
.hq-inner .hq-content-404-code { line-height: 1; margin-bottom: 20px; }
.hq-inner .hq-content-404 h1 { font-size: clamp(32px, 5vw, 42px); line-height: 1.15; }

@media (max-width: 767px) {
  .hq-inner .hq-filters { justify-self: start; align-items: flex-start; }
  .hq-inner .hq-filter-row { justify-content: flex-start; }
  .hq-inner .hq-voices { grid-template-columns: 1fr; }
  .hq-inner .hq-case-photo { min-height: 0; aspect-ratio: 4 / 3; }
}
@media (max-width: 639px) {
  .hq-inner .hq-h1--page { font-size: clamp(36px, 10vw, 46px); }
  .hq-inner .hq-ba-row--data { padding: 24px 0; }
  .hq-inner .hq-ba-before,
  .hq-inner .hq-ba-after { padding-top: 12px; }
  .hq-inner .hq-ba-mobile-label { display: block; font-size: 12px; font-weight: 600; margin-bottom: 4px; }
  .hq-inner .hq-case-stats { grid-template-columns: 1fr; gap: 18px; }
  .hq-inner .hq-case-stat { display: grid; grid-template-columns: 110px 1fr; align-items: center; gap: 16px; }
  .hq-inner .hq-case-stat-v { font-size: 32px; }
  .hq-inner .hq-case-stat-v--word { font-size: 28px; }
}
@media (max-width: 379px) {
  .hq-inner main section[id],
  .hq-inner .hq-content-industry-card[id] { scroll-margin-top: 160px; }
  .hq-inner .hq-ed-stats { grid-template-columns: 1fr; gap: 16px; }
  .hq-inner .hq-ed-stat { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: center; }
  .hq-inner .hq-verify-body { padding: 20px; }
  .hq-inner .hq-verify-stats { grid-template-columns: 1fr; }
  .hq-inner .hq-verify-stat,
  .hq-inner .hq-verify-stat:first-child,
  .hq-inner .hq-verify-stat:last-child {
    border-left: 0;
    padding: 12px 0;
    flex-direction: row;
    justify-content: space-between;
    gap: 12px;
  }
  .hq-inner .hq-verify-stat + .hq-verify-stat { border-top: 1px solid var(--lo-border); }
}
