:root {
  --hmc-teal: #008f8c;
  --hmc-teal-dark: #006f6d;
  --hmc-teal-pale: #eaf7f6;
  --hmc-ink: #152328;
  --hmc-ink-soft: #34464c;
  --hmc-muted: #66777d;
  --hmc-line: #dfe8e8;
  --hmc-line-strong: #ccd9da;
  --hmc-surface: #ffffff;
  --hmc-soft: #f5f8f8;
  --hmc-soft-2: #eef4f4;
  --hmc-warm: #fff8ed;
  --hmc-danger-soft: #fff3f3;
  --hmc-radius-sm: 12px;
  --hmc-radius: 16px;
  --hmc-radius-lg: 24px;
  --hmc-shadow-sm: 0 10px 26px rgba(21, 35, 40, .05);
  --hmc-shadow: 0 22px 62px rgba(21, 35, 40, .08);
  --hmc-case-a: #008f8c;
  --hmc-case-b: #607a91;
  --hmc-evidence: #167b69;
  --hmc-plausible: #9a6b1f;
  --hmc-exploratory: #667278;
  --hmc-content: 1080px;
  --hmc-wide: 1240px;
}

/* --------------------------------------------------------------------------
   Base and page shells
   -------------------------------------------------------------------------- */
.hmc-builder,
.hmc-result,
.hmc-single-shell,
.hmc-hub-shell {
  color: var(--hmc-ink);
  font-family: inherit;
}

.hmc-single-shell,
.hmc-hub-shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: var(--hmc-surface);
}

.hmc-single-document,
.hmc-hub {
  width: min(var(--hmc-wide), calc(100% - 64px));
  margin-inline: auto;
}

.hmc-result,
.hmc-result * { box-sizing: border-box; }
.hmc-result { color: var(--hmc-ink); font-size: 15px; line-height: 1.68; }
.hmc-result p { text-wrap: pretty; }
.hmc-result a { color: var(--hmc-teal-dark); }
.hmc-muted { color: var(--hmc-muted); }

.hmc-eyebrow,
.hmc-section-kicker,
.hmc-case-card__label {
  margin: 0 0 9px;
  color: var(--hmc-teal-dark);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* --------------------------------------------------------------------------
   Singular hero
   -------------------------------------------------------------------------- */
.hmc-single-hero {
  padding: clamp(54px, 7vw, 92px) 0 36px;
  border-bottom: 1px solid var(--hmc-line);
}

.hmc-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 27px;
  color: var(--hmc-muted);
  font-size: 11px;
}
.hmc-breadcrumbs a { color: inherit; text-decoration: none; }
.hmc-breadcrumbs a:hover { color: var(--hmc-teal-dark); }

.hmc-single-hero h1 {
  max-width: 980px;
  margin: 0;
  color: var(--hmc-ink);
  font-size: clamp(40px, 5.3vw, 68px);
  font-weight: 780;
  letter-spacing: -.052em;
  line-height: 1;
  text-wrap: balance;
}

.hmc-is-comparison .hmc-single-hero h1 {
  max-width: 860px;
  font-size: clamp(32px, 3.9vw, 50px);
  line-height: 1.03;
}

.hmc-single-hero__excerpt {
  max-width: 820px;
  margin: 18px 0 0;
  color: var(--hmc-muted);
  font-size: clamp(16px, 1.7vw, 19px);
  line-height: 1.62;
}

.hmc-context-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  max-width: 820px;
  margin-top: 26px;
}
.hmc-context-links a,
.hmc-context-links > span {
  display: grid;
  gap: 3px;
  padding: 13px 15px;
  border: 1px solid var(--hmc-line);
  border-radius: var(--hmc-radius-sm);
  background: var(--hmc-soft);
  color: var(--hmc-ink);
  text-decoration: none;
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}
.hmc-context-links a:hover {
  border-color: rgba(0,143,140,.36);
  background: #fff;
  transform: translateY(-1px);
}
.hmc-context-links small {
  color: var(--hmc-muted);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.hmc-context-links strong { font-size: 14px; line-height: 1.35; }

.hmc-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 21px;
}
.hmc-meta-row span {
  padding: 6px 9px;
  border: 1px solid var(--hmc-line);
  border-radius: 999px;
  background: #fff;
  color: var(--hmc-muted);
  font-size: 10px;
  font-weight: 750;
}

.hmc-action-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
}
.hmc-action-bar button,
.hmc-action-bar > a:not(.hmc-action-bar__back),
.hmc-action-bar .hpi-download-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 39px;
  padding: 0 14px;
  border: 1px solid var(--hmc-line) !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: none !important;
  color: var(--hmc-ink) !important;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
}
.hmc-action-bar button:hover,
.hmc-action-bar .hpi-download-button:hover {
  border-color: var(--hmc-teal) !important;
  color: var(--hmc-teal-dark) !important;
}
.hmc-action-bar .hpi-download-button small { display: none; }
.hmc-action-bar__back {
  margin-left: auto;
  color: var(--hmc-teal-dark);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}


