/* Splash — o cartaz: folhas sobrepostas e desalinhadas, dobras ponteadas, manicules,
   letras distribuídas pela largura da folha. */
.splash {
  position: fixed; inset: 0;
  z-index: 50;
  background: var(--paper-deep);
  display: grid; place-items: center;
  transition: transform .9s var(--ease), opacity .9s var(--ease);
}
.splash.is-leaving { transform: translateY(-104%) rotate(-1.2deg); opacity: .9; }
.splash.is-hidden { display: none; }

.sheet {
  position: absolute;
  inset: clamp(14px, 3.2vmin, 90px);
  background: var(--paper);
  box-shadow: var(--shadow);
}
.sheet--red { background: var(--edge-red); transform: translate(1.1vmin, .5vmin) rotate(.55deg); inset-inline-start: calc(clamp(14px, 3.2vmin, 90px) + 2vmin); }
.sheet--cream { background: var(--edge-cream); transform: translate(-1.3vmin, 1.2vmin) rotate(-.7deg); }
.sheet--grey { background: var(--edge-grey); transform: translate(.4vmin, -1.1vmin) rotate(.25deg); }
.sheet--top {
  display: grid;
  grid-template-rows: auto 1fr auto auto;
  padding: clamp(28px, 5vmin, 150px) clamp(20px, 5vw, 200px) clamp(18px, 3vmin, 90px);
  overflow: hidden;
}
/* grão da folha */
.sheet--top::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .55;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='300'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .4  0 0 0 0 .36  0 0 0 0 .3  0 0 0 .12 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

/* dobras */
.fold { position: absolute; pointer-events: none; }
.fold--v { top: 0; bottom: 0; left: 50%; border-left: 2px dotted var(--ink); opacity: .55; }
.fold--h { left: 0; right: 0; top: 64%; border-top: 2px dotted var(--ink); opacity: .35; }
.fold-label {
  position: absolute; left: 50%;
  font-family: var(--serif); font-variant-caps: all-small-caps; letter-spacing: .12em;
  font-size: var(--s-2); color: var(--ink); white-space: nowrap;
}
.fold-label--a { top: 44%; transform: translateX(-100%) rotate(90deg) translateX(50%); transform-origin: right center; padding: 0 .6em; }
.fold-label--b { top: calc(64% + .5em); transform: translateX(-50%) rotate(180deg); }

.manicule { position: absolute; width: clamp(18px, 1.6vw, 56px); color: var(--ink); }
:root[data-theme="dark"] .manicule, :root[data-theme="dark"] .brand-hand, :root[data-theme="dark"] .splash-enter img { filter: invert(1); }
.manicule--top { top: clamp(10px, 1.6vmin, 40px); left: 50%; transform: translateX(-50%) rotate(90deg); }
.manicule--left { left: clamp(8px, 1vw, 30px); top: 64%; transform: translateY(-50%); }
.manicule--right { right: clamp(8px, 1vw, 30px); top: 64%; transform: translateY(-50%) scaleX(-1); }

.splash-head { text-align: center; position: relative; z-index: 1; }
.splash-program, .splash-exhibition {
  margin: 0;
  font-family: var(--serif);
  font-weight: 600;
  font-size: var(--s0);
  font-variant-caps: all-small-caps;
  letter-spacing: .16em;
  line-height: 1.45;
}

.splash-title { margin: 0; align-self: center; font-weight: 400; position: relative; z-index: 1; }
.spread {
  display: flex; justify-content: space-between;
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(56px, min(13vw, 17vh), 460px);
  line-height: 1.02;
}
.spread span { display: inline-block; min-width: .5ch; text-align: center; }
.spread--sm { font-size: clamp(34px, min(7vw, 8.5vh), 250px); line-height: 1.1; }
.splash-mid { position: relative; z-index: 1; margin-bottom: clamp(10px, 3vh, 90px); }

