/* Shared public pages — safe image rules (brand mark must not inherit figure width) */
.brandline { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.75rem; }
.brand-mark {
  width: 28px !important;
  height: 28px !important;
  max-width: 28px !important;
  max-height: 28px !important;
  flex: 0 0 28px;
  object-fit: contain;
}
.brand-name {
  font-family: "IBM Plex Serif", Georgia, serif;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-style: italic;
  color: #8f3a12;
}

figure img,
.slide-figure img,
.slide img.figure-img {
  display: block;
  width: 100%;
  height: auto;
  max-height: min(40vh, 400px);
  object-fit: contain;
  margin: 0 auto;
}

.patent-banner {
  font-size: 0.72rem;
  line-height: 1.38;
  color: #5a6a7c;
  background: #f5f0ea;
  border: 1px solid #e8ddd0;
  padding: 0.4rem 0.55rem;
  margin-bottom: 0.4rem;
  border-radius: 4px;
}

@media (prefers-color-scheme: dark) {
  .brand-name { color: #e08a5a; }
  .patent-banner { background: #1a1510; border-color: #3a2f22; color: #98a2b3; }
}