.hmc-document-nav {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid var(--hmc-line);
}
.hmc-document-nav > span {
  flex: 0 0 auto;
  color: var(--hmc-muted);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.hmc-document-nav > div {
  display: flex;
  gap: 6px;
  min-width: 0;
  overflow-x: auto;
  padding: 2px;
  scrollbar-width: none;
}
.hmc-document-nav > div::-webkit-scrollbar { display: none; }
.hmc-document-nav a {
  flex: 0 0 auto;
  padding: 7px 10px;
  border-radius: 999px;
  color: var(--hmc-muted);
  font-size: 10px;
  font-weight: 750;
  text-decoration: none;
  transition: background .16s ease, color .16s ease;
}
.hmc-document-nav a:hover,
.hmc-document-nav a:focus-visible {
  background: var(--hmc-soft-2);
  color: var(--hmc-teal-dark);
  outline: none;
}

/* --------------------------------------------------------------------------
   Document body and shared section system
   -------------------------------------------------------------------------- */
.hmc-single-content {
  max-width: var(--hmc-content);
  margin: 0 auto;
  padding: 50px 0 16px;
}
.hmc-single-content > .hmc-result > .hmc-result__header { display: none; }

.hmc-result__header {
  padding: 0 0 28px;
  border-bottom: 1px solid var(--hmc-line);
}
.hmc-result__title {
  max-width: 900px;
  margin: 0 0 11px;
  font-size: clamp(32px, 4.4vw, 52px);
  letter-spacing: -.04em;
  line-height: 1.04;
}
.hmc-result__question {
  max-width: 760px;
  margin: 0;
  color: var(--hmc-muted);
  font-size: 17px;
}

.hmc-section { margin: 48px 0; }
.hmc-section-heading { max-width: 760px; margin-bottom: 20px; }
.hmc-section-heading h2,
.hmc-section > h2,
.hmc-panel h2 {
  margin: 0;
  color: var(--hmc-ink);
  font-size: clamp(25px, 2.8vw, 34px);
  letter-spacing: -.035em;
  line-height: 1.1;
}


.hmc-result [id] { scroll-margin-top: 110px; }
.hmc-section-heading--split {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  align-items: end;
  max-width: none;
}
.hmc-section-heading--split > div:first-child { max-width: 760px; }

.hmc-two-column,
.hmc-three-column,
.hmc-case-grid {
  display: grid;
  gap: 14px;
}
.hmc-two-column,
.hmc-case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hmc-three-column { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.hmc-verdict,
.hmc-assessment {
  position: relative;
  margin: 0 0 48px;
  padding: clamp(23px, 3.5vw, 34px);
  border: 1px solid rgba(0,143,140,.18);
  border-radius: var(--hmc-radius-lg);
  background: linear-gradient(135deg, rgba(0,143,140,.085), rgba(0,143,140,.025));
}
.hmc-verdict::before,
.hmc-assessment::before {
  content: '';
  position: absolute;
  top: 20px;
  bottom: 20px;
  left: 0;
  width: 4px;
  border-radius: 0 3px 3px 0;
  background: var(--hmc-teal);
}
.hmc-verdict p:last-child,
.hmc-assessment p:last-child {
  max-width: 930px;
  margin: 0;
  font-size: clamp(16px, 1.65vw, 19px);
  line-height: 1.72;
}
.hmc-scope-note {
  margin-top: 16px !important;
  padding-top: 14px;
  border-top: 1px solid rgba(0,143,140,.14);
  color: var(--hmc-muted);
  font-size: 12px !important;
}

.hmc-prose-panel,
.hmc-panel,
.hmc-case-card {
  min-width: 0;
  padding: clamp(20px, 2.5vw, 27px);
  border: 1px solid var(--hmc-line);
  border-radius: var(--hmc-radius);
  background: #fff;
}
.hmc-prose-panel { background: var(--hmc-soft); }
.hmc-prose-panel h3,
.hmc-panel h3 { margin: 0 0 9px; font-size: 16px; }
.hmc-prose-panel p { margin: 0; color: var(--hmc-muted); }
.hmc-panel--strength { border-top: 3px solid #2d8a73; }
.hmc-panel--constraint { border-top: 3px solid #b77c3d; }

.hmc-list { margin: 0; padding-left: 18px; }
.hmc-list li { margin: 0 0 9px; color: var(--hmc-muted); }
.hmc-list li:last-child { margin-bottom: 0; }

/* --------------------------------------------------------------------------
   Decision context and comparison snapshots
   -------------------------------------------------------------------------- */
.hmc-decision-context {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 22px;
}
.hmc-decision-context > div {
  min-width: 0;
  padding: 14px 15px;
  border: 1px solid var(--hmc-line);
  border-radius: var(--hmc-radius-sm);
  background: linear-gradient(180deg, #fff, var(--hmc-soft));
}
.hmc-decision-context span {
  display: block;
  margin-bottom: 5px;
  color: var(--hmc-muted);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.hmc-decision-context strong {
  display: block;
  color: var(--hmc-ink);
  font-size: 13px;
  line-height: 1.42;
}

.hmc-decision-snapshot { margin-top: 46px; }
.hmc-case-card {
  position: relative;
  overflow: hidden;
  box-shadow: var(--hmc-shadow-sm);
}
.hmc-case-card::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--hmc-case-a);
}
.hmc-case-card--b::before { background: var(--hmc-case-b); }
.hmc-case-card::after {
  content: '';
  position: absolute;
  top: -72px;
  right: -72px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: rgba(0,143,140,.045);
  pointer-events: none;
}
.hmc-case-card--b::after { background: rgba(96,122,145,.055); }
.hmc-case-card h3 {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: clamp(22px, 2.35vw, 29px);
  letter-spacing: -.03em;
  line-height: 1.08;
}
.hmc-case-card__label {
  display: inline-flex;
  width: max-content;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(0,143,140,.09);
}
.hmc-case-card--b .hmc-case-card__label {
  background: rgba(96,122,145,.10);
  color: var(--hmc-case-b);
}
.hmc-case-card__summary {
  position: relative;
  z-index: 1;
  margin: 12px 0 0;
  color: var(--hmc-muted);
  font-size: 13px;
  line-height: 1.62;
}
.hmc-case-card--compact { display: grid; gap: 15px; padding-left: 26px; }
.hmc-case-mini-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--hmc-line);
}
.hmc-case-mini-grid h4 { margin: 0 0 8px; font-size: 12px; letter-spacing: .01em; }
.hmc-case-card__link {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  width: max-content;
  margin-top: 1px;
  color: var(--hmc-teal-dark);
  font-size: 11px;
  font-weight: 850;
  text-decoration: none;
}
.hmc-case-card__link:hover { text-decoration: underline; text-underline-offset: 3px; }

.hmc-entity-chips {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.hmc-entity-chips a,
.hmc-entity-chips span {
  padding: 5px 8px;
  border-radius: 999px;
  background: var(--hmc-soft-2);
  color: var(--hmc-teal-dark);
  font-size: 9px;
  font-weight: 750;
  text-decoration: none;
}

/* --------------------------------------------------------------------------
   Signals and opportunity theses
   -------------------------------------------------------------------------- */
.hmc-signal-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.hmc-signal-list li { min-width: 0; }
.hmc-signal-list p { margin: 0; color: var(--hmc-muted); font-size: 13px; line-height: 1.58; }
.hmc-evidence-type {
  display: inline-flex;
  margin: 0 0 6px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #f1f3f3;
  color: #5a676c;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.hmc-evidence-type--verified_fact { background: rgba(0,143,140,.1); color: var(--hmc-teal-dark); }

.hmc-maturity-legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px 12px;
  max-width: 420px;
}
.hmc-maturity-legend__item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--hmc-muted);
  font-size: 9px;
  font-weight: 750;
  white-space: nowrap;
}
.hmc-maturity-legend__item i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--hmc-exploratory);
}
.hmc-maturity-legend__item--evidence i { background: var(--hmc-evidence); }
.hmc-maturity-legend__item--plausible i { background: var(--hmc-plausible); }