.splash-foot {
  display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: var(--gap);
  position: relative; z-index: 1;
}
.splash-actions { display: flex; flex-wrap: wrap; gap: var(--gap); align-items: center; }
.splash-enter {
  display: inline-flex; align-items: center; gap: .6em;
  min-height: var(--touch);
  padding: 0 1.2em;
  background: var(--ink); color: var(--paper);
  font-size: var(--s1);
  transition: background-color .3s;
}
.splash-enter img { width: 1.6em; filter: invert(1); }
:root[data-theme="dark"] .splash-enter img { filter: none; }
.splash-enter:hover, .splash-enter:focus-visible { background: var(--accent); }
.splash-about {
  min-height: var(--touch); padding: 0 1em;
  border: 1px solid var(--ink); font-size: var(--s1);
}
.splash-about:hover { color: var(--accent); border-color: var(--accent); }
.splash-venue {
  margin: 0; text-align: right;
  font-family: var(--serif); font-weight: 600; font-size: var(--s-1);
  font-variant-caps: all-small-caps; letter-spacing: .14em; line-height: 1.5;
}

@media (max-width: 720px) {
  .splash-mid { display: none; }
  .fold--h, .fold-label, .manicule--left, .manicule--right { display: none; }
  .splash-venue { text-align: left; }
}

/* ─────────── sobre ─────────── */
.about {
  position: fixed; inset: 0; z-index: 60;
  display: grid; place-items: center;
  background: color-mix(in srgb, var(--paper-deep) 70%, transparent);
  backdrop-filter: blur(3px);
  opacity: 0; pointer-events: none;
  transition: opacity .4s var(--ease);
}
.about.is-open { opacity: 1; pointer-events: auto; }
.about-sheet {
  position: relative;
  width: min(92vw, 62em);
  max-height: 88vh; overflow: auto;
  padding: clamp(28px, 4vw, 110px);
  background: var(--paper);
  box-shadow: 1.2vmin 1.2vmin 0 var(--edge-cream), 2vmin 1.8vmin 0 var(--edge-red), var(--shadow);
  border-left: 2px dotted var(--rule);
}
.about-sheet .manicule { position: static; width: clamp(22px, 1.8vw, 60px); margin-bottom: 1em; }
.about-close { position: absolute; top: 1em; right: 1em; min-height: var(--touch); padding: 0 .8em; font-size: var(--s-1); }
.about-close:hover { color: var(--accent); }
.about-kicker { margin: 0; font-family: var(--serif); font-variant-caps: all-small-caps; letter-spacing: .16em; font-size: var(--s0); font-weight: 600; }
.about-title { margin: .2em 0 .9em; font-family: var(--serif); font-weight: 400; font-size: var(--s3); text-transform: uppercase; letter-spacing: .12em; line-height: 1.1; }
.about .section-label { margin-top: 2em; }
.about-credits { margin-top: 2.5em; font-family: var(--serif); font-size: var(--s0); color: var(--muted); }
/* ficha técnica curta + ligação para creditos.html */
.about-imprint { margin: 0; display: grid; gap: .6em; }
.about-imprint div { display: grid; grid-template-columns: minmax(8em, 24%) 1fr; gap: 1em; align-items: baseline; }
.about-imprint dt { font-family: var(--mono); font-size: var(--s-2); color: var(--muted); text-transform: lowercase; }
.about-imprint dd { margin: 0; font-family: var(--serif); font-size: var(--s1); line-height: 1.35; }
.about-more { margin: 1.6em 0 0; }
.about-link {
  display: inline-flex; align-items: center; gap: .45em;
  min-height: var(--touch); padding: 0 1em;
  font-family: var(--mono); font-size: var(--s-1); text-transform: lowercase;
  color: var(--ink); text-decoration: none;
  border: 1px solid var(--ink); box-shadow: .25em .25em 0 var(--edge-cream);
}
.about-link:hover, .about-link:focus-visible { color: var(--accent); border-color: var(--accent); }
@media (max-width: 720px) {
  .about-imprint div { grid-template-columns: 1fr; gap: .1em; }
}
