:root {
  --terra: #6b2a08;
  --terra-viva: #a83e10;
  --ocre: #c97820;
  --ocre-claro: #e8a830;
  --ocre-vivo: #f5c842;
  --creme: #fdf0d8;
  --creme-escuro: #e8d4a8;
  --preto: #1a0e06;
  --fundo: #2a1408;
  --fundo2: #331a0a;
  --fundo3: #3d2010;
  --fundo-escuro: #1e0c04;
  --texto: #fdf0d8;
  --texto-muted: #c8a870;
  --texto-quente: #e8c890;
  --verde: #3a7a3a;
  --verde-escuro: #254f25;
  --vermelho: #c83a20;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  background: var(--fundo);
  color: var(--texto);
  font-family: 'Crimson Pro', Georgia, serif;
  font-size: 19px;
  line-height: 1.8;
  overflow-x: hidden;
}

/* ── CURSOR ── */
.cur { width:10px; height:10px; background:var(--ocre); border-radius:50%; position:fixed; pointer-events:none; z-index:9999; transform:translate(-50%,-50%); transition:transform .15s; }
.cur-ring { width:32px; height:32px; border:1px solid rgba(212,137,42,.5); border-radius:50%; position:fixed; pointer-events:none; z-index:9998; transform:translate(-50%,-50%);  }

/* ── NAV ── */
nav {
  position:sticky; top:0; z-index:100;
  background:rgba(26,14,6,.96);
  backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(212,137,42,.2);
  padding:.8rem 2rem;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.nav-logo { display:flex; align-items:center; text-decoration:none; gap:.7rem; }
.nav-logo img { height:28px; width:auto; opacity:.9; }
.nav-logo-texto {
  font-family:'Space Mono',monospace; font-size:.58rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--texto-muted); line-height:1.5;
}
.nav-links { display:flex; gap:.3rem; flex-wrap:wrap; justify-content:center; }
.nav-links a {
  font-family:'Space Mono',monospace; font-size:.62rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--texto-muted); text-decoration:none;
  padding:.35rem .7rem; border-radius:4px; transition:all .2s;
}
.nav-links a:hover { color:var(--ocre-vivo); background:rgba(200,120,30,.15); }
.nav-home {
  font-family:'Space Mono',monospace; font-size:.62rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--texto-muted); text-decoration:none;
  padding:.35rem .8rem; border:1px solid rgba(212,137,42,.25); border-radius:4px; transition:all .2s;
}
.nav-home:hover { color:var(--ocre-claro); border-color:rgba(212,137,42,.6); }

