/* Entry page: built only from the home page's own parts (project frame + info bar, about type, list blocks, cards, big link) */
.case-page .rail { opacity: 1; }
.menu--top { top: 13px; }
.case_hero { position: relative; height: 100vh; min-height: 520px; }
.case_hero .ph { position: absolute; inset: 0; }
.case_hero .ph::after { top: 4.2vw; bottom: auto; left: var(--pad); }
.case_hero .project_info { position: absolute; }
.case_hero .project_info .scr { display: block; }
.case_body { padding: 12vw var(--pad) 0; }
.case_line { font-size: var(--fs-h2); line-height: 1.06; letter-spacing: -0.02em; font-weight: 400; max-width: 92vw; margin-bottom: 9vw; }
.case_row { display: flex; font-size: var(--fs-body); line-height: 1.32; margin-bottom: 7vw; }
.case_row .about_label { flex: none; }
.case_text { width: 26.6vw; }
.case_text p + p { margin-top: 1.1em; }
.case_stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.5vw; width: calc(100% - var(--c7) + var(--pad)); }
.stat_v { font-size: var(--fs-big); line-height: 1.06; letter-spacing: -0.02em; }
.stat_l { margin-top: .8vw; }
.case_note { margin-top: 2vw; }
.case_list { width: 50vw; margin: 0 auto 7vw; }
.case_events .ev { display: grid; grid-template-columns: 8vw 1fr 12vw; gap: 2.5vw; padding: 1.1vw 0; border-top: 1px solid #222; }
.case_events .ev:last-child { border-bottom: 1px solid #222; }
.case_events .ev .ev_case { grid-column: 2 / 4; color: #fff; text-transform: none; font-size: var(--fs-body); line-height: 1.32; margin-top: .5vw; }
.case_events { width: calc(100% - var(--c5) + var(--pad)); }
.case_photos { margin-top: 2vw; }
.case_carry { font-size: var(--fs-h2); line-height: 1.06; letter-spacing: -0.02em; margin: 6vw 0 10vw calc(var(--c5) - var(--pad)); width: 61.5vw; }
.case_next { display: flex; align-items: flex-end; justify-content: space-between; padding: 0 0 2vw; border-top: 1px solid #222; padding-top: 2vw; margin-top: 6vw; }
.case_next .all_link { font-size: var(--fs-big); }
.case_foot { padding: 6vw var(--pad) 1.4vw; }
.case_foot .footer_bar { padding: 0; }

@media (max-width: 767px) {
  .case_hero .project_info { position: absolute; left: var(--pad); right: var(--pad); bottom: 7vw; padding: 0; display: grid; grid-template-columns: 1fr; row-gap: 3vw; mix-blend-mode: difference; }
  .case_hero .pi--services, .case_hero .pi--awards { border: 0; padding-top: 0; }
  .case_hero .pi--site { grid-column: 1; grid-row: auto; justify-self: start; }
  .case_body { padding-top: 18vw; }
  .case_line, .case_carry { font-size: 8.9vw; margin-left: 0; width: auto; }
  .case_row { flex-direction: column; font-size: var(--fs-body); }
  .case_row .about_label { margin-bottom: 4vw; }
  .case_text, .case_stats, .case_events { width: auto; }
  .case_stats { grid-template-columns: 1fr 1fr; gap: 6vw; }
  .stat_v { font-size: 9.2vw; }
  .case_list { width: auto; }
  .case_events .ev { grid-template-columns: 1fr; gap: 1vw; padding: 4vw 0; }
  .case_events .ev .ev_case { grid-column: 1; }
  .case_next { flex-direction: column; align-items: flex-start; gap: 4vw; }
  .case_next .all_link { font-size: 9.2vw; }
  .case_foot .footer_bar { flex-direction: column; align-items: flex-start; gap: 2vw; }
  .case_foot .footer_role { position: static; transform: none; }
}
