/* Case Journey landing page. Page-scoped additions only — every color/radius/
   shadow below is an existing --cc-* token from cc-design.css. */

/* Hero: home.css's default .hero-aside is a narrow 3-of-12 sidebar (built for
   a small stat card). The chain needs a wider column, so .hero--journey
   re-splits the grid the way .hero--product does — grid-column:auto keeps
   the legacy 12-column fallback rules from reasserting their span. */
.hero--journey .hero-grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 48px;
}

.hero--journey .hero-lede,
.hero--journey .hero-aside {
  grid-column: auto;
  align-self: center;
  margin-top: 0;
}

@media (max-width: 900px) {
  .hero--journey .hero-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 36px;
  }
}

/* ── Visual: proceeding chain ─────────────────────────────────────────── */
.cj-illustrative {
  margin: 0 0 14px;
  font-family: var(--cc-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cc-text-3);
}

/* The chain component (.cj-chain, .cj-card, .cj-tier, .cj-connector, .cj-dot) is
   shared with case pages and lives in shared/cc-citator.css. */

/* Mobile stand-in for the collapsed gap + District Court segment. */
.cj-gap-line {
  display: none;
  align-items: center;
  gap: 10px;
  margin: 4px 0 4px 20px;
  font-size: 12px;
  color: var(--cc-text-3);
}

.cj-gap-line::before {
  content: "";
  width: 18px;
  border-top: 1.5px dashed var(--cc-border-2);
}

/* One calm entrance (~2.1s total), then static. Reduced motion and phones
   both skip straight to the settled state. Delays key off each element's own
   class, not :nth-child — the mobile-only .cj-gap-line sibling living inside
   .cj-chain would otherwise shift positional indices out of sequence. */
@media (prefers-reduced-motion: no-preference) and (min-width: 601px) {
  .cj-chain > * {
    opacity: 0;
    animation: cjIn 0.5s var(--cc-ease-out) forwards;
  }

  .cj-gap-line { opacity: 1; animation: none; }

  .cj-card--gap { animation-delay: 0.05s; }
  .cj-connector--muted { animation-delay: 0.35s; }
  .cj-card--district { animation-delay: 0.55s; }
  .cj-connector--success { animation-delay: 0.85s; }
  .cj-card--hc { animation-delay: 1.05s; }
  .cj-connector--warn { animation-delay: 1.35s; }
  .cj-card--sc { animation-delay: 1.55s; animation-name: cjInRing; }

  .cj-connector::before {
    transform: scaleY(0);
    animation: cjDraw 0.4s var(--cc-ease-out) forwards;
    animation-delay: inherit;
  }
}

@keyframes cjIn {
  from { opacity: 0; transform: translateY(7px); }
  to { opacity: 1; transform: none; }
}

@keyframes cjDraw {
  to { transform: scaleY(1); }
}

@keyframes cjInRing {
  from { opacity: 0; outline-color: transparent; transform: translateY(7px); }
  to { opacity: 1; outline-color: var(--cc-brass); transform: none; }
}

/* Phones: two cards (High Court, Supreme Court) + a gap line. No motion. */
@media (max-width: 600px) {
  .cj-card--gap,
  .cj-card--district,
  .cj-chain > .cj-connector--muted,
  .cj-chain > .cj-connector--success {
    display: none;
  }

  .cj-gap-line { display: flex; }
  .cj-chain { max-width: none; }

  .cj-chain > * { opacity: 1; animation: none; transform: none; }
  .cj-connector::before { transform: none; }
}

/* ── "What it shows" grid ─────────────────────────────────────────────── */
.cj-points {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  margin-top: 40px;
  background: var(--cc-border-2);
  border: 1px solid var(--cc-border-2);
}

.cj-point { background: var(--cc-surface); padding: 22px 24px; }

.cj-point h3 { font-size: 16px; font-weight: 600; margin: 0 0 8px; }

.cj-point p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--cc-text-2); }

@media (max-width: 720px) {
  .cj-points { grid-template-columns: 1fr; }
}
