/* AJMANO — novas secções depois do hero e de "Alexandre é mais do que um empresário".
 * Hero e essa secção ficam intocados. Estas regras só tocam nas secções novas. */
.aj-section { background: #000; color: #fff; padding: 4.5rem 1rem; }
.aj-section .container { max-width: 92%; margin: 0 auto; }
.aj-title {
  font-family: Georgia, "Times New Roman", serif; color: #dac7a4;
  font-size: 2.2rem; line-height: 1.1; margin: 0 0 1rem; text-align: center;
}
.aj-intro {
  font-family: Georgia, "Times New Roman", serif; color: #fff;
  font-size: 1.1rem; line-height: 1.7; text-align: center; max-width: 34rem; margin: 0 auto 3rem;
}
/* Vídeos em botão */
.aj-videos { display: flex; flex-direction: column; gap: 2rem; align-items: center; }
.aj-video-btn {
  position: relative; display: block; width: 100%; max-width: 520px; padding: 0;
  border: 1px solid #dac7a4; background: #000; cursor: pointer; overflow: hidden;
}
.aj-video-btn img { width: 100%; height: auto; display: block; object-fit: contain; }
.aj-play {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: 72px; height: 72px; line-height: 72px; border-radius: 50%;
  background: rgba(255,255,255,.92); color: #1c1c1c; font-size: 1.6rem; text-align: center;
}
.aj-video-title {
  display: block; padding: 1rem; background: #1c1c1c; color: #fff;
  font-family: Georgia, "Times New Roman", serif; font-size: 1.1rem; text-align: center;
}
.aj-video-modal {
  display: none; position: fixed; inset: 0; z-index: 9999;
  background: rgba(0,0,0,.92); align-items: center; justify-content: center; padding: 1rem;
}
.aj-video-modal.aj-open { display: flex; }
.aj-video-modal video { width: 100%; max-width: 520px; max-height: 80vh; background: #000; }
.aj-video-close {
  position: absolute; top: 1rem; right: 1rem; background: #dac7a4; color: #1c1c1c;
  border: none; width: 44px; height: 44px; font-size: 1.5rem; cursor: pointer;
}
/* Jornal: uma à esquerda, outra à direita, texto branco, outra tipologia */
.aj-jornal { background: transparent; }
.aj-news-item { display: flex; flex-direction: column; gap: 1.5rem; max-width: 88%; }
.aj-news-item.aj-left { margin: 0 auto 5rem -2rem; }
.aj-news-item.aj-right { margin: 0 -2rem 5rem auto; }
.aj-news-item img { width: 100%; height: auto; object-fit: contain; }
.aj-news-item h3 {
  font-family: Georgia, "Times New Roman", serif; color: #dac7a4; font-size: 1.6rem; margin: 0 0 1rem;
}
.aj-projeto h3 { font-family: Georgia, "Times New Roman", serif; color: #dac7a4; font-size: 1.5rem; margin: 0 0 1rem; }
.aj-news-item p {
  font-family: Georgia, "Times New Roman", serif; color: #fff; font-size: 1.15rem; line-height: 1.9; margin: 0;
}
.aj-left { align-items: flex-start; text-align: left; }
.aj-right { align-items: flex-end; text-align: right; }
.aj-destaque { color: #dac7a4; font-size: 1.25em; font-style: normal; font-weight: 700; }
/* Projetos */
.aj-projetos { display: flex; flex-direction: column; gap: 3.5rem; align-items: center; }
.aj-projeto { max-width: 88%; }
.aj-projeto:nth-child(odd) { margin-left: 0; margin-right: auto; text-align: left; }
.aj-projeto:nth-child(even) { margin-left: auto; margin-right: 0; text-align: right; }
.aj-projeto img { width: 100%; height: auto; object-fit: contain; margin-bottom: 1rem; }

.aj-projeto p { font-family: Georgia, "Times New Roman", serif; color: #fff; font-size: 1.1rem; line-height: 1.9; margin: 0; }
/* Rolo de fotografias, como capturado em câmara */
.aj-film {
  display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory;
  padding: 1.5rem 1rem; background: #000;
  -webkit-overflow-scrolling: touch;
}
.aj-film figure { flex: 0 0 auto; margin: 0; scroll-snap-align: center; text-align: center; }
.aj-film img { height: auto; width: 85vw; max-width: 520px; object-fit: contain; border: 6px solid #111; outline: 1px solid #dac7a4; background: #111; }
.aj-film figcaption { font-family: Georgia, "Times New Roman", serif; color: #dac7a4; font-size: .9rem; margin-top: .5rem; }
/* Scroll de palavras em degradê */
.aj-marquee { overflow: hidden; background: transparent; padding: 1.5rem 0; }
.aj-marquee-inner { display: inline-block; white-space: nowrap; animation: aj-scroll 22s linear infinite; }
.aj-marquee-inner span {
  font-family: Georgia, "Times New Roman", serif; font-weight: 900; font-size: 2rem; text-transform: uppercase; letter-spacing: .05em;
  background: linear-gradient(90deg, #dac7a4, #fff, #b8860b, #dac7a4);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
@keyframes aj-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
/* Livro que se abre */
.aj-book {
  position: relative; max-width: 520px; min-height: 0; margin: 0 auto;
  perspective: 1200px; cursor: pointer; background: #2b2118;
  border: 2px solid #dac7a4; padding: 2rem 1.5rem; overflow: hidden;
}
.aj-page { display: none; }
.aj-page.aj-active { display: block; animation: aj-page-in .5s ease; }
@keyframes aj-page-in { from { opacity: 0; transform: translateX(40px) rotateY(-8deg); } to { opacity: 1; transform: none; } }
.aj-page h3 { font-family: Georgia, "Times New Roman", serif; color: #dac7a4; font-size: 1.8rem; margin: 0 0 1rem; }
.aj-page p { font-family: Georgia, "Times New Roman", serif; color: #fff; font-size: 1.15rem; line-height: 1.7; }
.aj-book-kicker { color: #dac7a4; letter-spacing: .2em; text-transform: uppercase; }
.aj-book-cover-img { width: 100%; height: auto; display: block; margin: 0 0 1.5rem; }
.aj-book-hint { color: #dac7a4; margin-top: 2rem; }
.aj-book-controls { display: flex; gap: 1rem; justify-content: center; margin-top: 1.5rem; }
.aj-book-controls button {
  background: #dac7a4; color: #1c1c1c; border: none; padding: .8rem 1.2rem;
  font-family: Georgia, "Times New Roman", serif; font-size: 1rem; cursor: pointer;
}

/* Vídeos estilo AROCK (2026-10-28, a pedido da utilizadora, com a imagem de referência):
 * foto em ecrã inteiro, nome gigante por cima, em baixo à esquerda o botão de play
 * com "Jogar o filme", ao meio Empresário / Consultor, à direita Maputo / Moçambique. */
.aj-arock-video {
  position: relative; height: 100vh; min-height: 640px; overflow: hidden; background: #000;
}
.aj-arock-video img { width: 100%; height: 100%; object-fit: contain; display: block; background: #000; }
.aj-arock-name {
  position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%);
  text-align: center; margin: 0; color: #fff;
  font-family: Arial, Helvetica, sans-serif; font-weight: 900;
  font-size: clamp(64px, 18vw, 220px); letter-spacing: -0.02em; line-height: 1;
}
.aj-arock-bottom {
  position: absolute; left: 1.5rem; right: 1.5rem; bottom: 2rem;
  display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem;
  color: #fff; font-family: Arial, Helvetica, sans-serif; font-size: .8rem;
  letter-spacing: .12em; text-transform: uppercase; line-height: 1.4;
}
.aj-arock-play {
  display: flex; align-items: center; gap: .75rem; background: none; border: none;
  color: #fff; font-family: Arial, Helvetica, sans-serif; font-size: .8rem;
  letter-spacing: .12em; text-transform: uppercase; cursor: pointer; padding: 0; text-align: left;
}
.aj-arock-play-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border: 1px solid #fff; border-radius: 50%; font-size: .9rem; flex: 0 0 auto;
}

/* Títulos em destaque, em degradê que passa entre as letras (2026-10-28, a pedido da utilizadora) */
.aj-title {
  font-size: 2.4rem !important; font-weight: 900;
  background: linear-gradient(90deg, #dac7a4, #ffffff, #b8860b, #dac7a4);
  background-size: 200% auto;
  -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: aj-title-scroll 5s linear infinite;
}
@keyframes aj-title-scroll { to { background-position: 200% center; } }

/* Vídeos ocultos: sem imagens grandes, só botões pequenos; só abrem no play */
.aj-videos-mini { display: flex; flex-direction: column; gap: 1rem; align-items: center; }
.aj-video-mini { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.2rem; color: #fff; font-family: Georgia, "Times New Roman", serif; font-size: 1.1rem; text-align: left; }

/* Desc sem vazio: o original tinha 10rem de espaço em baixo e o parágrafo invisível */
.section-desc { padding: 3rem 0 4rem !important; }
.section-desc .line-seperate { margin: 2rem 0 !important; }
.section-desc .p-desc { opacity: 1 !important; transform: none !important; translate: none !important; color: #fff !important; font-style: italic; margin-top: 1.5rem !important; margin-bottom: 1rem !important; line-height: 1.8; }


/* Só o AJMANO do topo, maior */
.header__logo { max-width: 190px !important; width: 190px !important; }
.header__logo svg { width: 100% !important; height: auto !important; }

/* Só o hero: foto original estendida só em cima, enche o ecrã do topo, sem borda */
.section-intro { height: 100vh !important; min-height: 0 !important; padding-top: 0 !important; background: #000; }
.section-intro .intro-wrapper { height: 100% !important; background: #000; }
.parallax-image { object-fit: cover !important; object-position: center center !important; height: 100vh !important; width: 100% !important; display: block; }
.section-intro .intro-scroll { bottom: 2rem !important; }

/* Só a galeria: sem título nem intro, só fotos em fundo preto, justinho */
#fotos { background: #000 !important; padding-top: 0 !important; padding-bottom: 3.5rem !important; }

/* Só o título "ALEXANDRE é mais do que um empresário": degradê a passar nas letras + entrada ao arrastar */
.desc-title { opacity: 0; transform: translateY(40px); transition: opacity .8s ease, transform .8s ease; }
.desc-title.aj-in { opacity: 1; transform: none; }
.desc-title .line {
  background: linear-gradient(90deg, #dac7a4, #ffffff, #b8860b, #dac7a4);
  background-size: 200% auto; -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: aj-title-scroll 5s linear infinite;
}
/* Só o fim da página: sem espaço vazio depois do rodapé */
#scene, .scene-background { display: none !important; height: 0 !important; }
#footer { margin-bottom: 0 !important; padding-bottom: 2rem !important; }

/* Correção da revisão: cabeçalho com fundo preto, para o AJMANO não ficar por cima do texto ao arrastar */
header { background: #000 !important; }

/* Só o rodapé: fundo preto como o resto (não cinzento) e sem o vazio grande por dentro */
#footer { background: #000 !important; padding: 2rem 0 !important; }
#footer .footer-nav { margin: 2rem 0 !important; }
#footer .footer-policies { margin-top: 2rem !important; margin-bottom: 1rem !important; }
