/* Apex v5.45 — homepage refinement layer
   Preserves the approved visual system while improving proof hierarchy,
   perceived page length, form effort, legibility, and small-screen behavior. */

[hidden] { display: none !important; }

:where(h1, h2, h3) { text-wrap: balance; }
:where(p) { text-wrap: pretty; }

.pathways-property-note,
.pathway-copy,
.independence-copy p,
.capabilities-body,
.capability-desc,
.documents-lede,
.service-standard-copy,
.case-studies-lede,
.case-study-outcome,
.case-studies-more-text,
.process-lede,
.process-note-copy,
.process-sampling-copy,
.process-step-copy {
  color: #535961;
  font-weight: 400;
  line-height: 1.68;
}

.field-body,
.field-proof,
.final-cta-copy,
.assessment-request-copy {
  color: rgba(255,255,255,.76);
}

.pathway-copy,
.capability-desc,
.case-study-outcome,
.service-standard-copy,
.process-step-copy {
  font-size: max(14px, 0.875rem);
}

.case-study-eyebrow,
.case-study-meta,
.assessment-field label,
.assessment-request-audience,
.assessment-form-notice {
  letter-spacing: .13em;
}

.case-study-meta,
.assessment-request-audience,
.assessment-form-notice {
  font-size: 11px;
}

/* Evidence should read as a short inspection chain, not another paragraph. */
.case-evidence-trail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  margin: 4px 0 20px;
  border: 1px solid rgba(0,0,0,.09);
  background: #f8f6f1;
}

.case-evidence-trail span {
  min-width: 0;
  padding: 11px 12px;
  color: #5b6067;
  font: 500 10.5px/1.42 'IBM Plex Sans', sans-serif;
}

.case-evidence-trail span + span { border-left: 1px solid rgba(0,0,0,.08); }

.case-evidence-trail b {
  display: block;
  margin-bottom: 4px;
  color: #a21c33;
  font: 500 8px/1.2 'IBM Plex Mono', monospace;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.case-studies-expand {
  display: none;
  min-height: 46px;
  padding: 0 16px;
  border: 1px solid rgba(196,30,58,.32);
  background: transparent;
  color: #a21c33;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  gap: 14px;
  font: 500 11px/1 'IBM Plex Sans', sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
  transition: background .22s ease, border-color .22s ease, color .22s ease;
}

.homepage-refinement-ready .case-studies-expand { display: inline-flex; }

.case-studies-expand:hover {
  background: #a21c33;
  border-color: #a21c33;
  color: #fff;
}

.case-studies-expand-icon {
  font: 400 20px/1 'IBM Plex Mono', monospace;
  transition: transform .24s ease;
}

.case-studies-expand[aria-expanded="true"] .case-studies-expand-icon {
  transform: rotate(45deg);
}

.case-studies-expand:focus-visible,
.assessment-optional summary:focus-visible {
  outline: 2px solid #e63946;
  outline-offset: 4px;
}

.assessment-optional > summary::-webkit-details-marker { display: none; }

.assessment-optional summary i {
  display: inline-block;
  margin-left: 8px;
  font-style: normal;
  font-size: 16px;
  transition: transform .22s ease;
}

.assessment-optional[open] summary i { transform: rotate(45deg); }

/* Progressive disclosure keeps the request form useful without looking arduous. */
.assessment-optional {
  margin-top: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.012);
}

.assessment-optional > summary {
  min-height: 50px;
  padding: 0 15px;
  color: rgba(255,255,255,.76);
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  font: 500 11px/1.4 'IBM Plex Sans', sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.assessment-optional > summary small {
  flex: 0 0 auto;
  color: rgba(255,255,255,.50);
  font: 500 8px/1 'IBM Plex Mono', monospace;
  letter-spacing: .17em;
}

.assessment-optional-grid {
  padding: 20px 15px 16px;
  border-top: 1px solid rgba(255,255,255,.08);
}

.assessment-project-context { margin-top: 22px; }

.assessment-form .common-request-fields,
.assessment-form .intent-fields > .assessment-form-grid {
  gap: 18px 20px;
}

.assessment-field textarea { min-height: 116px; }

/* Preserve every section, but remove unnecessary vertical drift between them. */
@media (min-width: 981px) {
  .pathways { padding-top: 88px; padding-bottom: 96px; }
  .capabilities { padding-top: 32px; padding-bottom: 98px; }
  .field-band { padding-top: 104px; padding-bottom: 112px; }
  .documents { padding-top: 102px; padding-bottom: 98px; }
  .documents-inner { padding-top: 46px; }
  .case-studies { padding-top: 102px; padding-bottom: 110px; }
  .apex-process { padding-top: 104px; padding-bottom: 112px; }
  .final-cta { padding-top: 112px; padding-bottom: 112px; }
  .assessment-request { margin-top: 68px; }
}

@media (max-width: 980px) {
  .case-evidence-trail { grid-template-columns: 1fr; }
  .case-evidence-trail span + span {
    border-left: 0;
    border-top: 1px solid rgba(0,0,0,.08);
  }
}

@media (max-width: 760px) {
  .hero-subhead-v527 { font-size: 15.5px; line-height: 1.62; }
  .hero-property-types { line-height: 1.7; }

  .pathways,
  .capabilities,
  .field-band,
  .documents,
  .case-studies,
  .apex-process,
  .final-cta {
    padding-left: 20px;
    padding-right: 20px;
  }

  .pathways { padding-top: 80px; padding-bottom: 86px; }
  .capabilities { padding-top: 28px; padding-bottom: 84px; }
  .field-band { padding-top: 84px; padding-bottom: 90px; }
  .documents { padding-top: 84px; padding-bottom: 82px; }
  .case-studies { padding-top: 84px; padding-bottom: 88px; }
  .apex-process { padding-top: 84px; padding-bottom: 90px; }
  .final-cta { padding-top: 88px; padding-bottom: 88px; }

  .pathways-title,
  .capabilities-title,
  .field-headline,
  .documents-title,
  .case-studies-title,
  .process-title,
  .final-cta-title {
    max-width: 100%;
    overflow-wrap: normal;
  }

  .case-studies-grid { gap: 20px; }
  .case-study-content { padding: 22px 20px 22px; }
  .case-study-title { font-size: 18px; min-height: 0; }
  .case-studies-more { align-items: stretch; padding-top: 28px; }
  .case-studies-expand { width: 100%; }

  .assessment-request { padding: 26px 18px 28px; }
  .assessment-request-audience {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 12.5px;
    letter-spacing: 0;
  }
  .request-intent-card,
  .assessment-submit,
  .final-cta-primary,
  .final-cta-text,
  .pathway-link,
  .case-study-link,
  .case-study-secondary {
    min-height: 44px;
  }
  .assessment-optional > summary { min-height: 54px; }
  .assessment-optional-grid { padding: 18px 14px 14px; }
}

@media (max-width: 480px) {
  .case-study-eyebrow {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }
  .case-evidence-trail span { font-size: 11px; }
  .assessment-optional > summary span { max-width: 68%; }
}

@media (prefers-reduced-motion: reduce) {
  .case-studies-expand,
  .case-studies-expand-icon,
  .assessment-optional summary i { transition: none; }
}
