/* Exposição Memória em movimento · usa base.css */
.ex{background:var(--mesa)}
.ex-abertura{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(28px,4vw,72px);align-items:center;max-width:1440px;margin:0 auto;padding:clamp(28px,4vw,56px) var(--lateral) clamp(40px,5vw,72px);min-height:calc(100svh - var(--topo));isolation:isolate;position:relative}
.ex-abertura::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 42% 58% at 74% 48%,rgba(201,164,106,.20),transparent 72%);pointer-events:none}
.ex-titulo{font-family:var(--serif);font-weight:400;font-size:clamp(56px,8vw,128px);line-height:.9;letter-spacing:-.03em;margin-top:18px}
.ex-titulo em{display:block;font-style:italic;color:var(--acento-claro)}
.ex-deck{font-family:var(--serif);font-size:clamp(24px,2.4vw,36px);line-height:1.15;margin-top:22px}
.ex-abertura .intro{margin-top:16px}
.ex-acoes{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}

.ex-peca{margin:0;transform:rotate(var(--giro,0deg))}
.ex-papel{display:grid;place-items:center;padding:12px;width:100%;text-decoration:none;cursor:zoom-in;transition:box-shadow .2s}
a.ex-papel{cursor:pointer}
.ex-papel img{display:block;width:auto;height:auto;max-width:100%;max-height:min(64vh,620px)}
.ex-papel:hover{box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 4px 10px rgba(0,0,0,.5),0 26px 56px rgba(0,0,0,.55)}
.ex-peca figcaption{font-size:12.5px;line-height:1.45;color:var(--luz-3);margin-top:12px;max-width:52ch}
.ex-peca-hero .ex-papel img{max-height:min(68vh,700px)}

/* Linha do tempo */
.ex-tempo{padding:56px var(--lateral) 64px;border-top:1px solid var(--fio);border-bottom:1px solid var(--fio);background:var(--sala)}
.ex-tempo-titulo{max-width:1440px;margin:0 auto;font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.8vw,40px)}
.ex-tempo-titulo span{display:block;font-family:var(--sans);font-size:13px;color:var(--luz-3);margin-top:6px}
.ex-linha{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:0;max-width:1440px;margin:30px auto 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--fio-forte) transparent;padding-bottom:6px}
.ex-linha li{position:relative;padding:26px 18px 0 0;border-top:1px solid var(--fio-forte)}
.ex-linha li::before{content:'';position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--acento-claro)}
.ex-linha strong{display:block;font-family:var(--serif);font-weight:400;font-size:34px;line-height:1;font-variant-numeric:tabular-nums}
.ex-linha span{display:block;font-size:14px;font-weight:700;margin-top:12px}
.ex-linha p{font-size:13px;line-height:1.55;color:var(--luz-2);margin-top:8px}
.ex-linha a{display:inline-block;font-size:13px;color:var(--luz-texto);margin-top:10px;padding:4px 0}

/* Capítulos */
.ex-cap{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,4vw,72px);align-items:center;max-width:1440px;margin:0 auto;padding:clamp(70px,8vw,120px) var(--lateral)}
.ex-cap + .ex-cap{border-top:1px solid var(--fio)}
.ex-num{position:absolute;top:clamp(24px,3vw,44px);left:var(--lateral);font-family:var(--serif);font-style:italic;font-size:clamp(64px,7vw,112px);line-height:.8;color:rgba(244,236,224,.07);pointer-events:none}
.ex-cap-paris .ex-num{left:auto;right:var(--lateral)}
.ex-cap{padding-top:clamp(110px,11vw,170px)!important}
.ex-cap-texto h2{font-family:var(--serif);font-weight:400;font-size:clamp(38px,4.4vw,68px);line-height:1;letter-spacing:-.015em;margin-top:12px;text-wrap:balance}
.ex-cap-texto h3{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3vw,44px);line-height:1.02;margin-top:10px}
.ex-cap-texto>p:not(.sobretitulo){font-size:16.5px;line-height:1.65;color:var(--luz-2);margin-top:16px;max-width:56ch}
.ex-cap-texto a{color:var(--luz-texto)}
.ex-citacao{margin-top:28px;padding-top:20px;border-top:1px solid var(--fio)}
.ex-citacao p{font-family:var(--serif);font-style:italic;font-size:clamp(24px,2.3vw,34px);line-height:1.2;text-wrap:balance}
.ex-citacao footer{font-size:12.5px;letter-spacing:.03em;color:var(--luz-3);margin-top:10px}
.ex-nota{font-size:14px!important}
.ex-grande{font-size:clamp(48px,6vw,96px)!important;font-style:italic}
.ex-assina{font-size:13px!important;letter-spacing:.05em;text-transform:uppercase;color:var(--luz-3)!important}
.ex-links{display:flex;gap:20px;font-size:14px}
.ex-par{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.4vw,36px);align-items:start}
.ex-par .ex-peca:nth-child(2){margin-top:clamp(30px,5vw,80px)}
.ex-cap-paris{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}