/* ── HERO CAPÍTULO ── */
.cap-hero {
  position:relative;
  min-height:88vh;
  display:flex; flex-direction:column; align-items:center; justify-content:flex-end;
  text-align:center;
  padding:8rem 2rem 6rem;
  overflow:hidden;
  background: radial-gradient(ellipse 160% 100% at 50% -20%, #5a1e04 0%, #3d1206 40%, #2a1408 100%);
}
.cap-hero-canvas { position:absolute; inset:0; z-index:0; }
.cap-hero-overlay {
  position:absolute; inset:0; z-index:1;
  background: linear-gradient(to bottom, rgba(26,10,2,.2) 0%, rgba(26,10,2,.7) 70%, var(--fundo) 100%);
}

/* Linhas decorativas do horizonte */
.cap-hero-linhas {
  position:absolute; bottom:0; left:0; right:0; z-index:2;
  height:180px; pointer-events:none;
}

.cap-hero-inner { position:relative; z-index:3; max-width:820px; }

.cap-num {
  font-family:'Space Mono',monospace; font-size:.68rem; letter-spacing:.5em;
  text-transform:uppercase; color:var(--ocre); margin-bottom:2rem; display:block;
  animation: fadeUp .8s ease .1s both;
}
.cap-titulo {
  font-family:'Playfair Display', Georgia, serif;
  font-size:clamp(2.8rem, 7vw, 5.5rem);
  font-weight:900; line-height:1.0;
  color:var(--creme);
  margin-bottom:.8rem;
  animation: fadeUp .9s ease .2s both;
}
.cap-titulo em { color:var(--ocre-claro); font-style:italic; }
.cap-subtitulo {
  font-family:'Crimson Pro', Georgia, serif;
  font-size:clamp(1.1rem, 2.5vw, 1.5rem);
  font-style:italic; font-weight:300;
  color:var(--texto-muted);
  margin-bottom:3rem; line-height:1.6;
  animation: fadeUp .9s ease .35s both;
}
.cap-divisor {
  display:flex; align-items:center; justify-content:center; gap:1.2rem;
  margin: 0 auto 2rem; animation: fadeUp .9s ease .45s both;
}
.cap-divisor span { width:60px; height:1px; background:rgba(201,120,32,.4); }
.cap-divisor i { font-style:normal; color:var(--ocre); font-size:.55rem; }

.cap-scroll-hint {
  position:absolute; bottom:2rem; left:50%; transform:translateX(-50%);
  z-index:3; display:flex; flex-direction:column; align-items:center; gap:.6rem;
  font-family:'Space Mono',monospace; font-size:.6rem; letter-spacing:.2em;
  text-transform:uppercase; color:rgba(201,120,32,.5);
  animation: fadeUp 1s ease 1.2s both;
}
.cap-scroll-line { width:1px; height:40px; background:linear-gradient(to bottom, rgba(201,120,32,.5), transparent); }

@keyframes fadeUp {
  from { opacity:0; transform:translateY(20px); }
  to { opacity:1; transform:translateY(0); }
}

/* ── CORPO NARRATIVO ── */
.cap-corpo {
  max-width:760px;
  margin:0 auto;
  padding:5rem 2rem 6rem;
}

/* Capítulo intro — letra capitular */
.cap-abertura {
  margin-bottom:4rem;
  padding-bottom:3rem;
  border-bottom:1px solid rgba(201,120,32,.15);
}
.cap-abertura p {
  font-size:clamp(1.1rem, 2vw, 1.3rem);
  line-height:2;
  color:var(--texto);
  margin-bottom:1.8rem;
}
.cap-abertura p:first-child::first-letter {
  font-family:'Playfair Display', serif;
  font-size:4.5rem; font-weight:900;
  color:var(--ocre);
  float:left; line-height:.72;
  margin:.05em .14em 0 0;
}
.cap-abertura em { color:var(--ocre-claro); font-style:normal; font-weight:600; }
.cap-abertura strong { color:var(--creme); font-weight:600; }

/* Seções */
.cap-secao {
  margin-bottom:4.5rem;
}
.cap-secao-num {
  font-family:'Space Mono',monospace; font-size:.62rem; letter-spacing:.4em;
  text-transform:uppercase; color:var(--ocre); display:block; margin-bottom:1rem;
}
.cap-secao h2 {
  font-family:'Playfair Display', serif;
  font-size:clamp(1.6rem, 3.5vw, 2.4rem);
  font-weight:700; color:var(--creme);
  line-height:1.15; margin-bottom:1.8rem;
}
.cap-secao h2 em { color:var(--ocre-claro); font-style:italic; }
.cap-secao p {
  font-size:clamp(1rem, 1.8vw, 1.18rem);
  line-height:2; color:var(--texto);
  margin-bottom:1.6rem; opacity:.92;
}
.cap-secao em { color:var(--ocre-claro); font-style:normal; font-weight:500; }
.cap-secao strong { color:var(--creme); font-weight:600; }

/* Citação destacada */
.cap-citacao {
  border-left:3px solid rgba(201,120,32,.5);
  padding:1.4rem 2rem;
  margin:3rem 0;
  background:rgba(201,120,32,.04);
}
.cap-citacao p {
  font-family:'Playfair Display', serif;
  font-size:clamp(1.1rem, 2vw, 1.4rem);
  font-style:italic; font-weight:400;
  color:var(--creme-escuro);
  line-height:1.7; margin:0 0 .8rem;
}
.cap-citacao cite {
  font-family:'Space Mono',monospace; font-size:.65rem;
  letter-spacing:.2em; text-transform:uppercase;
  color:var(--ocre); font-style:normal;
}

/* Número em destaque */
.cap-dado {
  display:flex; gap:2.5rem; flex-wrap:wrap;
  margin:3rem 0; padding:2rem 0;
  border-top:1px solid rgba(201,120,32,.12);
  border-bottom:1px solid rgba(201,120,32,.12);
}
.cap-dado-item { flex:1; min-width:140px; }
.cap-dado-val {
  font-family:'Playfair Display', serif;
  font-size:clamp(2rem, 4vw, 3rem);
  font-weight:900; font-style:italic;
  color:var(--ocre-claro); line-height:1; display:block;
  margin-bottom:.3rem;
}
.cap-dado-lbl {
  font-family:'Space Mono',monospace; font-size:.62rem;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--texto-muted); line-height:1.5;
}

