:root{
  --fundo:  #001a0e;
  --fundo2: #002a16;
  --fundo3: #003a1e;
  --acento: #4ade80;
  --acento2: #22c55e;
  --acento3: #86efac;
  --creme:  #fdf0d8;
  --creme2: #e8d4a8;
  --creme3: #c8a870;
  --muted:  #7a9a80;
  --texto:  #fdf0d8;
  --preto:  #000c06;
}
*{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:18px;
  line-height:1.75;
  overflow-x:hidden;
}

/* CURSOR */
.cur{width:10px;height:10px;background:var(--acento);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(74,222,128,.35);border-radius:50%;position:fixed;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:left .12s ease,top .12s ease;}

/* NAV */
nav{
  position:sticky;top:0;z-index:100;
  background:rgba(0,10,5,.92);
  backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(74,222,128,.12);
  padding:.7rem 2rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
.nav-logo img{height:26px;opacity:.85}
.nav-links{display:flex;gap:.3rem;flex-wrap:wrap}
.nav-links a{
  font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(255,255,255,.45);text-decoration:none;
  padding:.3rem .6rem;border-radius:4px;transition:all .2s;
}
.nav-links a:hover{color:var(--acento);background:rgba(74,222,128,.07)}
.nav-back{
  font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(255,255,255,.5);text-decoration:none;
  padding:.3rem .8rem;border:1px solid rgba(255,255,255,.15);border-radius:4px;transition:all .2s;
}
.nav-back:hover{color:var(--acento);border-color:var(--acento)}

/* HERO */
#hero{
  min-height:100vh;
  background:radial-gradient(ellipse 140% 80% at 50% 0%, #002a16 0%, #001a0e 55%, #000c06 100%);
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:6rem 2rem 4rem;
}
.hero-bg{
  position:absolute;inset:0;z-index:0;opacity:.04;
  background-image:
    repeating-linear-gradient(60deg,var(--acento) 0,var(--acento) 1px,transparent 0,transparent 50%),
    repeating-linear-gradient(-60deg,var(--acento) 0,var(--acento) 1px,transparent 0,transparent 50%);
  background-size:44px 76px;
}
/* Rio sinuoso animado no fundo do hero */
.hero-rio{
  position:absolute;bottom:0;left:0;right:0;z-index:0;
  height:180px;opacity:.18;
  overflow:hidden;
}
.hero-rio svg{
  width:200%;
  animation:rioSlide 18s linear infinite;
}
@keyframes rioSlide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.hero-glow{
  position:absolute;top:15%;left:50%;transform:translateX(-50%);
  width:700px;height:700px;
  background:radial-gradient(ellipse,rgba(74,222,128,.05) 0%,transparent 65%);
  z-index:0;pointer-events:none;
}
.hero-inner{position:relative;z-index:2;max-width:820px}
.hero-eyebrow{
  font-family:'Space Mono',monospace;font-size:.7rem;letter-spacing:.4em;
  text-transform:uppercase;color:var(--acento);margin-bottom:1.5rem;display:block;
  animation:fadeUp .8s ease .2s both;
}
.hero-icon{display:block;margin:0 auto 1.2rem;animation:fadeUp .8s ease .3s both}
.hero-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(3.5rem,11vw,9.5rem);
  font-weight:900;line-height:.92;
  color:var(--creme);
  animation:fadeUp .9s ease .4s both;
  text-shadow:0 4px 60px rgba(0,0,0,.7);
}
.hero-title em{color:var(--acento);font-style:normal}
.hero-subtitle{
  font-family:'Playfair Display',serif;
  font-size:clamp(1rem,2.5vw,1.5rem);
  font-style:italic;color:rgba(253,240,216,.7);
  margin:1.2rem 0 2.5rem;
  animation:fadeUp .8s ease .6s both;
}
.hero-meta{
  display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;
  animation:fadeUp .8s ease .8s both;
}
.meta-pill{
  font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.12em;
  text-transform:uppercase;padding:.4rem 1rem;border-radius:20px;
  background:rgba(74,222,128,.07);border:1px solid rgba(74,222,128,.2);
  color:var(--creme2);
}
.meta-pill strong{color:var(--acento)}
.meta-pill.alerta{
  background:rgba(255,100,50,.08);border-color:rgba(255,100,50,.3);
  color:#fca5a5;
}
.meta-pill.alerta strong{color:#fca5a5}
.hero-scroll{
  margin-top:3rem;color:var(--acento);font-size:1.8rem;
  animation:bob 2s ease infinite,fadeUp .8s ease 1s both;cursor:pointer;
}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

/* TICKER */
.ticker-wrap{
  background:linear-gradient(90deg,rgba(74,222,128,.8),rgba(74,222,128,.4),rgba(74,222,128,.8));
  padding:.5rem 0;overflow:hidden;white-space:nowrap;
}
.ticker-inner{
  display:inline-block;animation:ticker 35s linear infinite;
  font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:.28em;
  text-transform:uppercase;color:rgba(0,20,8,.8);font-weight:700;
}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* SECTIONS */
section{position:relative;padding:5rem 2rem;z-index:1}
.si{max-width:1100px;margin:0 auto}
.s-eyebrow{
  font-family:'Space Mono',monospace;font-size:.72rem;letter-spacing:.3em;
  color:var(--acento);text-transform:uppercase;display:block;margin-bottom:.6rem;
}
.s-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.8rem,4vw,3.2rem);
  font-weight:900;color:var(--creme);line-height:1.1;margin-bottom:1.5rem;
}
.s-title em{color:var(--acento);font-style:normal}