.hmc-opportunity-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.hmc-opportunity-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  padding: 23px;
  border: 1px solid var(--hmc-line);
  border-radius: var(--hmc-radius);
  background: #fff;
  box-shadow: 0 8px 24px rgba(21,35,40,.035);
}
.hmc-opportunity-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--hmc-exploratory);
}
.hmc-opportunity-card--evidence_backed::before { background: var(--hmc-evidence); }
.hmc-opportunity-card--plausible::before { background: var(--hmc-plausible); }
.hmc-opportunity-card__number {
  position: absolute;
  top: 17px;
  right: 18px;
  color: rgba(21,35,40,.16);
  font-size: 24px;
  font-weight: 850;
  letter-spacing: -.04em;
  line-height: 1;
}
.hmc-opportunity-card__head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 7px 12px;
  align-items: start;
  margin-bottom: 12px;
  padding-right: 38px;
}
.hmc-opportunity-card__head > span {
  color: var(--hmc-teal-dark);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.hmc-opportunity-card__head h3 {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--hmc-ink);
  font-size: 18px;
  line-height: 1.22;
}
.hmc-opportunity-maturity {
  display: inline-flex;
  width: max-content;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.hmc-opportunity-maturity--evidence_backed { background: rgba(22,123,105,.1); color: var(--hmc-evidence); }
.hmc-opportunity-maturity--plausible { background: #f7f1e7; color: var(--hmc-plausible); }
.hmc-opportunity-maturity--exploratory { background: #f0f2f3; color: var(--hmc-exploratory); }
.hmc-opportunity-card > p { margin: 0 0 15px; color: var(--hmc-muted); font-size: 13px; line-height: 1.62; }
.hmc-opportunity-card dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 0; border-top: 1px solid var(--hmc-line); }
.hmc-opportunity-card dl div { min-width: 0; padding: 11px 12px 0 0; }
.hmc-opportunity-card dl div:nth-child(even) { padding-right: 0; padding-left: 12px; border-left: 1px solid var(--hmc-line); }
.hmc-opportunity-card dl div:nth-child(n+3) { margin-top: 11px; border-top: 1px solid var(--hmc-line); }
.hmc-opportunity-card dt {
  margin: 0 0 4px;
  color: var(--hmc-ink);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.hmc-opportunity-card dd { margin: 0; color: var(--hmc-muted); font-size: 11px; line-height: 1.5; }

/* --------------------------------------------------------------------------
   Evidence cards and knowledge graph
   -------------------------------------------------------------------------- */
.hmc-evidence-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.hmc-evidence-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 168px;
  padding: 19px;
  border: 1px solid var(--hmc-line);
  border-radius: var(--hmc-radius);
  background: #fff;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.hmc-evidence-card:hover {
  border-color: rgba(0,143,140,.32);
  box-shadow: var(--hmc-shadow-sm);
  transform: translateY(-1px);
}
.hmc-relation-badge {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  padding: 4px 7px;
  border-radius: 999px;
  background: var(--hmc-soft-2);
  color: var(--hmc-teal-dark);
  font-size: 9px;
  font-weight: 800;
  line-height: 1.3;
}
.hmc-evidence-card h3 { margin: 11px 0 0; font-size: 15px; line-height: 1.36; }
.hmc-evidence-card h3 a {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--hmc-ink);
  text-decoration: none;
}
.hmc-evidence-card h3 a:hover { color: var(--hmc-teal-dark); }
.hmc-evidence-card p { margin: 8px 0 0; color: var(--hmc-muted); font-size: 12px; line-height: 1.56; }
.hmc-profile-link {
  display: inline-flex;
  width: max-content;
  margin-top: auto;
  padding-top: 13px;
  color: var(--hmc-teal-dark);
  font-size: 10px;
  font-weight: 850;
  text-decoration: none;
}

.hmc-connected-intelligence__intro {
  max-width: 700px;
  margin: 9px 0 0;
  color: var(--hmc-muted);
  font-size: 13px;
  line-height: 1.58;
}
.hmc-connected-intelligence__count {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  min-height: 34px;
  padding: 0 11px;
  border: 0;
  border-radius: 999px;
  background: var(--hmc-soft-2);
  color: var(--hmc-muted);
  font-size: 9px;
  font-weight: 800;
  white-space: nowrap;
}
.hmc-connected-groups {
  display: grid;
  gap: 28px;
}
.hmc-connected-group {
  display: block;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.hmc-connected-group__head {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 11px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--hmc-line);
}
.hmc-connected-group__head span {
  color: var(--hmc-teal-dark);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.hmc-connected-group__head small {
  display: grid;
  place-items: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--hmc-soft-2);
  color: var(--hmc-muted);
  font-size: 9px;
  font-weight: 850;
}
.hmc-connected-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.hmc-connected-card {
  position: relative;
  display: block;
  min-width: 0;
  min-height: 150px;
  padding: 18px 58px 52px 18px;
  border: 1px solid var(--hmc-line);
  border-radius: 14px;
  background: #fff;
  color: var(--hmc-ink);
  text-decoration: none;
  transition: border-color .16s ease, transform .16s ease, box-shadow .16s ease;
}
.hmc-connected-card:hover {
  border-color: rgba(0,143,140,.34);
  color: var(--hmc-ink);
  transform: translateY(-2px);
  box-shadow: var(--hmc-shadow-sm);
}
.hmc-connected-card__body { display: block; min-width: 0; }
.hmc-connected-card strong {
  display: block;
  color: var(--hmc-ink);
  font-size: 16px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.hmc-connected-card p {
  margin: 8px 0 0;
  color: var(--hmc-muted);
  font-size: 12px;
  line-height: 1.55;
}
.hmc-connected-card__arrow {
  position: absolute;
  right: 16px;
  bottom: 16px;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--hmc-soft-2);
  color: var(--hmc-teal-dark);
  font-size: 13px;
  transition: transform .16s ease, background .16s ease;
}
.hmc-connected-card:hover .hmc-connected-card__arrow {
  background: var(--hmc-teal-pale);
  transform: translateX(2px);
}

/* --------------------------------------------------------------------------
   Comparison table, best-fit and trade-offs
   -------------------------------------------------------------------------- */
.hmc-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--hmc-line);
  border-radius: var(--hmc-radius-lg);
  background: #fff;
  box-shadow: 0 12px 34px rgba(21,35,40,.035);
}
.hmc-comparison-table { width: 100%; min-width: 940px; border-collapse: separate; border-spacing: 0; }
.hmc-comparison-table th,
.hmc-comparison-table td {
  padding: 18px 19px;
  border-bottom: 1px solid var(--hmc-line);
  vertical-align: top;
  text-align: left;
  line-height: 1.55;
}
.hmc-comparison-table tr:last-child th,
.hmc-comparison-table tr:last-child td { border-bottom: 0; }
.hmc-comparison-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f1f6f6;
  color: var(--hmc-ink);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .03em;
}
.hmc-comparison-table tbody tr:nth-child(even) { background: #fcfdfd; }
.hmc-comparison-table tbody tr:hover { background: #f7fbfb; }
.hmc-comparison-table tbody th { width: 18%; color: var(--hmc-ink); font-size: 12px; }
.hmc-comparison-table td { color: var(--hmc-muted); font-size: 12px; }
.hmc-comparison-table td p { margin: 8px 0 0; }
.hmc-col-case { width: 24%; }
.hmc-col-assessment { width: 34%; }
.hmc-dimension-label { display: grid; grid-template-columns: 26px minmax(0,1fr); gap: 9px; align-items: start; }
.hmc-dimension-index {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 8px;
  background: var(--hmc-soft-2);
  color: var(--hmc-teal-dark);
  font-size: 8px;
  font-weight: 850;
}
.hmc-advantage {
  display: inline-flex;
  padding: 5px 8px;
  border-radius: 999px;
  background: var(--hmc-teal-pale);
  color: var(--hmc-teal-dark);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .03em;
}
.hmc-advantage--unclear { background: #f0f1f1; color: #666; }

.hmc-best-fit .hmc-panel {
  position: relative;
  overflow: hidden;
  padding-left: 26px;
}
.hmc-best-fit .hmc-panel::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--hmc-case-a);
}
.hmc-best-fit .hmc-panel--case-b::before { background: var(--hmc-case-b); }
.hmc-best-fit .hmc-panel h2 { font-size: clamp(21px,2.2vw,28px); }
.hmc-best-fit .hmc-list { padding-left: 0; list-style: none; }
.hmc-best-fit .hmc-list li {
  position: relative;
  padding: 10px 0 10px 22px;
  border-bottom: 1px solid var(--hmc-line);
}
.hmc-best-fit .hmc-list li:last-child { border-bottom: 0; }
.hmc-best-fit .hmc-list li::before {
  content: '✓';
  position: absolute;
  top: 10px;
  left: 0;
  color: var(--hmc-case-a);
  font-size: 11px;
  font-weight: 900;
}
.hmc-best-fit .hmc-panel--case-b .hmc-list li::before { color: var(--hmc-case-b); }

.hmc-numbered-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  counter-reset: hmc-item;
  list-style: none;
}
.hmc-numbered-list li {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 12px;
  align-items: start;
  padding: 18px;
  border: 1px solid var(--hmc-line);
  border-radius: var(--hmc-radius-sm);
  background: #fff;
  color: var(--hmc-muted);
  font-size: 13px;
}
.hmc-numbered-list li::before {
  counter-increment: hmc-item;
  content: counter(hmc-item, decimal-leading-zero);
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  border-radius: 10px;
  background: var(--hmc-soft-2);
  color: var(--hmc-teal-dark);
  font-size: 9px;
  font-weight: 850;
}

