/* Anonymised development case: existing typefaces, palette and source styles. */
.ce-case h1, .ce-case h2, .ce-case h3 { overflow-wrap: break-word; hyphens: auto; }
.ce-case h2 { font-size: clamp(1.8rem, 3.5vw, 2.8rem); font-weight: 300; margin-bottom: 1.5rem; }
.ce-case h2 em { color: var(--accent-light); font-style: italic; }
.ce-case .container-narrow > p { margin-bottom: 1.5rem; }
.ce-case-hero { background: linear-gradient(125deg, var(--navy-deep), var(--slate-900) 70%); }
.ce-case .ce-back { display: block; width: fit-content; color: var(--slate-300); font-size: 0.85rem; text-decoration: underline; text-underline-offset: 3px; margin-bottom: 1.25rem; }
.ce-case .ce-byline { margin-top: 1.5rem; font-size: 0.85rem; }
.ce-label { display: block; color: var(--accent-light); font-size: 11px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 0.8rem; }
.ce-status { margin-top: 2rem; padding: 1.5rem 1.75rem; border-left: 2px solid var(--accent); background: var(--slate-800); max-width: 750px; }
.ce-status p { font-size: 0.9rem; }
.ce-status .ce-status-title { color: var(--ivory); font-size: 1.05rem; margin-bottom: 0.5rem; }
.ce-alt { background: var(--navy-deep); }
.ce-scan-metrics .num { font-size: clamp(2.2rem, 4vw, 3rem); font-variant-numeric: tabular-nums; }
.ce-case-metric-heading { margin-top: 2rem; }
.ce-case-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ce-scan-notes { margin-top: 2rem; }
.ce-milestones { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; border: 1px solid var(--line); }
.ce-milestones li { min-width: 0; padding: 2rem; border-right: 1px solid var(--line); }
.ce-milestones li:last-child { border-right: none; background: rgba(180, 138, 62, 0.06); }
.ce-milestones h3, .ce-candidates h3 { font-size: 1.4rem; font-weight: 300; margin-bottom: 0.8rem; }
.ce-milestones p, .ce-candidates p { font-size: 0.95rem; line-height: 1.65; }
.ce-takeaway { border-left: 2px solid var(--accent); padding: 1.5rem 2rem; background: rgba(180, 138, 62, 0.06); margin: 2rem 0 0; }
.ce-takeaway p { color: var(--ivory); margin: 0; }
.ce-update-line { margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--line); font-size: 0.85rem; line-height: 1.65; }
.ce-update-line strong { color: var(--accent-light); font-weight: 500; }
.ce-candidates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--line); margin: 2rem 0; }
.ce-candidates > div { min-width: 0; padding: 2rem; }
.ce-candidates > div:first-child { border-right: 1px solid var(--line); }
.ce-related { list-style: none; border-top: 1px solid var(--line); }
.ce-related li { border-bottom: 1px solid var(--line); }
.ce-related a { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 0; }
.ce-related a:hover { color: var(--accent-light); }
.ce-related svg { flex-shrink: 0; }
.ce-source-label { display: block; color: var(--accent-light); font-size: 0.8rem; margin: 0.25rem 0 0.5rem; }
.ce-case .source-list strong { color: var(--ivory); font-weight: 500; }
.ce-case .source-list .translation { color: var(--slate-300); }
.ce-case .source-list li > div { min-width: 0; overflow-wrap: anywhere; }
.ce-screening-preview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; padding: 1.75rem; background: linear-gradient(125deg, var(--navy-deep), var(--slate-900)); }
.ce-screening-preview > div { min-width: 0; padding: 1rem 0.5rem; text-align: center; border-top: 1px solid var(--accent); }
.ce-screening-preview span { display: block; color: var(--accent-light); font-family: 'Fraunces', Georgia, serif; font-weight: 300; font-size: 2.7rem; }
.ce-screening-preview p { font-size: 0.75rem; color: var(--ivory); overflow-wrap: anywhere; }
@media (max-width: 900px) {
  .ce-case-metrics { grid-template-columns: 1fr; }
  .ce-milestones { grid-template-columns: 1fr; }
  .ce-milestones li { border-right: none; border-bottom: 1px solid var(--line); }
  .ce-milestones li:last-child { border-bottom: none; }
}
@media (max-width: 600px) {
  .ce-candidates { grid-template-columns: 1fr; }
  .ce-candidates > div { padding: 1.5rem; }
  .ce-candidates > div:first-child { border-right: none; border-bottom: 1px solid var(--line); }
  .ce-status, .ce-takeaway, .ce-milestones li { padding: 1.25rem; }
  .ce-case .eyebrow { font-size: 10px; letter-spacing: 0.1em; }
  .ce-screening-preview { padding: 1.25rem; }
}
