.mostra {
  --mostra-ink: var(--text, #2d231d);
  --mostra-brown: var(--accent, #7b3f22);
  --mostra-line: var(--line, #e7dccb);
  --mostra-muted: #61584d;
  font-family: system-ui, 'Segoe UI', sans-serif;
  color: var(--mostra-ink);
  background: var(--paper, #fffdf8);
  line-height: 1.6;
}
.mostra * { box-sizing: border-box; }
.mostra-wrap { width: min(1120px, 100% - 2 * clamp(16px, 5vw, 58px)); margin-inline: auto; }
.mostra-hero { background: #f2e8d9; padding-block: clamp(42px, 6vw, 90px) 38px; }
.mostra-hero-grid { display: grid; grid-template-columns: 1fr 1.1fr; align-items: center; gap: clamp(24px, 5vw, 68px); }
.mostra h1, .mostra h2 { font-family: Georgia, serif; font-weight: 400; text-wrap: balance; }
.mostra h1 { font-size: clamp(2.8rem, 6vw, 5.7rem); line-height: .99; letter-spacing: -.055em; margin: .3em 0; }
.mostra h1 em { color: var(--mostra-brown); display: inline-block; }
.mostra h2 { font-size: clamp(2rem, 3.4vw, 3.3rem); line-height: 1.06; letter-spacing: -.04em; margin: .15em 0 .45em; }
.mostra p { margin-block: 0 1rem; }
.mostra .mostra-eyebrow { font-size: .81rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; color: var(--mostra-brown); }
.mostra .mostra-lead { font-size: clamp(1.12rem, 2vw, 1.34rem); max-width: 32ch; }
.mostra .mostra-location { border-left: 2px solid #a67d44; padding-left: 1rem; margin: 1.6rem 0 0; }
.mostra figure { margin: 0; min-width: 0; }
.mostra figcaption { font-size: .86rem; color: var(--mostra-muted); margin-top: .65rem; }
.mostra img, .mostra video { display: block; max-width: 100%; width: 100%; height: auto; border-radius: 4px; }
.mostra-hero-photo img { aspect-ratio: 4 / 3; object-fit: cover; }
.mostra-index { display: flex; flex-wrap: wrap; column-gap: 1.7rem; row-gap: .75rem; padding-block: 1.35rem; border-bottom: 1px solid var(--mostra-line); }
.mostra-index a { font-weight: 650; color: var(--mostra-brown); text-underline-offset: .2em; }
.mostra-object, .mostra-mills, .mostra-book { padding-block: clamp(38px, 6vw, 78px); }
.mostra-object, .mostra-mills { border-bottom: 1px solid var(--mostra-line); }
.mostra-object { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(24px, 5vw, 78px); align-items: center; }
.mostra-label p { max-width: 46ch; }
.mostra .mostra-credit { font-size: .92rem; color: var(--mostra-brown); margin-top: 1.2rem; margin-bottom: 0; }
.mostra-video video { background: #26231e; }
.mostra [id] { scroll-margin-top: 120px; }
.mostra-mills { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 4vw, 54px); }
.mostra-mill { display: grid; align-content: space-between; gap: 1.35rem; min-width: 0; }
.mostra-portrait { width: min(100%, 320px); justify-self: start; }
.mostra-book header p { max-width: 65ch; }
.mostra-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.2rem; margin-top: 1.6rem; }
.mostra-gallery a { display: block; }
.mostra-gallery img { aspect-ratio: 4 / 3; object-fit: contain; background: #f2e8d9; }
.mostra a:focus-visible, .mostra video:focus-visible { outline: 3px solid #6e451e; outline-offset: 3px; }
@media (max-width: 830px) {
  .mostra-hero-grid, .mostra-object { grid-template-columns: minmax(0, 1fr); }
  .mostra-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 540px) {
  .mostra-mills { grid-template-columns: minmax(0, 1fr); gap: 2.8rem; }
  .mostra-portrait { justify-self: center; }
}

.mostra-archive { padding-bottom: clamp(38px, 6vw, 78px); }