/* ALERTA LÍNGUA */
.alerta-lingua{
  background:linear-gradient(135deg,rgba(239,68,68,.06),rgba(255,100,50,.04));
  border:1px solid rgba(239,68,68,.25);
  border-left:4px solid #ef4444;
  border-radius:12px;padding:1.4rem 1.8rem;
  margin-bottom:2.5rem;
  font-size:.95rem;color:#fca5a5;line-height:1.7;
}
.alerta-lingua strong{color:#f87171;font-family:'Space Mono',monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;display:block;margin-bottom:.4rem}

/* HISTÓRIA */
#historia{background:linear-gradient(180deg,#000c06 0%,rgba(0,26,14,.6) 100%)}
.historia-grid{
  display:grid;grid-template-columns:1fr 3fr;gap:3rem;align-items:start;
  max-width:1050px;margin:0 auto;
}
.historia-aside{
  display:flex;flex-direction:column;gap:1rem;position:sticky;top:90px;
}
.info-box{
  background:rgba(74,222,128,.04);border:1px solid rgba(74,222,128,.12);
  border-radius:12px;padding:1.2rem;
}
.info-box-title{
  font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--acento);margin-bottom:.8rem;display:block;
}
.info-row{
  display:flex;justify-content:space-between;align-items:flex-start;
  padding:.4rem 0;border-bottom:1px solid rgba(255,255,255,.05);gap:.5rem;
}
.info-row:last-child{border:none}
.info-row .lbl{font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;flex-shrink:0}
.info-row .val{font-size:.88rem;color:var(--creme2);text-align:right;font-style:italic}
.historia-texto p{color:var(--creme2);font-size:1.05rem;line-height:1.9;margin-bottom:1.3rem}
.historia-texto p strong{color:var(--acento)}
.historia-texto p em{color:var(--acento3)}

/* COSTUMES */
#costumes{background:rgba(0,42,22,.35)}
.duas-colunas{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.bloco-titulo{
  font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:700;
  color:var(--creme);margin-bottom:1rem;display:flex;align-items:center;gap:.6rem;
  padding-bottom:.6rem;border-bottom:1px solid rgba(74,222,128,.15);
}
.bloco-lista{list-style:none;padding:0}
.bloco-lista li{
  color:var(--creme2);font-size:.98rem;line-height:1.7;
  padding:.7rem 0 .7rem 1.4rem;border-bottom:1px solid rgba(255,255,255,.05);
  position:relative;
}
.bloco-lista li::before{
  content:'';width:5px;height:5px;background:var(--acento);border-radius:50%;
  position:absolute;left:0;top:1.1rem;opacity:.7;
}
.bloco-lista li:last-child{border:none}

/* RITUAIS */
#rituais{background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(74,222,128,.04),transparent)}
.ritual-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.2rem}
.ritual-card{
  background:rgba(74,222,128,.04);
  border:1px solid rgba(74,222,128,.1);
  border-top:3px solid var(--acento);
  border-radius:12px;padding:1.6rem;
  transition:all .3s;
}
.ritual-card:hover{background:rgba(74,222,128,.08);transform:translateY(-3px)}
.ritual-nome{
  font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;
  color:var(--creme);margin-bottom:.6rem;
}
.ritual-desc{font-size:.94rem;color:var(--creme2);line-height:1.75}

/* CULINÁRIA */
#culinaria{background:rgba(0,0,0,.2)}
.culinaria-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem}
.culinaria-item{
  background:rgba(74,222,128,.04);border:1px solid rgba(74,222,128,.09);
  border-radius:10px;padding:1rem 1.2rem;
  display:flex;align-items:flex-start;gap:.8rem;
  transition:all .25s;
}
.culinaria-item:hover{background:rgba(74,222,128,.08);border-color:rgba(74,222,128,.2)}
.culinaria-icon{font-size:1.6rem;flex-shrink:0;line-height:1.4}
.culinaria-texto{font-size:.92rem;color:var(--creme2);line-height:1.65}

/* CURIOSIDADES */
#curiosidades{background:rgba(0,42,22,.25)}
.curio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.2rem}
.curio-card{
  background:rgba(255,255,255,.03);border:1px solid rgba(74,222,128,.09);
  border-radius:12px;padding:1.5rem;position:relative;overflow:hidden;transition:all .3s;
}
.curio-card::before{
  content:'"';position:absolute;top:-.6rem;left:1rem;
  font-family:'Playfair Display',serif;font-size:7rem;font-weight:900;
  color:var(--acento);opacity:.07;line-height:1;
}
.curio-card:hover{background:rgba(74,222,128,.06);transform:translateY(-2px)}
.curio-texto{font-size:.95rem;color:var(--creme2);line-height:1.8;position:relative;z-index:1}
.curio-texto strong{color:var(--acento3)}

