/* Concise process snapshots for the homepage AI case studies. */
.home-page .projects .case-diagram { min-height: 360px; height: auto; padding: clamp(24px,3vw,36px); display: flex; align-items: center; justify-content: flex-start; }
.case-snapshot { width: 100%; max-width: 460px; margin: auto; color: #eee; }
.snapshot-scale { display: flex; align-items: center; gap: 18px; margin-bottom: 24px; }
.snapshot-scale > strong { color: #c5a9ef; font-size: 3.5rem; font-weight: 700; letter-spacing: -.05em; line-height: 1; }
.snapshot-scale > span { color: #d1cbd6; font-size: .875rem; line-height: 1.5; }
.snapshot-flow { display: grid; gap: 14px; list-style: none; padding: 0; margin: 0; }
.snapshot-flow li { display: flex; align-items: center; gap: 14px; position: relative; background: #232126; border: 1px solid #514759; border-radius: 10px; padding: 15px; font-size: .9375rem; line-height: 1.45; }
.snapshot-flow li:not(:last-child)::after { content: ''; position: absolute; height: 15px; width: 1px; background: #8b749e; left: 29px; top: 100%; }
.snapshot-number { color: #c5a9ef; font-size: .75rem; font-weight: 700; flex: 0 0 20px; }
.workshop-days > div { border-left: 2px solid #ac8dca; padding: 0 0 0 16px; }
.day-label { display: block; color: #c5a9ef; font-size: .6875rem; font-weight: 700; letter-spacing: .1em; margin-bottom: 4px; }
.workshop-days strong { display: block; font-size: 1.125rem; font-weight: 700; line-height: 1.4; }
.workshop-days div > span:last-child { color: #c2bcc7; font-size: .8125rem; line-height: 1.5; }
.day-connector { display: block; color: #b59acb; margin: 6px 0 6px 16px; line-height: 1; }
.home-page .projects .snapshot-result { border-top: 1px solid #56505b; padding-top: 16px; margin: 20px 0 0; color: #d7c8e4; font-size: .8125rem; line-height: 1.5; }
.snapshot-result span { padding: 0 6px; }
@media(max-width:600px) { .home-page .projects .case-diagram { padding: 24px; min-height: 0; } .snapshot-scale > strong { font-size: 3rem; } .snapshot-flow li { padding: 12px; font-size: .875rem; } .snapshot-flow li:not(:last-child)::after { left: 26px; } }