/* --------------------------------------------------------------------------
   Developments, disclosures and research record
   -------------------------------------------------------------------------- */
.hmc-development-list { display: grid; gap: 11px; }
.hmc-development-list article {
  padding: 20px;
  border: 1px solid var(--hmc-line);
  border-radius: var(--hmc-radius-sm);
  background: #fff;
}
.hmc-development-list h3 { margin: 3px 0 7px; font-size: 17px; }
.hmc-development-list p { margin: 0; color: var(--hmc-muted); }
.hmc-development-meta {
  color: var(--hmc-teal-dark) !important;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.hmc-development-significance {
  margin-top: 11px !important;
  padding-top: 11px;
  border-top: 1px solid var(--hmc-line);
  color: var(--hmc-ink) !important;
  font-size: 12px;
}
.hmc-verification-section {
  padding: 22px;
  border: 1px solid #eadfca;
  border-radius: var(--hmc-radius);
  background: var(--hmc-warm);
}
.hmc-verification-section h2 { margin: 0 0 9px; font-size: 20px; }
.hmc-verification-section .hmc-list li { color: #6d5b3d; }

.hmc-disclosure,
.hmc-sources {
  margin: 24px 0 0;
  border: 1px solid var(--hmc-line);
  border-radius: var(--hmc-radius);
  background: var(--hmc-soft);
}
.hmc-disclosure summary,
.hmc-sources summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 16px 18px;
  color: var(--hmc-ink);
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}
.hmc-disclosure summary::-webkit-details-marker,
.hmc-sources summary::-webkit-details-marker { display: none; }
.hmc-disclosure > :not(summary) { margin-inline: 18px; }
.hmc-disclosure > :last-child { margin-bottom: 17px; }
.hmc-sources summary small {
  display: block;
  color: var(--hmc-muted);
  font-size: 9px;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.hmc-sources summary strong { display: block; margin-top: 2px; }
.hmc-disclosure-icon {
  display: grid;
  place-items: center;
  flex: 0 0 27px;
  width: 27px;
  height: 27px;
  border-radius: 50%;
  background: rgba(0,143,140,.08);
  color: var(--hmc-teal-dark);
  font-size: 17px;
  transition: transform .18s ease;
}
.hmc-sources[open] .hmc-disclosure-icon { transform: rotate(45deg); }
.hmc-sources ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 2px 18px 18px;
  counter-reset: hmc-source;
  list-style: none;
}
.hmc-sources li {
  display: grid;
  grid-template-columns: 23px minmax(0, 1fr);
  gap: 8px;
  align-content: start;
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid var(--hmc-line);
  border-radius: 10px;
  background: #fff;
  counter-increment: hmc-source;
}
.hmc-sources li::before {
  content: counter(hmc-source);
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--hmc-soft-2);
  color: var(--hmc-teal-dark);
  font-size: 9px;
  font-weight: 850;
}
.hmc-sources li a,
.hmc-sources li span { grid-column: 2; }
.hmc-sources li a {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--hmc-teal-dark);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.42;
}
.hmc-sources li span { margin-top: 1px; color: var(--hmc-muted); font-size: 9px; }

