/* V3: o acervo de Daniel ao longo da página, com a mesma cadência da V2. */
.editorial-v3 .image-wrap img{object-position:var(--foco,50% 50%)}
.editorial-v3 nav sup{font-size:10px}

/* Fila de fotos com a mesma altura: a largura acompanha a proporção de cada imagem. */
.fila{display:flex;gap:2.5vw;align-items:flex-start}
.fila>.photo{flex:var(--ar,1) 1 0;min-width:0}
.fila .image-wrap{aspect-ratio:var(--ar,1)}
.fila .photo-meta{flex-direction:column;gap:5px}
.rhythms-strip{margin-top:95px}

.bastidores{padding:110px 4vw 60px}
.bastidores-note{max-width:640px;margin:90px 0 90px auto}

.retratos{grid-column:1/-1;margin:0 0 48px}

/* Acervo: folha de contato leve, filtrável por série. */
.acervo{padding:110px 4vw 90px;border-top:1px solid var(--v2-line);margin:0 4vw;padding-left:0;padding-right:0}
.acervo-filtros{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}
.acervo-filtros button{border:1px solid #55544f;border-radius:50px;padding:10px 18px;font-size:13px;transition:background .3s,color .3s,border-color .3s}
.acervo-filtros button span{color:#93938e;margin-left:8px;font-size:11px;letter-spacing:.04em}
.acervo-filtros button:hover{border-color:#ff6600;color:#ff6600}
.acervo-filtros button[aria-pressed=true]{background:#f4f1ed;color:#0d0d0d;border-color:#f4f1ed}
.acervo-filtros button[aria-pressed=true] span{color:#55544f}
.acervo-status{font-size:12px;letter-spacing:.06em;color:#93938e;margin:0 0 26px}
.acervo-grade{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.acervo-grade li[hidden]{display:none}
.acervo-item{position:relative;display:block;width:100%;aspect-ratio:1;overflow:hidden;background:#181818;padding:0}
.acervo-item:focus-visible{outline-offset:-3px}
.acervo-item img{width:100%;height:100%;object-fit:cover;opacity:.86;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .3s}
.acervo-item:hover img,.acervo-item:focus-visible img{transform:scale(1.05);opacity:1}
.acervo-num{position:absolute;left:9px;bottom:7px;font:600 12px/1 Antonio,Impact,sans-serif;letter-spacing:.08em;color:#f4f1ed;text-shadow:0 1px 6px #000c}

/* Visualização ampliada: tira de miniaturas para seguir pela seleção. */
.editorial-v3 dialog{padding:16px 4vw 12px}
.editorial-v3 .lightbox-top{min-height:48px}
.lb-serie{flex:1;text-align:center;font-size:11px;letter-spacing:.12em;color:#93938e;text-transform:uppercase}
.editorial-v3 #full-photo{margin:10px 0}
.editorial-v3 .lightbox-bottom{min-height:50px}
.filmstrip{flex-shrink:0;display:flex;gap:6px;overflow-x:auto;padding:10px 0 4px;scrollbar-width:thin;scrollbar-color:#55544f transparent}
.filmstrip button{flex:0 0 auto;width:62px;height:62px;padding:0;opacity:.42;border-bottom:3px solid transparent;transition:opacity .25s}
.filmstrip button:hover{opacity:.8}
.filmstrip button:focus-visible{outline-offset:-3px;opacity:1}
.filmstrip button[aria-current]{opacity:1;border-bottom-color:#ff6600}
.filmstrip img{width:100%;height:100%;object-fit:cover}

@media(max-width:760px){
  .editorial-v3 nav>a[href="#selecao"]{display:none}
  .fila{flex-wrap:wrap;gap:34px 16px}
  .fila>.photo{flex:1 1 calc(50% - 8px)}
  .fila .image-wrap{aspect-ratio:4/5}
  .fila-3>.photo:nth-child(3){flex-basis:100%}
  .fila-3>.photo:nth-child(3) .image-wrap{aspect-ratio:3/2}
  .fila .photo-meta{font-size:11px;gap:4px;padding-top:12px}
  .rhythms-strip{margin-top:50px}
  .bastidores{padding:65px 5vw 30px}
  .bastidores-note{margin:50px 0}
  .retratos{margin:0 0 30px}
  .acervo{margin:0 5vw;padding:60px 0 50px}
  .acervo-filtros{gap:8px}
  .acervo-filtros button{padding:9px 14px;font-size:12px}
  .acervo-grade{grid-template-columns:repeat(3,1fr);gap:4px}
  .acervo-num{font-size:11px;left:6px;bottom:5px}
  .editorial-v3 dialog{padding:12px 4vw 10px}
  .lb-serie{font-size:9px;letter-spacing:.08em}
  .filmstrip button{width:50px;height:50px}
}
@media(prefers-reduced-motion:reduce){.acervo-item img,.filmstrip button,.acervo-filtros button{transition:none}}

/* Primeira dobra (revisão de Fabio, 03/11): a foto conduz. O mote fica no lado da
   foto que não tem o assunto (data-lado), troca junto com a imagem, e a próxima foto
   carrega antes da transição. No celular a foto ocupa o alto e o mote vem embaixo. */
.hero-v3 .hero-slides{position:absolute;inset:0;overflow:hidden;background:#0d0d0d}
.hero-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.4s ease}
.hero-slide.is-active{opacity:1;z-index:1}
.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:var(--foco,50% 50%)}
.hero-slide.is-active img{animation:heroZoom 9s ease-out both}
.hero-v3 .hero-shade{z-index:2;background:linear-gradient(180deg,#0000008c,transparent 18%),radial-gradient(ellipse 58% 56% at 0% 100%,#000000b3,transparent 72%),linear-gradient(0deg,#00000066,transparent 22%)}
.hero-v3[data-lado=direita] .hero-shade{background:linear-gradient(180deg,#0000008c,transparent 18%),radial-gradient(ellipse 58% 56% at 100% 100%,#000000b3,transparent 72%),linear-gradient(0deg,#00000066,transparent 22%)}
.hero-copy{position:absolute;z-index:3;left:4vw;bottom:92px;width:min(560px,42vw);transition:opacity .35s ease}
.hero-v3.lado-trocando .hero-copy{opacity:0}
.hero-v3[data-lado=direita] .hero-copy{left:auto;right:4vw;text-align:right}
.hero-v3[data-lado=direita] .hero-apoio{margin-left:auto}
.hero-v3[data-lado=direita] .hero-acoes{justify-content:flex-end}
.hero-v3 h1.hero-kicker{font:500 11px/1.4 Inter,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px;opacity:.85}
.hero-motes{display:grid}
.hero-mote{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .6s ease,transform .8s cubic-bezier(.2,.8,.2,1),visibility 0s .6s}
.hero-mote.is-active{opacity:1;visibility:visible;transform:none;transition-delay:.3s,.3s,0s}
.hero-mote-titulo{font:600 clamp(30px,4vw,58px)/1.04 Antonio,Impact,sans-serif;letter-spacing:-.01em;text-transform:uppercase;margin:0;text-shadow:0 2px 24px #0006}
.hero-mote-titulo span{display:block;color:#ff6600}
.hero-apoio{font-size:15px;line-height:1.6;color:#f4f1ede6;max-width:400px;margin:14px 0 0;text-shadow:0 1px 12px #0009}
.hero-acoes{display:flex;align-items:center;gap:26px;margin-top:26px;flex-wrap:wrap}
.pill-primaria{background:#ff6600;color:#0d0d0d;border-color:#ff6600;padding:13px 24px;font-weight:500}
.pill-primaria:hover{background:#f4f1ed;border-color:#f4f1ed}
.hero-acoes .text-link{border-color:#ffffff80}
.hero-bar{position:absolute;z-index:3;left:4vw;right:4vw;bottom:0;display:flex;align-items:center;gap:22px;padding:14px 0;border-top:1px solid #ffffff4d;font-size:12px;letter-spacing:.07em}
.hero-count{min-width:54px}
.hero-rotulo{flex:1;color:#f4f1edcc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-dots{display:flex;gap:4px}
.hero-dot{width:38px;height:28px;padding:0;display:flex;align-items:center}
.hero-dot span{position:relative;display:block;width:100%;height:2px;background:#ffffff4d;overflow:hidden}
.hero-dot[aria-current] span{background:#ffffff80}
.hero-dot[aria-current] span:after{content:'';position:absolute;inset:0;background:#ff6600}
.hero-dot.is-running span:after{transform-origin:left;animation:heroProgresso var(--dur,7s) linear both}
.hero-dot:hover span{background:#ffffffb3}
.hero-dot:focus-visible{outline-offset:2px}
.hero-ver{font-size:12px;padding:6px 0}
@keyframes heroProgresso{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:760px),(max-width:1100px) and (orientation:portrait){
  .hero.hero-v3{display:flex;flex-direction:column;height:100svh;min-height:640px}
  .hero-v3 .hero-slides{position:relative;inset:auto;flex:1;min-height:300px}
  .hero-slide img{object-position:var(--foco-m,var(--foco,50% 50%))}
  .hero-v3 .hero-shade,.hero-v3[data-lado=direita] .hero-shade{position:absolute;inset:0;bottom:auto;height:100%;pointer-events:none;background:linear-gradient(180deg,#0000008c,transparent 16%)}
  .hero-v3 .hero-copy,.hero-v3[data-lado=direita] .hero-copy{position:relative;left:auto;right:auto;bottom:auto;width:auto;text-align:left;padding:20px 5vw 0;background:#0d0d0d}
  .hero-v3[data-lado=direita] .hero-apoio{margin-left:0}
  .hero-v3[data-lado=direita] .hero-acoes{justify-content:flex-start}
  .hero-v3 h1.hero-kicker{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .hero-mote-titulo{font-size:clamp(26px,7.4vw,34px);text-shadow:none}
  .hero-apoio{font-size:14px;line-height:1.55;margin-top:10px;text-shadow:none;color:#c9c7c1}
  .hero-acoes{gap:18px;margin-top:16px}
  .pill-primaria{padding:11px 20px}
  .hero-bar{position:relative;left:auto;right:auto;margin:14px 5vw 0;gap:12px;padding:8px 0 10px}
  .hero-rotulo{display:none}
  .hero-dots{flex:1}
  .hero-dot{flex:1;width:auto;height:26px}
  .hero-ver{font-size:11px}
}

/* Horizonte (segunda revisão, 03/11): mesma regra da abertura, a foto prevalece. */
.horizon.horizon-v3:after{background:radial-gradient(ellipse 52% 58% at 100% 100%,#000000a6,transparent 70%)}
.horizon.horizon-v3[data-lado=esquerda]:after{background:radial-gradient(ellipse 52% 58% at 0% 100%,#000000a6,transparent 70%)}
.horizon.horizon-v3>img{object-position:var(--foco,50% 50%)}
.horizon.horizon-v3>.horizon-copy{inset:auto 4vw 56px auto;padding:0;display:block;text-align:right;max-width:36vw}
.horizon.horizon-v3[data-lado=esquerda]>.horizon-copy{inset:auto auto 56px 4vw;text-align:left}
.horizon.horizon-v3 .eyebrow{margin:0;font-size:11px;letter-spacing:.16em}
.horizon.horizon-v3 h2{font-size:clamp(34px,4.2vw,60px);line-height:1.04;margin:12px 0 16px;text-shadow:0 2px 24px #0006}
.horizon.horizon-v3 h2 span{color:#ff6600}
.horizon.horizon-v3 .text-link{font-size:12px;border-color:#ffffff80}

/* Chamadas sutis: uma linha de texto no fim das séries, sem botão grande. */
.cta-sutil{display:flex;align-items:baseline;justify-content:flex-end;gap:24px;margin-top:84px;padding-top:22px;border-top:1px solid var(--v2-line)}
.cta-sutil p{margin:0;font-size:15px;color:var(--v2-muted)}
.cta-sutil .text-link{font-size:14px;color:#f4f1ed;border-color:#ff660099}
.cta-sutil .text-link:hover{color:#ff6600}
.selection .cta-sutil{margin-top:110px}

/* Bio de Daniel na seção 04. */
.bio .bio-lead{font-size:20px!important;line-height:1.5!important;color:#f4f1ed!important;letter-spacing:-.015em;max-width:440px!important}
.bio .about-copy h2 span{color:#ff6600}

/* Chamada na foto ampliada, discreta abaixo da legenda. */
.lb-legenda{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}
.lightbox-bottom .lb-cta{font-size:12px;padding:4px 0;border:0;border-bottom:1px solid #ff660099;color:#c9c7c1}
.lightbox-bottom .lb-cta:hover{color:#ff6600}

@media(max-width:760px),(max-width:1100px) and (orientation:portrait){
  .horizon.horizon-v3{height:auto;min-height:0;display:flex;flex-direction:column}
  .horizon.horizon-v3>img{height:62svh;min-height:340px;object-position:var(--foco-m,var(--foco,50% 50%))}
  .horizon.horizon-v3:after{display:none}
  .horizon.horizon-v3>.horizon-copy,.horizon.horizon-v3[data-lado=esquerda]>.horizon-copy{position:relative;inset:auto;max-width:none;text-align:left;padding:22px 5vw 6px}
  .horizon.horizon-v3 h2{font-size:clamp(30px,8vw,44px);text-shadow:none}
}
@media(max-width:760px){
  .cta-sutil{flex-direction:column;align-items:flex-start;gap:6px;margin-top:50px;padding-top:18px}
  .selection .cta-sutil{margin-top:60px}
  .cta-sutil p{font-size:14px}
  .bio .bio-lead{font-size:18px!important}
  .lightbox-bottom .lb-cta{font-size:11px}
}
/* Conversa pelo WhatsApp (SPEC-0256) */
.brief-direto{font-size:13px;line-height:1.7;color:var(--v2-muted);margin:22px 0 0}.brief-direto .text-link{margin-left:4px}#brief-whatsapp{display:inline-flex;margin-top:16px}
