@font-face{font-family:'Mona Sans'; font-style:normal; font-weight:200 900; font-stretch:75% 125%; font-display:swap; src:url('fontes/mona-sans-latin.woff2') format('woff2')}
:root{

  --bg:#f6f3ee; --bg-2:#fffdfa; --surface:#ffffff; --surface-2:#f0ebe3;
  --ink:#191b2e; --ink-soft:#3d4059; --muted:#7b7a8c;
  --line:rgba(25,27,46,.12); --line-2:rgba(25,27,46,.06);
  --accent:#463a9e; --accent-soft:rgba(70,58,158,.09);
  --gold:#9c7433; --gold-line:rgba(156,116,51,.35); --gold-luz:#d8b06a;
  --shadow:0 1px 2px rgba(25,27,46,.05), 0 14px 40px -22px rgba(25,27,46,.28);
  --serif:'Mona Sans','Segoe UI',system-ui,Roboto,Helvetica,Arial,sans-serif;
  --sans:'Mona Sans','Segoe UI',system-ui,Roboto,Helvetica,Arial,sans-serif;
  --r:16px; --r-sm:11px;
  --safe-top:env(safe-area-inset-top,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --wrap:1140px;
}

.campo{
  --bg:#080b1a; --bg-2:#0d1330; --surface:#111838; --surface-2:#161e42;
  --ink:#eef1fb; --ink-soft:#c3c8e4; --muted:#8b90b4;
  --line:rgba(200,210,255,.16); --line-2:rgba(200,210,255,.08);
  --accent:#a495ff; --accent-soft:rgba(164,149,255,.14);
  --gold:#d8b06a; --gold-line:rgba(216,176,106,.4); --gold-luz:#f7e6c4;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 30px 70px -30px rgba(0,0,0,.8);
  color:var(--ink);
  --campo-a:#0d1330; --campo-b:#080b1a;
  background:
    radial-gradient(1100px 600px at 50% -10%, rgba(120,105,230,.20), transparent 62%),
    radial-gradient(700px 420px at 85% 108%, rgba(216,176,106,.10), transparent 65%),
    linear-gradient(175deg,var(--campo-a) 0%,var(--campo-b) 70%);
  position:relative; isolation:isolate; overflow:hidden;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth; background:var(--bg)}
html,body{margin:0}
body{
  font-family:var(--sans); color:var(--ink); background:var(--bg);
  line-height:1.65; -webkit-font-smoothing:antialiased;
  font-size:1.03125rem; overflow-x:hidden;
}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} *{animation:none!important; transition:none!important} }
img{max-width:100%; display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif); font-weight:400; line-height:1.14; letter-spacing:-.012em; margin:0}
h1{font-size:clamp(2.3rem,5.4vw,4.15rem)}
h2{font-size:clamp(1.85rem,3.4vw,2.9rem)}
h3{font-size:1.22rem; line-height:1.3}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 26px; position:relative; z-index:2}
.sec{padding:clamp(72px,9vw,132px) 0}
.eyebrow{
  font-size:.72rem; letter-spacing:.24em; text-transform:uppercase;
  color:var(--gold); font-weight:600; margin:0 0 18px;
  display:flex; align-items:center; gap:12px;
}
.eyebrow::after{content:''; height:1px; flex:1; max-width:74px; background:var(--gold-line)}
.lead{font-size:clamp(1.02rem,1.5vw,1.2rem); color:var(--ink-soft); max-width:62ch}
.muted{color:var(--muted)}

.btn{
  display:inline-flex; align-items:center; gap:10px; justify-content:center;
  padding:14px 26px; border-radius:999px; font-size:.94rem; font-weight:600;
  letter-spacing:.01em; text-decoration:none; cursor:pointer; border:1px solid transparent; white-space:nowrap;
  transition:transform .18s ease, background .2s ease, border-color .2s ease, color .2s ease;
  font-family:var(--sans);
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--accent); color:#fff}
.campo .btn-primary{background:var(--gold); color:#1a1305}
.btn-ghost{border-color:var(--line); color:var(--ink); background:transparent}
.btn-ghost:hover{border-color:var(--gold-line)}
.btn svg{width:17px; height:17px; flex:none}

header{
  position:fixed; inset:0 0 auto 0; z-index:60;
  padding-top:var(--safe-top);
  background:transparent; border-bottom:1px solid transparent; color:#eef1fb;
  transition:background .3s ease, border-color .3s ease, color .3s ease;
}
header .logo i{color:#d8b06a}
header nav.links a{color:rgba(238,241,251,.78)}
header nav.links a:hover{color:#fff}
header .btn-primary{background:#d8b06a; color:#1a1305}
header.solid{
  background:rgba(246,243,238,.9); color:var(--ink);
  border-bottom-color:var(--line-2); backdrop-filter:blur(10px);
}
header.solid .logo i{color:var(--gold)}
header.solid nav.links a{color:var(--ink-soft)}
header.solid nav.links a:hover{color:var(--ink)}
header.solid .btn-primary{background:var(--accent); color:#fff}
body.low-power header.solid{backdrop-filter:none; background:#f6f3ee}

.bar{max-width:var(--wrap); margin:0 auto; padding:14px 26px; display:flex; align-items:center; gap:26px}
.logo{font-family:var(--serif); font-size:1.06rem; letter-spacing:.15em; text-transform:uppercase; text-decoration:none; white-space:nowrap}
.logo b{font-weight:400}
.logo i{font-style:normal; color:var(--gold)}
nav.links{display:flex; gap:26px; margin-left:auto}
nav.links a{font-size:.87rem; text-decoration:none; color:var(--ink-soft); padding:4px 0; border-bottom:1px solid transparent}
nav.links a:hover{color:var(--ink); border-bottom-color:var(--gold-line)}
nav.links a.aqui{border-bottom-color:var(--gold)}
header.solid nav.links a.aqui{color:var(--ink)}

.bar .btn{padding:10px 20px; font-size:.86rem}
@media (max-width:900px){ nav.links{display:none} .bar .btn{margin-left:auto} }

.hero-sub{margin-top:26px; font-size:clamp(1.02rem,1.6vw,1.22rem); color:var(--ink-soft); max-width:52ch}
.hero-cta{display:flex; flex-wrap:wrap; gap:14px; margin-top:38px}

.provas{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line-2); border-block:1px solid var(--line-2)}
.provas div{background:var(--bg); padding:34px 26px; text-align:center}
.provas b{display:block; font-family:var(--serif); font-size:2.1rem; color:var(--accent); font-weight:400}
.provas span{font-size:.83rem; color:var(--muted); letter-spacing:.04em}
@media (max-width:760px){ .provas{grid-template-columns:1fr} }

.hist{display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(34px,5vw,76px); align-items:center}
.retrato{position:relative}
.retrato img{border-radius:var(--r); box-shadow:var(--shadow); width:100%}
.retrato::before{
  content:''; position:absolute; inset:-16px -16px 34px 24px; border:1px solid var(--gold-line);
  border-radius:var(--r); z-index:-1;
}
.assinatura{font-family:var(--serif); font-style:italic; font-size:1.3rem; color:var(--gold); margin-top:26px}

@media (max-width:860px){ .hist{grid-template-columns:1fr} .retrato{max-width:340px} .retrato::before{display:none} }

.grid-conc{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:52px}
.card{
  background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r);
  padding:30px 28px 32px; box-shadow:var(--shadow);
  transition:transform .2s ease, border-color .2s ease;
}
.card:hover{transform:translateY(-3px); border-color:var(--gold-line)}
.card h3{margin:18px 0 10px}
.card p{color:var(--ink-soft); font-size:.95rem; margin:0}
.ico{width:30px; height:30px; stroke:var(--gold); fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round}
@media (max-width:980px){ .grid-conc{grid-template-columns:repeat(2,1fr)} }
@media (max-width:640px){ .grid-conc{grid-template-columns:1fr} }

#bussola .wrap{max-width:820px}
.bs-card{
  background:rgba(17,24,56,.72); border:1px solid var(--line); border-radius:var(--r);
  padding:clamp(28px,4vw,46px); box-shadow:var(--shadow); margin-top:40px;
}
body.low-power .bs-card{background:#111838}

.bs-q{font-family:var(--serif); font-size:clamp(1.35rem,2.6vw,1.85rem); line-height:1.25; margin:0 0 26px}
.bs-opts{display:grid; gap:11px}
.bs-opt{
  text-align:left; width:100%; padding:16px 20px; border-radius:var(--r-sm); cursor:pointer;
  background:transparent; border:1px solid var(--line); color:var(--ink-soft);
  font-family:var(--sans); font-size:.96rem; line-height:1.45;
  transition:border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}
.bs-opt:hover{border-color:var(--gold-line); color:var(--ink); background:var(--accent-soft); transform:translateX(3px)}
.bs-back{margin-top:22px; background:none; border:0; color:var(--muted); font-size:.85rem; cursor:pointer; font-family:var(--sans); padding:0}
.bs-back:hover{color:var(--ink)}
.bs-res .eyebrow{margin-bottom:12px}
.bs-res h3{font-size:clamp(1.6rem,3vw,2.2rem); margin:0 0 18px; color:var(--gold)}
.bs-res p{color:var(--ink-soft)}
.bs-res .btn{margin-top:12px}
.bs-bars{margin:26px 0 30px; display:grid; gap:12px}
.bs-bar{display:grid; grid-template-columns:132px 1fr; align-items:center; gap:14px; font-size:.82rem; color:var(--muted)}
.bs-bar u{text-decoration:none}
.bs-bar div{height:5px; background:var(--line); border-radius:4px; overflow:hidden}
.bs-bar div span{display:block; height:100%; background:var(--gold); border-radius:4px; width:0; transition:width .7s cubic-bezier(.2,.8,.2,1)}
@media (max-width:520px){ .bs-bar{grid-template-columns:96px 1fr; font-size:.76rem} }

.bs-palco{display:grid; grid-template-columns:300px 1fr; gap:clamp(24px,3.5vw,46px); align-items:center}
.bs-instrumento{width:100%; height:auto; overflow:visible}
.bs-anel{fill:none; stroke:var(--line); stroke-width:1}
.bs-anel-progresso{
  fill:none; stroke:var(--gold); stroke-width:2; stroke-linecap:round;
  stroke-dasharray:477.5; stroke-dashoffset:477.5;
  transform:rotate(-90deg); transform-box:view-box; transform-origin:150px 130px;
  transition:stroke-dashoffset .7s cubic-bezier(.2,.8,.2,1);
}
.bs-rosa line{stroke:var(--line); stroke-width:1}
.bs-ponto{
  fill:var(--gold); opacity:.28;
  transition:r .6s cubic-bezier(.2,.8,.2,1), opacity .6s ease;
}
.bs-ponto.forte{opacity:1}
.bs-agulha{
  transform:rotate(0deg); transform-box:view-box; transform-origin:150px 130px;
  transition:transform 1s cubic-bezier(.24,.9,.24,1), opacity .6s ease;
  opacity:.3;
}
.bs-agulha path{fill:var(--gold)}
.bs-agulha.viva{opacity:1}
.bs-eixo{fill:var(--gold)}
.bs-rotulo{
  font-family:var(--sans); font-size:8px; letter-spacing:.14em; text-transform:uppercase;
  fill:var(--muted); transition:fill .4s ease;
}
.bs-rotulo.forte{fill:var(--gold)}
.bs-passo{font-size:.76rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin:0 0 14px}

@keyframes bsEntra{ from{opacity:0; transform:translateY(12px)} to{opacity:1; transform:none} }
#bsBody{transition:opacity .18s ease, transform .18s ease}
#bsBody.saindo{opacity:0; transform:translateY(-8px)}
.bs-q{animation:bsEntra .45s cubic-bezier(.2,.8,.2,1) both}
.bs-opt{animation:bsEntra .45s cubic-bezier(.2,.8,.2,1) both}
.bs-opts .bs-opt:nth-child(1){animation-delay:.06s}
.bs-opts .bs-opt:nth-child(2){animation-delay:.12s}
.bs-opts .bs-opt:nth-child(3){animation-delay:.18s}
.bs-opts .bs-opt:nth-child(4){animation-delay:.24s}
.bs-opt{position:relative; padding-left:46px}
.bs-opt::before{
  content:''; position:absolute; left:20px; top:50%; margin-top:-6px;
  width:12px; height:12px; border-radius:50%; border:1.5px solid var(--line);
  transition:border-color .18s ease, background .18s ease, box-shadow .25s ease;
}
.bs-opt:hover::before{border-color:var(--gold); background:var(--gold); box-shadow:0 0 0 4px rgba(216,176,106,.16)}
.bs-opt.escolhida::before{border-color:var(--gold); background:var(--gold); box-shadow:0 0 0 6px rgba(216,176,106,.22)}
.bs-res{animation:bsEntra .5s cubic-bezier(.2,.8,.2,1) both}
.bs-tema{
  margin:22px 0 0; padding:16px 20px; border-left:2px solid var(--gold-line);
  font-size:.98rem; color:var(--ink-soft);
}
.bs-tema em{font-style:normal; color:var(--gold); font-weight:600}
@media (max-width:880px){
  .bs-palco{grid-template-columns:1fr; gap:30px}
  .bs-instrumento{max-width:250px; margin:0 auto}
}

.passos{display:grid; grid-template-columns:repeat(3,1fr); gap:34px; margin-top:52px; counter-reset:p}
.passo{position:relative; padding-top:24px; border-top:1px solid var(--line)}
.passo::before{
  counter-increment:p; content:counter(p, decimal-leading-zero);
  font-family:var(--serif); font-size:2.4rem; color:var(--gold); opacity:.55; display:block; margin-bottom:8px; line-height:1;
}
.passo h3{margin:0 0 8px}
.passo p{color:var(--ink-soft); font-size:.95rem; margin:0}
@media (max-width:800px){ .passos{grid-template-columns:1fr; gap:26px} }

.deps{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:52px}
.dep{background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r); padding:32px 28px; box-shadow:var(--shadow); display:flex; flex-direction:column}
.dep p{font-family:var(--serif); font-size:1.06rem; line-height:1.55; color:var(--ink); font-style:italic; flex:1}
.dep footer{margin-top:20px; padding-top:18px; border-top:1px solid var(--line-2); font-size:.85rem}
.dep footer b{display:block; font-weight:600}
.dep footer span{color:var(--muted); font-size:.8rem}
@media (max-width:980px){ .deps{grid-template-columns:1fr} }

.faq{margin-top:44px; border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{
  list-style:none; cursor:pointer; padding:22px 44px 22px 0; position:relative;
  font-family:var(--serif); font-size:1.15rem; color:var(--ink);
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:''; position:absolute; right:8px; top:50%; width:11px; height:11px;
  border-right:1.5px solid var(--gold); border-bottom:1.5px solid var(--gold);
  transform:translateY(-70%) rotate(45deg); transition:transform .22s ease;
}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq p{color:var(--ink-soft); font-size:.96rem; margin:0 0 22px; max-width:74ch}

#contato{text-align:center}
#contato .eyebrow{justify-content:center}
#contato .eyebrow::after{display:none}
#contato h2{max-width:18ch; margin:0 auto}
#contato .lead{margin:24px auto 0; text-align:center}
#contato .hero-cta{justify-content:center}

footer.pe{padding:44px 0; border-top:1px solid var(--line-2); font-size:.84rem; color:var(--muted)}
footer.pe .wrap{display:flex; flex-wrap:wrap; gap:18px; align-items:center; justify-content:space-between}
footer.pe a{text-decoration:none}
footer.pe a:hover{color:var(--ink)}

.zap{
  position:fixed; right:20px; bottom:calc(20px + var(--safe-bottom)); z-index:70;
  width:54px; height:54px; border-radius:50%; display:grid; place-items:center;
  background:var(--accent); color:#fff; box-shadow:0 12px 30px -8px rgba(25,27,46,.5);
  text-decoration:none; transition:transform .2s ease;
}
.zap:hover{transform:scale(1.06)}
.zap svg{width:26px; height:26px; fill:currentColor}

.espelho .wrap{max-width:960px}
.frases{display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:44px}
.frase{
  display:flex; align-items:flex-start; gap:13px; text-align:left; width:100%;
  padding:17px 20px; border-radius:var(--r-sm); cursor:pointer;
  background:var(--surface); border:1px solid var(--line-2); color:var(--ink-soft);
  font-family:var(--sans); font-size:.97rem; line-height:1.45;
  transition:border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}
.frase:hover{border-color:var(--gold-line); transform:translateY(-2px)}
.frase i{
  flex:none; width:15px; height:15px; margin-top:4px; border-radius:50%;
  border:1.5px solid var(--line); transition:border-color .18s ease, box-shadow .25s ease, background .18s ease;
}
.frase[aria-pressed="true"]{border-color:var(--gold-line); background:rgba(156,116,51,.06); color:var(--ink)}
.frase[aria-pressed="true"] i{border-color:var(--gold); background:var(--gold); box-shadow:0 0 0 4px rgba(156,116,51,.16)}
.esp-saida{
  margin-top:34px; padding:30px 32px; border:1px solid var(--gold-line); border-radius:var(--r);
  background:var(--bg-2); display:none;
}
.esp-saida.on{display:block}
.esp-conta{font-family:var(--serif); font-size:clamp(1.3rem,2.6vw,1.85rem); line-height:1.3; margin:0 0 12px}
.esp-conta b{color:var(--gold); font-weight:400}
.esp-saida p{color:var(--ink-soft); margin:0 0 18px; max-width:64ch}
@media (max-width:760px){ .frases{grid-template-columns:1fr} }

.form-const{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,60px); align-items:center; margin-top:52px}
.form-svg{width:100%; height:auto; overflow:visible}
.form-svg line{stroke:rgba(216,176,106,.28); stroke-width:.8}
.form-svg circle{fill:var(--gold); transition:r .25s ease, filter .25s ease}
.form-svg g:hover circle, .form-svg g:focus-visible circle{r:5.4; filter:drop-shadow(0 0 7px rgba(216,176,106,.9))}
.form-svg text{
  font-family:var(--sans); font-size:8px; fill:var(--ink-soft); opacity:0;
  transition:opacity .2s ease; pointer-events:none;
}
.form-svg g:hover text, .form-svg g:focus-visible text{opacity:1}
.form-lista{margin:0; padding:0; list-style:none; font-size:.92rem; color:var(--ink-soft)}
.form-lista li{padding:7px 0 7px 17px; position:relative}
.form-lista li::before{content:''; position:absolute; left:0; top:15px; width:5px; height:5px; border-radius:50%; background:var(--gold)}
@media (max-width:860px){ .form-const{grid-template-columns:1fr} }

.temas-grade{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:48px}
.tema{
  display:flex; flex-direction:column; align-items:flex-start; text-align:left; width:100%; height:100%;
  padding:24px 24px 20px; border-radius:var(--r); cursor:pointer;
  background:var(--surface); border:1px solid var(--line-2); box-shadow:var(--shadow);
  font-family:var(--sans); transition:transform .18s ease, border-color .18s ease, background .18s ease;
}
.tema:hover{transform:translateY(-3px); border-color:var(--gold-line)}
.tema.ativo{border-color:var(--gold); background:rgba(156,116,51,.05)}
.tema b{font-family:var(--serif); font-weight:400; font-size:1.14rem; line-height:1.25; color:var(--ink); display:block}
.tema span{font-size:.9rem; color:var(--ink-soft); margin-top:9px; line-height:1.5; flex:1}
.tema u{
  text-decoration:none; margin-top:16px; font-size:.68rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted); font-weight:600; display:flex; align-items:center; gap:8px;
}
.tema u::before{content:''; flex:none; width:5px; height:5px; border-radius:50%; background:var(--gold-line)}
.tema.ativo u{color:var(--gold)}
.tema.ativo u::before{background:var(--gold)}
.temas-saida{
  margin-top:30px; padding:26px 30px; border:1px solid var(--gold-line); border-radius:var(--r);
  background:var(--bg-2); display:none;
}
.temas-saida.on{display:block}
.temas-saida p{margin:0 0 18px; font-family:var(--serif); font-size:1.24rem; color:var(--ink)}
.temas-saida p em{font-style:normal; color:var(--gold)}
.temas-nota{margin-top:26px; font-size:.86rem; color:var(--muted); max-width:70ch}
@media (max-width:980px){ .temas-grade{grid-template-columns:repeat(2,1fr)} }
@media (max-width:640px){ .temas-grade{grid-template-columns:1fr} }

.lin-chips{display:flex; flex-wrap:wrap; gap:10px; margin-top:34px}
.chip{
  padding:9px 20px; border-radius:999px; cursor:pointer; font-family:var(--sans); font-size:.88rem;
  background:transparent; border:1px solid var(--line); color:var(--ink-soft);
  transition:border-color .18s ease, color .18s ease, background .18s ease;
}
.chip:hover{border-color:var(--gold-line); color:var(--ink)}
.chip[aria-pressed="true"]{border-color:var(--gold); color:var(--gold); background:var(--accent-soft)}
.linha{position:relative; margin-top:54px; padding-left:34px}
.linha::before{content:''; position:absolute; left:7px; top:6px; bottom:6px; width:1px; background:linear-gradient(180deg,transparent,var(--gold-line) 12%,var(--gold-line) 88%,transparent)}
.ger{position:relative; padding-bottom:42px}
.ger:last-child{padding-bottom:0}
.ger::before{
  content:''; position:absolute; left:-31px; top:7px; width:9px; height:9px; border-radius:50%;
  background:var(--gold); box-shadow:0 0 0 5px rgba(216,176,106,.14);
}
.ger b{display:block; font-size:.73rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-bottom:9px; font-weight:600}
.ger p{color:var(--ink-soft); margin:0; max-width:62ch; font-size:1.02rem}
.ger.eco p{font-family:var(--serif); font-style:italic; font-size:1.2rem; color:var(--ink)}
.lin-nota{margin-top:34px; font-size:.84rem; color:var(--muted); max-width:60ch}

.momentos{position:relative; margin-top:56px; padding-left:38px}
.momentos::before{
  content:''; position:absolute; left:9px; top:8px; bottom:8px; width:1px; background:var(--line);
}
.momento{position:relative; padding:0 0 46px; max-width:72ch}
.momento:last-child{padding-bottom:0}
.momento::before{
  content:''; position:absolute; left:-34px; top:4px; width:11px; height:11px; border-radius:50%;
  background:var(--bg); border:1px solid var(--gold-line);
  transition:background .45s ease, border-color .45s ease, box-shadow .45s ease;
}
.momento::after{
  content:''; position:absolute; left:-29px; top:15px; width:1px; height:0;
  background:linear-gradient(180deg, var(--gold), var(--gold-line));
  transition:height .9s cubic-bezier(.35,.85,.25,1);
}
.momento:last-child::after{display:none}
.momento.aceso::before{
  background:var(--gold); border-color:var(--gold); box-shadow:0 0 0 5px rgba(156,116,51,.13);
}
.momento.aceso::after{height:calc(100% - 15px)}
.momento u{
  text-decoration:none; display:block; margin-bottom:9px;
  font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); font-weight:600;
}
.momento h3{font-size:1.22rem; margin:0 0 8px}
.momento p{color:var(--ink-soft); font-size:.97rem; line-height:1.6; margin:0; text-wrap:pretty}
@media (prefers-reduced-motion:reduce){
  .momento::before{background:var(--gold); border-color:var(--gold)}
  .momento::after{height:calc(100% - 15px)}
}
@media (max-width:560px){
  .momentos{padding-left:28px}
  .momentos::before{left:4px}
  .momento::before{left:-29px}
  .momento::after{left:-24px}
  .momento{padding-bottom:38px}
}

.topo-bt{
  position:fixed; right:25px; bottom:calc(86px + var(--safe-bottom)); z-index:70;
  width:44px; height:44px; border-radius:50%; padding:0; cursor:pointer;
  display:grid; place-items:center;
  background:var(--bg-2); border:1px solid var(--line); color:var(--muted);
  box-shadow:0 8px 22px -10px rgba(25,27,46,.5);
  opacity:0; visibility:hidden; transform:translateY(12px) scale(.9);
  transition:opacity .3s ease, transform .3s ease, visibility .3s,
             color .2s ease, border-color .2s ease, background .3s ease;
}
.topo-bt.visivel{opacity:1; visibility:visible; transform:none}
.topo-bt:hover{color:var(--gold); border-color:var(--gold-line)}
.topo-bt svg{width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round}

body.menu-aberto .topo-bt, body.menu-aberto .zap{opacity:0; visibility:hidden}

.dep .antes{
  font-family:var(--sans); font-style:normal; font-size:.92rem; color:var(--muted);
  border-left:2px solid var(--line); padding:2px 0 2px 15px; margin:0 0 20px; flex:none; line-height:1.5;
}
.dep .antes u{display:block; text-decoration:none; font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; margin-bottom:6px; color:var(--gold)}
.dep .depois u{display:block; text-decoration:none; font-family:var(--sans); font-style:normal; font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; margin-bottom:10px; color:var(--gold)}

.duas{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,54px); margin-top:52px}
.duas ul{list-style:none; margin:0; padding:0}
.duas li{display:flex; gap:14px; align-items:flex-start; padding:14px 0; border-bottom:1px solid var(--line-2); color:var(--ink-soft); font-size:.97rem}
.duas li:last-child{border-bottom:0}
.duas svg{width:19px; height:19px; flex:none; margin-top:3px; fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round}
.duas .sim svg{stroke:var(--gold)}
.duas .nao svg{stroke:var(--muted)}
.duas h3{font-size:1.06rem; letter-spacing:.02em; margin:0 0 8px; font-family:var(--sans); font-weight:600}
.duas .nao li{color:var(--muted)}
@media (max-width:800px){ .duas{grid-template-columns:1fr} }

.ag-grade{display:grid; grid-template-columns:repeat(auto-fit,minmax(132px,1fr)); gap:14px; margin-top:44px}
.ag-dia{background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r); padding:20px 18px; box-shadow:var(--shadow)}
.ag-dia b{display:block; font-size:.74rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin-bottom:14px; font-weight:600}
.ag-dia .vazio{font-size:.86rem; color:var(--muted)}