.hmc-citations { margin-left: 3px; font-size: 9px; white-space: nowrap; }
.hmc-citations a { color: var(--hmc-teal-dark); text-decoration: none; }
.hmc-result__footer {
  margin-top: 32px;
  padding-top: 16px;
  border-top: 1px solid var(--hmc-line);
  color: var(--hmc-muted);
  font-size: 10px;
}

/* --------------------------------------------------------------------------
   Related navigation
   -------------------------------------------------------------------------- */
.hmc-related-nav {
  margin: 64px 0 92px;
  padding-top: 30px;
  border-top: 1px solid var(--hmc-line);
}
.hmc-related-nav__head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: end;
}
.hmc-related-nav__head h2 { margin: 0; font-size: clamp(23px, 2.6vw, 31px); letter-spacing: -.035em; }
.hmc-related-nav__head > a { color: var(--hmc-teal-dark); font-size: 12px; font-weight: 800; text-decoration: none; }
.hmc-related-nav__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 19px;
}
.hmc-related-nav__grid a {
  display: grid;
  gap: 6px;
  padding: 18px;
  border: 1px solid var(--hmc-line);
  border-radius: var(--hmc-radius-sm);
  color: var(--hmc-ink);
  text-decoration: none;
  transition: border-color .16s ease, transform .16s ease;
}
.hmc-related-nav__grid a:hover { border-color: rgba(0,143,140,.36); transform: translateY(-1px); }
.hmc-related-nav__grid span { color: var(--hmc-teal-dark); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.hmc-related-nav__grid strong { font-size: 14px; line-height: 1.4; }

/* --------------------------------------------------------------------------
   Compare hub
   -------------------------------------------------------------------------- */
.hmc-hub { padding: clamp(48px, 6vw, 82px) 0 96px; }
.hmc-hub-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr);
  gap: clamp(34px, 6vw, 78px);
  align-items: center;
  overflow: hidden;
  padding: clamp(36px, 5vw, 62px);
  border: 1px solid var(--hmc-line);
  border-radius: 28px;
  background:
    radial-gradient(circle at 92% 105%, rgba(0,143,140,.08) 0, rgba(0,143,140,.08) 17%, transparent 17.4%),
    linear-gradient(135deg, #fff 0%, #f2f8f8 100%);
}
.hmc-hub-hero__copy,
.hmc-hub-stats { position: relative; z-index: 1; }
.hmc-hub-hero h1 {
  max-width: 850px;
  margin: 0;
  font-size: clamp(42px, 5.2vw, 68px);
  letter-spacing: -.06em;
  line-height: .97;
  text-wrap: balance;
}
.hmc-hub-hero__copy > p:last-of-type {
  max-width: 710px;
  margin: 20px 0 0;
  color: var(--hmc-muted);
  font-size: clamp(17px, 1.8vw, 20px);
  line-height: 1.62;
}
.hmc-hub-principles {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 22px;
}
.hmc-hub-principles span {
  padding: 7px 10px;
  border: 1px solid rgba(0,143,140,.15);
  border-radius: 999px;
  background: rgba(255,255,255,.76);
  color: var(--hmc-teal-dark);
  font-size: 9px;
  font-weight: 850;
}
.hmc-hub-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 24px;
}
.hmc-hub-hero__actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 15px;
  border: 1px solid var(--hmc-line);
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  color: var(--hmc-ink);
  font-size: 11px;
  font-weight: 850;
  text-decoration: none;
}
.hmc-hub-hero__actions .hmc-hub-hero__primary {
  border-color: var(--hmc-teal);
  background: var(--hmc-teal);
  color: #fff;
}
.hmc-hub-hero__actions a:hover { border-color: var(--hmc-teal); }
.hmc-hub-hero__actions .hmc-hub-hero__primary:hover { background: var(--hmc-teal-dark); }
.hmc-hub-stats { display: grid; gap: 10px; }
.hmc-hub-stats div {
  padding: 17px 18px;
  border: 1px solid rgba(223,232,232,.92);
  border-radius: var(--hmc-radius-sm);
  background: rgba(255,255,255,.83);
  backdrop-filter: blur(5px);
}
.hmc-hub-stats strong { display: block; font-size: 31px; letter-spacing: -.04em; }
.hmc-hub-stats span { color: var(--hmc-muted); font-size: 10px; }

.hmc-hub-builder-shell {
  position: relative;
  margin-top: 30px;
  padding: clamp(26px, 4vw, 44px);
  border: 1px solid var(--hmc-line);
  border-radius: var(--hmc-radius-lg);
  background: #fff;
  box-shadow: var(--hmc-shadow);
}
.hmc-hub-builder-shell::before {
  content: '';
  position: absolute;
  top: 0;
  left: 42px;
  right: 42px;
  height: 3px;
  border-radius: 0 0 3px 3px;
  background: linear-gradient(90deg, var(--hmc-teal), #76c8c4);
}
.hmc-hub-builder-intro { max-width: 740px; margin: 0 auto 24px; text-align: center; }
.hmc-hub-builder-intro h2 { margin: 0; font-size: clamp(28px, 3.6vw, 42px); letter-spacing: -.04em; line-height: 1.08; }
.hmc-builder-steps {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 18px;
}
.hmc-builder-steps span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 9px;
  border-radius: 999px;
  background: var(--hmc-soft);
  color: var(--hmc-muted);
  font-size: 9px;
  font-weight: 750;
}
.hmc-builder-steps i {
  display: grid;
  place-items: center;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: #fff;
  color: var(--hmc-teal-dark);
  font-size: 8px;
  font-style: normal;
  font-weight: 900;
}

