/* Copertina fotografica. Il resto della pagina conserva la sua griglia editoriale. */
.cover {
  --cover-ink: #faf9f2;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 640px;
  min-height: max(640px, 100svh);
  isolation: isolate;
  background: #183a39;
  color: var(--cover-ink);
}
.cover-photo {
  position: absolute;
  z-index: -2;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: 64% 42%;
}
.cover::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgb(8 26 27 / 42%) 0%, transparent 25%, transparent 45%, rgb(7 23 23 / 83%) 100%);
}
.cover-header {
  display: flex;
  margin: 0 auto;
  align-items: flex-start;
  justify-content: space-between;
  padding-top: 18px;
  position: relative;
  z-index: 2;
}
.cover-film-link,
.cover-menu summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 14px;
  line-height: 1.4;
  text-decoration: none;
  cursor: pointer;
}
.cover-film-link span { font-size: 23px; }
.cover-film-link:hover { text-decoration: underline; }
.cover-menu { position: relative; }
.cover-menu summary { list-style: none; justify-content: flex-end; }
.cover-menu summary::-webkit-details-marker { display: none; }
.cover-menu summary span { font-size: 25px; font-weight: 300; }
.cover-menu[open] summary span { transform: rotate(45deg); }
.cover-menu nav {
  position: absolute;
  right: 0;
  top: 54px;
  width: 215px;
  padding: 12px 20px;
  background: #f4f4f0;
  color: #191a18;
  border-top: 2px solid currentColor;
}
.cover-menu nav a {
  display: flex;
  align-items: center;
  min-height: 48px;
  text-decoration: none;
  font-size: 16px;
}
.cover-menu nav a + a { border-top: 1px solid #d2d3cb; }
.cover-menu nav a:hover { text-decoration: underline; }
.cover-menu summary:focus-visible { outline: 3px solid #f15c35; outline-offset: 6px; }
.cover-content { margin: 0 auto; padding: 120px 0 30px; }
.cover h1 {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(30px, 11vw, 76px);
  font-weight: 400;
  line-height: 1.01;
  letter-spacing: -.065em;
}
.cover h1 span { display: block; }
.cover-caption {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 20px;
  border-top: 1px solid rgb(250 249 242 / 45%);
  margin-top: 22px;
  padding-top: 20px;
}
.cover-caption p { max-width: 36em; font-size: 16px; line-height: 1.55; text-wrap: pretty; }
.cover-break { display: none; }
.cover-scroll {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  height: 44px;
  text-decoration: none;
  font-family: Georgia, serif;
  font-size: 30px;
}
.together { grid-template-columns: .6fr 2.7fr; }
@media (min-width: 621px) {
  .cover { min-height: max(720px, 100svh); }
  .cover-header { padding-top: 26px; }
  .cover-photo { object-position: 60% 40%; }
  .cover-content { padding-bottom: 38px; }
  .cover h1 { font-size: clamp(60px, 9.6vw, 154px); line-height: .98; }
  .cover-caption { margin-top: 28px; padding-top: 24px; }
  .cover-caption p { font-size: clamp(18px, 1.65vw, 24px); }
  .cover-break { display: inline; }
  .cover-scroll { font-size: 38px; }
}
@media (min-width: 1100px) {
  .cover-photo { object-position: center 39%; }
  .cover-content { padding-bottom: 44px; }
  .cover-header { padding-top: 30px; }
}
@media (max-width: 620px) {
  .together { grid-template-columns: 1fr; }
}
.footer-signature img {
  width: 147px;
  height: auto;
  margin: 0;
}

.footer-signature p { font-weight: 700; }

.footer-brand {
  display: flex;
  align-items: center;
  width: fit-content;
  min-height: 44px;
  margin-top: 12px;
}

.curator-intro {
  max-width: 850px;
  color: #c9cac0;
  font-size: 16px;
  line-height: 1.65;
  margin: 0 0 30px;
}

.curator-intro a { display: inline-block; margin-top: 8px; }
.bio-instagram { display: inline-block; min-height: 44px; padding-top: 8px; font-size: 14px; }

.exhibition { grid-template-columns: .45fr 1.5fr 1fr; gap: 32px; }
.exhibition-story h3 { font-size: clamp(30px, 3vw, 44px); line-height: 1.14; letter-spacing: -.035em; margin-bottom: 20px; }
.exhibition-story h3 em { font-family: Georgia, serif; font-weight: 400; }
.exhibition-story p + p { margin-top: 16px; }
.exhibition-visit .exhibition-until { font-size: 14px; margin-bottom: 20px; }
.exhibition-until strong { display: block; font-size: clamp(23px, 2.4vw, 34px); line-height: 1.2; letter-spacing: -.035em; margin-top: 6px; }

@media (max-width: 950px) {
  .exhibition { grid-template-columns: 1.25fr 1fr; }
}

@media (max-width: 620px) {
  .exhibition { grid-template-columns: 1fr; gap: 22px; }
  .exhibition-visit { border-top: 1px solid #b9b9b2; padding-top: 24px; }
  .exhibition-until strong { font-size: 32px; }
  .footer-signature { flex-basis: 100%; }
}

.voice-credit { max-width: 850px; margin: 0 0 32px; padding: 18px 20px; border-left: 2px solid #c9cac0; color: #c9cac0; font-size: 16px; line-height: 1.65; }
.voice-credit strong { display: block; color: #f4f3eb; margin-bottom: 6px; }

.analytics-privacy{padding-top:0;padding-bottom:35px;font-size:11px;color:#5d5d56}.analytics-privacy summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}.analytics-privacy p{max-width:780px}.analytics-privacy button{font:inherit;padding:8px 12px;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer}
