/* Editorial layout shared by the four November case drafts. */
body.case-new-projects { background: var(--paper, #f8f6ef); background-image: none; }
body.case-new-projects::before, body.case-new-projects::after { display: none; }
body.case-new-projects .case-hero { padding-top: 20px; }
body.case-new-projects .case-client-logo { position: static; width: auto; max-width: 170px; height: 48px; object-fit: contain; object-position: left center; margin-bottom: 8px; }
body.case-new-projects .case-hero__body { min-width: 0; }
.case-chapter { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 4vw, 56px); align-items: center; }
.case-chapter--reverse .case-chapter__copy { order: 2; }
.case-chapter--text { display: block; }
.case-chapter--text .case-chapter__copy { max-width: 760px; }
.case-chapter__number { display: block; font: 12px/1.5 var(--font-mono, monospace); color: var(--accent); margin-bottom: 9px; }
.case-chapter h2, .case-film h2 { font: 400 clamp(1.6rem, 2.4vw, 2.15rem)/1.15 var(--font-display, Georgia, serif); margin: 0 0 14px; }
.case-chapter p, .case-film p { font-size: 1rem; line-height: 1.65; margin: 0; }
.case-chapter figure { margin: 0; min-width: 0; }
.case-chapter figure img { display: block; width: 100%; height: auto; max-height: 340px; object-fit: contain; }
.case-chapter figcaption { font-size: .75rem; line-height: 1.5; margin-top: 10px; color: var(--ink-soft, #64645d); }
.case-film { display: grid; grid-template-columns: .7fr 1.3fr; align-items: center; gap: clamp(24px, 4vw, 48px); }
.case-film__play { display: block; padding: 0; border: 0; background: #101214; cursor: pointer; position: relative; overflow: hidden; width: 100%; aspect-ratio: 16/9; border-radius: 4px; }
.case-film__play img { display: block; width: 100%; height: 100%; object-fit: contain; }
.case-film__play span { position: absolute; bottom: 16px; left: 16px; background: #faf8f1; color: #17191a; padding: 13px 18px; border-radius: 40px; font: 500 13px/1.3 var(--font-sans, sans-serif); }
.case-film__play:focus-visible { outline: 3px solid var(--accent, #ff4a16); outline-offset: 4px; }
.case-service-tags { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.case-service-tags li { padding: 8px 12px; border: 1px solid var(--line, #d4d3c9); border-radius: 24px; font-size: .8rem; }
@media (max-width: 700px) {
 .case-chapter, .case-film { grid-template-columns: 1fr; gap: 18px; }
 .case-chapter--reverse .case-chapter__copy { order: 0; }
 .case-chapter figure img { max-height: 300px; }
 .case-film__play span { bottom: 10px; left: 10px; padding: 10px 14px; font-size: 12px; }
 body.case-new-projects .case-client-logo { max-width: 140px; height: 38px; }
 .case-chapter p, .case-film p { font-size: .95rem; }
}
