/* Use cases: the /use-cases hub and its spokes (litigation, due diligence, cost allocation, regulatory submissions).
   Loaded after solutions.css, whose hero, pain list, path grid, feature, proof and related-list components these pages reuse. */

/* ------------------------------------------------------------------ inline source links */
.ctx a, .cite-links a { color: var(--blue); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: rgba(0, 149, 237, 0.35); transition: text-decoration-color 0.2s; }
.ctx a:hover, .cite-links a:hover { text-decoration-color: currentColor; }
.night .ctx a, .night-deep .ctx a { color: var(--sky); text-decoration-color: rgba(142, 219, 255, 0.35); }

/* ------------------------------------------------------------------ context section: what the framework expects */
.ctx-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 28px; }
.ctx-card { padding: 24px 24px 22px; border-radius: var(--radius-lg, 18px); background: #fff; box-shadow: 0 0 0 1px var(--paper-line); }
.ctx-card .where { font-size: 0.85rem; color: var(--paper-muted); margin-bottom: 8px; }
.ctx-card h3 { font-size: 1.3rem; line-height: 1.2; margin-bottom: 10px; color: var(--paper-ink); }
.ctx-card p { color: var(--paper-body); font-size: 0.98rem; line-height: 1.55; }
.ctx-card p + p { margin-top: 10px; }
.ctx-card .src { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--paper-line); font-size: 0.85rem; color: var(--paper-muted); }
@media (max-width: 760px) { .ctx-grid { grid-template-columns: 1fr; } }

/* ------------------------------------------------------------------ other use cases strip (spokes) */
.uc-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.uc-mini { position: relative; display: flex; flex-direction: column; min-height: 200px; }
.uc-mini .art { position: absolute; top: 22px; right: 20px; width: 64px; height: 76px; object-fit: contain; opacity: 0.9; pointer-events: none; transition: transform 0.8s var(--ease-out); }
.uc-mini:hover .art { transform: translateY(-4px); }
.uc-mini h3 { position: relative; font-size: 1.3rem; line-height: 1.15; padding-right: 76px; }
.uc-mini p { position: relative; margin-top: 8px; font-size: 0.94rem; padding-right: 64px; }
.uc-mini .link-arrow { position: relative; font-size: 0.93rem; }
@media (max-width: 1080px) { .uc-strip { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .uc-strip { grid-template-columns: 1fr; } .uc-mini { min-height: 0; } }

/* ------------------------------------------------------------------ hub: use case cards */
.uc-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.uc-card { display: grid; grid-template-columns: minmax(0, 1fr) 132px; gap: 24px; align-items: start; padding: clamp(26px, 3vw, 36px); }
.uc-card .uc-art { width: 132px; height: 160px; justify-self: end; }
.uc-card .uc-art img { width: 100%; height: 100%; object-fit: contain; }
.uc-card .uc-who { font-size: 0.9rem; color: var(--fog); margin-bottom: 10px; }
.uc-card h3 { font-size: clamp(1.6rem, 2.3vw, 2rem); line-height: 1.08; }
.uc-card p { margin-top: 12px; font-size: 1rem; line-height: 1.55; }
.uc-card .check-list { margin-top: 16px; }
.uc-card .check-list li { font-size: 0.95rem; }
.uc-card .link-arrow { margin-top: 22px; display: inline-flex; }
.uc-card.featured { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) 220px; }
.uc-card.featured .uc-art { width: 220px; height: 260px; }
.uc-card.featured h3 { font-size: clamp(2rem, 3vw, 2.6rem); }
.uc-card.featured p { font-size: 1.08rem; max-width: 36em; }
@media (max-width: 980px) { .uc-cards { grid-template-columns: 1fr; } }
@media (max-width: 560px) {
  .uc-card, .uc-card.featured { grid-template-columns: 1fr; }
  .uc-card .uc-art, .uc-card.featured .uc-art { order: -1; justify-self: start; width: 104px; height: 124px; }
}

/* hub: the question each use case answers */
.uc-table td:first-child a { color: inherit; }
.uc-table td:first-child a:hover { color: var(--blue); }
.uc-table td:last-child a { color: var(--blue); font-weight: 500; white-space: nowrap; }
@media (max-width: 760px) { .uc-table td:last-child a { white-space: normal; } }

/* hub: shared foundation, a quiet list of the capabilities under every use case */
.found { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.found-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
.found-list li { border-top: 1px solid var(--night-line); }
.found-list a { display: block; padding: 16px 0; color: var(--cream); font-weight: 500; transition: color 0.2s; }
.found-list a span { display: block; margin-top: 4px; font-weight: 400; font-size: 0.92rem; color: var(--fog); }
.found-list a:hover { color: var(--sky); }
@media (max-width: 860px) { .found { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .found-list { grid-template-columns: 1fr; } }

/* proof cards that sit next to each other on spokes */
.uc-proof-pair { display: grid; gap: 20px; }
