/* Case studies: the facts panel, cover and evidence figures, the research
   box and the short FAQ. Figures open full size in a new tab. Nothing here
   blurs or animates a filter (DESIGN §83). */

.case-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.case-meta span { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: #9fd8ea;
                  background: #0e2333; border: 1px solid #2d5a70; border-radius: 999px; padding: 5px 12px; }
.case-byline { color: #8c9bb0; font-size: 13px; line-height: 1.7; margin: 0 0 28px; padding-bottom: 22px; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.case-byline a { color: #6dddff; text-decoration: underline; text-underline-offset: 3px; }

.case-cover { margin: 0 0 40px; }
.case-cover img, .prose-article figure img { background: #dfe9fb; }
.case-cover img { display: block; width: 100%; height: auto; border: 1px solid rgba(255, 255, 255, .08); border-radius: 1.25rem; }
.case-cover figcaption { margin-top: .85rem; color: rgba(174, 184, 201, .8); font-size: .82rem; line-height: 1.6; text-align: center; }
.case-cover a, .prose-article figure a { display: block; border-radius: 1.25rem; transition: transform .25s ease; }
.case-cover a:hover, .prose-article figure a:hover { transform: translateY(-2px); }
.case-cover a:focus-visible, .prose-article figure a:focus-visible { outline: 2px solid #6dddff; outline-offset: 3px; }

/* The facts, first: what an answer engine or a skimming reader lifts. */
.prose-article .case-facts { display: grid; gap: 0; margin: 0 0 2.5rem; padding: 6px 22px; background: #0f1b29; border: 1px solid #22344a; border-radius: 16px; }
.prose-article .case-facts > div { display: grid; grid-template-columns: 138px 1fr; gap: 18px; padding: 12px 0; border-bottom: 1px solid #1c2c3f; }
.prose-article .case-facts > div:last-child { border-bottom: 0; }
.prose-article .case-facts dt { font: 600 11px 'Space Grotesk', sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #6dddff; padding-top: 3px; }
.prose-article .case-facts dd { margin: 0; color: #dbe3ef; font-size: .95rem; line-height: 1.6; font-weight: 400; }
.prose-article .case-facts dd b { color: #6dddff; font-weight: 600; }

.prose-article table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.prose-article th { text-align: left; font: 600 11px 'Space Grotesk', sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #6f8399; padding: 10px 12px; border-bottom: 1px solid #2b3f55; }
.prose-article td { padding: 12px; border-bottom: 1px solid #1c2c3f; color: #c6d1df; line-height: 1.55; vertical-align: top; }
.prose-article td:nth-child(2) { font-family: 'Space Grotesk', sans-serif; color: #6dddff; white-space: nowrap; }

.prose-article .case-research { padding: 22px 24px; background: #0f2231; border: 1px solid #2d5a70; border-radius: 16px; }
.prose-article .case-research > * + * { margin-top: 12px; }
.prose-article .case-research p { font-size: 1rem; }
.prose-article .case-research b { color: #e2e4f6; }
.prose-article .case-research-kicker { font: 600 11px 'Space Grotesk', sans-serif !important; letter-spacing: .14em; text-transform: uppercase; color: #6dddff; }
.prose-article .case-research-links a { color: #6dddff; text-decoration: underline; text-underline-offset: 3px; font-size: .9rem; }

.prose-article .case-faq { display: grid; gap: 10px; }
.prose-article .case-faq details { padding: 14px 18px; background: #111d2b; border: 1px solid #263749; border-radius: 12px; }
.prose-article .case-faq summary { cursor: pointer; color: #e2e4f6; font: 500 1rem 'Space Grotesk', sans-serif; list-style: none; }
.prose-article .case-faq summary::-webkit-details-marker { display: none; }
.prose-article .case-faq summary::after { content: '+'; float: right; color: #6dddff; }
.prose-article .case-faq details[open] summary::after { content: '\2212'; }
.prose-article .case-faq details p { margin-top: 10px; font-size: .98rem; }

@media (max-width: 640px) {
  .prose-article .case-facts > div { grid-template-columns: 1fr; gap: 4px; }
  .prose-article table { font-size: .85rem; }
}