/* LÍNGUA */
#lingua{background:radial-gradient(ellipse 60% 80% at 50% 50%,rgba(74,222,128,.03),transparent)}
.lingua-alerta{
  background:rgba(239,68,68,.06);border:1px solid rgba(239,68,68,.2);
  border-radius:10px;padding:1.2rem 1.6rem;margin-bottom:2rem;
  font-size:.92rem;color:#fca5a5;line-height:1.7;
}
.palavras-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-top:1.5rem}
.palavra-card{
  background:rgba(74,222,128,.04);border:1px solid rgba(74,222,128,.12);
  border-left:3px solid var(--acento);
  border-radius:8px;padding:1rem 1.2rem;transition:all .25s;
}
.palavra-card:hover{background:rgba(74,222,128,.09)}
.palavra-termo{
  font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:700;
  color:var(--acento);display:block;margin-bottom:.3rem;font-style:italic;
}
.palavra-trad{font-size:.87rem;color:var(--muted);display:block}
.palavra-obs{font-size:.78rem;color:rgba(255,255,255,.25);display:block;margin-top:.2rem;font-style:italic}

/* TERRITÓRIO */
#territorio{background:rgba(0,0,0,.15)}
.territorio-texto p{color:var(--creme2);font-size:1.05rem;line-height:1.9;margin-bottom:1.2rem}
.territorio-texto p strong{color:var(--acento)}
.territorio-mapa{
  background:rgba(74,222,128,.04);border:1px solid rgba(74,222,128,.12);
  border-radius:12px;padding:1.5rem;margin-top:1.5rem;
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;text-align:center;
}
.terr-item{padding:.8rem}
.terr-num{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;color:var(--acento);display:block}
.terr-lbl{font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* LIDERANÇAS */
#liderancas{background:rgba(0,42,22,.2)}
.lid-tags{display:flex;flex-wrap:wrap;gap:.8rem}
.lid-tag{
  font-family:'Space Mono',monospace;font-size:.68rem;letter-spacing:.07em;
  padding:.5rem 1rem;border-radius:6px;
  background:rgba(74,222,128,.05);border:1px solid rgba(74,222,128,.15);
  color:var(--creme2);transition:all .2s;
}
.lid-tag:hover{background:rgba(74,222,128,.1)}

/* CTA */
#nav-povos{
  background:linear-gradient(135deg,rgba(74,222,128,.04),rgba(0,0,0,.3));
  border-top:1px solid rgba(74,222,128,.08);
  padding:4.5rem 2rem;text-align:center;
}
.nav-cta-inner{max-width:700px;margin:0 auto}
.nav-cta-inner p{color:var(--muted);font-size:1rem;margin-bottom:2rem}
.btn-voltar{
  display:inline-block;font-family:'Space Mono',monospace;font-size:.68rem;
  letter-spacing:.15em;text-transform:uppercase;
  color:var(--preto);background:var(--acento);
  padding:.8rem 2rem;border-radius:8px;text-decoration:none;
  font-weight:700;transition:all .25s;
}
.btn-voltar:hover{opacity:.85;transform:translateY(-2px)}
.btn-enc{
  display:inline-block;font-family:'Space Mono',monospace;font-size:.68rem;
  letter-spacing:.15em;text-transform:uppercase;
  color:var(--acento);border:1px solid rgba(74,222,128,.25);
  padding:.8rem 2rem;border-radius:8px;text-decoration:none;
  margin-left:1rem;transition:all .25s;
}
.btn-enc:hover{background:rgba(74,222,128,.07)}

/* FOOTER */
footer{
  background:rgba(0,0,0,.5);padding:1.5rem 2rem;
  border-top:1px solid rgba(74,222,128,.08);
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;
}
.ft-copy{font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.ft-link{font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s}
.ft-link:hover{color:var(--acento)}

/* ANIMAÇÕES SCROLL */
.rev{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}
.rev.vis{opacity:1;transform:translateY(0)}
.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.36s}.d4{transition-delay:.48s}

/* RESPONSIVE */
@media(max-width:900px){
  .historia-grid{grid-template-columns:1fr}
  .historia-aside{position:static}
  .duas-colunas{grid-template-columns:1fr}
  .territorio-mapa{grid-template-columns:1fr 1fr}
  section{padding:3.5rem 1.5rem}
}
@media(max-width:600px){
  .hero-title{font-size:3.5rem}
  section{padding:3rem 1rem}
  nav{flex-wrap:wrap;padding:.7rem 1rem}
  .territorio-mapa{grid-template-columns:1fr}
  .btn-enc{margin-left:0;margin-top:.8rem;display:inline-block}
}