.coffee-figure{margin:0;min-width:0}.coffee-original{display:block;overflow:hidden;cursor:zoom-in}.coffee-figure img{display:block;width:100%;height:auto}.coffee-figure figcaption{margin-top:12px}.coffee-art .coffee-original{--cut:18px;clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}.coffee-intro{margin-top:40px}.coffee-row{display:grid;gap:24px;margin-top:32px;align-items:start}.coffee-row.cols-1{grid-template-columns:minmax(0,1fr)}.coffee-row.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.coffee-row.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.coffee-row.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.coffee-principles{display:flex;gap:24px;flex-wrap:wrap;margin-top:32px}.coffee-principles span{border-top:1px solid var(--line);padding-top:12px}.coffee-audiences{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:32px}.coffee-audiences article{border-top:1px solid var(--line);padding-top:20px}.coffee-audiences p{font-size:18px;line-height:1.5;margin-top:12px}.coffee-context{display:grid;grid-template-columns:46fr 54fr;gap:24px;margin-top:32px;align-items:start}.coffee-context-stack{display:grid;gap:24px}.coffee-outcome{border-top:1px solid var(--line);padding-top:32px;margin-top:48px}.coffee-case .software{max-width:100%;overflow-wrap:anywhere}.coffee-case .coffee-title{font-size:clamp(64px,8vw,112px);font-weight:500}
@media(max-width:800px){.coffee-row,.coffee-context,.coffee-audiences{grid-template-columns:minmax(0,1fr)!important}.coffee-row.mobile-pair{grid-template-columns:repeat(2,minmax(0,1fr))!important}.coffee-row,.coffee-context{gap:32px}.coffee-principles{font-size:10px;gap:16px}.coffee-audiences p{font-size:16px}.coffee-figure figcaption{font-size:9px}.coffee-case .coffee-title{font-size:48px;line-height:1.02}.coffee-art .coffee-original{--cut:12px}}
.mobile .coffee-row,.mobile .coffee-context,.mobile .coffee-audiences{grid-template-columns:minmax(0,1fr)!important}.mobile .coffee-row.mobile-pair{grid-template-columns:repeat(2,minmax(0,1fr))!important}.mobile .coffee-principles{font-size:10px;gap:16px}.mobile .coffee-audiences p{font-size:16px}.mobile .coffee-case .coffee-title,.mobile.coffee-case .coffee-title{font-size:44px;line-height:48px}.mobile .coffee-figure figcaption{font-size:9px}

/* Shared editorial case layout */
.editorial-intro{margin-top:40px}.editorial-figure{margin:0;min-width:0}.editorial-opening-portrait{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center;max-width:1100px;margin:auto}.editorial-opening-portrait figure{max-width:500px}.editorial-opening-portrait .prose{font-size:24px}.editorial-figure img{width:100%;height:auto;display:block}.editorial-figure figcaption{margin-top:12px}.mobile .editorial-opening-portrait{grid-template-columns:1fr;gap:32px}.mobile .editorial-opening-portrait .prose{font-size:16px}@media(max-width:800px){.editorial-opening-portrait{grid-template-columns:1fr;gap:32px}.editorial-opening-portrait .prose{font-size:16px}}

.editorial-card-copy{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.editorial-card-copy h3{margin:12px 0;font-size:28px}.editorial-card-copy p{font-size:17px;line-height:1.6}.editorial-film{margin:32px 0 0}.editorial-film iframe{border:0;display:block;width:100%;aspect-ratio:16/9;background:#191919}.editorial-film figcaption{margin-top:12px}

.verte-case > h1{letter-spacing:.08em}

.editorial-film video{display:block;width:100%;aspect-ratio:16/9;background:#191919;object-fit:contain}

.editorial-diagram .mobile-diagram{display:none}.mobile .editorial-diagram .desktop-diagram{display:none}.mobile .editorial-diagram .mobile-diagram{display:block}@media(max-width:800px){.editorial-diagram .desktop-diagram{display:none}.editorial-diagram .mobile-diagram{display:block}}

/* Give standalone actions their own space, including their hover border. */
.editorial-section-link{margin-top:24px}
.editorial-archive-link{margin-top:32px}
.editorial-film>.text-link,.editorial-section-link>.text-link,.editorial-archive-link>.text-link{display:flex;width:fit-content;max-width:100%;margin:0;padding:12px 16px;min-height:44px;line-height:1.6;justify-content:flex-start;text-align:left;transform-origin:left center}
.editorial-film>.text-link{margin-top:24px}
.ultra-case .fact p{white-space:pre-line}
.editorial-top-archive{margin:0 0 32px}
.editorial-media-only>.editorial-film{margin-top:0}
.editorial-project-status{margin-bottom:24px}
