/* Page-specific type, contrast and device sizing. */
.lumecore-case main {
  --lm-heading: clamp(2rem, 3.4vw, 2.9375rem);
  --lm-body: #526861;
}
.lumecore-case main h1 {
  max-width: 1200px;
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  line-height: 1.12;
  letter-spacing: -.045em;
}
.lumecore-case main h2 {
  font-size: var(--lm-heading);
  line-height: 1.16;
  font-weight: 500;
}
.lumecore-case main h3 {
  font-size: clamp(1.375rem, 2vw, 1.75rem);
  line-height: 1.3;
  letter-spacing: -.025em;
}
.lumecore-case main p {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--lm-body);
}
.lumecore-case main .eyebrow {
  font-size: .8125rem;
  color: #4b6355;
  line-height: 1.65;
}
.lumecore-case .cs-hero-bottom .eyebrow,
.lumecore-case .cs-scope,
.lumecore-case .cs-showcase figcaption { font-size: .8125rem; color: #4b6355; }
.lumecore-case .cs-hero-bottom > div { max-width: 700px; }
.lumecore-case main .quiet-link,
.lumecore-case .cs-chapters { font-size: .875rem; }
.lumecore-case main .final-panel h2 { font-size: 2.4375rem; }
.lumecore-case .cs-chapters a { color: #526861; }
.lumecore-case .cs-showcase {
  width: calc(100% - 96px);
  max-width: 1120px;
  padding: 24px 32px;
}
.lumecore-case .lm-device {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  inset: auto;
  margin: 0;
  overflow: hidden;
}
/* Trim only the transparent canvas around each existing device asset. */
.lumecore-case .lm-device-laptop { aspect-ratio: 1080 / 650; }
.lumecore-case .lm-device-tablet { aspect-ratio: 1080 / 740; }
.lumecore-case .lm-device img,
.lumecore-case .lm-design-stage:hover .lm-device img {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  max-width: 100%;
  height: auto;
  transform: translateY(-50%);
  border-radius: 0;
  object-fit: contain;
}
.lumecore-case .lm-device-laptop img { top: 44%; }
.lumecore-case .lm-provider-visual { padding: 24px; }
.lumecore-case .lm-provider-visual > .lm-provider-labels {
  position: static;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 18px;
}
.lumecore-case .lm-provider-labels span { font-size: .75rem; padding: 10px 6px; }
.lumecore-case .lm-design-stage {
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  padding: clamp(28px, 4vw, 54px);
  gap: 30px;
  text-align: left;
}
.lumecore-case .lm-design-copy { padding: 0; }
.lumecore-case .lm-design-copy h3 { font-size: clamp(1.75rem, 2.5vw, 2.125rem); color: #f9f8ee; }
.lumecore-case .lm-design-copy li { font-size: 1rem; line-height: 1.6; color: #f9f8ee; }
.lumecore-case main .lm-design-copy .eyebrow,
.lumecore-case main .lm-testimonial > .eyebrow { color: #b9cfc4; }
.lumecore-case .lm-question-stack button { font-size: 1.125rem; grid-template-columns: 40px minmax(0, 1fr) 24px; padding-right: 14px; }
.lumecore-case .lm-question-stack button span,
.lumecore-case .cs-challenge-number,
.lumecore-case .cs-demonstrates article > span,
.lumecore-case .lm-journey button span { color: #587566; }
.lumecore-case main .lm-answer p { font: italic 1.625rem/1.4 var(--serif); color: #f9f8ee; }
.lumecore-case .lm-answer { min-height: 172px; }
.lumecore-case .lm-answer > span { font-size: .75rem; line-height: 1.6; }
.lumecore-case .lm-journey button { font-size: 1rem; }
.lumecore-case .lm-journey button[aria-selected=true] span { color: #b9cfc4; }
.lumecore-case .lm-journey-stage h3 { font-size: clamp(1.75rem, 2.5vw, 2.125rem); }
.lumecore-case .lm-journey-stage { min-height: 285px; }
.lumecore-case .lm-qualification { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); }
.lumecore-case .lm-fit-card { transform: none; padding: 30px; }
.lumecore-case .lm-fit-card > .eyebrow { margin-bottom: 22px; }
.lumecore-case .lm-fit-card em { font-size: 1.5rem; line-height: 1.4; }
.lumecore-case main .cs-pull { font: italic clamp(1.5rem, 2vw, 1.6875rem)/1.4 var(--serif); color: #163e42; }
.lumecore-case .lm-orbit { width: min(560px, 74vw); }
.lumecore-case .lm-orbit > span { font-size: 1rem; }
.lumecore-case .lm-orbit .lm-center { font: italic 1.625rem/1.25 var(--serif); }
.lumecore-case .lm-orbit::before,
.lumecore-case .lm-orbit::after { pointer-events: none; }
.lumecore-case .lm-searches span,
.lumecore-case .lm-decision-line span,
.lumecore-case .lm-decision-line strong,
.lumecore-case .lm-flow > div span,
.lumecore-case .lm-flow > div strong { font-size: 1rem; line-height: 1.5; }
.lumecore-case .lm-decision-line { padding: 22px; }
.lumecore-case main .lm-result .eyebrow { color: #4b6355; }
.lumecore-case main .lm-result h2 { color: #163e42; }
.lumecore-case main .lm-result h2 em { color: #466b5b; }
.lumecore-case main .lm-result p { color: #526861; }
.lumecore-case .lm-result .btn { background: #163e42; color: #f9f8ee; }
.lumecore-case .lm-result .btn:hover { background: #294f52; }
.lumecore-case .lm-testimonial blockquote { font-size: clamp(1.625rem, 2.55vw, 2.25rem); line-height: 1.3; max-width: 960px; color: #f9f8ee; }
.lumecore-case .lm-testimonial blockquote em { display: inline; color: #b9cfc4; }
.lumecore-case .lm-review-line { display: block; }
.lumecore-case .lm-pulse { pointer-events: none; }
.lumecore-case .lm-pulse span { inset: 0; }
/* Keep text available if motion or observation is unavailable. */
.lumecore-case .lm-question-stack,
.lumecore-case .lm-journey-stage,
.lumecore-case .lm-fit-card,
.lumecore-case .lm-provider-visual,
.lumecore-case .lm-orbit,
.lumecore-case .lm-design-stage,
.lumecore-case .lm-flow,
.lumecore-case .lm-testimonial { opacity: 1; transform: none; }
@media (max-width: 1000px) {
  .lumecore-case .lm-qualification,
  .lumecore-case .lm-design-stage,
  .lumecore-case .lm-decisions,
  .lumecore-case .lm-uncertainty { grid-template-columns: minmax(0, 1fr); }
  .lumecore-case .lm-uncertainty .cs-heading { position: static; }
  .lumecore-case .lm-design-stage .lm-device { max-width: 680px; margin-inline: auto; }
}
@media (max-width: 760px) {
  .lumecore-case .lm-review-line { display: inline; }
  .lumecore-case main h1 { font-size: clamp(2.25rem, 7.8vw, 3.25rem); }
  .lumecore-case main h2 { font-size: clamp(2rem, 6vw, 2.5rem); }
  .lumecore-case main .final-panel h2 { font-size: 2.25rem; }
  .lumecore-case .cs-showcase { width: calc(100% - 40px); padding: 16px 10px; }
  .lumecore-case .cs-chapters { gap: 0; justify-content: space-evenly; padding: 16px 8px; font-size: .8125rem; }
  .lumecore-case .lm-qualification,
  .lumecore-case .lm-testimonial { padding-inline: 24px; }
  .lumecore-case .lm-fit-card { padding: 24px; }
  .lumecore-case .lm-orbit { width: 100%; aspect-ratio: auto; border: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; animation: none; }
  .lumecore-case .lm-orbit::before,
  .lumecore-case .lm-orbit::after { display: none; }
  .lumecore-case .lm-orbit > span,
  .lumecore-case .lm-orbit .lm-center { position: static; transform: none; width: auto; height: auto; white-space: normal; }
  .lumecore-case .lm-orbit .lm-center { width: 100%; border-radius: 18px; padding: 24px; }
  .lumecore-case .lm-journey-stage { padding: 28px; min-height: 275px; }
  .lumecore-case .lm-client { align-items: center; }
  .lumecore-case .lm-client > span { flex: 0 0 52px; }
  .lumecore-case .lm-client p { font-size: .875rem; }
}