.hmc-hub-explainer {
  display: grid;
  grid-template-columns: .75fr 1.25fr;
  gap: 42px;
  align-items: start;
  margin: 68px 0;
  padding: clamp(28px, 4vw, 43px);
  border-radius: var(--hmc-radius-lg);
  background: var(--hmc-soft);
}
.hmc-hub-explainer h2 { margin: 0; font-size: clamp(28px, 3.5vw, 42px); letter-spacing: -.045em; line-height: 1.08; }
.hmc-hub-explainer ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  counter-reset: hmc-step;
  list-style: none;
}
.hmc-hub-explainer li {
  display: flex;
  flex-direction: column;
  min-height: 180px;
  padding: 19px;
  border: 1px solid var(--hmc-line);
  border-radius: var(--hmc-radius-sm);
  background: #fff;
}
.hmc-hub-explainer li::before {
  counter-increment: hmc-step;
  content: '0' counter(hmc-step);
  margin-bottom: 22px;
  color: var(--hmc-teal-dark);
  font-size: 10px;
  font-weight: 850;
}
.hmc-hub-explainer li strong { font-size: 14px; }
.hmc-hub-explainer li span { margin-top: 7px; color: var(--hmc-muted); font-size: 12px; line-height: 1.55; }

.hmc-hub-section { margin-top: 62px; }
.hmc-hub-section__head {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  align-items: end;
}
.hmc-hub-section__head h2 { margin: 0; font-size: clamp(28px, 3.5vw, 42px); letter-spacing: -.045em; }
.hmc-hub-section__head > p { max-width: 420px; margin: 0; color: var(--hmc-muted); font-size: 13px; text-align: right; }
.hmc-hub-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 13px;
  margin-top: 20px;
}
.hmc-hub-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 250px;
  padding: 21px;
  border: 1px solid var(--hmc-line);
  border-radius: var(--hmc-radius);
  background: #fff;
  color: var(--hmc-ink);
  text-decoration: none;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.hmc-hub-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 20px;
  right: 20px;
  height: 3px;
  border-radius: 0 0 3px 3px;
  background: linear-gradient(90deg, var(--hmc-teal), #72c6c1);
  opacity: .78;
}
.hmc-hub-card:hover {
  border-color: rgba(0,143,140,.35);
  box-shadow: var(--hmc-shadow-sm);
  color: var(--hmc-ink);
  transform: translateY(-2px);
}
.hmc-hub-card__meta { display: flex; flex-wrap: wrap; gap: 6px; }
.hmc-hub-card__meta span {
  padding: 4px 7px;
  border-radius: 999px;
  background: var(--hmc-soft-2);
  color: var(--hmc-teal-dark);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.hmc-hub-card h3 { margin: 17px 0 9px; color: var(--hmc-ink); font-size: 20px; letter-spacing: -.025em; line-height: 1.18; }
.hmc-hub-card > p { margin: 0; color: var(--hmc-muted); font-size: 12px; line-height: 1.55; }
.hmc-hub-card footer {
  display: flex;
  gap: 11px;
  align-items: center;
  margin-top: auto;
  padding-top: 20px;
  color: var(--hmc-muted);
  font-size: 9px;
}
.hmc-hub-card footer strong { margin-left: auto; color: var(--hmc-teal-dark); font-size: 18px; transition: transform .16s ease; }
.hmc-hub-card:hover footer strong { transform: translateX(3px); }
.hmc-load-more {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  min-height: 46px;
  margin: 24px auto 0;
  padding: 0 21px;
  border: 1px solid var(--hmc-line);
  border-radius: 999px;
  background: #fff;
  color: var(--hmc-ink);
  font: inherit;
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
}
.hmc-load-more:hover { border-color: var(--hmc-teal); color: var(--hmc-teal-dark); }
.hmc-load-more:disabled { opacity: .55; cursor: wait; }

/* --------------------------------------------------------------------------
   Builder and Ajax pickers
   -------------------------------------------------------------------------- */
.hmc-builder { max-width: 1120px; margin: 0 auto; }
.hmc-builder__header { max-width: 720px; margin-bottom: 26px; }
.hmc-builder__header h2 { margin: 0 0 10px; font-size: clamp(30px, 4.5vw, 50px); letter-spacing: -.045em; line-height: 1.03; }
.hmc-builder__header > p:last-child { margin: 0; color: var(--hmc-muted); font-size: 16px; line-height: 1.62; }
.hmc-builder__cases {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 48px minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
}
.hmc-case-selector {
  position: relative;
  min-width: 0;
  margin: 0;
  padding: 24px 22px 22px;
  border: 1px solid var(--hmc-line);
  border-radius: var(--hmc-radius);
  background: #fff;
  box-shadow: var(--hmc-shadow-sm);
}
.hmc-case-selector legend {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 8px;
  color: var(--hmc-ink);
  font-size: 15px;
  font-weight: 800;
}
.hmc-case-selector__index {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 8px;
  background: rgba(0,143,140,.1);
  color: var(--hmc-case-a);
  font-size: 9px;
  font-weight: 900;
}
.hmc-case-selector--b .hmc-case-selector__index { background: rgba(96,122,145,.1); color: var(--hmc-case-b); }
.hmc-vs {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  align-self: center;
  width: 45px;
  height: 45px;
  border: 1px solid var(--hmc-line-strong);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 8px 20px rgba(21,35,40,.06);
  color: var(--hmc-teal-dark);
  font-size: 9px;
  font-weight: 900;
}
.hmc-vs::before,
.hmc-vs::after {
  content: '';
  position: absolute;
  top: 50%;
  z-index: -1;
  width: 16px;
  height: 1px;
  background: var(--hmc-line-strong);
}
.hmc-vs::before { right: 100%; }
.hmc-vs::after { left: 100%; }
.hmc-case-preview {
  position: relative;
  min-height: 45px;
  margin: 3px 0 0;
  padding: 12px 13px 12px 38px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: var(--hmc-soft);
  color: var(--hmc-teal-dark);
  font-size: 12px;
  font-weight: 750;
}
.hmc-case-preview::before {
  content: '·';
  position: absolute;
  top: 50%;
  left: 13px;
  display: grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: #e9eeee;
  color: var(--hmc-muted);
  font-size: 9px;
  transform: translateY(-50%);
}
.hmc-case-preview.is-complete { border-color: rgba(0,143,140,.14); background: var(--hmc-teal-pale); }
.hmc-case-preview.is-complete::before { content: '✓'; background: rgba(0,143,140,.12); color: var(--hmc-teal-dark); }
.hmc-decision-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  max-width: 880px;
  margin: 20px auto 0;
}
.hmc-decision-fields label { display: grid; gap: 7px; min-width: 0; }
.hmc-decision-fields label > span { color: var(--hmc-muted); font-size: 10px; font-weight: 780; }
.hmc-decision-fields select {
  width: 100%;
  min-height: 48px;
  padding: 0 40px 0 13px;
  border: 1px solid #cfdadb;
  border-radius: 11px;
  background: #fff;
  color: var(--hmc-ink);
  font: inherit;
  font-size: 13px;
}
.hmc-decision-fields select:focus { outline: 3px solid rgba(0,143,140,.14); border-color: var(--hmc-teal); }
.hmc-builder__actions { display: flex; justify-content: center; gap: 9px; margin-top: 16px; }
.hmc-submit {
  min-height: 46px;
  padding: 0 21px;
  border-radius: 999px;
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}
.hmc-submit { border: 1px solid var(--hmc-teal); background: var(--hmc-teal); color: #fff; }
.hmc-submit:hover { background: var(--hmc-teal-dark); border-color: var(--hmc-teal-dark); }
.hmc-submit:disabled { opacity: .55; cursor: not-allowed; }
.hmc-builder__note { max-width: 740px; margin: 14px auto 0; color: var(--hmc-muted); font-size: 11px; line-height: 1.58; text-align: center; }
.hmc-form-notice,
.hmc-form-error { margin: 16px 0; padding: 13px 15px; border-radius: 11px; }
.hmc-form-notice--warning { border: 1px solid #eadbb8; background: #fff9eb; color: #805614; }
.hmc-form-error { border: 1px solid #efc9c9; background: var(--hmc-danger-soft); color: #8d2020; }
.hmc-status {
  display: flex;
  align-items: center;
  gap: 14px;
  max-width: 700px;
  margin: 30px auto;
  padding: 18px 20px;
  border: 1px solid var(--hmc-line);
  border-radius: var(--hmc-radius);
  background: #fff;
  box-shadow: var(--hmc-shadow-sm);
}
.hmc-status[hidden],
.hmc-form-error[hidden] { display: none !important; }
.hmc-status strong { display: block; margin-bottom: 3px; }
.hmc-status p { margin: 0; color: var(--hmc-muted); font-size: 11px; }
.hmc-spinner {
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  border: 3px solid rgba(0,143,140,.18);
  border-top-color: var(--hmc-teal);
  border-radius: 50%;
  animation: hmc-spin .8s linear infinite;
}
@keyframes hmc-spin { to { transform: rotate(360deg); } }
.hmc-builder__result { margin-top: 44px; scroll-margin-top: 90px; }
.hmc-public-link { margin: 0 0 13px; text-align: right; }
.hmc-public-link a { color: var(--hmc-teal-dark); font-size: 12px; font-weight: 800; }

.hmc-entity-picker { display: grid; gap: 7px; margin-bottom: 18px; }
.hmc-field-label { display: block; color: var(--hmc-muted); font-size: 10px; font-weight: 750; }
.hmc-search-results[hidden],
.hmc-picker-clear[hidden],
.hmc-picker-type[hidden] { display: none !important; }
.hmc-combobox { position: relative; }
.hmc-combobox input[type="search"] {
  width: 100%;
  min-height: 49px;
  margin: 0;
  padding: 0 44px 0 14px;
  border: 1px solid #cfdadb;
  border-radius: 11px;
  background: #fff;
  color: var(--hmc-ink);
  font: inherit;
  font-size: 13px;
  appearance: none;
}
.hmc-combobox input[type="search"]:focus { outline: 3px solid rgba(0,143,140,.14); border-color: var(--hmc-teal); }
.hmc-combobox input[type="search"].is-selected { padding-right: 126px; border-color: rgba(0,143,140,.36); background: rgba(0,143,140,.025); font-weight: 720; }
.hmc-combobox input[type="search"]::-webkit-search-cancel-button { appearance: none; }
.hmc-picker-type {
  position: absolute;
  top: 50%;
  right: 42px;
  z-index: 3;
  max-width: 76px;
  overflow: hidden;
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(0,143,140,.09);
  color: var(--hmc-teal-dark);
  font-size: 8px;
  font-weight: 850;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
  transform: translateY(-50%);
  pointer-events: none;
}
.hmc-picker-clear {
  position: absolute;
  top: 50%;
  right: 7px;
  z-index: 4;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--hmc-soft);
  color: var(--hmc-muted);
  font: inherit;
  font-size: 19px;
  transform: translateY(-50%);
  cursor: pointer;
}
.hmc-search-results {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 50;
  max-height: 370px;
  overflow-y: auto;
  padding: 6px;
  border: 1px solid var(--hmc-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(20,33,38,.15);
  overscroll-behavior: contain;
}
.hmc-search-group + .hmc-search-group { margin-top: 5px; padding-top: 5px; border-top: 1px solid #edf1f1; }
.hmc-search-group__heading {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 6px 9px 4px;
  color: #677579;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.hmc-search-group__heading small { display: grid; place-items: center; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 999px; background: #f0f5f5; font-size: 8px; }
.hmc-search-result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 11px;
  width: 100%;
  padding: 9px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--hmc-ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.hmc-search-result:hover,
.hmc-search-result.is-active,
.hmc-search-result:focus-visible { outline: none; background: var(--hmc-soft); }
.hmc-search-result__main { display: grid; min-width: 0; gap: 2px; }
.hmc-search-result__main strong,
.hmc-search-result__main small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hmc-search-result__main strong { font-size: 13px; }
.hmc-search-result__main small { color: var(--hmc-muted); font-size: 10px; }
.hmc-search-result__type {
  flex: 0 0 auto;
  max-width: 86px;
  overflow: hidden;
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(0,143,140,.08);
  color: var(--hmc-teal-dark);
  font-size: 8px;
  font-weight: 800;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.hmc-search-message { padding: 14px 11px; color: var(--hmc-muted); font-size: 11px; text-align: center; }
.hmc-search-message.is-error { color: #8d2020; }
.hmc-search-message.is-loading::before {
  content: '';
  display: inline-block;
  width: 11px;
  height: 11px;
  margin-right: 6px;
  border: 2px solid #dce7e7;
  border-top-color: var(--hmc-teal);
  border-radius: 50%;
  vertical-align: -2px;
  animation: hmc-spin .8s linear infinite;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 1040px) {
  .hmc-hub-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hmc-hub-explainer { grid-template-columns: 1fr; }
  .hmc-hub-explainer ol { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
  .hmc-single-document,
  .hmc-hub { width: min(var(--hmc-wide), calc(100% - 36px)); }
  .hmc-hub-hero { grid-template-columns: 1fr; }
  .hmc-hub-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hmc-decision-context,
  .hmc-decision-fields { grid-template-columns: 1fr; }
  .hmc-section-heading--split { align-items: start; }
  .hmc-builder__cases { grid-template-columns: 1fr; }
  .hmc-vs { margin: -3px auto; }
  .hmc-vs::before, .hmc-vs::after { top: auto; left: 50%; width: 1px; height: 14px; }
  .hmc-vs::before { right: auto; bottom: 100%; }
  .hmc-vs::after { top: 100%; }
  .hmc-related-nav__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .hmc-connected-list { grid-template-columns: 1fr; }
  .hmc-single-document,
  .hmc-hub { width: calc(100% - 24px); }
  .hmc-single-hero { padding-top: 42px; }
  .hmc-single-hero h1 { font-size: clamp(36px, 10.8vw, 52px); }
  .hmc-is-comparison .hmc-single-hero h1 { font-size: clamp(32px, 9vw, 44px); }
  .hmc-single-content { padding-top: 36px; }
  .hmc-document-nav { display: block; }
  .hmc-document-nav > span { display: block; margin-bottom: 8px; }
  .hmc-section-heading--split { display: grid; gap: 13px; }
  .hmc-maturity-legend { justify-content: flex-start; }
  .hmc-context-links,
  .hmc-two-column,
  .hmc-case-grid,
  .hmc-case-mini-grid,
  .hmc-opportunity-grid,
  .hmc-evidence-list,
  .hmc-numbered-list,
  .hmc-sources ol { grid-template-columns: 1fr; }
  .hmc-hub-explainer ol,
  .hmc-hub-card-grid,
  .hmc-hub-stats { grid-template-columns: 1fr; }
  .hmc-hub-section__head,
  .hmc-related-nav__head { display: grid; align-items: start; }
  .hmc-hub-section__head > p { text-align: left; }
  .hmc-related-nav__grid { grid-template-columns: 1fr; }
  .hmc-action-bar__back { width: 100%; margin: 6px 0 0; }
  .hmc-builder__actions { flex-direction: column; }
  .hmc-submit { width: 100%; }

  .hmc-table-wrap { overflow: visible; border: 0; }
  .hmc-comparison-table,
  .hmc-comparison-table tbody,
  .hmc-comparison-table tr,
  .hmc-comparison-table th,
  .hmc-comparison-table td { display: block; width: 100%; min-width: 0; }
  .hmc-comparison-table thead { display: none; }
  .hmc-comparison-table tr {
    margin-bottom: 13px;
    border: 1px solid var(--hmc-line);
    border-radius: var(--hmc-radius-sm);
    overflow: hidden;
    background: #fff;
  }
  .hmc-comparison-table tbody th { padding: 13px 15px; border-bottom: 1px solid var(--hmc-line); background: var(--hmc-soft); }
  .hmc-comparison-table td { padding: 14px 15px; border-bottom: 1px solid var(--hmc-line); }
  .hmc-comparison-table td:last-child { border-bottom: 0; }
  .hmc-comparison-table td::before {
    display: block;
    margin-bottom: 5px;
    color: var(--hmc-ink);
    font-size: 8px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  .hmc-comparison-table td:nth-of-type(1)::before { content: 'Case A'; }
  .hmc-comparison-table td:nth-of-type(2)::before { content: 'Case B'; }
  .hmc-comparison-table td:nth-of-type(3)::before { content: 'Assessment'; }
  .hmc-opportunity-card dl { grid-template-columns: 1fr; }
  .hmc-opportunity-card dl div,
  .hmc-opportunity-card dl div:nth-child(even) { padding: 10px 0 0; border-left: 0; }
  .hmc-opportunity-card dl div:nth-child(n+2) { margin-top: 10px; border-top: 1px solid var(--hmc-line); }
}

@media (max-width: 520px) {
  .hmc-action-bar button,
  .hmc-action-bar .hpi-download-button { flex: 1 1 calc(50% - 4px); }
  .hmc-verdict,
  .hmc-assessment,
  .hmc-case-card,
  .hmc-panel,
  .hmc-prose-panel,
  .hmc-opportunity-card,
  .hmc-evidence-card { padding: 19px; }
  .hmc-combobox input[type="search"].is-selected { padding-right: 43px; }
  .hmc-picker-type { position: static; display: inline-block; max-width: 100%; margin-top: 6px; transform: none; }
  .hmc-search-results { max-height: 320px; }
}

@media (prefers-reduced-motion: reduce) {
  .hmc-result *,
  .hmc-hub *,
  .hmc-builder * {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* --------------------------------------------------------------------------
   Print / PDF-friendly output
   -------------------------------------------------------------------------- */
@media print {
  .hmc-single-document { width: 100%; }
  .hmc-single-hero { padding: 18px 0 22px; }
  .hmc-single-hero h1,
  .hmc-is-comparison .hmc-single-hero h1 { font-size: 31px; }
  .hmc-action-bar,
  .hmc-document-nav,
  .hmc-breadcrumbs,
  .hmc-related-nav,
  .hmc-load-more { display: none !important; }
  .hmc-single-content { max-width: none; padding-top: 24px; }
  .hmc-decision-context { grid-template-columns: repeat(3, 1fr); }
  .hmc-two-column,
  .hmc-case-grid,
  .hmc-opportunity-grid,
  .hmc-evidence-list,
  .hmc-connected-list,
  .hmc-sources ol { grid-template-columns: repeat(2, 1fr); }
  .hmc-case-card,
  .hmc-opportunity-card,
  .hmc-evidence-card,
  .hmc-connected-card,
  .hmc-development-list article,
  .hmc-numbered-list li { break-inside: avoid; box-shadow: none; }
  .hmc-disclosure,
  .hmc-sources { break-inside: avoid; }
  .hmc-sources[open] ol { display: grid; }
}
