/* HMX v15 — restrained visual finish; original content and section order retained. */
:root { --content-rail: 1236px; }
.uc-inner, .feat-inner, .crex-full-inner, .cs-inner, .about-inner,
.footer-inner { max-width: var(--content-rail); }

/* Distinct type roles: section titles / structural headings / card titles / body. */
.crex-caps h3, .crex-components h3,
.about-mission-main h3, .about-story h3, .contact-form-intro h3,
.cs-banner-text h4 { color: var(--purple-text); }
.uc-card h4, .cap-item h5, .comp-card h4, .about-pillar h4,
.team-info h4, .cs-body h3 { color: var(--accent-text); }
.crex-full-inner > .section-title { max-width: 980px; }
.about-mission-main h3, .about-story h3, .contact-form-intro h3 {
  line-height: 1.35;
  margin-bottom: 16px;
}
.cap-list, .comp-stack { gap: 16px; }
.crex-platform-body { min-width: 0; align-self: start; }
.verticals .product-video-link { text-wrap: balance; }
.demo-grid article { display: flex; flex-direction: column; }
.demo-copy { display: flex; flex-direction: column; flex: 1; }
.demo-copy h3 { color: var(--accent-text); }
.demo-sector { color: var(--purple-text); }
.demo-copy > p:not(.demo-sector) { margin-bottom: 24px; }
.demo-link { margin-top: auto; align-self: flex-start; }
.about-team-col .team-card + .team-card { margin-top: 24px !important; }

/* Shared rows maintain a clean reading line across each group of use-case cards. */
.uc-grid { gap: 24px; }
.uc-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: subgrid;
  grid-row: span 4;
  row-gap: 20px;
  align-content: start;
}
.uc-card .uc-icon, .uc-card h4, .uc-card p, .uc-card .uc-stats { margin: 0; }
.uc-card h4 { line-height: 1.35; }
.uc-stats { align-items: start; }

/* Start both CRex lists on the same baseline, allowing each list its own rhythm. */
@media (min-width: 1001px) {
  .crex-platform-grid { grid-template-rows: auto 1fr; row-gap: 24px; align-items: stretch; }
  .crex-caps, .crex-components {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    row-gap: 24px;
  }
  .crex-caps h3, .crex-components h3 { margin-bottom: 0; }
  .cap-list, .comp-stack { align-self: start; }
}
@media (min-width: 761px) and (max-width: 1320px) {
  .about-team-col .team-card + .team-card { margin-top: 0 !important; }
}
@media (max-width: 760px) {
  .about-team-col .team-card + .team-card { margin-top: 0 !important; }
  .uc-card { row-gap: 18px; }
  .crex-full-inner > .section-title { max-width: 100%; }
}
@media (max-width: 390px) {
  .verticals, .features, .crex-full, .use-cases, .case-studies, .about-section,
  footer { padding-left: 20px; padding-right: 20px; }
}
@media (max-width: 359px) {
  .verticals, .features, .crex-full, .use-cases, .case-studies, .about-section {
    padding-left: 16px; padding-right: 16px;
  }
}

/* The existing legal notice uses the same readable hierarchy, without copy edits. */
.legal-page main { padding-block: 64px; }
.legal-page h1 { font-size: clamp(32px, 4vw, 42px); line-height: 1.2; }
.legal-page h2 {
  font-size: 26px;
  line-height: 1.35;
  color: var(--purple-text);
  margin: 36px 0 14px;
}
.legal-page p { font-size: 20px; line-height: 1.75; text-wrap: pretty; }
.legal-page .copy { font-size: 18px; margin-top: 16px; }
.legal-page .back { min-height: 44px; display: inline-flex; align-items: center; }
@media (max-width: 600px) {
  .legal-page main { padding: 40px 20px; }
  .legal-page h2 { font-size: 24px; }
  .legal-page p { font-size: 18px; }
}