.ag-fora{
  display:block; width:100%; margin-top:12px; padding:8px 6px; background:none;
  border:0; border-top:1px dashed var(--line); color:var(--muted);
  font-family:var(--sans); font-size:.74rem; letter-spacing:.04em; cursor:pointer;
  text-align:center; transition:color .2s ease;
}
.ag-fora:hover, .ag-fora:focus-visible{color:var(--gold)}
.ag-hora{
  display:block; width:100%; margin-bottom:8px; padding:11px 8px; border-radius:var(--r-sm); cursor:pointer;
  background:transparent; border:1px solid var(--line); color:var(--ink); font-family:var(--sans); font-size:.94rem;
  transition:border-color .18s ease, background .18s ease, color .18s ease;
}
.ag-hora:last-child{margin-bottom:0}
.ag-hora:hover{border-color:var(--gold-line); background:var(--accent-soft)}
.ag-hora[aria-pressed="true"]{background:var(--accent); border-color:var(--accent); color:#fff; font-weight:600}
.ag-form{
  margin-top:34px; padding:clamp(26px,3.4vw,38px); border:1px solid var(--line);
  border-radius:var(--r); background:var(--bg-2);
}
.ag-campos{display:grid; gap:16px; margin-top:24px}
.ag-campos label{display:block; font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:7px}
.ag-campos input, .ag-campos textarea, .ag-campos select{
  width:100%; padding:13px 15px; border-radius:var(--r-sm); border:1px solid var(--line);
  background:var(--surface); color:var(--ink); font-family:var(--sans); font-size:.97rem; line-height:1.5;
}
.ag-campos textarea{resize:vertical; min-height:78px}
.ag-campos input:focus, .ag-campos textarea:focus, .ag-campos select:focus{outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(156,116,51,.12)}
.ag-erro{color:#a3402f; font-size:.87rem; margin:14px 0 0}
.ag-nota{font-size:.84rem; color:var(--muted); margin:18px 0 0; max-width:62ch}

#ascensao .wrap{text-align:center}
#ascensao .eyebrow{justify-content:center}
#ascensao h2{margin-inline:auto; max-width:24ch; text-wrap:balance}
#ascensao .lead{margin-inline:auto; max-width:62ch; text-wrap:pretty}
#ascensao .asc-item p{text-wrap:pretty}
#ascensao .hero-cta{justify-content:center}

.asc-lista{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:56px;
  background:var(--line-2); border:1px solid var(--line-2); border-radius:var(--r); overflow:hidden;
}
.asc-item{background:rgba(10,14,36,.42); padding:30px 22px 32px; counter-increment:asc; text-align:center}
body.low-power .asc-item{background:#0e1433}
.asc-item::before{
  content:counter(asc, decimal-leading-zero); display:grid; place-items:center; margin:0 auto 16px;
  width:36px; height:36px; border-radius:50%; border:1px solid var(--gold-line);
  font-family:var(--serif); font-size:.95rem; color:var(--gold); line-height:1;
}
.asc-item p{margin:0; color:var(--ink-soft); font-size:.97rem; line-height:1.6}

.asc-frase{
  display:flex; align-items:center; gap:clamp(18px,3vw,34px);
  font-family:var(--serif); font-style:italic; font-size:clamp(1.35rem,3vw,2.05rem);
  line-height:1.35; color:var(--ink); margin:60px auto 0; max-width:none; text-align:center;
}
.asc-frase::before, .asc-frase::after{
  content:''; flex:1; height:1px; min-width:20px;
  background:linear-gradient(90deg, transparent, var(--gold-line));
}
.asc-frase::after{background:linear-gradient(90deg, var(--gold-line), transparent)}
.asc-frase em{font-style:italic; color:var(--gold)}

.asc-ficha{
  display:flex; flex-wrap:wrap; justify-content:center; gap:1px; margin:40px auto 0;
  max-width:760px; background:var(--line-2); border:1px solid var(--line-2);
  border-radius:var(--r); overflow:hidden;
}
.asc-ficha[hidden]{display:none}
.asc-ficha div{
  background:rgba(10,14,36,.42); padding:20px 26px; flex:1 1 180px; min-width:0;
}
body.low-power .asc-ficha div{background:#0e1433}
.asc-ficha u{
  text-decoration:none; display:block; font-size:.7rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--muted); margin-bottom:9px;
}
.asc-ficha b{
  display:block; font-family:var(--serif); font-weight:400; font-size:1.16rem;
  color:var(--ink); line-height:1.3;
}

.asc-contagem{
  display:flex; flex-wrap:wrap; align-items:center; gap:clamp(18px,3vw,34px);
  margin:0 auto 26px; padding:24px clamp(24px,3vw,30px); max-width:640px; text-align:left;
  border:1px solid var(--gold-line); border-radius:var(--r);
  background:rgba(216,176,106,.055);
}
.asc-contagem[hidden]{display:none}
.asc-dias{display:flex; align-items:center; gap:14px; flex:none}
.asc-dias b{
  font-family:var(--serif); font-weight:400; line-height:.86; color:var(--gold);
  font-size:clamp(2.7rem,7vw,3.5rem); letter-spacing:-.02em;
}
.asc-dias b.palavra{font-size:clamp(1.5rem,4vw,2rem); font-style:italic}
.asc-dias span{font-size:.93rem; line-height:1.32; color:var(--ink-soft); max-width:20ch}
.asc-risco{width:1px; align-self:stretch; background:var(--gold-line); flex:none}
.asc-vagas{flex:1; min-width:160px}
.asc-vagas u{text-decoration:none; display:block; font-size:.95rem; color:var(--ink-soft); margin-bottom:11px}
.asc-vagas u b{color:var(--gold); font-weight:400; font-family:var(--serif); font-size:1.32rem; line-height:1}
.asc-barra{height:4px; border-radius:4px; background:var(--line); overflow:hidden}
.asc-barra i{display:block; height:100%; width:0; background:var(--gold); border-radius:4px;
  transition:width 1.2s cubic-bezier(.35,.85,.25,1)}

.asc-contagem.perto{border-color:var(--gold); background:rgba(216,176,106,.11)}
.asc-fechamento{margin-top:44px}
.asc-fechamento .hero-cta{margin-top:20px}
@media (max-width:960px){ .asc-lista{grid-template-columns:repeat(2,1fr)} }
@media (max-width:760px){
  .asc-lista{grid-template-columns:1fr}
  .asc-risco{display:none}
  .asc-contagem{gap:18px}
  .asc-vagas{min-width:100%}
  .asc-frase::before, .asc-frase::after{display:none}
  .asc-ficha div{flex:1 1 100%}
}

.ferias{
  margin-top:44px; padding:26px 30px; border:1px solid var(--gold-line);
  border-radius:var(--r); background:rgba(156,116,51,.05); max-width:640px;
}
.ferias[hidden]{display:none}
.ferias b{display:block; font-family:var(--serif); font-weight:400; font-size:1.3rem; margin-bottom:8px}
.ferias p{margin:0 0 18px; color:var(--ink-soft); font-size:.96rem}

.ag-fuso{
  margin-top:16px; font-size:.85rem; color:var(--muted);
  display:flex; flex-wrap:wrap; align-items:center; gap:10px;
}
.ag-fuso[hidden]{display:none}
.ag-fuso b{color:var(--gold); font-weight:500}
.ag-hora u{display:block; text-decoration:none; font-size:.68rem; color:var(--muted); margin-top:3px}
.ag-hora[aria-pressed="true"] u{color:inherit; opacity:.75}

.bs-sinais{list-style:none; margin:22px 0 26px; padding:0; display:grid; gap:10px}
.bs-sinais li{display:flex; gap:12px; align-items:flex-start; color:var(--ink-soft); font-size:.95rem}
.bs-sinais li::before{content:''; flex:none; width:5px; height:5px; border-radius:50%; background:var(--gold); margin-top:9px}
.bs-res h4{font-family:var(--serif); font-weight:400; font-size:1.12rem; margin:26px 0 12px; color:var(--ink)}

.card{display:flex; flex-direction:column; text-decoration:none}
.card .mais{
  margin-top:18px; font-size:.83rem; letter-spacing:.02em; color:var(--gold); font-weight:600;
  display:inline-flex; align-items:center; gap:7px;
}
.card .mais svg{width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:1.7; transition:transform .2s ease}
.card:hover .mais svg{transform:translateX(3px)}

.redes{display:inline-flex; gap:10px; align-items:center; vertical-align:middle}
.redes a{
  display:grid; place-items:center; width:34px; height:34px; border-radius:50%;
  border:1px solid var(--line-2); color:var(--muted); text-decoration:none;
  transition:color .2s ease, border-color .2s ease, transform .2s ease;
}
.redes a:hover{color:var(--gold); border-color:var(--gold-line); transform:translateY(-2px)}
.redes svg{width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round}

.video-slot{margin-top:46px}
.video-slot video{
  width:100%; max-width:660px; margin:0 auto; display:block; background:#05070f;
  border-radius:var(--r); border:1px solid var(--line); box-shadow:var(--shadow);
}
.video-legenda{margin:16px auto 0; max-width:660px; font-size:.86rem; color:var(--muted); text-align:center}

.comunidade{background:var(--bg-2); border-block:1px solid var(--line-2)}
.comunidade[hidden]{display:none}
.comunidade .wrap{
  display:flex; flex-wrap:wrap; gap:24px; align-items:center; justify-content:space-between;
  padding-block:clamp(34px,4vw,48px);
}
.comunidade h3{font-family:var(--serif); font-size:clamp(1.3rem,2.4vw,1.7rem); margin:0 0 8px; font-weight:400}
.comunidade p{margin:0; color:var(--ink-soft); font-size:.96rem; max-width:58ch}

.biblio{display:grid; grid-template-columns:1fr 1.5fr; gap:clamp(28px,4vw,64px); margin-top:44px}
.biblio h3{
  font-family:var(--sans); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold); font-weight:600; margin:0 0 16px;
}
.biblio ul{list-style:none; margin:0; padding:0}
.biblio-temas ul{columns:2; column-gap:30px}
.biblio li{padding:7px 0; break-inside:avoid}
.biblio a{text-decoration:none; color:var(--ink-soft); font-size:.95rem; border-bottom:1px solid transparent; transition:color .18s ease, border-color .18s ease}
.biblio a:hover{color:var(--ink); border-bottom-color:var(--gold-line)}
@media (max-width:860px){ .biblio{grid-template-columns:1fr} .biblio-temas ul{columns:1} }

.menu-bt{
  display:none; margin-left:14px; flex:none; width:44px; height:44px; padding:0;
  align-items:center; justify-content:center; cursor:pointer;
  background:none; border:1px solid currentColor; border-radius:50%;
  color:inherit; opacity:.75; transition:opacity .2s ease;
}
.menu-bt:hover{opacity:1}
.menu-bt svg{width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round}
.menu-bt line{transition:transform .3s cubic-bezier(.4,.9,.3,1), opacity .2s ease}
.menu-bt line{transform-box:view-box; transform-origin:center}
body.menu-aberto .menu-bt line.a{transform:translateY(4px) rotate(45deg)}
body.menu-aberto .menu-bt line.b{transform:translateY(-4px) rotate(-45deg)}

.menu-painel{
  position:fixed; inset:0; z-index:59; display:flex; flex-direction:column;
  padding:calc(84px + var(--safe-top)) 26px calc(30px + var(--safe-bottom));
  background:linear-gradient(175deg,#0d1330 0%,#080b1a 72%);
  opacity:0; visibility:hidden; transform:translateY(-10px);
  transition:opacity .28s ease, transform .28s cubic-bezier(.4,.9,.3,1), visibility .28s;
  overflow-y:auto; overscroll-behavior:contain;
}
body.menu-aberto .menu-painel{opacity:1; visibility:visible; transform:none}
body.menu-aberto{overflow:hidden}
.menu-painel ol{list-style:none; margin:0 0 auto; padding:0; counter-reset:mn}
.menu-painel li{counter-increment:mn; border-bottom:1px solid rgba(200,210,255,.09)}
.menu-painel li a{
  display:flex; align-items:baseline; gap:16px; padding:15px 2px;
  min-height:52px; text-decoration:none; color:#eef1fb;
  font-family:var(--serif); font-size:1.32rem; line-height:1.25;
}
.menu-painel li a::before{
  content:counter(mn, decimal-leading-zero); font-family:var(--sans); font-size:.68rem;
  letter-spacing:.14em; color:#d8b06a; opacity:.65; flex:none;
}
.menu-painel li a:active{color:#d8b06a}
.menu-pe{margin-top:30px; display:grid; gap:12px}
.menu-pe .btn{width:100%; justify-content:center}
.menu-pe .btn-primary{background:#d8b06a; color:#1a1305}

body.menu-aberto header{background:#0d1330; border-bottom-color:rgba(200,210,255,.10)}
.menu-pe small{display:block; text-align:center; color:#8b90b4; font-size:.8rem; margin-top:4px}
@media (max-width:900px){ .menu-bt{display:inline-flex} }

@media (max-width:620px){ .bar .btn{display:none} .menu-bt{margin-left:auto} }
@media (min-width:901px){ .menu-painel{display:none} }
@media (prefers-reduced-motion:reduce){
  .menu-painel{transition:none}
  .menu-bt line{transition:none}
}

@media (max-width:760px){
  .biblio li{padding:0}
  .biblio li a{display:block; padding:12px 0; min-height:44px}
  .redes a{width:44px; height:44px}
  .pe .wrap a{display:inline-block; padding:6px 0; min-height:34px}
  .bs-memoria button{padding:8px 0; min-height:38px}
  .tres a{padding:24px 22px}
}

.mapa{
  position:fixed; right:22px; z-index:55;
  top:calc(50% + (var(--safe-top) - var(--safe-bottom)) / 2);
  transform:translateY(-50%);
  display:none; flex-direction:column; gap:14px; align-items:flex-end;
}
.mapa a{
  display:flex; align-items:center; gap:10px; text-decoration:none;
  color:#9c7433; font-size:.72rem; letter-spacing:.08em;
}
.mapa i{
  width:7px; height:7px; border-radius:50%; flex:none;
  border:1px solid rgba(156,116,51,.55); background:transparent;
  transition:background .25s ease, transform .25s ease, border-color .25s ease;
}
.mapa u{
  text-decoration:none; opacity:0; transform:translateX(6px);
  transition:opacity .22s ease, transform .22s ease; white-space:nowrap;
}
.mapa a:hover u, .mapa a:focus-visible u{opacity:.9; transform:none}
.mapa a.aqui i{background:#9c7433; transform:scale(1.5); border-color:#9c7433}

@media (min-width:1180px){ .mapa{display:flex} }

.zap{
  opacity:0; visibility:hidden; transform:translateY(14px) scale(.9);
  transition:opacity .3s ease, transform .3s ease, visibility .3s;
}
.zap.visivel{opacity:1; visibility:visible; transform:none}
.zap.visivel:hover{transform:scale(1.06)}

.inicio{background:var(--bg-2); border-block:1px solid var(--line-2)}
.tres{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:34px}
.tres a{
  display:block; text-decoration:none; padding:26px 24px 24px;
  border:1px solid var(--line); border-radius:var(--r); background:var(--surface);
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.tres a:hover{transform:translateY(-3px); border-color:var(--gold-line); box-shadow:var(--shadow)}
.tres svg{width:24px; height:24px; fill:none; stroke:var(--gold); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round}
.tres b{display:block; font-family:var(--serif); font-weight:400; font-size:1.2rem; color:var(--ink); margin:16px 0 8px}
.tres span{display:block; color:var(--ink-soft); font-size:.93rem; line-height:1.5}
.tres em{
  display:inline-block; margin-top:14px; font-style:normal; font-size:.82rem;
  letter-spacing:.1em; text-transform:uppercase; color:var(--gold);
}
@media (max-width:820px){ .tres{grid-template-columns:1fr} }

.bs-memoria{
  display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:center;
  margin:0 0 26px; padding:14px 20px; border:1px solid var(--gold-line);
  border-radius:var(--r-sm); background:rgba(216,176,106,.06);
  font-size:.9rem; color:var(--ink-soft);
}
.bs-memoria[hidden]{display:none}
.bs-memoria b{color:var(--gold); font-weight:500}
.bs-memoria button{
  background:none; border:0; padding:0; cursor:pointer; font-family:var(--sans);
  font-size:.85rem; color:var(--muted); text-decoration:underline; text-underline-offset:3px;
}
.bs-memoria button:hover{color:var(--ink)}
.bs-caminho{
  margin-top:30px; padding-top:26px; border-top:1px solid var(--line);
}
.bs-caminho h4{
  font-family:var(--sans); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold); font-weight:600; margin:0 0 16px;
}
.bs-caminho ol{list-style:none; margin:0; padding:0; counter-reset:cam}
.bs-caminho li{position:relative; padding:0 0 14px 34px; counter-increment:cam}
.bs-caminho li::before{
  content:counter(cam); position:absolute; left:0; top:1px;
  width:21px; height:21px; border-radius:50%; display:grid; place-items:center;
  border:1px solid var(--gold-line); color:var(--gold); font-size:.7rem;
}
.bs-caminho a{color:var(--ink); text-decoration:none; border-bottom:1px solid var(--gold-line)}
.bs-caminho a:hover{color:var(--gold)}
.bs-caminho small{display:block; color:var(--muted); font-size:.85rem; margin-top:3px}
.bs-share{
  margin-top:22px; display:flex; flex-wrap:wrap; gap:16px; align-items:center;
  font-size:.85rem; color:var(--muted);
}
.bs-share button{
  background:none; border:1px solid var(--line); border-radius:99px; cursor:pointer;
  padding:8px 16px; font-family:var(--sans); font-size:.83rem; color:var(--ink-soft);
  display:inline-flex; align-items:center; gap:8px;
  transition:border-color .2s ease, color .2s ease;
}
.bs-share button:hover{border-color:var(--gold-line); color:var(--gold)}
.bs-share svg{width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round}

.dep-tempo{
  display:flex; align-items:center; gap:9px; margin-top:16px;
  font-size:.78rem; letter-spacing:.06em; color:var(--muted);
}
.dep-tempo i{flex:none; width:26px; height:1px; background:var(--gold-line); display:block}

.audio-slot{margin-top:46px; max-width:660px}
.audio-caixa{
  display:flex; align-items:center; gap:18px; padding:18px 22px;
  border:1px solid var(--line); border-radius:var(--r); background:var(--surface);
}
.audio-play{
  flex:none; width:46px; height:46px; border-radius:50%; cursor:pointer;
  border:1px solid var(--gold-line); background:transparent; color:var(--gold);
  display:grid; place-items:center; transition:background .2s ease}
.audio-play:hover{background:rgba(216,176,106,.12)}
.audio-play svg{width:16px; height:16px; fill:currentColor}
.audio-onda{flex:1; height:38px; display:block; width:100%; color:var(--gold)}
.audio-slot p{margin:12px 2px 0; font-size:.86rem; color:var(--muted)}

#conceitos, #temas, #linhagem, #como, #depoimentos, #paraquem,
#faq, #comunidade, #agenda, #contato, #biblioteca{

}

.tema, .dep, .frase, .tres a{contain:layout style}
.passo, .asc-item{contain:layout}

html.chegando::before{content:'';position:fixed;inset:0;z-index:199;background:#080b1a;pointer-events:none}

@media print{
  *{background:transparent !important; color:#000 !important; box-shadow:none !important}
  header, .mapa, .zap, .bs-palco, .bs-card, #agenda, #comunidade, .tres em, .hero-cta, .btn, .provas{display:none !important}
  .campo{background:none !important; border:0 !important}
  section{padding-block:14pt !important; page-break-inside:avoid; border-block:0 !important}
  h1{font-size:22pt} h2{font-size:16pt} h3{font-size:12pt}
  body{font-size:11pt; line-height:1.5}
  a{text-decoration:none}
  a[href^="http"]::after{content:" (" attr(href) ")"; font-size:8pt; color:#555 !important}
  .dep{border:1px solid #ccc !important; page-break-inside:avoid}
  .pe::after{content:"katiamarchiniconecta.com.br · (21) 96758-9478"; display:block; margin-top:8pt; font-size:9pt}
}

.rev{opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1)}
.rev.in{opacity:1; transform:none}

.pular{
  position:fixed; top:calc(-100px - var(--safe-top)); left:14px; z-index:400;
  background:var(--gold-luz); color:#0b1026; text-decoration:none;
  padding:11px 20px; border-radius:0 0 var(--r-sm) var(--r-sm);
  font-size:.9rem; font-weight:500; box-shadow:0 8px 30px -10px rgba(0,0,0,.5);
  transition:top .18s ease;
}
.pular:focus{top:var(--safe-top)}

a:focus-visible, button:focus-visible, summary:focus-visible,
input:focus-visible, textarea:focus-visible, select:focus-visible,
[tabindex]:focus-visible{
  outline:2px solid var(--gold-luz); outline-offset:3px; border-radius:4px;
}
.campo a:focus-visible, .campo button:focus-visible, .capa a:focus-visible{
  outline-color:#f7e6c4;
}

@media print{
  html, body{background:#fff!important; color:#000!important; font-size:11pt}
  header, .mapa, .menu-painel, .zap, .topo-bt, .pular, canvas, .voz, .ag-form{display:none!important}
  .campo, .capa, .sec{background:#fff!important; color:#000!important;
    box-shadow:none!important; min-height:0!important; padding:12pt 0!important}
  .campo *, .capa *{color:#000!important; text-shadow:none!important}
  h1, h2, h3{color:#000!important; page-break-after:avoid}
  h1{font-size:22pt} h2{font-size:15pt} h3{font-size:12pt}
  p, li{orphans:3; widows:3}
  .btn, .btns{display:none!important}
  a[href^="http"]::after{content:" (" attr(href) ")"; font-size:9pt; color:#555}
  .card, .tema, .passo, .dep, .fs li{page-break-inside:avoid}
  footer.pe{border-top:1px solid #999; padding-top:8pt; font-size:9pt}
}

:root{
  --bg:#060b1e; --bg-2:rgba(12,20,52,.62); --surface:rgba(16,27,70,.86); --surface-2:rgba(10,17,44,.55);
  --ink:#e9efff; --ink-soft:#b9c7ef; --muted:#7f91c6;
  --line:rgba(150,178,255,.13); --line-2:rgba(150,178,255,.07);
  --accent:#8fb4ff; --accent-soft:rgba(143,180,255,.12);
  --gold:#8fb4ff; --gold-line:rgba(143,180,255,.38); --gold-luz:#cfe0ff;
  --shadow:none;
  --display:'Mona Sans','Segoe UI',system-ui,Roboto,Helvetica,Arial,sans-serif;
  --serif:var(--display);
  --sans:var(--display);
  --larga:102%; --estreita:88%;
  --r:18px; --r-sm:12px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --out:cubic-bezier(.16,1,.3,1);
  --wrap:1240px;
}
.campo{
  --bg:#060b1e; --bg-2:rgba(12,20,52,.62); --surface:rgba(16,27,70,.86); --surface-2:rgba(10,17,44,.55);
  --ink:#e9efff; --ink-soft:#b9c7ef; --muted:#7f91c6;
  --line:rgba(150,178,255,.13); --line-2:rgba(150,178,255,.07);
  --accent:#8fb4ff; --accent-soft:rgba(143,180,255,.12);
  --gold:#8fb4ff; --gold-line:rgba(143,180,255,.38); --gold-luz:#cfe0ff;
  --shadow:none;
  background:none; isolation:auto; overflow:visible;
}
.campo::after, .campo.sec::before{display:none}

html{background:#060b1e; scroll-padding-top:90px; font-synthesis:none}
body{
  background:transparent; color:var(--ink);
  font-family:var(--sans); font-size:1.03125rem; line-height:1.62; font-weight:400; font-stretch:100%;
}

body::before{
  content:''; position:fixed; top:-40px; left:-40px; width:calc(100vw + 80px); height:calc(100lvh + 80px); z-index:-2; pointer-events:none;
  background:
    radial-gradient(circle at 50% 46%, rgba(6,11,30,.45) min(25vw,25vh), rgba(6,11,30,.8) max(78vw,78vh)),
    var(--nebulosa, radial-gradient(60% 50% at 20% 10%, rgba(40,80,210,.28), transparent 70%)) center / cover no-repeat,
    radial-gradient(50% 45% at 85% 85%, rgba(30,60,170,.35), transparent 70%),
    #060b1e;
}

#campo3d{position:fixed; inset:0; width:100%; height:100%; z-index:-1; pointer-events:none}
::selection{background:var(--gold); color:#060b1e}

h1,h2,h3{font-family:var(--display); font-weight:600; font-stretch:var(--larga); letter-spacing:-.025em; line-height:1.06; color:var(--ink)}
h1{font-size:clamp(2.6rem,5.8vw,5.8rem)}
h2{font-size:clamp(1.75rem,3.1vw,2.9rem); line-height:1.08}
h3{font-size:1.3rem; font-weight:600; font-stretch:102%; letter-spacing:-.015em; line-height:1.2}

em, i{font-style:normal}
p em, li em, .bs-tema em{font-weight:600; color:var(--ink)}

h1 em, h2 em, h3 em, .asc-frase em, main p.destaque em{
  font-style:normal; font-weight:inherit; color:var(--gold-luz); -webkit-text-fill-color:var(--gold-luz);
  background:none; -webkit-background-clip:border-box; background-clip:border-box; animation:none; transition:none;
}

.asc-frase, .asc-frase em, .ger.eco p, .dep p, .assinatura, .asc-dias b.palavra, main p.destaque, .capa .resumo, blockquote, cite, q, address{font-style:normal}
.lead{font-size:clamp(1rem,1.3vw,1.12rem); color:var(--ink-soft); font-weight:400; max-width:58ch}
p{text-wrap:pretty}

.eyebrow, .rotulo{
  display:block; font-family:var(--display); font-stretch:var(--estreita); font-size:.7rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold); font-weight:600; margin:0 0 22px;
}
.eyebrow::after, .eyebrow::before{display:none !important}

.btn, .bar .btn{
  border-radius:999px; padding:0 24px; height:50px; font-family:var(--display); font-size:.86rem; letter-spacing:0;
  text-transform:none; font-weight:600; font-stretch:104%; isolation:auto; overflow:visible;
  transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
}
.btn::after{display:none}
.btn:hover{transform:none}
.btn-primary, .campo .btn-primary, header .btn-primary, header.solid .btn-primary{
  background:var(--gold); color:#071232; border-color:var(--gold);
}
.btn-primary:hover, header .btn-primary:hover{background:var(--gold-luz); border-color:var(--gold-luz); color:#071232}
.btn-ghost{border-color:var(--line); color:var(--ink); background:transparent}
.btn-ghost:hover{border-color:var(--ink); background:transparent}
.btn svg{display:none}
.btn-primary svg{display:inline-block; width:16px; height:16px; margin-left:6px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round}
.bar .btn{height:42px; padding:0 18px; font-size:.8rem}
.chip{border-radius:999px}
.menu-pe .btn-primary{background:var(--gold); color:#071232}

header, header.solid{color:var(--ink); background:transparent; border-bottom-color:transparent; backdrop-filter:none}
header.solid{background:rgba(6,11,30,.72); backdrop-filter:blur(12px); border-bottom-color:var(--line-2)}
body.low-power header.solid{background:#060b1e; backdrop-filter:none}
.bar{padding:18px 26px; gap:18px}
.logo{font-family:var(--display); font-weight:600; font-stretch:var(--larga); font-size:.72rem; letter-spacing:.3em; text-transform:uppercase}
.logo b{font-weight:600}
.logo i, header .logo i, header.solid .logo i{color:var(--gold)}
nav.links{display:none !important}
.menu-bt{
  display:inline-flex !important; width:auto; height:42px; padding:0 4px 0 14px; gap:12px;
  border:1px solid var(--line); border-radius:999px; opacity:1; margin-left:0;
}
.menu-bt:hover{border-color:var(--ink)}
.menu-bt .menu-pal{font-family:var(--display); font-stretch:var(--estreita); font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; font-weight:600}
.menu-bt svg{width:34px; height:34px; stroke-width:1.2}
.bar .btn{margin-left:auto}
@media (max-width:620px){ .bar .btn{display:none} .menu-bt{margin-left:auto} }

.menu-painel{
  display:flex !important; background:#060b1e; z-index:59;
  padding:calc(100px + var(--safe-top)) clamp(26px,6vw,96px) calc(36px + var(--safe-bottom));
  transform:none; transition:opacity .4s var(--ease), visibility .4s;
}
body.menu-aberto .menu-painel{opacity:1; visibility:visible}
body.menu-aberto header{background:transparent; border-bottom-color:transparent}
.menu-painel ol{counter-reset:mn; max-width:1240px; width:100%; margin:0 auto auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:clamp(20px,5vw,80px)}
.menu-painel li{counter-increment:mn; border-bottom:1px solid var(--line-2)}
.menu-painel li a{
  padding:clamp(10px,1.6vh,18px) 0; min-height:0; gap:22px; align-items:baseline;
  font-family:var(--display); font-weight:500; font-stretch:102%; letter-spacing:-.02em; font-size:clamp(1.5rem,3.1vw,2.9rem); line-height:1.1; color:var(--ink);
  transition:transform .5s var(--out), color .3s var(--ease);
}
.menu-painel li a::before{display:none}
.menu-painel li a:hover, .menu-painel li a:focus-visible{transform:translateX(12px); color:var(--gold-luz)}
.menu-pe{max-width:1240px; width:100%; margin:28px auto 0; grid-template-columns:auto auto 1fr; align-items:center; gap:14px}
.menu-pe .btn{width:auto}
.menu-pe small{text-align:right; color:var(--muted); font-size:.74rem; letter-spacing:.08em}
@media (max-width:760px){
  .menu-painel ol{grid-template-columns:1fr}
  .menu-pe{grid-template-columns:1fr}
  .menu-pe small{text-align:left}
}
@media (prefers-reduced-motion:reduce){ .menu-painel li a{transition:none} }

.mapa{right:28px; gap:9px; align-items:flex-end}
.mapa a{color:var(--muted); font-family:var(--display); font-stretch:var(--estreita); font-weight:500; font-size:.64rem; letter-spacing:.18em; text-transform:uppercase; gap:14px}
.mapa i{width:14px; height:1px; border:0; border-radius:0; background:var(--line); transition:width .4s var(--out), background .3s}
.mapa a.aqui i{width:30px; background:var(--gold); transform:none}
.mapa a.aqui{color:var(--gold)}
.mapa a:hover u{opacity:1}

.hero{
  position:relative; z-index:1; min-height:0; display:block;
  width:min(var(--wrap), 100% - 48px); margin:calc(24px + var(--safe-top)) auto 0;
  padding:clamp(104px,11vw,136px) clamp(24px,4.4vw,68px) clamp(130px,13vw,170px);
  border:1px solid var(--line); border-radius:28px;
  background:linear-gradient(162deg, rgba(22,38,100,.58) 0%, rgba(9,16,46,.74) 55%, rgba(7,12,36,.82) 100%);
  box-shadow:0 50px 140px -50px rgba(0,0,0,.85), inset 0 1px 0 rgba(150,178,255,.10);
}

.hero-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.92fr); gap:clamp(24px,4vw,60px); align-items:center}
.hero h1{max-width:12ch; margin:0 0 22px; font-size:clamp(2.5rem,4.5vw,4.3rem); line-height:1.04; letter-spacing:-.025em}
.hero h1 em{display:inline; font-weight:inherit}
.hero-sub{margin:0 0 30px; max-width:46ch; font-size:clamp(1rem,1.2vw,1.08rem); color:var(--ink-soft)}
.hero-cta{display:flex; flex-wrap:wrap; gap:12px; margin:0}

.hero-fatos{margin:28px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px 22px; font-size:.78rem; color:var(--muted); letter-spacing:.01em}
.hero-fatos b{color:var(--ink-soft); font-weight:600}
.hero-mao{position:relative; margin:0; justify-self:center; width:min(100%, 600px)}
.hero-mao .halo{
  position:absolute; inset:-10% -18% -14%; pointer-events:none; filter:blur(14px);
  background:radial-gradient(42% 42% at 52% 58%, rgba(74,122,255,.46), rgba(44,78,200,.20) 46%, transparent 72%);
}
body.low-power .hero-mao .halo{filter:none}
.hero-mao .mao{position:relative; display:block; width:100%; height:auto; overflow:visible}
.hero-mao-dica{
  position:absolute; left:50%; bottom:-8px; translate:-50% 0; margin:0; white-space:nowrap;
  font-family:var(--display); font-stretch:var(--estreita); font-weight:500; font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted);
}
.hero-mao-dica .toque{display:none}
@media (hover:none){ .hero-mao-dica .mouse{display:none} .hero-mao-dica .toque{display:inline} }

.mao-aneis circle{fill:none; stroke:var(--gold-luz); stroke-opacity:.09; stroke-width:.7}
.mao-contorno{fill:url(#maoGrad); stroke:var(--gold-luz); stroke-width:1.3; stroke-linejoin:round; stroke-linecap:round; stroke-dasharray:1}

.mao-fio{outline:none; cursor:pointer}
.mao-fio .halo{fill:rgba(0,0,0,0); pointer-events:all}
.mao-fio .anel{fill:none; stroke:var(--gold-luz); stroke-opacity:.4; stroke-width:.8; transition:r .35s var(--out), stroke-opacity .35s var(--ease)}
.mao-fio text{
  font-family:var(--display); font-size:12.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; fill:var(--ink);
  opacity:0; transition:opacity .35s var(--ease); paint-order:stroke; stroke:rgba(6,11,30,.85); stroke-width:4px; stroke-linejoin:round;
}
@media (prefers-reduced-motion:no-preference){
  .mao-contorno{animation:traca 2.2s var(--ease) .9s both}

  @keyframes traca{from{stroke-dashoffset:1}}
}

.brilho{position:absolute; fill:var(--gold-luz); opacity:.6; pointer-events:none}
@media (prefers-reduced-motion:no-preference){
  .brilho.pisca{animation:pisca 6s ease-in-out infinite alternate}
  @keyframes pisca{from{opacity:.25; transform:scale(.8)} to{opacity:.85; transform:scale(1)}}
}
@media (max-width:900px){
  .hero{width:calc(100% - 24px); margin-top:calc(12px + var(--safe-top)); border-radius:20px; padding:92px 20px 120px}
  .hero-grid{grid-template-columns:1fr; gap:40px}
  .hero h1{font-size:clamp(2.2rem,9.4vw,4rem)}
  .hero-mao{width:100%; justify-self:start}
  .mao-fio text{font-size:16px}
  .mao-fio .halo{r:26}
}

@media (prefers-reduced-motion:no-preference){
  .ent{animation:ent .9s var(--out) both}
  .ent-1{animation-delay:.05s} .ent-3{animation-delay:.55s} .ent-4{animation-delay:.68s} .ent-5{animation-delay:.84s}
  @keyframes ent{from{opacity:0; translate:0 16px}}
  .pal{display:inline-block; overflow:hidden; vertical-align:bottom; padding:0 .05em .14em; margin:0 -.05em -.14em}
  .pal > *{display:inline-block; animation:sobe .95s var(--out) both}
  @keyframes sobe{from{transform:translateY(108%)}}
}
.pal{display:inline-block}

.sec{padding:clamp(80px,10vw,150px) 0; position:relative}
.sec + .sec::before, .provas + .sec::before, .sec + .provas::before{
  content:''; position:absolute; top:0; left:50%; translate:-50% 0; height:1px; width:min(var(--wrap), 100% - 52px);
  background:linear-gradient(90deg, transparent, var(--line) 12%, rgba(143,180,255,.4) 50%, var(--line) 88%, transparent);
}
.inicio{background:transparent; border:0}
section[style*="--surface-2"]{background:transparent !important}
.wrap{padding:0 26px}

@media (min-width:1000px){
  .sec:not(#ascensao):not(#contato) > .wrap:not(.hist):not(.form-const){
    display:grid; grid-template-columns:minmax(0,11fr) minmax(0,9fr);
    column-gap:clamp(44px,6vw,110px); align-items:end;
  }
  .sec > .wrap > *{grid-column:1 / -1; min-width:0}
  .sec > .wrap > h2{grid-column:1}
  .sec > .wrap > h2 + .lead{grid-column:2; margin-top:0 !important; margin-bottom:.5em; max-width:none}
}

.rev{opacity:0; transform:translateY(22px); transition:opacity .9s var(--out), transform .9s var(--out)}
.rev.in{opacity:1; transform:none}
h2.rev{opacity:0; transform:translateY(22px)}
h2.rev.in{opacity:1; transform:none}
h2.rev .esc, h2.rev.in .esc{clip-path:none; transition:none; display:inline}

.card, .tema, .dep, .tres a, .ag-dia, .bs-card, .esp-saida, .temas-saida, .ag-form, .frase, .ag-hora, .bs-opt, .chip,
.ag-campos input, .ag-campos textarea, .ag-campos select, .outros-grid a, .faq{
  border-radius:var(--r); box-shadow:none;
}
.grid-conc{gap:18px; background:none; border:0; margin-top:56px}
.card{border:1px solid var(--line); border-radius:var(--r); background:var(--surface); padding:36px 30px 38px; position:relative; transition:background .3s var(--ease), border-color .3s var(--ease), transform .4s var(--out)}
.card::before{display:none}
.card:hover{transform:translateY(-4px); background:rgba(26,44,110,.62); border-color:var(--gold-line)}
.card h3{font-size:1.3rem; margin:22px 0 10px}
.card p{color:var(--ink-soft)}
.ico{stroke:var(--gold); width:26px; height:26px}
.card .mais{color:var(--gold)}
@media (max-width:640px){ .card{padding-inline:26px} }

.temas-grade{gap:12px; background:none; border:0}
.tema{border:1px solid var(--line); border-radius:var(--r-sm); background:var(--surface); transition:background .25s var(--ease), border-color .25s var(--ease)}
.tema:hover{transform:none; background:rgba(26,44,110,.6); border-color:var(--gold-line)}
.tema.ativo{background:rgba(44,78,190,.34); border-color:var(--gold); box-shadow:none}
.tema b{font-size:1.1rem; font-weight:600; font-stretch:102%; letter-spacing:-.01em}

.frase{background:rgba(6,11,30,.7); border-color:var(--line)}
.frase[aria-pressed="true"]{background:rgba(143,180,255,.08); border-color:var(--gold-line)}
.esp-saida, .temas-saida, .ag-form{background:rgba(6,11,30,.78); border-color:var(--line)}
.bs-card{background:rgba(6,11,30,.8); border-color:var(--line)}
body.low-power .bs-card{background:#0c1534}
.ag-dia{background:rgba(6,11,30,.8); border-color:var(--line)}
.ag-hora[aria-pressed="true"]{background:var(--gold); border-color:var(--gold); color:#071232}
.ag-campos input, .ag-campos textarea, .ag-campos select{background:rgba(16,27,70,.9); color:var(--ink); border-color:var(--line)}
.ag-campos input:focus, .ag-campos textarea:focus, .ag-campos select:focus{border-color:var(--gold); box-shadow:none}
.provas{background:transparent; border-block:1px solid var(--line-2); gap:0}
.provas div{background:transparent; border-right:1px solid var(--line-2); padding:38px 26px}
.provas div:last-child{border-right:0}
.provas b{font-family:var(--display); font-weight:600; font-stretch:var(--larga); font-size:2.3rem; letter-spacing:-.03em; color:var(--ink)}
.provas span{font-family:var(--display); font-stretch:var(--estreita); font-weight:500; letter-spacing:.16em; text-transform:uppercase; font-size:.68rem}
@media (max-width:760px){ .provas div{border-right:0; border-bottom:1px solid var(--line-2)} .provas div:last-child{border-bottom:0} }

.dep p{font-family:var(--sans); font-weight:400; font-size:1.06rem; line-height:1.6; color:var(--ink)}
.dep footer{border-top:0; padding-top:0; margin-top:26px}
.dep footer b{font-family:var(--sans); font-weight:600; font-size:.86rem; letter-spacing:0}
.dep footer span{font-family:var(--display); font-stretch:var(--estreita); font-weight:500; letter-spacing:.16em; text-transform:uppercase; font-size:.66rem}
.dep .antes{border-left-color:var(--gold-line)}

.passo{border-top-color:var(--line)}
.passo::before{display:none}
.passo h3{font-size:1.3rem}
.faq{border-top-color:var(--line)}
.faq details{border-bottom-color:var(--line)}
.faq summary{font-weight:500; font-size:1.2rem; font-stretch:102%; letter-spacing:-.01em}
.momento::before{background:#060b1e}
.ger p, .momento p{color:var(--ink-soft)}
.esp-conta, .temas-saida p{font-weight:400}
.assinatura{font-family:var(--display); font-style:normal; font-weight:600; font-stretch:var(--larga); font-size:1.05rem; letter-spacing:-.01em; color:var(--ink)}
.bs-q{font-weight:500; font-stretch:102%; letter-spacing:-.02em; font-size:clamp(1.3rem,2.4vw,1.7rem)}
.bs-res h3{font-weight:600}
.form-svg circle{fill:var(--gold)}
.form-svg text{fill:var(--ink-soft)}

#ascensao h2, #contato h2{font-weight:600}
.asc-dias b.palavra{font-style:normal; font-weight:600; font-stretch:var(--larga)}

.zap{background:var(--gold); color:#071232; border-radius:999px; box-shadow:0 20px 50px -20px rgba(74,122,255,.7)}
.topo-bt{background:rgba(6,11,30,.85); border-color:var(--line); color:var(--ink-soft); border-radius:999px}
.topo-bt:hover{color:var(--gold); border-color:var(--gold-line)}
html.chegando::before{background:#060b1e}
footer.pe{border-top-color:var(--line-2); padding:48px 0 calc(48px + var(--safe-bottom))}
footer.pe a:hover{color:var(--gold)}
.redes a{border-radius:999px}

html.inercia{scroll-behavior:auto}

@media (prefers-reduced-motion:reduce){

  .rev, h2.rev{opacity:1; transform:none}
}
@media print{ #campo3d{display:none} }

header{left:50%; right:auto; width:min(var(--wrap), 100% - 48px); margin-left:calc(min(var(--wrap), 100% - 48px) / -2); top:calc(24px + var(--safe-top)); padding-top:0; border-radius:22px; border:1px solid transparent}
header.solid{background:rgba(8,14,40,.78); border-color:var(--line-2); border-bottom-color:var(--line-2); backdrop-filter:blur(14px)}
body.low-power header.solid{background:#0a1230; backdrop-filter:none}
.bar{max-width:none; padding:14px 20px 14px 26px; gap:14px; position:relative}
nav.links{display:flex !important; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); gap:26px; margin:0}
nav.links a, header nav.links a, header.solid nav.links a{font-size:.8rem; font-weight:500; letter-spacing:.03em; color:var(--ink-soft); border-bottom:0; padding:4px 0; transition:color .25s var(--ease)}
nav.links a:hover, header nav.links a:hover, header.solid nav.links a:hover, nav.links a.aqui, header.solid nav.links a.aqui{color:var(--ink); border-bottom:0}
@media (max-width:1120px){ nav.links{display:none !important} }
@media (max-width:760px){ header{width:calc(100% - 24px); margin-left:calc((100% - 24px) / -2); top:calc(12px + var(--safe-top)); border-radius:16px} .bar{padding:10px 10px 10px 18px} }

.raios{position:absolute; top:0; left:0; width:100%; height:clamp(260px, 36vw, 460px); z-index:2; pointer-events:none; mix-blend-mode:screen; opacity:.75}
@media (max-width:900px){ .raios{height:260px} }
body{overflow-x:clip}

#comecar{padding:0 0 clamp(56px,7vw,84px); margin-top:calc(-1 * clamp(84px,9vw,112px)); position:relative; z-index:2}
#comecar > .wrap{display:block; width:min(1120px, 100% - 48px); padding:0}
#comecar .eyebrow{text-align:center; margin-bottom:12px}
#comecar h2{text-align:center; max-width:none; font-size:clamp(1.25rem,1.9vw,1.6rem); margin:0 auto 28px; letter-spacing:-.02em}
.portas-nota{text-align:center; max-width:64ch; margin:28px auto 0; font-size:.9rem; color:var(--muted)}
.portas-nota a{color:var(--gold)}
.tres{grid-template-columns:repeat(4,1fr); gap:18px; margin-top:0; background:none; border:0}
.tres a{
  border:1px solid var(--line); border-radius:var(--r); background:rgba(10,18,50,.8); text-align:center; padding:34px 22px 30px;
  transition:transform .4s var(--out), background .3s var(--ease), border-color .3s var(--ease);
}

.tres a:hover{transform:translateY(-4px); background:rgba(26,44,110,.72); border-color:var(--gold-line); box-shadow:none}
.tres a.destaque{background:rgba(44,78,190,.38); border-color:rgba(150,178,255,.45); box-shadow:0 30px 70px -36px rgba(74,122,255,.7)}
.tres svg{width:46px; height:46px; display:block; margin:0 auto; stroke:var(--gold-luz); stroke-width:1.2}
.tres b{display:block; margin:20px 0 8px; font-size:1.1rem; font-weight:600; font-stretch:102%; letter-spacing:-.01em; color:var(--ink)}
.tres span{display:block; font-size:.88rem; line-height:1.5; color:var(--ink-soft)}
.tres em{display:inline-block; margin-top:16px; font-style:normal; font-weight:600; font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; color:var(--gold)}
@media (max-width:980px){ .tres{grid-template-columns:repeat(2,1fr)} #comecar > .wrap{width:min(1120px, 100% - 24px)} }
@media (max-width:560px){ .tres{grid-template-columns:1fr} }

.luas-fila{margin:34px 0 8px; max-width:720px}
.luas{display:block; width:100%; height:auto; overflow:visible}
.lua circle{fill:rgba(150,178,255,.04); stroke:var(--ink); stroke-opacity:.28; stroke-width:.8}
.lua path{fill:var(--ink); opacity:.94}
@media (prefers-reduced-motion:no-preference){
  .lua path{opacity:0; transform:scale(.55); transform-box:fill-box; transform-origin:center; transition:opacity .7s var(--out), transform .7s var(--out); transition-delay:calc(var(--i) * 110ms)}
  .luas-fila.in .lua path{opacity:.94; transform:none}
}
.lua-passo{display:block; width:34px; height:34px; margin:0 0 14px}
.lua-passo circle{fill:none; stroke:var(--ink); stroke-opacity:.3; stroke-width:1}
.lua-passo path{fill:var(--ink); opacity:.94}

#ascensao h2{margin-bottom:26px}
.asc-lista{gap:14px; background:none; border:0; overflow:visible; border-radius:0}
.asc-item{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); text-align:left; padding:28px 24px 30px}
.asc-item::before{display:none}
body.low-power .asc-item{background:#0c1534}

.dep{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:34px 30px 30px; position:relative}
.dep::before{display:none}
.deps{gap:20px; margin-top:56px}
@media (min-width:980px){ .dep:nth-child(2), .dep:nth-child(3){margin-top:0} }

.topo-bt{border-radius:999px}

.hero{--muted:#96a7d6}
.mao-fio:focus-visible{outline:none}
.asc-contagem{background:var(--surface); border-color:var(--line)}
.asc-contagem.perto{background:rgba(143,180,255,.12); border-color:var(--gold)}
.provas{width:min(var(--wrap), 100% - 48px); margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; border:0; background:none}
.provas div, .provas div:last-child{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:30px 26px; text-align:center}
@media (max-width:760px){ .provas{grid-template-columns:1fr} .provas div, .provas div:last-child{border:1px solid var(--line)} }
.menu-painel{background:rgba(6,11,30,.84)}
body:not(.low-power) .menu-painel{backdrop-filter:blur(18px)}
body.low-power .menu-painel{background:#060b1e}
.menu-painel li a:active{color:var(--gold-luz)}
.menu-pe .btn-ghost{border-color:var(--line) !important; color:var(--ink) !important}
.form-svg line{stroke:rgba(143,180,255,.3)}
.form-svg g:hover circle, .form-svg g:focus-visible circle{filter:drop-shadow(0 0 7px rgba(143,180,255,.9))}
.bs-opt:hover::before{box-shadow:0 0 0 4px rgba(143,180,255,.18)}
.bs-opt.escolhida::before{box-shadow:0 0 0 6px rgba(143,180,255,.24)}
.frase[aria-pressed="true"] i{box-shadow:0 0 0 5px rgba(143,180,255,.2)}
.bs-memoria, .ferias{background:rgba(143,180,255,.08); border-color:var(--line)}
.audio-play:hover{background:rgba(143,180,255,.12)}
.frase, .esp-saida, .temas-saida, .ag-form, .bs-card, .ag-dia{background:var(--surface)}
.faq{border-top:0}
.faq details{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-sm); margin-bottom:10px; padding:0 20px}
.passo{border-top:0; background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:28px 24px 30px}
.lua-passo{margin-bottom:18px}
.sec + .sec::before, .provas + .sec::before, .sec + .provas::before{display:none}
.campo :focus-visible{outline-color:var(--gold-luz)}
body.low-power::before{filter:none}

#hero{min-height:0; display:block; align-items:initial; padding:clamp(104px,11vw,136px) clamp(28px,4.4vw,68px) clamp(130px,13vw,170px)}
#hero h1{max-width:12ch}
@media (max-width:900px){ #hero{padding:92px 22px 120px} }
header{left:0; right:0; margin-left:auto; margin-right:auto}
.mais svg{width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:1.7; vertical-align:middle}
@media (min-width:1000px){
  .sec:not(#ascensao):not(#contato) > .wrap:not(.hist):not(.form-const){display:block}
  .sec > .wrap > h2 + .lead{margin-top:18px !important; max-width:58ch}
}
.sec{padding:clamp(30px,3.6vw,50px) 0}
.passos{margin-top:36px} .linha{margin-top:36px} .bs-card{margin-top:28px} .lin-nota{margin-top:22px}
#comecar{padding-bottom:clamp(28px,3.5vw,44px)}
.portas-nota{margin-top:22px}

@media (min-width:1000px){
  #historia{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:clamp(40px,5vw,80px); align-items:start;
    width:min(var(--wrap), 100% - 48px); margin-inline:auto; padding-inline:0}
  #historia > .wrap{width:auto; max-width:none; margin:0; padding:0; min-width:0}
  #historia > .wrap.hist{grid-column:1}
  #historia > .wrap.form-const{grid-column:2; grid-row:1; background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:30px 28px}
  #historia > #videoSlot, #historia > #audioSlot{grid-column:1 / -1}
}

@media (min-width:1000px){
  #historia{align-items:stretch}
  #historia > .wrap.form-const{padding:26px 26px 24px; display:flex; flex-direction:column}
  #historia > .wrap.form-const .form-svg{max-height:200px; width:auto; max-width:100%; margin:0 auto 10px}
  #historia > .wrap.form-const > div{display:flex; flex-direction:column; flex:1}
  #historia .form-lista{columns:2; column-gap:22px; margin:8px 0 0; padding-left:18px}
  #historia .form-lista li{break-inside:avoid; font-size:.92rem; line-height:1.45; margin:0 0 6px}
  #historia #formTexto{font-size:.98rem}
  #historia a.mais{margin-top:auto !important; padding-top:14px}
}

#hero h1{max-width:none; font-size:clamp(2.3rem,3.3vw,3.6rem)}
@media (max-width:900px){ #hero h1{font-size:clamp(1.9rem,8vw,3.6rem)} }
.hero-valor{display:inline-flex; align-items:baseline; flex-wrap:wrap; gap:4px 14px; margin:0 0 26px; padding:12px 22px 13px; border:1px solid var(--gold-line); border-radius:var(--r); background:rgba(143,180,255,.08); text-decoration:none; color:inherit; transition:background .25s, border-color .25s}
.hero-valor:hover{background:rgba(143,180,255,.14); border-color:var(--gold)}
.hero-valor b{font-size:clamp(1.55rem,2.3vw,2rem); font-weight:700; letter-spacing:-.02em; color:var(--gold-luz); font-stretch:var(--larga); line-height:1}
.hero-valor .hv-rot{font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); font-stretch:var(--estreita); font-weight:600}
.hero-valor .hv-nota{font-size:.84rem; color:var(--ink-soft); flex-basis:100%}
.logo{display:inline-flex; align-items:center; gap:10px}
.logo .marca{height:32px; width:auto; display:block}
.retrato img{display:block; border-radius:var(--r); border:1px solid var(--line); box-shadow:0 30px 60px rgba(0,0,0,.35); width:100%; height:auto}
.retrato::before{border-color:var(--gold-line); inset:-14px -14px 30px 22px}
@media (min-width:1000px){
  #historia{grid-template-columns:minmax(0,1fr)}
  #historia > .wrap.hist{grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); column-gap:clamp(40px,5vw,80px); align-items:center}
  #historia > .wrap.hist > .retrato{grid-column:1; min-width:0}
  #historia > .wrap.hist > .retrato + div{grid-column:2; min-width:0}
  #historia > .wrap.form-const > .form-svg{grid-column:1}
  #historia > .wrap.form-const > div{grid-column:2}
  #historia > .wrap.form-const{grid-column:1 / -1; grid-row:auto; margin-top:34px; display:grid; grid-template-columns:200px minmax(0,1fr); column-gap:30px; align-items:center}
  #historia > .wrap.form-const .form-svg{max-height:none; width:200px; margin:0}
  #historia .form-lista{columns:3}
  #historia a.mais{margin-top:14px !important; padding-top:0}
}
@media (max-width:999px){
  .retrato{max-width:380px; margin:0 auto 10px}
}

@media (prefers-reduced-motion:no-preference){
  .mao-fio .anel{animation:pulsa 3.4s ease-in-out infinite}
  .mao-fio:nth-child(2) .anel{animation-delay:.55s} .mao-fio:nth-child(3) .anel{animation-delay:1.1s}
  .mao-fio:nth-child(4) .anel{animation-delay:1.65s} .mao-fio:nth-child(5) .anel{animation-delay:2.2s} .mao-fio:nth-child(6) .anel{animation-delay:2.75s}
  .mao-fio.on .anel{animation:none}
  @keyframes pulsa{0%,100%{stroke-opacity:.35} 50%{stroke-opacity:.95}}
  .hero-mao .mao{transform:perspective(1100px) rotateY(calc(var(--mx,0) * 9deg)) rotateX(calc(var(--my,0) * -7deg)); transition:transform .45s var(--ease)}
  body::before{translate:calc(var(--mx,0) * -28px) calc(var(--my,0) * -20px); transition:translate .5s linear}
}

@media (max-width:600px){
  #hero h1 br{display:none}
  #hero h1{text-wrap:balance; font-size:clamp(1.9rem,7.8vw,3rem)}
}
@media (max-width:900px){
  #hero{padding-bottom:84px}
  #comecar{margin-top:-20px}
}
.hero-mao-dica{bottom:-30px}

#hero h1{font-size:clamp(2.5rem,4.15vw,3.9rem); line-height:1.04; letter-spacing:-.02em; margin-bottom:20px}
#hero h1 em{color:var(--gold-luz)}
.hero-valor{
  display:flex; align-items:center; justify-content:space-between; gap:18px 26px; flex-wrap:wrap;
  margin:4px 0 22px; padding:22px 26px; border-radius:22px; position:relative; overflow:hidden; color:inherit; text-decoration:none;
  background:linear-gradient(135deg, rgba(143,180,255,.24), rgba(143,180,255,.07) 55%, rgba(207,224,255,.12));
  border:1px solid rgba(160,190,255,.55);
  box-shadow:0 0 0 1px rgba(143,180,255,.08), 0 26px 60px rgba(40,80,220,.28), inset 0 1px 0 rgba(255,255,255,.16);
}
.hero-valor::before{content:''; position:absolute; inset:0; background:radial-gradient(60% 120% at 0% 0%, rgba(207,224,255,.22), transparent 60%); pointer-events:none}
.hero-valor .hv-txt{display:flex; flex-direction:column; gap:4px; min-width:0}
.hero-valor .hv-rot{font-size:.7rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); font-stretch:var(--estreita); font-weight:600}
.hero-valor .hv-num{font-size:clamp(2.3rem,3.6vw,3.3rem); font-weight:700; letter-spacing:-.035em; line-height:1; color:#fff; font-stretch:var(--larga); text-shadow:0 0 28px rgba(143,180,255,.55)}
.hero-valor .hv-num small{font-size:.5em; font-weight:600; letter-spacing:-.01em; color:var(--gold-luz)}
.hero-valor .hv-nota{font-size:.86rem; color:var(--ink-soft); flex-basis:auto; margin-top:4px; max-width:34ch}
.hero-valor .btn{flex:0 0 auto; position:relative; box-shadow:0 10px 30px rgba(143,180,255,.35)}
@media (max-width:600px){
  .hero-valor{padding:20px 20px}
  .hero-valor .btn{width:100%; justify-content:center}
}

.bs-palco{align-items:stretch}
.bs-lado{display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; min-width:0}
.bs-lado-nota{margin:14px 0 0; font-size:.84rem; line-height:1.5; color:var(--muted); max-width:26ch}
@media (min-width:881px){
  .bs-palco:has(.bs-res) .bs-lado{justify-content:flex-start; align-self:start; position:sticky; top:calc(100px + var(--safe-top, 0px))}
}
@media (max-width:880px){ .bs-lado-nota{max-width:40ch} }

.tres a.destaque, .tres a{box-shadow:0 30px 70px -40px rgba(74,122,255,.55)}
.tres a:nth-child(1){background:linear-gradient(160deg, rgba(14,24,64,.78), rgba(10,18,50,.72)); border-color:rgba(150,178,255,.22)}
.tres a:nth-child(2){background:linear-gradient(160deg, rgba(26,46,120,.62), rgba(16,30,84,.66)); border-color:rgba(150,178,255,.32)}
.tres a:nth-child(3){background:linear-gradient(160deg, rgba(44,78,190,.40), rgba(26,48,130,.52)); border-color:rgba(160,190,255,.42)}
.tres a:nth-child(4){background:linear-gradient(160deg, rgba(90,130,255,.30), rgba(44,78,190,.40)); border-color:rgba(180,205,255,.5)}
.tres a:nth-child(3) svg, .tres a:nth-child(4) svg{stroke:var(--gold-luz)}
.tres a:hover{filter:brightness(1.12)}

.sec{padding:28px 0}
#comecar{padding-bottom:14px}
#historia{padding-top:28px}
.eyebrow{margin-bottom:14px}
.sec > .wrap > h2 + .lead{margin-top:12px !important}
.sec > .wrap > .lead + *:not(p):not(h2):not(h3){margin-top:24px}
.luas-fila{margin:22px 0 0}
.frases{margin-top:22px}
.tres, .passos, .linha, .deps, .faq, .bs-card{margin-top:24px}
.bs-memoria{margin-top:18px}
.portas-nota{margin-top:18px}
@media (max-width:900px){ .sec{padding:22px 0} }

#biblioteca{padding:28px 0 36px !important}
footer.pe{padding:28px 0 calc(28px + var(--safe-bottom)); margin-top:0}
.ag-grade{margin-top:24px !important}
.asc-frase{margin-top:36px}
#paraquem .hero-cta{margin-top:28px}
#como .eyebrow + * + .passos + .eyebrow, #como .passos + .eyebrow{margin-top:44px}
.provas{margin-bottom:0}
#historia{padding-top:24px}

.ferias:empty, .temas-saida:empty, .asc-ficha:empty, .ag-fuso:empty, .esp-saida:empty, #videoSlot:empty, #audioSlot:empty, .bs-memoria[hidden]{display:none !important; margin:0 !important; padding:0 !important}

.sec:not(#historia):not(#linhagem) > .wrap > .eyebrow,
.sec:not(#historia):not(#linhagem) > .wrap > h2,
.sec:not(#historia):not(#linhagem) > .wrap > .lead,
#como > .wrap > .eyebrow, #como > .wrap > h2{text-align:center; margin-left:auto; margin-right:auto}
.sec:not(#historia):not(#linhagem) > .wrap > h2{max-width:26ch; text-wrap:balance}
.sec:not(#historia):not(#linhagem) > .wrap > .lead{max-width:62ch}
.luas-fila{justify-content:center}

.biblio{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:18px; margin-top:28px}
.biblio > .bib{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:20px 24px 18px; min-width:0}
.biblio > .bib-entradas, .biblio > .bib-cidades{grid-column:1 / -1}
.biblio > .bib-entradas{background:none; border:0; padding:0 0 4px; display:flex; align-items:center; gap:16px 22px; flex-wrap:wrap; justify-content:center}
.biblio > .bib-entradas h3{margin:0}
.biblio > .bib-cidades{grid-column:2}
.biblio > .bib-sobre{grid-column:1}
.biblio h3{margin:0 0 10px}
.biblio ul{display:block}
.biblio li{padding:0; break-inside:avoid}
.biblio li a{display:block; padding:11px 0; border:0; border-top:1px solid var(--line); font-size:.95rem; color:var(--ink-soft); min-height:0}
.biblio li:first-child a{border-top:0}
.biblio li a:hover{color:var(--gold-luz); border-bottom-color:transparent}
.biblio-temas ul{columns:auto; display:grid; grid-template-columns:1fr 1fr; column-gap:36px}
.biblio-temas li:nth-child(2) a{border-top:0}
.bib-pilulas ul{display:flex; flex-wrap:wrap; gap:10px}
.bib-pilulas li a, .bib-pilulas li:first-child a{display:inline-block; padding:9px 16px; border:1px solid var(--gold-line); border-radius:999px; color:var(--ink); font-size:.88rem; line-height:1.2}
.bib-pilulas li a:hover{background:rgba(143,180,255,.14); border-color:var(--gold)}
@media (max-width:860px){
  .biblio{grid-template-columns:1fr}
  .biblio > .bib-cidades, .biblio > .bib-sobre{grid-column:1}
  .biblio-temas ul{grid-template-columns:1fr}
  .biblio-temas li:nth-child(2) a{border-top:1px solid var(--line)}
}

@media (min-width:901px){
  .hero-grid{align-items:start}
  .hero-mao{width:100%; max-width:660px; margin-top:-6px; justify-self:end}
}

.luas-fila{display:flex !important; justify-content:center; flex-wrap:wrap; width:auto !important; max-width:none; margin-left:auto !important; margin-right:auto !important}
.temas-nota, .lin-nota, .portas-nota, .ag-nota{margin-left:auto !important; margin-right:auto !important; text-align:center}
#linhagem > .wrap > .eyebrow, #linhagem > .wrap > h2, #linhagem > .wrap > .lead{text-align:center; margin-left:auto; margin-right:auto}
#linhagem > .wrap > h2{max-width:26ch; text-wrap:balance}
#linhagem > .wrap > .lead{max-width:62ch}
.lin-chips{justify-content:center}

.momentos{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px; padding-left:0 !important; margin-top:24px}
.momentos::before{display:none}
.momento{max-width:none; padding:24px 26px 26px !important; background:var(--surface); border:1px solid var(--line); border-radius:var(--r); display:flex; flex-direction:column; gap:10px; counter-increment:momento}
.momento::before, .momento::after{display:none !important}
.momento u{display:block; margin:0; position:relative; padding-left:0}
.momento u::before{content:''; display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--gold); margin-right:10px; vertical-align:middle; box-shadow:0 0 0 4px rgba(143,180,255,.18)}
.momento h3{margin:0 0 4px}
@media (max-width:760px){ .momentos{grid-template-columns:1fr} }

.linha{display:grid; grid-template-columns:repeat(auto-fit, minmax(230px, 1fr)); gap:16px; padding-left:0 !important; margin-top:24px !important}
.linha::before{display:none}
.ger{padding:22px 22px 24px !important; border:1px solid var(--line); border-radius:var(--r); background:var(--surface); display:flex; flex-direction:column}
.ger::before{display:none}
.ger b{display:flex; align-items:center; gap:9px}
.ger b::before{content:''; width:8px; height:8px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 4px rgba(143,180,255,.18); flex:0 0 auto}
.ger p{max-width:none; font-size:.97rem}
.ger.eco{grid-column:1 / -1; text-align:center; align-items:center; border-color:rgba(160,190,255,.5); background:linear-gradient(160deg, rgba(90,130,255,.26), rgba(44,78,190,.36))}
.ger.eco b{justify-content:center}
.ger.eco p{font-family:var(--display); font-style:normal; font-weight:600; font-size:1.15rem; color:var(--ink); max-width:48ch; text-wrap:balance}

:is(.momento, .passo, .dep, .grid-conc > *, .temas-grade > *, .duas > *, .ger:not(.eco), .ag-dia, .biblio > .bib, .frases > *, .faq details){background:var(--tom, var(--surface)); border-color:var(--tom-borda, var(--line))}
:is(.momento, .passo, .dep, .grid-conc > *, .temas-grade > *, .duas > *, .ger:not(.eco), .ag-dia, .biblio > .bib, .faq details):nth-child(4n+1){--tom:linear-gradient(160deg, rgba(14,24,64,.78), rgba(10,18,50,.72)); --tom-borda:rgba(150,178,255,.22)}
:is(.momento, .passo, .dep, .grid-conc > *, .temas-grade > *, .duas > *, .ger:not(.eco), .ag-dia, .biblio > .bib, .faq details):nth-child(4n+2){--tom:linear-gradient(160deg, rgba(26,46,120,.62), rgba(16,30,84,.66)); --tom-borda:rgba(150,178,255,.32)}
:is(.momento, .passo, .dep, .grid-conc > *, .temas-grade > *, .duas > *, .ger:not(.eco), .ag-dia, .biblio > .bib, .faq details):nth-child(4n+3){--tom:linear-gradient(160deg, rgba(44,78,190,.40), rgba(26,48,130,.52)); --tom-borda:rgba(160,190,255,.42)}
:is(.momento, .passo, .dep, .grid-conc > *, .temas-grade > *, .duas > *, .ger:not(.eco), .ag-dia, .biblio > .bib, .faq details):nth-child(4n+4){--tom:linear-gradient(160deg, rgba(90,130,255,.30), rgba(44,78,190,.40)); --tom-borda:rgba(180,205,255,.5)}
.frases > *:nth-child(4n+1){--tom:rgba(14,24,64,.78)} .frases > *:nth-child(4n+2){--tom:rgba(26,46,120,.62)} .frases > *:nth-child(4n+3){--tom:rgba(44,78,190,.40)} .frases > *:nth-child(4n+4){--tom:rgba(90,130,255,.30)}

.duas{gap:18px; margin-top:24px}
.duas > *{border:1px solid var(--line); border-radius:var(--r); padding:22px 24px 10px; min-width:0}
.duas h3{font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); font-family:var(--display); font-stretch:var(--estreita); margin:0 0 6px}
.duas .nao h3{color:var(--muted)}
.duas li{border-bottom:1px solid var(--line)}
.duas li:last-child{border-bottom:0}
.duas .nao li{color:var(--ink-soft); opacity:.85}
#paraquem .hero-cta{justify-content:center}

:is(.momento, .passo, .dep, .grid-conc > *, .temas-grade > *, .duas > *, .ger, .ag-dia, .biblio > .bib, .frases > *, .faq details, .tres a, .bs-card, .ag-form, .hero-valor, #historia > .wrap.form-const){
  box-shadow:inset 0 1px 0 rgba(255,255,255,.15), 0 24px 50px -34px rgba(0,0,0,.55);
}
.hero-valor{box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 0 0 1px rgba(143,180,255,.08), 0 26px 60px rgba(40,80,220,.28)}
.ag-hora[aria-pressed="true"]{
  background:linear-gradient(160deg, rgba(207,224,255,.98), rgba(143,180,255,.95)); border-color:rgba(207,224,255,.9); color:#071232; font-weight:600;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6), 0 0 0 4px rgba(143,180,255,.18), 0 12px 28px -12px rgba(143,180,255,.8);
}
.ag-hora[aria-pressed="true"] u{color:#071232; opacity:.7}
.ag-hora:hover{background:rgba(143,180,255,.16); border-color:var(--gold)}
.ag-dia:has(.ag-hora[aria-pressed="true"]){border-color:rgba(180,205,255,.6)}

.hero-mao .mao{will-change:transform}
body::before{will-change:translate}
#campo3d{will-change:transform}
.hero{background:linear-gradient(160deg, rgba(20,34,90,.78), rgba(10,18,52,.86))}
.chip[aria-pressed="true"], .frase[aria-pressed="true"]{
  background:linear-gradient(160deg, rgba(207,224,255,.96), rgba(143,180,255,.94)); border-color:rgba(207,224,255,.9); color:#071232;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6), 0 0 0 4px rgba(143,180,255,.16), 0 12px 28px -12px rgba(143,180,255,.8);
}
.frase[aria-pressed="true"] i{border-color:#071232; background:#071232; box-shadow:none}
.frase[aria-pressed="true"] i::after{background:var(--gold-luz)}
.chip[aria-pressed="true"]:hover, .frase[aria-pressed="true"]:hover{color:#071232}
@media (hover:hover) and (pointer:fine){
  .reflexo{position:relative; overflow:hidden}
  .reflexo::after{
    content:''; position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .35s var(--ease);
    background:radial-gradient(260px circle at var(--rx, 50%) var(--ry, 50%), rgba(207,224,255,.16), rgba(207,224,255,0) 62%);
  }
  .reflexo:hover::after{opacity:1}
}
body.low-power .reflexo::after{display:none}

.linha{grid-template-columns:1fr 1fr !important}
@media (max-width:640px){ .linha{grid-template-columns:1fr !important} }

@media (max-width:900px), (pointer:coarse){
  .hero-mao .mao{transform:none !important; will-change:auto}
  body::before{translate:0 0 !important; transition:none; will-change:auto}
  .brilho{animation:none !important}
  .mao-fio .anel{animation:none !important; stroke-opacity:.7}
  .reflexo::after{display:none}
  .rev{transition-duration:.5s}
}
@media (max-width:600px){
  .momentos, .linha, .duas, .biblio{gap:12px}
  .momento, .ger, .duas > *, .biblio > .bib{padding:18px 18px 16px !important}
  .hero-valor{padding:18px 18px}
  .sec > .wrap > h2{font-size:clamp(1.6rem,7vw,2.2rem)}
}

.sr-only{position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0}
#depoimentos .hero-cta{justify-content:center; margin-top:30px}
.tema{text-decoration:none; color:inherit}
.passo p a{color:var(--gold-luz); text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--gold-line)}
.passo p a:hover{color:#fff}
.ag-erro{color:#ffb3a7}
.bs-q:focus, .bs-res h3:focus, .escolhido:focus{outline:none}
.bs-q:focus-visible, .bs-res h3:focus-visible, .escolhido:focus-visible{outline:2px solid var(--gold); outline-offset:6px; border-radius:4px}
#campo3d{-webkit-mask-image:radial-gradient(circle at 50% 46%, #000 min(25vw,25vh), rgba(0,0,0,.3) max(78vw,78vh)); mask-image:radial-gradient(circle at 50% 46%, #000 min(25vw,25vh), rgba(0,0,0,.3) max(78vw,78vh))}
body.low-power #campo3d{-webkit-mask-image:none; mask-image:none}
@media (max-width:900px){
  .mao-fio .halo{r:34}
}
@media (max-width:600px){

  .mao-fio text{font-size:17px; letter-spacing:.02em; stroke-width:5px}
  .mao-fio .halo{r:44}
}
@media (pointer:coarse){
  .bs-back{min-height:44px; padding:10px 0}
  .bs-share button{min-height:44px; padding:10px 18px}
  .ag-fora{min-height:44px; padding:12px 6px}
  .frase-bts .frase-pular{min-height:44px}
}

.mao-legenda{display:none}
@media (max-width:600px){
  .mao-fio text{display:none}
  .hero-mao-dica{position:static; translate:none; margin:14px 0 0; text-align:center; display:block; bottom:auto}
  .mao-legenda{display:flex; flex-wrap:wrap; justify-content:center; gap:8px; list-style:none; margin:14px 0 0; padding:0}
  #hero{padding-bottom:44px}
  #comecar{margin-top:0}
}

.bs-legenda{display:none}
@media (max-width:600px){
  .bs-rotulo{display:none}
  .bs-legenda{display:grid; grid-template-columns:repeat(2,max-content); justify-content:center; gap:8px 10px; list-style:none; margin:2px 0 0; padding:0}
  .bs-legenda li{
    justify-self:center; display:inline-flex; align-items:center; min-height:36px; padding:7px 14px; border-radius:999px;
    border:1px solid var(--line-2); background:rgba(16,27,70,.55); color:var(--muted);
    font-family:var(--display); font-stretch:var(--estreita); font-weight:500; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12); transition:background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);
  }
  .bs-legenda li:nth-child(1), .bs-legenda li:nth-child(4){grid-column:1 / -1}
  .bs-legenda li.forte{background:linear-gradient(160deg, rgba(207,224,255,.96), rgba(143,180,255,.94)); color:#071232; border-color:rgba(207,224,255,.9); box-shadow:inset 0 1px 0 rgba(255,255,255,.6), 0 10px 24px -12px rgba(143,180,255,.8)}
  .bs-lado-nota{margin-top:14px}
}

#arvore{--ouro:#e6b95c; --ouro-luz:#ffe3a6; --ouro-esc:#b6842a; --ouro-linha:rgba(230,185,92,.45)}
#arvore .arv-grid{display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); grid-template-areas:"txt fig" "saida fig"; gap:22px clamp(24px,4vw,64px); align-items:center}
#arvore .arv-txt{grid-area:txt; align-self:end}
#arvore .arv-fig{grid-area:fig}
#arvore .arv-saida{grid-area:saida; align-self:start}
#arvore .arv-txt .eyebrow, #arvore .arv-txt h2, #arvore .arv-txt .lead{text-align:left; margin-left:0; margin-right:0}
#arvore .arv-txt h2{max-width:none}
#arvore .arv-txt h2 em{color:var(--ouro-luz)}
#arvore .arv-txt .eyebrow{color:var(--ouro)}
#arvore .arv-txt .lead{margin-top:14px; max-width:46ch}
.hero-mao.arv-fig{max-width:none; justify-self:center; margin-top:0}
.hero-mao.arv-fig{width:100%}
@media (min-width:901px){ .hero-mao.arv-fig{width:min(100%,700px)} }

.arv-palco{position:relative; aspect-ratio:10 / 11; max-height:max(480px, calc(100svh - 130px)); margin-inline:auto}
.arv-palco .halo{position:absolute; inset:4% 0 0; pointer-events:none; filter:none; background:radial-gradient(46% 44% at 50% 50%, rgba(230,185,92,.24), rgba(182,132,42,.10) 46%, rgba(182,132,42,.03) 64%, transparent 76%)}
#arvCanvas{position:absolute; inset:0; width:100%; height:100%; display:block; touch-action:pan-y; cursor:grab; -webkit-tap-highlight-color:transparent}
#arvCanvas.arrasta{cursor:grabbing}
.arv-pontos{position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .9s var(--ease)}
.arv-palco.pronta .arv-pontos{opacity:1}
.arv-ponto{
  position:absolute; left:0; top:0; width:44px; height:44px; margin:-22px 0 0 -22px; padding:0; border:0; border-radius:50%;
  background:none; color:inherit; cursor:pointer; pointer-events:auto; will-change:transform; transition:opacity .4s var(--ease);
  -webkit-tap-highlight-color:transparent; outline:none;
}
.arv-ponto i{position:absolute; left:50%; top:50%; width:18px; height:18px; margin:-9px 0 0 -9px; border-radius:50%; border:1.5px solid var(--ouro-luz); background:rgba(40,28,6,.35); box-shadow:0 0 14px rgba(255,214,140,.55); transition:transform .35s var(--out), background .35s var(--ease)}
.arv-ponto i::after{content:''; position:absolute; inset:4px; border-radius:50%; background:var(--ouro-luz)}
.arv-ponto i::before{content:''; position:absolute; inset:-7px; border-radius:50%; border:1px solid rgba(255,227,166,.5); opacity:0}
@media (prefers-reduced-motion:no-preference){
  .arv-ponto i::before{animation:arvPulsa 2.8s ease-out infinite}
  .arv-ponto:nth-child(2n) i::before{animation-delay:1.4s}
  @keyframes arvPulsa{0%{opacity:.8; transform:scale(.6)} 100%{opacity:0; transform:scale(1.5)}}
}
.arv-ponto span{
  position:absolute; top:50%; left:auto; right:auto; transform:translateY(-50%); white-space:nowrap; pointer-events:none;
  padding:6px 12px 6px; border-radius:999px; background:rgba(9,12,30,.82); border:1px solid rgba(230,185,92,.55); color:#fff1cf;
  box-shadow:0 8px 22px -10px rgba(0,0,0,.7);
  font-family:var(--display); font-stretch:var(--estreita); font-weight:600; font-size:.7rem; line-height:1; letter-spacing:.14em; text-transform:uppercase;
  transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
}
.arv-ponto[data-lado="d"] span{left:38px}
.arv-ponto[data-lado="e"] span{right:38px}
.arv-ponto[data-lado="c"] span{top:auto; bottom:38px; left:50%; transform:translateX(-50%)}
.arv-ponto[data-lado="b"] span{top:38px; left:50%; transform:translateX(-50%)}
.arv-ponto:hover i, .arv-ponto:focus-visible i, .arv-ponto.on i{transform:scale(1.3); background:rgba(255,227,166,.3)}
.arv-ponto:focus-visible span{outline:2px solid var(--ouro-luz); outline-offset:2px}
.arv-ponto:hover span, .arv-ponto.on span{background:linear-gradient(160deg, rgba(255,227,166,.97), rgba(230,185,92,.95)); color:#2a1d05; border-color:rgba(255,227,166,.9)}
.arv-ponto.atras i{opacity:.5}
.arv-fig .hero-mao-dica{position:static; translate:none; text-align:center; margin:4px 0 0; white-space:normal}

.arv-lembra{
  grid-column:2; width:100%; min-height:42px; padding:9px 14px; border-radius:12px; border:1px solid var(--line);
  background:rgba(255,255,255,.04); color:var(--ink); font:inherit; font-size:.92rem; outline:none;
  transition:border-color .25s var(--ease), background .25s var(--ease);
}
.arv-lembra::placeholder{color:#9aa6c9}
.arv-lembra:focus{border-color:var(--ouro); background:rgba(230,185,92,.06)}
.arv-saida{border:1px solid var(--line-2); border-radius:var(--r); background:var(--surface); padding:20px 22px 22px; box-shadow:inset 0 1px 0 rgba(255,255,255,.15), 0 24px 50px -34px rgba(0,0,0,.55)}
.arv-saida .eyebrow{margin:0 0 8px; text-align:left; color:var(--ouro)}
.arv-saida p{margin:0; color:var(--ink-soft); line-height:1.6; font-size:.98rem}

.arv-nomes{margin-top:34px; border:1px solid var(--line-2); border-radius:var(--r); background:var(--surface); padding:26px 26px 24px; box-shadow:inset 0 1px 0 rgba(255,255,255,.15), 0 24px 50px -34px rgba(0,0,0,.55); display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:18px clamp(24px,4vw,56px); align-items:start}
.arv-nomes-txt .eyebrow{color:var(--ouro); margin:0 0 10px; text-align:left}
.arv-nomes-txt h3{margin:0 0 10px; font-family:var(--display); font-weight:600; font-stretch:var(--larga); letter-spacing:-.02em; font-size:clamp(1.3rem,2.2vw,1.7rem); line-height:1.15}
.arv-nomes-txt h3 em{font-style:normal; color:var(--ouro-luz)}
.arv-nomes-txt p{margin:0; color:var(--ink-soft); line-height:1.55; font-size:.95rem}
.arv-ger{display:grid; grid-template-columns:72px 1fr; gap:10px 14px; align-items:start; padding:10px 0; border-top:1px solid var(--line-2)}
.arv-ger:first-child{border-top:0; padding-top:0}
.arv-ger u{text-decoration:none; font-family:var(--display); font-stretch:var(--estreita); font-weight:600; font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); padding-top:12px}
.arv-ger > div{display:flex; flex-wrap:wrap; gap:8px}
.chip.anc{font-size:.84rem; padding:8px 14px; min-height:38px}
.chip.anc[aria-pressed="true"]{background:linear-gradient(160deg, rgba(255,227,166,.96), rgba(230,185,92,.94)); color:#2a1d05; border-color:rgba(255,227,166,.9); box-shadow:inset 0 1px 0 rgba(255,255,255,.6), 0 10px 24px -12px rgba(230,185,92,.8)}
.arv-nomes-saida{border-top:1px solid var(--line-2); padding-top:16px; margin-top:18px}
.arv-leitura{margin:10px 0 0; font-size:.9rem; color:var(--muted); line-height:1.5}
.arv-leitura a{color:var(--ouro-luz); text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--ouro-linha)}
.arv-nomes-chips{align-self:start}
.arv-conta{margin:0; color:var(--ink-soft); line-height:1.55}
.arv-conta b{color:var(--ouro-luz); font-weight:600}
#arvore .arv-nomes .btn-primary{background:linear-gradient(160deg, var(--ouro-luz), var(--ouro)); color:#2a1d05; border-color:transparent}
#arvore .arv-nomes .btn-primary:hover{color:#2a1d05}
.arv-legenda{display:none}
@media (max-width:900px){
  #arvore .arv-grid{grid-template-columns:1fr; grid-template-areas:"txt" "fig" "saida"; gap:22px}
  #arvore .arv-txt .eyebrow, #arvore .arv-txt h2, #arvore .arv-txt .lead{text-align:center; margin-left:auto; margin-right:auto}
  .hero-mao.arv-fig{width:min(100%,560px); justify-self:center}
  .arv-nomes{grid-template-columns:1fr; padding:22px 18px 20px}
  .arv-ger{grid-template-columns:1fr; gap:8px}
  .arv-ger u{padding-top:0}
  .arv-lembra{grid-column:1}
}
@media (max-width:600px){
  .arv-ponto span{display:none}
  .arv-legenda{display:flex; flex-wrap:wrap; justify-content:center; gap:8px; list-style:none; margin:14px 0 0; padding:0}
  .arv-legenda button{
    display:inline-flex; align-items:center; min-height:40px; padding:9px 15px; border-radius:999px; cursor:pointer;
    border:1px solid var(--ouro-linha); background:rgba(40,30,10,.35); color:#f2dfae;
    font-family:var(--display); font-stretch:var(--estreita); font-weight:500; font-size:.68rem; letter-spacing:.14em; text-transform:uppercase;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12); transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
  }
  .arv-legenda button.on{background:linear-gradient(160deg, rgba(255,227,166,.96), rgba(230,185,92,.94)); color:#2a1d05; border-color:rgba(255,227,166,.9); box-shadow:inset 0 1px 0 rgba(255,255,255,.6), 0 10px 24px -12px rgba(230,185,92,.8)}
}

html{overflow-x:hidden}
@supports (overflow:clip){ html{overflow-x:clip} }
@media (max-width:900px){ #hero .hero-mao .halo{inset:-8% -5% -12%} }

@media (max-width:600px){
  #arvore .arv-fig{justify-self:stretch; width:auto; margin-inline:-26px}
  .arv-palco{aspect-ratio:3 / 4; max-height:none}
  .arv-fig .hero-mao-dica, .arv-legenda{padding-inline:16px}
}

.arv-limpar{display:block; margin:6px 0 0 auto; min-height:44px; padding:10px 4px; border:0; background:none; cursor:pointer; color:var(--muted); font:inherit; font-size:.86rem; text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--line)}
.arv-limpar:hover{color:var(--ouro-luz)}
@media (max-width:600px){
  .arv-ger > div{display:grid; grid-template-columns:1fr 1fr; gap:8px}
  .chip.anc{padding:8px 10px; font-size:.8rem; justify-content:center; text-align:center; line-height:1.25; min-height:44px}
  .arv-limpar{margin-left:0}
}

:root, .campo{--muted:#aebfe8}
.hero{--muted:#aebfe8}
#temas .tema u, #depoimentos .dep .antes, .dep footer span, .duas .nao h3, footer.pe,
#comecar .portas-nota, #historia .ler-nota, .ag-fora{color:var(--ink-soft)}
.temas-nota, .lin-nota{color:#a9b9e8; font-size:.9rem}
.tema u{font-size:.75rem}
.frase i{border-color:rgba(185,199,239,.6)}
.ag-campos ::placeholder, #agenda .ag-form :is(input, textarea)::placeholder{color:#9aa6c9; opacity:1}
.ag-fora{font-size:.8rem; text-wrap:balance}
#paraquem .duas .nao h3{color:var(--ink-soft)}

h2 em{text-decoration:underline; text-decoration-thickness:1.5px; text-underline-offset:.18em; text-decoration-color:rgba(143,180,255,.55); text-decoration-skip-ink:none}
#arvore h2 em, #arvore h3 em{text-decoration-color:var(--ouro-linha)}

.tema b, .bs-q, .bs-res h3, .arv-nomes-txt h3, .ag-campos label, footer.pe .wrap > span:first-child{text-wrap:balance}
#historia .hist h2{margin:0 0 18px; text-wrap:balance}

#arvore .arv-saida .eyebrow, #arvore .arv-nomes-txt .eyebrow{font-size:.75rem; line-height:1.4}

.asc-frase > span{flex:0 1 auto}

.sub-bloco{margin-top:78px}

#temasGrade > .temas-saida{margin-top:0}

.bs-caminho li{position:relative}
.bs-caminho a::after{content:''; position:absolute; inset:0}

.zap.visivel.some{opacity:0; visibility:hidden; transform:translateY(14px) scale(.9)}
@media (pointer:coarse){
  #linChips .chip, .bib-pilulas li a, .bib-pilulas li:first-child a{min-height:44px}
  .bib-pilulas li a, .bib-pilulas li:first-child a{display:inline-flex; align-items:center}
}

@media (max-width:760px){
  .topo-bt{display:none !important}
  .zap{right:12px; bottom:calc(12px + var(--safe-bottom)); width:48px; height:48px}
  .zap svg{width:24px; height:24px}
  .pe .wrap .redes a{display:grid; place-items:center; padding:0; color:var(--ink-soft)}
  .pe .wrap > span:last-child a{display:inline-flex; align-items:center; min-height:44px; padding:0 2px}
  .provas{gap:10px}
  .provas div, .provas div:last-child{padding:16px 20px; display:flex; flex-wrap:wrap; align-items:baseline; justify-content:center; gap:4px 10px}
  .provas b{font-size:1.7rem}
}
@media (max-width:620px){

  #hero h1{font-size:min(2.5rem, calc((100vw - 72px) / 8.4))}
  #hero .hero-grid > *{min-width:0}
  #contato .hero-cta, #ascensao .hero-cta, #depoimentos .hero-cta{flex-direction:column; align-items:stretch; max-width:320px; margin-inline:auto}
}
@media (max-width:600px){
  .eyebrow, .rotulo{font-size:.75rem}
  .hero-mao-dica{font-size:.75rem}
  .provas span{font-size:.78rem; color:var(--ink-soft)}
  .arv-ger u{font-size:.74rem; color:var(--ink-soft)}
  .biblio h3, .duas h3, .ag-dia b{font-size:.78rem}
  .bs-legenda li{font-size:.76rem; color:var(--ink-soft)}
  .dep .antes u, .dep .depois u{font-size:.75rem}
  .dep footer span{font-size:.75rem}
  #comecar{padding-top:40px}
  #comecar .portas-nota{padding-inline:14px}
  #historia a.mais{display:inline-flex; align-items:center; min-height:44px}
  #arvore .arv-saida{padding:20px 18px 22px}
  #hero .hero-cta .btn, #espelho .esp-saida .hero-cta .btn{flex:1 1 100%; justify-content:center}
  #hero .brilho[style*="top:66%"], #hero .brilho[style*="top:94%"]{display:none}
  .sub-bloco{margin-top:48px}
  #como .momento{padding:22px 24px 22px !important}

  .bs-palco{gap:18px}
  .bs-instrumento{max-width:190px; margin:-34px auto -30px}
  .bs-legenda li{min-height:30px; padding:5px 12px}
  .bs-lado-nota{margin-top:10px}
  #bussola .bs-card{padding:22px 16px}
  .bs-opt{padding:14px 14px 14px 40px}
  .bs-opt::before{left:15px}
  .bs-res .hero-cta, .temas-saida .hero-cta, .bs-share{display:grid; gap:10px}
  .bs-res .hero-cta .btn, .temas-saida .hero-cta .btn, .bs-share button{width:100%; justify-content:center; margin-top:0}
  .bs-share #bsAgain{justify-self:center}

  .grid-conc > a.card{padding:26px 22px 26px}
  .grid-conc .ico{margin-bottom:12px}
  .tema{padding:18px 20px 16px}
  .tema u{margin-top:12px}
}
@media (max-width:560px){
  .tres{gap:12px}
  .tres a{display:grid; grid-template-columns:40px 1fr; column-gap:14px; text-align:left; padding:20px 20px 18px}
  .tres a svg{grid-row:1 / span 3; width:34px; height:34px; margin:2px 0 0}
  .tres b{margin:0 0 6px}
  .tres em{margin-top:10px; justify-self:start}
}
@media (max-width:760px){ .asc-frase{display:block} }
@media (max-width:860px){ .biblio > .bib-entradas{justify-content:flex-start; border:1px solid var(--tom-borda, var(--line))} }
@media (max-width:900px){
  body.menu-aberto header{background:#060b1e; border-color:var(--line-2)}
  .menu-painel li a{font-size:1.3rem; padding:10px 0}
}
@media (max-width:999px){ #historia > .wrap.form-const{box-shadow:none} }
.ag-form .ag-nota{text-align:left !important; margin-left:0 !important}

@media (min-width:901px){

  #hero .hero-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:center}
  #hero .hero-mao{max-width:none; margin-top:0}
}
@media (min-width:761px){ footer.pe .wrap{padding-right:100px} }
.mapa{right:10px}
.mapa a.aqui i{width:22px}
#conceitos .card .mais{margin-top:auto; padding-top:18px}
.tres a{display:flex; flex-direction:column; align-items:center}
.tres span{text-wrap:pretty}
.tres em{margin-top:auto; padding-top:16px}
@media (max-width:560px){ .tres a{display:grid} .tres em{padding-top:0} }
@media (min-width:601px){ .bs-rotulo{font-size:10.5px; letter-spacing:.1em} .bs-palco{grid-template-columns:340px 1fr} }
#paraquem .duas > *{display:flex; flex-direction:column}
#paraquem .duas ul{flex:1; display:flex; flex-direction:column; justify-content:space-between}
#depoimentos .dep[data-quem="laura"] .depois{flex:0 0 auto; margin-block:auto}
@media (min-width:1000px){
  #historia > .wrap.form-const{grid-template-columns:260px minmax(0,1fr)}
  #historia > .wrap.form-const .form-svg{width:260px}
  #historia #formTexto{max-width:72ch}
}

@media (min-width:901px){
  :is(#conceitos .grid-conc, #temas .temas-grade, #depoimentos .deps) > :nth-child(3n+1){--tom:linear-gradient(160deg, rgba(14,24,64,.78), rgba(10,18,50,.72)); --tom-borda:rgba(150,178,255,.22)}
  :is(#conceitos .grid-conc, #temas .temas-grade, #depoimentos .deps) > :nth-child(3n+2){--tom:linear-gradient(160deg, rgba(26,46,120,.62), rgba(16,30,84,.66)); --tom-borda:rgba(150,178,255,.32)}
  :is(#conceitos .grid-conc, #temas .temas-grade, #depoimentos .deps) > :nth-child(3n){--tom:linear-gradient(160deg, rgba(44,78,190,.40), rgba(26,48,130,.52)); --tom-borda:rgba(160,190,255,.42)}
}

:root, .campo{--gold:#a6c4ff}
.hero{--muted:#b4c2ec}
.hero-valor .hv-rot{color:var(--gold-luz)}
.mao-fio text{opacity:.85}
.mao-fio:hover text, .mao-fio:focus-visible text{opacity:1}
@media (max-width:600px){
  .eyebrow, .rotulo, .hero-valor .hv-rot, .menu-bt .menu-pal{font-size:.78rem}
  .tema u, .dep .antes u, .dep .depois u, .provas span, .hero-mao-dica, .dep footer span, .arv-ger u{font-size:.78rem}
  .duas h3, .momento u, .ger b, .biblio h3, .ag-dia b, .ag-fora{font-size:.8rem}
  .bs-legenda li{min-height:40px}
  #comecar > .wrap{width:calc(100% - 32px)}
}

@media (min-width:1000px){
  .provas{width:min(calc(var(--wrap) - 52px), calc(100% - 92px)); margin:56px auto}
  #historia{width:min(calc(var(--wrap) - 52px), calc(100% - 92px))}
}

.hero-foto{position:relative; margin:0; justify-self:center; width:min(100%, 470px)}
.hf-halo{position:absolute; inset:-8% -12% -6%; pointer-events:none; background:radial-gradient(50% 46% at 50% 46%, rgba(74,122,255,.40), rgba(44,78,200,.14) 52%, transparent 74%)}
.hero-foto::before{content:''; position:absolute; inset:-14px -14px 22px 18px; border-radius:999px 999px 30px 30px; border:1px solid rgba(143,180,255,.32); pointer-events:none}

@media (min-width:901px){ #hero .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)} }
@media (max-width:900px){ .hero-foto{width:min(100%, 380px); justify-self:center; margin-top:8px} .hero-foto::before{inset:-10px -10px 18px 12px} .hf-halo{inset:-6% -4% -4%} }

#alinhar .al-grid{display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); grid-template-areas:"txt fig" "saida fig"; gap:22px clamp(24px,4vw,64px); align-items:center}
#alinhar .al-txt{grid-area:txt; align-self:end}
#alinhar .al-fig{grid-area:fig; width:min(100%, 600px); justify-self:center; margin:0}
#alinhar .al-saida{grid-area:saida; align-self:start}
#alinhar .al-txt .eyebrow, #alinhar .al-txt h2, #alinhar .al-txt .lead{text-align:left; margin-left:0; margin-right:0}
#alinhar .al-txt h2{max-width:none}
#alinhar .al-txt .lead{margin-top:14px; max-width:46ch}
.al-rot{display:inline-flex; align-items:center; gap:9px}
.al-rot svg{width:17px; height:17px; flex:none; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round}
.al-saida{border:1px solid var(--line); border-radius:var(--r); background:var(--surface); padding:22px 24px 20px; box-shadow:inset 0 1px 0 rgba(255,255,255,.14), 0 24px 50px -34px rgba(0,0,0,.6)}
.al-saida > .eyebrow{margin:0 0 12px; text-align:left}

.al-perg{list-style:none; margin:0; padding:0; display:grid; gap:9px}
.al-perg li{position:relative; padding-left:20px; color:var(--ink); line-height:1.5}
.al-perg li::before{content:''; position:absolute; left:3px; top:.6em; width:7px; height:7px; border-radius:50%; border:1.5px solid var(--gold)}
.al-liga{margin:14px 0 0; color:var(--gold-luz); font-weight:600; line-height:1.5}
.al-acoes{display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin-top:18px}
.al-acoes[hidden]{display:none}
.al-acoes .mais{margin:0}
.al-fecho{margin:16px 0 0; padding-top:14px; border-top:1px solid var(--line-2); color:var(--ink-soft); font-size:.94rem; line-height:1.5}

.mao-fio.on text{opacity:1}


#alinhar .al-fig:not(.in) .mao-contorno{animation-play-state:paused}

.mao-legenda button{
  display:inline-flex; align-items:center; min-height:44px; padding:9px 16px; border-radius:999px; cursor:pointer;
  border:1px solid var(--line); background:rgba(16,27,70,.55); color:var(--ink-soft);
  font-family:var(--display); font-stretch:var(--estreita); font-weight:600; font-size:.76rem; letter-spacing:.12em; text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12); transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
}
.mao-legenda button.on{background:linear-gradient(160deg, rgba(207,224,255,.96), rgba(143,180,255,.94)); color:#071232; border-color:rgba(207,224,255,.9)}
@media (max-width:900px){
  #alinhar .al-grid{grid-template-columns:1fr; grid-template-areas:"txt" "fig" "saida"; gap:22px}
  #alinhar .al-txt .eyebrow, #alinhar .al-txt h2, #alinhar .al-txt .lead{text-align:center; margin-left:auto; margin-right:auto}
  #alinhar .al-txt .eyebrow{display:flex; justify-content:center}
  #alinhar .al-fig{width:min(100%, 560px)}
  #alinhar .hero-mao .halo{inset:-8% -5% -12%}
}
@media (max-width:600px){
  .al-saida{padding:20px 18px 18px}
  .al-acoes .btn{flex:1 1 100%; justify-content:center}
}

.retrato img{border-radius:999px 999px var(--r) var(--r)}
.retrato::before{border-radius:999px 999px var(--r) var(--r)}

.hist-cta{margin-top:24px}
@media (max-width:600px){ .hist-cta .btn{flex:1 1 100%; justify-content:center} }

.logo, header .logo, header.solid .logo{color:#f2d48f; gap:12px; font-size:.86rem; letter-spacing:.26em}
.logo b, header .logo b{color:#f2d48f}
.logo i, header .logo i, header.solid .logo i{color:#dfae4e}
.logo .marca{height:42px}
@media (max-width:600px){ .logo, header .logo, header.solid .logo{font-size:.78rem; letter-spacing:.2em; gap:9px} .logo .marca{height:36px} }
@media (max-width:370px){ .logo, header .logo, header.solid .logo{font-size:.72rem; letter-spacing:.16em} .logo .marca{height:32px} }

nav.links{position:static !important; transform:none !important; margin:0 auto !important; gap:clamp(16px,1.8vw,26px) !important}
nav.links a{white-space:nowrap}
@media (max-width:1240px){ nav.links a[href="#temas"]{display:none} }
@media (max-width:1180px){ nav.links a[href="#bussola"]{display:none} }
@media (max-width:600px){ #alinhar .brilho[style*="top:66%"], #alinhar .brilho[style*="top:94%"]{display:none} }

@media (max-width:900px){
  #hero .hero-grid{gap:22px}
  #hero .hero-foto{order:-1; width:min(58%, 230px); margin:0 auto}
  #hero .hero-foto::before{inset:-8px -8px 14px 10px}
  #hero .hf-halo{inset:-10% -20% -8%}
  #hero{padding-top:84px}
}

@media (min-width:1000px){
  #historia > .wrap.hist{align-items:start}
  #historia > .wrap.hist > .retrato{position:sticky; top:calc(110px + var(--safe-top, 0px))}
}

@media (min-width:901px){
  .hero-mao.arv-fig{width:min(100%,600px)}
  #alinhar .al-saida{min-height:392px; display:flex; flex-direction:column}
  #alinhar .al-fecho{margin-top:auto}
  #bussola .wrap{max-width:1000px}
}
@media (max-width:999px){ #historia .retrato{width:min(100%,380px); justify-self:center} }
.temas-nota, .lin-nota{margin-bottom:0}
.faq details:last-child{margin-bottom:0}
#paraquem .duas ul{justify-content:flex-start}
#paraquem .duas li{flex:1 1 0; align-items:center}
#depoimentos .dep[data-quem="laura"] .depois{margin:0; flex:1}
#historia .ler-bt, .capa .ler-caixa .ler-bt{height:50px; padding:0 24px; font-weight:600; font-size:.86rem; color:var(--ink); border-color:var(--line)}
.tres em, .tema u, .momento u, .dep .antes u, .dep .depois u, .ger b, .duas h3, .biblio h3, .ag-dia b, .bs-passo, .arv-ger u, .dep footer span, .hero-mao-dica{font-size:.7rem; font-weight:600; letter-spacing:.2em; font-stretch:88%}
.tema, .faq details{border-radius:var(--r)}
.ag-campos input, .ag-campos textarea, .ag-campos select{border-radius:var(--r-sm)}
.hero-foto::before, .retrato::before{display:none}
a.mais{display:inline-flex; align-items:center; gap:7px; text-underline-offset:3px}
@media (max-width:600px){
  .faq summary{font-size:1.02rem; line-height:1.35; padding-block:16px; text-wrap:balance}
  #historia .form-svg{display:none}
  #historia .ler-bt{width:100%; justify-content:center}
  .tres em, .tema u, .momento u, .dep .antes u, .dep .depois u, .ger b, .duas h3, .biblio h3, .ag-dia b, .bs-passo, .arv-ger u, .dep footer span, .hero-mao-dica{font-size:.78rem}
}
@media (max-width:560px){ .tres em{margin-top:10px} }
@media (min-width:901px){ #alinhar .al-saida{min-height:462px} }
@media (min-width:1100px){ #alinhar .al-saida{min-height:412px} }

.hero-foto.recorte{width:min(100%, 440px); align-self:end; justify-self:center; margin:0}
.hero-foto.recorte .hf-halo{inset:2% -14% 6%; background:radial-gradient(48% 42% at 50% 38%, rgba(74,122,255,.42), rgba(44,78,200,.16) 52%, transparent 74%)}
.hf-linha{position:absolute; left:6%; right:6%; top:3%; bottom:22%; border:1px solid rgba(230,185,92,.42); border-bottom:0; border-radius:999px 999px 0 0; pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg, #000 60%, transparent 100%); mask-image:linear-gradient(180deg, #000 60%, transparent 100%)}
.hf-img{position:relative; display:block; width:100%; height:auto;
  -webkit-mask-image:linear-gradient(180deg, #000 80%, transparent 100%); mask-image:linear-gradient(180deg, #000 80%, transparent 100%);
  filter:drop-shadow(0 30px 40px rgba(0,0,0,.35))}
@media (min-width:901px){ #hero .hero-grid{align-items:end} #hero .hero-txt{align-self:center} }
@media (max-width:900px){
  #hero .hero-foto.recorte{width:min(80%, 300px); margin:0 auto -6px}
  .hf-linha{left:8%; right:8%; top:4%; bottom:8%}
  .hf-img{-webkit-mask-image:linear-gradient(180deg, #000 72%, transparent 100%); mask-image:linear-gradient(180deg, #000 72%, transparent 100%)}
}

.hf-img{-webkit-mask-image:linear-gradient(180deg, #000 58%, transparent 90%); mask-image:linear-gradient(180deg, #000 58%, transparent 90%)}
@media (max-width:900px){ .hf-img{-webkit-mask-image:linear-gradient(180deg, #000 55%, transparent 92%); mask-image:linear-gradient(180deg, #000 55%, transparent 92%)} }

.mao-dobras path{fill:none; stroke:var(--gold-luz); stroke-opacity:.42; stroke-width:.9; stroke-linecap:round}

.mao-fio path.dedo{fill:url(#dedoLuz); fill-opacity:0; stroke:none; pointer-events:all; transition:fill-opacity .35s var(--ease)}
.mao-fio.on path.dedo{fill-opacity:1}
.mao-fio .anel{fill:rgba(10,18,52,.72); stroke-opacity:.55; stroke-width:1}
.mao-fio .ico{fill:none; stroke:var(--gold-luz); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; transition:stroke .3s var(--ease)}
.mao-fio.on .anel{r:15; fill:rgba(207,224,255,.96); stroke:#fff; stroke-opacity:1}
.mao-fio.on .ico{stroke:#0b1640}
.mao-fio.on text{font-weight:700}

@media (prefers-reduced-motion:no-preference){
  #alinhar .al-fig.in:not(.mexeu) .mao-fio:not(.on) path.dedo{animation:dedoOi 1.1s var(--ease) both}
  #alinhar .al-fig.in:not(.mexeu) .mao-fio:nth-child(1) path.dedo{animation-delay:2.0s}
  #alinhar .al-fig.in:not(.mexeu) .mao-fio:nth-child(3) path.dedo{animation-delay:2.4s}
  #alinhar .al-fig.in:not(.mexeu) .mao-fio:nth-child(4) path.dedo{animation-delay:2.8s}
  #alinhar .al-fig.in:not(.mexeu) .mao-fio:nth-child(5) path.dedo{animation-delay:3.2s}
  @keyframes dedoOi{0%{fill-opacity:0} 40%{fill-opacity:.85} 100%{fill-opacity:0}}
  #alinhar .al-fig:not(.in) .mao-dobras path{opacity:0}
  #alinhar .al-fig.in .mao-dobras path{transition:opacity 1.2s var(--ease) 1.6s; opacity:1}
}

#alinhar .mao, #alinhar .mao:focus, #alinhar .mao:focus-visible, #alinhar .al-fig:focus{outline:none}
#alinhar .mao, #alinhar .mao-fio, #alinhar .mao-legenda button{-webkit-tap-highlight-color:transparent}
.mao-fio .fio{fill:none; stroke:var(--gold-luz); stroke-opacity:.16; stroke-width:1; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:1; transition:stroke-opacity .35s var(--ease), stroke-width .35s var(--ease)}
.mao-fio.on .fio{stroke-opacity:.9; stroke-width:1.7; filter:drop-shadow(0 0 4px rgba(207,224,255,.85))}
.mao-fio .fio-luz{fill:none; stroke:#fff; stroke-width:2.2; stroke-linecap:round; stroke-dasharray:3 15; opacity:0; pointer-events:none; transition:opacity .35s var(--ease)}
.mao-fio.on .fio-luz{opacity:.95}
.mao-centro .luz{fill:url(#centroLuz)}
.mao-centro .anel{fill:rgba(10,18,52,.6); stroke:var(--gold-luz); stroke-opacity:.8; stroke-width:1}
.mao-centro .ponto{fill:#fff}
@media (prefers-reduced-motion:no-preference){
  .mao-fio .fio-luz{animation:fioCorre 1.3s linear infinite}
  @keyframes fioCorre{to{stroke-dashoffset:-18}}
  .mao-centro .luz{animation:centroPulsa 2.6s ease-in-out infinite; transform-origin:270px 406px; transform-box:view-box}
  @keyframes centroPulsa{0%,100%{opacity:.55; transform:scale(.85)} 50%{opacity:1; transform:scale(1.15)}}

  #alinhar .al-fig .mao-fio .fio{stroke-dashoffset:1}
  #alinhar .al-fig.in .mao-fio .fio{stroke-dashoffset:0; animation:traca 1.1s var(--ease) both}
  #alinhar .al-fig.in .mao-fio:nth-child(1) .fio{animation-delay:1.4s}
  #alinhar .al-fig.in .mao-fio:nth-child(2) .fio{animation-delay:1.25s}
  #alinhar .al-fig.in .mao-fio:nth-child(3) .fio{animation-delay:1.1s}
  #alinhar .al-fig.in .mao-fio:nth-child(4) .fio{animation-delay:1.55s}
  #alinhar .al-fig.in .mao-fio:nth-child(5) .fio{animation-delay:1.7s}
}

.mao-fio:focus-visible .halo{stroke:var(--gold-luz); stroke-width:1.5; stroke-dasharray:3 4; stroke-opacity:.9}

@media (max-width:600px){
  #alinhar .mao-fio .anel{r:17}
  #alinhar .mao-fio.on .anel{r:19}
  #alinhar .mao-fio .ico{stroke-width:1.6}
  #alinhar .mao-fio[data-area=espiritual] .ico{transform:translate(229.2px,87.6px) scale(.85)}
  #alinhar .mao-fio[data-area=relacionamento] .ico{transform:translate(163.4px,112.3px) scale(.85)}
  #alinhar .mao-fio[data-area=familia] .ico{transform:translate(76.5px,296.8px) scale(.85)}
  #alinhar .mao-fio[data-area=financeiro] .ico{transform:translate(295px,103.2px) scale(.85)}
  #alinhar .mao-fio[data-area=carreira] .ico{transform:translate(355.9px,157.5px) scale(.85)}
}
/* a palma nao troca o card (so os dedos); a luz do polegar segue o eixo dele; o pulso some suave embaixo */
#alinhar .mao-fio .fio, #alinhar .mao-fio .fio-luz{pointer-events:none}
#alinhar .mao-fio[data-area=familia] path.dedo{fill:url(#dedoLuzPol)}
#alinhar svg.mao{-webkit-mask-image:linear-gradient(180deg,#000 84%,transparent 100%); mask-image:linear-gradient(180deg,#000 84%,transparent 100%)}
/* agenda em dois passos: 1 escolher o horario, 2 confirmar */
.ag-passo{display:flex; align-items:center; gap:12px; margin:40px 0 0; font-family:var(--display); font-weight:600; font-size:1.05rem; color:var(--ink)}
.ag-passo b{display:inline-grid; place-items:center; width:30px; height:30px; flex:none; border-radius:50%; background:var(--gold); color:#071232; font-size:.9rem; font-weight:700}
#agenda .ag-grade{margin-top:16px !important}
.ag-form > .ag-passo{margin:0 0 18px}
.ag-escolha{display:flex; align-items:center; gap:14px; padding:14px 16px; border:1.5px dashed rgba(180,205,255,.45); border-radius:var(--r-sm); background:rgba(143,180,255,.06); transition:border-color .3s var(--ease), background .3s var(--ease)}
.ag-escolha:focus{outline:none}
.ag-esc-ico svg{width:26px; height:26px; display:block; fill:none; stroke:var(--gold-luz); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round}
.ag-esc-txt{flex:1; min-width:0; display:grid; gap:2px}
.ag-esc-txt small{font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}
.ag-esc-txt strong{font-family:var(--display); font-size:1.12rem; font-weight:600; color:var(--ink)}
.ag-esc-bt{flex:none; min-height:44px; padding:10px 18px; border-radius:999px; border:1px solid var(--gold); background:var(--gold); color:#071232; font:inherit; font-weight:600; font-size:.88rem; cursor:pointer}
.ag-escolha.ok{border-style:solid; border-color:rgba(180,205,255,.7); background:rgba(143,180,255,.14)}
.ag-escolha.ok .ag-esc-bt{background:transparent; color:var(--ink)}
.ag-intro{font-size:.9rem; margin:16px 0 0}
@media (prefers-reduced-motion:no-preference){
  .ag-grade.chama .ag-dia{animation:agChama 1.6s var(--ease)}
  @keyframes agChama{0%,100%{box-shadow:var(--shadow)} 30%{box-shadow:0 0 0 2px rgba(207,224,255,.85), 0 0 28px rgba(143,180,255,.45)}}
}
@media (max-width:600px){
  .ag-escolha{flex-wrap:wrap}
  .ag-esc-bt{width:100%}
}
/* agenda: horarios de hoje que ja passaram */
.ag-hoje{margin-left:6px; padding:2px 8px; border-radius:999px; background:var(--gold); color:#071232; font-size:.62rem; letter-spacing:.12em; vertical-align:1px}
.ag-dia.hoje{border-color:rgba(180,205,255,.55)}
.ag-hora.passou, .ag-hora.passou:hover{opacity:.42; text-decoration:line-through; cursor:not-allowed; background:transparent; border-color:var(--line-2)}
/* agenda: aviso depois de abrir o WhatsApp */
.ag-pronto{margin-top:24px; padding:34px 32px; border:1px solid rgba(180,205,255,.55); border-radius:var(--r); background:linear-gradient(160deg, rgba(26,46,120,.7), rgba(10,18,50,.8)); text-align:center}
.ag-pronto[hidden]{display:none}
.ag-pronto:focus{outline:none}
.ag-pronto-ico svg{width:46px; height:46px; fill:none; stroke:var(--gold-luz); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round}
.ag-pronto h3{margin:10px 0 6px; font-family:var(--display); font-size:1.35rem; font-weight:600; color:var(--ink)}
.ag-pronto-hora{margin:0 0 12px; color:var(--gold-luz); font-weight:600}
.ag-pronto p{max-width:48ch; margin-left:auto; margin-right:auto}
.ag-pronto-bts{display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:22px}
.ag-pronto .ag-esc-bt{background:transparent; color:var(--ink)}
@media (max-width:600px){ .ag-pronto{padding:28px 20px} .ag-pronto-bts > *{flex:1 1 100%; justify-content:center} }

#agenda .ag-form[hidden]{display:none}
/* agenda: bussola, lista de espera, lembrete */
.ag-bussola{display:flex; align-items:center; gap:10px; margin:16px 0 0; padding:12px 14px; border:1px solid var(--line); border-radius:var(--r-sm); background:rgba(143,180,255,.08); font-size:.92rem; color:var(--ink-soft); cursor:pointer}
.ag-bussola[hidden]{display:none}
.ag-bussola input{width:18px; height:18px; accent-color:var(--gold); flex:none}
.ag-bussola b{color:var(--gold-luz); letter-spacing:.08em}
.ag-link{background:none; border:0; padding:0; font:inherit; color:var(--gold-luz); text-decoration:underline; text-underline-offset:3px; cursor:pointer}
.ag-espera{margin:18px 0 0; text-align:center; color:var(--ink-soft); font-size:.92rem}
.ag-espera a{color:var(--gold-luz)}
.ag-avise{font-size:.82rem}
.ag-lembrete{display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px 18px; margin-top:20px; padding-top:16px; border-top:1px solid var(--line-2); font-size:.9rem; color:var(--ink-soft)}
.ag-lembrete .ag-link{min-height:44px; display:inline-flex; align-items:center}

.ag-pronto .ag-leia{margin:16px auto 0; font-size:.92rem; color:var(--ink-soft)}
.ag-pronto .ag-leia a{color:var(--gold-luz); text-underline-offset:3px}
@media (min-width:901px){ #hero .hero-foto.recorte{align-self:start; margin-top:0} }
.ag-data{display:flex; align-items:center; gap:6px; margin-top:5px; color:var(--ink); letter-spacing:.06em; font-weight:600; min-height:18px}
.ag-data .ag-hoje{margin-left:0}
/* agenda: horarios livres */
#agenda .ag-passo{flex-wrap:wrap}
.ag-vagas{margin-left:auto; padding:5px 12px; border-radius:999px; border:1px solid var(--line); background:rgba(143,180,255,.1); font-size:.8rem; font-weight:500; color:var(--gold-luz)}
.ag-vagas.cheia{color:var(--ink-soft)}
@media (max-width:600px){ .ag-vagas{margin-left:42px} }
/* duvidas: busca */
.faq-busca{position:relative; max-width:620px; margin:28px auto 0}
.faq-busca svg{position:absolute; left:16px; top:50%; width:20px; height:20px; transform:translateY(-50%); fill:none; stroke:var(--muted); stroke-width:1.7; stroke-linecap:round; pointer-events:none}
.faq-busca input{width:100%; min-height:50px; padding:12px 18px 12px 46px; border-radius:999px; border:1px solid var(--line); background:rgba(16,27,70,.7); color:var(--ink); font:inherit; font-size:1rem}
.faq-busca input::placeholder{color:#9aa6c9}
.faq-busca input:focus{outline:none; border-color:var(--gold)}
.faq-nada{text-align:center; margin:18px 0 0; color:var(--ink-soft)}
.faq-nada a{color:var(--gold-luz)}
.faq details[hidden]{display:none}


/* ===================== modo claro =====================
   As partes de texto ficam claras. As partes "de noite" (a mao, a arvore, quem e a Katia,
   a Bussola, para quem e, a chamada final, o inicio e o cabecalho) continuam escuras:
   o ceu, a arvore 3D e a mao so brilham no escuro. */
html[data-tema="claro"]{
  --bg:#eef2fb; --bg-2:#ffffff; --surface:#ffffff; --surface-2:#e6edfa;
  --ink:#0f1a40; --ink-soft:#33416e; --muted:#56638c;
  --line:rgba(25,45,120,.16); --line-2:rgba(25,45,120,.09);
  --accent:#2b4fc0; --accent-soft:rgba(43,79,192,.1);
  --gold:#2b4fc0; --gold-line:rgba(43,79,192,.35); --gold-luz:#22409f;
  background:#eef2fb;
}
html[data-tema="claro"] body{color:var(--ink)}
html[data-tema="claro"] body::before{background:linear-gradient(180deg,#f4f7fe,#e7edfa)}
html[data-tema="claro"] #campo3d{display:none}
/* as partes de noite guardam as cores escuras */
html[data-tema="claro"] :is(.campo, .hero, header, .menu-painel, .ag-pronto){
  --bg:#060b1e; --bg-2:rgba(12,20,52,.62); --surface:rgba(16,27,70,.86); --surface-2:rgba(10,17,44,.55);
  --ink:#e9efff; --ink-soft:#b9c7ef; --muted:#8a9bcf;
  --line:rgba(150,178,255,.13); --line-2:rgba(150,178,255,.07);
  --accent:#8fb4ff; --accent-soft:rgba(143,180,255,.12);
  --gold:#8fb4ff; --gold-line:rgba(143,180,255,.38); --gold-luz:#cfe0ff;
  color:var(--ink);
}
html[data-tema="claro"] .campo{background:radial-gradient(900px 500px at 50% 0%, rgba(40,80,210,.28), transparent 70%), linear-gradient(180deg,#0b1434,#060b1e)}
html[data-tema="claro"] .hero{background:linear-gradient(160deg,#16286a,#0a1235)}
html[data-tema="claro"] .sec{position:relative}
/* cartoes das partes claras */
html[data-tema="claro"] .sec:not(.campo) :is(.momento, .passo, .dep, .grid-conc > *, .temas-grade > *, .duas > *, .ger, .ag-dia, .biblio > .bib, .frases > *, .faq details, .tres a, .ag-form, .frase, .esp-saida, .temas-saida){
  --tom:#ffffff !important; --tom-borda:var(--line) !important;
  background:#ffffff; border-color:var(--line);
  box-shadow:0 1px 2px rgba(20,40,110,.06), 0 18px 40px -28px rgba(20,40,110,.35);
}
html[data-tema="claro"] .sec:not(.campo) .btn-primary{background:var(--accent); border-color:var(--accent); color:#fff}
html[data-tema="claro"] .sec:not(.campo) .btn-primary:hover{background:#1f3c9a; border-color:#1f3c9a; color:#fff}
html[data-tema="claro"] .sec:not(.campo) .btn-ghost{border-color:var(--line); color:var(--ink)}
html[data-tema="claro"] .ag-campos :is(input, textarea, select), html[data-tema="claro"] .faq-busca input{background:#f6f8fe; color:var(--ink); border-color:var(--line)}
html[data-tema="claro"] .ag-campos ::placeholder, html[data-tema="claro"] .faq-busca input::placeholder{color:#7a86ab}
html[data-tema="claro"] .ag-hora{background:#f3f6fd; border-color:var(--line); color:var(--ink)}
html[data-tema="claro"] .ag-hora:hover{background:#e3eafb; border-color:var(--accent)}
html[data-tema="claro"] .ag-hora[aria-pressed="true"]{background:var(--accent); border-color:var(--accent); color:#fff; box-shadow:0 10px 24px -12px rgba(43,79,192,.7)}
html[data-tema="claro"] .ag-hora[aria-pressed="true"] u{color:#fff}
html[data-tema="claro"] .ag-hora.passou, html[data-tema="claro"] .ag-hora.passou:hover{background:transparent}
html[data-tema="claro"] .ag-escolha{background:#f3f6fd; border-color:rgba(43,79,192,.35)}
html[data-tema="claro"] .ag-escolha.ok{background:#e6edfb; border-color:var(--accent)}
html[data-tema="claro"] .ag-esc-bt{background:var(--accent); border-color:var(--accent); color:#fff}
html[data-tema="claro"] .ag-escolha.ok .ag-esc-bt{background:transparent; color:var(--ink)}
html[data-tema="claro"] .ag-vagas{background:#e3eafb}
html[data-tema="claro"] .ag-passo b, html[data-tema="claro"] .ag-hoje{background:var(--accent); color:#fff}
html[data-tema="claro"] .ag-bussola{background:#eef2fd}
html[data-tema="claro"] .momento::before{background:var(--bg)}
html[data-tema="claro"] .topo-bt{background:#ffffff; color:var(--ink-soft); border-color:var(--line)}
html[data-tema="claro"] .ag-erro{color:#b3261e}
html[data-tema="claro"] ::selection{background:var(--accent); color:#fff}

/* ===================== foto do inicio: luz leve que desliza atras dela ===================== */
.hf-brilho{position:absolute; left:16%; right:16%; top:8%; bottom:32%; pointer-events:none; border-radius:50%;
  background:radial-gradient(closest-side, rgba(176,208,255,.32), rgba(150,190,255,.1) 62%, transparent);
  filter:blur(24px); opacity:.4; transform:translate3d(0,0,0); will-change:transform, opacity;
  transition:opacity 1.6s cubic-bezier(.22,.61,.36,1)}
@media (hover:hover) and (pointer:fine){
  .hero-foto.recorte:hover .hf-brilho{opacity:.7}
  @media (prefers-reduced-motion:no-preference){
    .hf-brilho{animation:hfRespira 9s ease-in-out infinite}
    @keyframes hfRespira{0%,100%{scale:1} 50%{scale:1.06}}
  }
}
/* clique na foto: ela afunda e volta, e a pagina desce ate a historia */
.hero-foto.recorte{cursor:pointer; -webkit-tap-highlight-color:transparent}
.hero-foto.recorte:focus{outline:none}
.hero-foto.recorte:focus-visible picture{outline:2px solid var(--gold-luz); outline-offset:6px; border-radius:999px 999px 18px 18px}
.hero-foto.recorte picture{display:block; position:relative; transform-origin:50% 70%}
@media (prefers-reduced-motion:no-preference){
  .hero-foto.recorte.clique picture{animation:fotoClique .62s cubic-bezier(.3,.7,.25,1)}
  .hero-foto.recorte.clique .hf-brilho{opacity:.85}
  @keyframes fotoClique{0%{transform:scale(1)} 32%{transform:scale(.93)} 68%{transform:scale(1.035)} 100%{transform:scale(1)}}
  .retrato.chegou img{animation:retratoChega 1.5s cubic-bezier(.22,.61,.36,1)}
  @keyframes retratoChega{0%{transform:scale(.96); box-shadow:0 0 0 0 rgba(143,180,255,.55), 0 30px 60px rgba(0,0,0,.35)}
    55%{transform:scale(1.01); box-shadow:0 0 0 14px rgba(143,180,255,0), 0 30px 60px rgba(0,0,0,.35)}
    100%{transform:none; box-shadow:0 0 0 0 rgba(143,180,255,0), 0 30px 60px rgba(0,0,0,.35)}}
}

/* ===================== a marca do topo: a chave gira no clique ===================== */
#topo .logo{position:relative}
#topo .logo .marca{transform-origin:31% 50%; transition:transform .5s cubic-bezier(.22,.61,.36,1)}
#topo .logo::before{content:''; position:absolute; left:22px; top:50%; width:44px; height:44px; border-radius:50%;
  border:1.5px solid rgba(242,212,143,.85); opacity:0; pointer-events:none; transform:translate(-50%,-50%) scale(.3)}
@media (hover:hover) and (pointer:fine){ #topo .logo:hover .marca{transform:rotate(-9deg)} }
@media (prefers-reduced-motion:no-preference){
  #topo .logo.gira .marca{animation:chaveGira 1.15s cubic-bezier(.5,.05,.2,1)}
  #topo .logo.gira::before{animation:chaveAnel 1s cubic-bezier(.2,.7,.3,1) .38s}
  #topo .logo.gira b, #topo .logo.gira i{animation:nomeLuz 1.2s ease .2s}
  @keyframes chaveGira{
    0%{transform:perspective(240px) rotateY(0)}
    18%{transform:perspective(240px) rotateY(28deg) scale(.92)}
    72%{transform:perspective(240px) rotateY(-372deg) scale(1.1); filter:drop-shadow(0 0 7px rgba(242,212,143,.9))}
    100%{transform:perspective(240px) rotateY(-360deg) scale(1)}}
  @keyframes chaveAnel{0%{opacity:.9; transform:translate(-50%,-50%) scale(.35)} 100%{opacity:0; transform:translate(-50%,-50%) scale(2.3)}}
  @keyframes nomeLuz{0%,100%{text-shadow:none} 45%{text-shadow:0 0 14px rgba(242,212,143,.8)}}
}
@media (max-width:600px){ #topo .logo::before{left:19px; width:38px; height:38px} }
@media (max-width:370px){ #topo .logo::before{left:17px; width:34px; height:34px} }

/* ===================== a mao: troca do relato sem pular a pagina ===================== */
@media (prefers-reduced-motion:no-preference){
  #alSaida.troca #alTitulo, #alSaida.troca #alCorpo{animation:alTroca .45s cubic-bezier(.22,.61,.36,1) both}
  #alSaida.troca #alCorpo{animation-delay:.06s}
  @keyframes alTroca{from{opacity:0; transform:translateY(7px)}}
}
/* no celular a mao fica menor, para ela, as areas e o comeco do relato caberem juntos na tela */
@media (max-width:600px){
  #alinhar .al-fig .mao{width:min(100%, 300px); margin:0 auto}
  #alinhar .al-grid{gap:16px}
  #alinhar .hero-mao-dica{margin-top:8px}
}

/* ===================== celular mais leve ===================== */
/* o que esta fora da tela fica parado */
.fora-vista .hf-brilho, .fora-vista .mao-fio .fio-luz, .fora-vista .mao-centro .luz,
.fora-vista .arv-ponto i::before, .fora-vista .brilho{animation-play-state:paused !important}
/* so o fio escolhido corre luz; os outros quatro nem calculam */
.mao-fio:not(.on) .fio-luz{animation:none !important}
@media (max-width:900px), (pointer:coarse){
  /* no toque, a luz corre algumas vezes pelo fio escolhido e para; o centro pulsa ao chegar e descansa */
  .mao-fio.on .fio{filter:none}
  .mao-fio.on .fio-luz{animation-iteration-count:4 !important}
  .mao-centro .luz{animation-iteration-count:3 !important}
  .hf-img{filter:none}
  #campo3d{-webkit-mask-image:none !important; mask-image:none !important; opacity:.85}
}

/* ===================== agenda: primeira vez ===================== */
.ag-primeira{margin-top:18px}
.ag-primeira-info{margin:10px 0 0; padding:14px 16px; border-left:2px solid var(--gold); border-radius:0 var(--r-sm) var(--r-sm) 0;
  background:rgba(143,180,255,.06); font-size:.92rem; line-height:1.55; color:var(--ink-soft)}
.ag-primeira-info[hidden]{display:none}
.ag-primeira-info p{margin:0}
.ag-primeira-info b{color:var(--ink); font-weight:600}
.ag-primeira-links{display:flex; flex-wrap:wrap; gap:6px 18px; margin-top:10px !important}
.ag-primeira-links a{color:var(--gold-luz); text-underline-offset:3px}
@media (prefers-reduced-motion:no-preference){
  .ag-primeira-info:not([hidden]){animation:bsEntra .4s cubic-bezier(.22,.61,.36,1)}
}
html[data-tema="claro"] .ag-primeira-info{background:#f3f6fd}