/* Bloco destaque — povo ou figura */
.cap-destaque {
  background:rgba(201,120,32,.05);
  border:1px solid rgba(201,120,32,.15);
  border-top:3px solid var(--ocre);
  padding:2.5rem;
  margin:3.5rem 0;
}
.cap-destaque-kicker {
  font-family:'Space Mono',monospace; font-size:.6rem;
  letter-spacing:.35em; text-transform:uppercase;
  color:var(--ocre); margin-bottom:1rem; display:block;
}
.cap-destaque h3 {
  font-family:'Playfair Display', serif;
  font-size:clamp(1.3rem, 2.5vw, 1.8rem);
  font-weight:700; color:var(--creme);
  margin-bottom:1rem; line-height:1.2;
}
.cap-destaque p {
  font-size:1.05rem; line-height:1.9;
  color:var(--texto); opacity:.88;
  margin-bottom:1rem;
}
.cap-destaque p:last-child { margin-bottom:0; }

/* Linha do tempo inline */
.cap-timeline {
  margin:3rem 0;
  padding-left:1.5rem;
  border-left:2px solid rgba(201,120,32,.25);
}
.cap-tl-item {
  position:relative;
  padding:0 0 2.2rem 2rem;
}
.cap-tl-item::before {
  content:'';
  position:absolute; left:-1.1rem; top:.4rem;
  width:8px; height:8px;
  border-radius:50%; background:var(--ocre);
  border:2px solid var(--fundo);
}
.cap-tl-item:last-child { padding-bottom:0; }
.cap-tl-ano {
  font-family:'Space Mono',monospace; font-size:.65rem;
  letter-spacing:.2em; color:var(--ocre); display:block; margin-bottom:.4rem;
}
.cap-tl-texto {
  font-size:1.05rem; line-height:1.8;
  color:var(--texto); opacity:.88;
}
.cap-tl-texto strong { color:var(--creme); font-weight:600; }

/* Separador ornamental */
.cap-sep {
  display:flex; align-items:center; justify-content:center; gap:1.5rem;
  margin:4rem 0; opacity:.4;
}
.cap-sep span { flex:1; height:1px; background:var(--ocre); }
.cap-sep i { font-style:normal; color:var(--ocre); font-size:.55rem; }

/* Navegação entre capítulos */
.cap-nav {
  display:flex; justify-content:space-between; align-items:center;
  padding:2.5rem 0; margin-top:4rem;
  border-top:1px solid rgba(201,120,32,.15);
  gap:2rem; flex-wrap:wrap;
}
.cap-nav-link {
  display:flex; flex-direction:column; gap:.4rem;
  text-decoration:none; max-width:260px;
}
.cap-nav-link:last-child { align-items:flex-end; text-align:right; }
.cap-nav-label {
  font-family:'Space Mono',monospace; font-size:.58rem;
  letter-spacing:.25em; text-transform:uppercase; color:var(--ocre);
}
.cap-nav-titulo {
  font-family:'Playfair Display', serif; font-size:1.05rem;
  font-weight:600; color:var(--creme);
  transition:color .2s;
}
.cap-nav-link:hover .cap-nav-titulo { color:var(--ocre-claro); }

/* Scroll reveal */
.rev { opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease; }
.rev.vis { opacity:1; transform:translateY(0); }
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}

/* Footer */
footer {
  background:var(--fundo-escuro);
  border-top:1px solid rgba(201,120,32,.12);
  padding:2.5rem 2rem;
  text-align:center;
  font-family:'Space Mono',monospace;
  font-size:.62rem; letter-spacing:.1em;
  color:var(--texto-muted); text-transform:uppercase;
}
footer a { color:var(--ocre); text-decoration:none; opacity:.7; }
footer a:hover { opacity:1; }

/* Responsive */
@media(max-width:700px){
  .nav-links { display:none; }
  .cap-corpo { padding:3rem 1.5rem 4rem; }
  .cap-dado { gap:1.5rem; }
  .cap-nav { flex-direction:column; }
  .cap-nav-link:last-child { align-items:flex-start; text-align:left; }
}