.ex-cap-papel{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);row-gap:clamp(40px,6vw,90px)}
.ex-folheto{display:grid;gap:14px;justify-items:center}
.ex-folheto-papel{padding:16px 16px 12px;width:100%;transform:rotate(var(--giro,0deg))}
.ex-quadros{display:grid;place-items:center;background:var(--papel-2)}
.ex-quadros img{grid-area:1/1;width:auto;height:auto;max-width:100%;max-height:min(58vh,540px);opacity:0;transition:opacity .45s ease}
.ex-quadros img.ativo{opacity:1}
.ex-folheto-legenda{display:flex;justify-content:space-between;gap:12px;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--tinta-2);margin-top:10px}
.ex-folheto-ctrl{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.ex-folheto-ctrl button{font-size:13px;padding:7px 14px;border-radius:999px;border:1px solid var(--fio-forte);color:var(--luz-2);min-height:36px}
.ex-folheto-ctrl button[aria-pressed=true]{background:var(--luz-texto);color:var(--tinta);border-color:var(--luz-texto)}
.ex-folheto-ctrl #quadro-play{border-color:var(--acento);color:var(--luz-texto)}
.ex-folheto-ctrl #quadro-play[aria-pressed=true]{background:var(--acento);color:#fff}
.ex-peca-larga .ex-papel img{max-height:min(52vh,480px)}

/* Mesa de luz */
.ex-luz{padding:clamp(70px,8vw,110px) var(--lateral);border-top:1px solid var(--fio);background:var(--sala);isolation:isolate;position:relative}
.ex-luz::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 60% 50% at 50% 55%,rgba(244,236,224,.07),transparent 75%);pointer-events:none}
.ex-luz-acoes{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:34px}
.ex-luz-mesa{columns:5 210px;column-gap:18px;max-width:1360px;margin:0 auto}
.ex-luz-item{display:block;width:100%;break-inside:avoid;margin:0 0 18px;padding:7px 7px 10px;text-align:left;cursor:zoom-in;transform:rotate(var(--giro,0deg));transition:transform .2s var(--entrada)}
.ex-luz-item:hover,.ex-luz-item:focus-visible{transform:rotate(0) translateY(-3px)}
.ex-luz-item img{display:block;width:100%;height:auto;background:var(--papel-2)}
.ex-luz-item strong{display:block;font-family:var(--serif);font-weight:400;font-size:16px;line-height:1.15;margin-top:8px}
.ex-luz-item span{display:block;font-size:11.5px;color:var(--tinta-2);margin-top:3px}

/* Fecho */
.ex-fecho{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(28px,4vw,72px);max-width:1440px;margin:0 auto;padding:clamp(60px,7vw,100px) var(--lateral)}
.ex-fecho h2{grid-column:1/-1;font-family:var(--serif);font-weight:400;font-size:clamp(32px,3.4vw,52px);line-height:1}
.ex-portas{border-top:1px solid var(--fio-forte)}
.ex-portas a{display:grid;gap:2px;padding:16px 0;border-bottom:1px solid var(--fio);text-decoration:none}
.ex-portas strong{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.1}
.ex-portas span{font-size:14px;color:var(--luz-2)}
.ex-portas a:hover strong{text-decoration:underline;text-underline-offset:5px}
.ex-baixar h3{font-size:12px;letter-spacing:.09em;text-transform:uppercase;font-weight:400;color:var(--luz-2);padding-bottom:12px;border-bottom:1px solid var(--fio-forte)}
.ex-baixar li{padding:12px 0;border-bottom:1px solid var(--fio);font-size:14.5px}
.ex-baixar a{color:var(--luz-texto)}

/* Visor (imagem ampliada) */
.ex-visor{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#0d0b09;color:var(--luz-texto)}
.ex-visor::backdrop{background:rgba(0,0,0,.8)}
.ex-visor[open]{display:flex;flex-direction:column}
.ex-visor-topo{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px var(--lateral);border-bottom:1px solid var(--fio)}
.ex-visor-topo p{font-size:13px;color:var(--luz-2);font-variant-numeric:tabular-nums}
.ex-visor-topo div{display:flex;gap:8px}
.ex-visor-topo button,.ex-visor-passos button{font-size:13px;padding:7px 14px;border-radius:999px;border:1px solid var(--fio-forte);min-height:36px}
.ex-visor-topo button[aria-pressed=true]{background:var(--luz-texto);color:var(--tinta)}
.ex-visor-corpo{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 360px}
.ex-visor-img{overflow:auto;display:grid;place-items:center;padding:20px}
.ex-visor-img img{max-width:100%;max-height:calc(100vh - 120px);width:auto;height:auto}
.ex-visor-img.zoom{place-items:start}
.ex-visor-img.zoom img{max-width:none;max-height:none}
.ex-visor-info{overflow:auto;padding:24px;border-left:1px solid var(--fio)}
.ex-visor-info h2{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.08;margin-top:10px}
.ex-visor-info p{font-size:14.5px;line-height:1.6;color:var(--luz-2);margin-top:12px}
.ex-visor-credito{font-size:13px!important;color:var(--luz-3)!important}
.ex-visor-passos{display:flex;gap:8px;margin-top:20px}

/* Revelação ao rolar (só com JavaScript e sem preferência por menos movimento) */
.revelar .ex-peca,.revelar .ex-folheto{opacity:0;transform:translateY(22px) rotate(0)}
.revelar .ex-peca.visivel,.revelar .ex-folheto.visivel{opacity:1;transform:rotate(var(--giro,0deg));transition:opacity .6s var(--entrada),transform .8s var(--entrada)}

@media (max-width:1060px){
  .ex-abertura{grid-template-columns:1fr;min-height:0}
  .ex-cap,.ex-cap-papel,.ex-cap-paris,.ex-fecho{grid-template-columns:1fr}
  .ex-cap-paris .ex-peca-retrato{order:2}
  .ex-visor-corpo{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}
  .ex-visor-info{border-left:0;border-top:1px solid var(--fio);max-height:38vh}
}
@media (max-width:760px){
  .ex-linha{grid-template-columns:repeat(7,200px)}
  .ex-par{grid-template-columns:1fr}
  .ex-par .ex-peca:nth-child(2){margin-top:0}
  .ex-num{font-size:84px}
  .ex-luz-mesa{columns:2 140px;column-gap:12px}
  .ex-papel img{max-height:56vh}
}
