/* Supporting text gets a modest lift; display typography keeps its original character. */
:root { --muted: #665f5b; }
.subline { font-size: 11px; color: #625c57; }
.top-actions { font-size: 13px; }
.toolbar, .formula-bar { font-size: 12px; }
.document-label, .font-label { font-size: 11px; }
.font-label { color: #605953; }
#sheet-tabs button { font-size: 12px; font-weight: 600; padding-inline: 17px; }
#sheet-tabs button .tab-num { font-size: 10px; color: #70675f; }
.sheet-title p, .intro-bottom, .chapter-source p { font-size: 13px; line-height: 1.6; }
.sheet-kicker, .hero-art .art-label, .hero-art .coordinates,
.preview-cell .preview-caption, .project-name small,
.project-result small, .project-modal-copy .project-client,
.metric span, .deck-stats span, .deck-meta, .deck-end > p,
.playbook-live-meta, .conversation-top, .conversation-receipt,
.read-receipt, .testimonials cite, .contact-options small,
.universe-board-footer, .universe-board-footer button,
.universe-definition > span, .index-link small, .search-result small {
  font-size: 12px; line-height: 1.5;
}
.project-name small, .project-result small, .metric span,
.deck-stats span, .chapter-source p, .contact-options small,
.testimonials cite, .search-result small { color: #695d58; }
.work-tools, .work-tools select, .view-switch button { font-size: 12px; }
.work-tools .result-count { color: #655b54; }
.work-table-head { font-size: 11px; color: #5d554e; }
.project-thought { font-size: 15px; line-height: 1.5; }
.hero p, .team-model p, .deck-case-copy p { font-size: 16px; line-height: 1.55; }
.role-list span, .deck-team-model .role-list span { font-size: 12px; }
.chapter-pages button, .chapter-pages small { font-size: 12px; line-height: 1.5; }
.project-top, .dialog-heading { font-size: 12px; line-height: 1.5; }
.project-top { align-items: center; gap: 16px; }
.project-top button, .dialog-heading button { min-width: 32px; min-height: 32px; }
.project-modal-footer, .project-modal-footer > span,
.project-modal-footer a, .media-caption, .play-film { font-size: 12px; line-height: 1.5; }
.play-film { font-weight: 600; }
/* Bound replaced media to a real frame, avoiding its intrinsic grid minimum height. */
.project-modal-media { display: block; width: 100%; aspect-ratio: 16 / 9; min-height: 0; }
.project-modal-media video, .project-modal-media iframe {
  position: absolute; inset: 0; display: block;
  width: 100%; height: 100%; min-width: 0; min-height: 0;
  max-width: 100%; max-height: 100%; object-fit: contain; object-position: 50% 50%;
}
@media (max-width: 760px) {
  #sheet-tabs button { padding-inline: 14px; }
  .sheet-title p { max-width: 100%; }
  .project-modal-copy p { font-size: 16px; }
  .project-modal-footer { flex-wrap: wrap; }
  .project-modal-footer > span { max-width: none; }
  .media-caption { left: 10px; bottom: 10px; font-size: 10px; padding: 5px 7px; }
  .play-film { right: 10px; bottom: 10px; font-size: 11px; padding: 10px; }
  .playbook-live-meta { flex-wrap: wrap; gap: 10px 18px; }
  .deck-meta { flex-wrap: wrap; }
}
@media (max-width: 400px) {
  .project-modal-media:has(.play-film) .media-caption { top: 10px; bottom: auto; }
}

/* Preserve the complete campaign frame in every preview; never zoom into faces. */
.preview-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.preview-cell { min-width: 0; }
.preview-cell video { aspect-ratio: 16 / 9; object-fit: contain; object-position: center; background: var(--ink); }
.preview-cell:hover video { transform: none; }
.preview-cell .preview-caption { gap: 12px; flex-wrap: wrap; }
.project-image video, .deck-results-media video { object-fit: contain; object-position: center; }
.intro-summary { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
.intro-note, .mini-nav, .mini-nav button { min-width: 0; }
.intro-note { flex-wrap: wrap; }
.intro-bottom { flex-wrap: wrap; }
@media (max-width: 760px) {
  .preview-strip, .intro-summary { grid-template-columns: minmax(0, 1fr); }
  .deck-work-opener .preview-cell video { aspect-ratio: 16 / 9; }
}
