
:root { --bg:#faf8f3; --papel:#fffdf8; --tinta:#1d2420; --suave:#5a635d; --linha:#e6e1d6; --verde:#1f8a5e; --verde-claro:#e4f3ec;
  --serif:'EB Garamond', Georgia, 'Times New Roman', serif; --sans:'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif; }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--bg); color:var(--tinta); font:17px/1.7 var(--sans); }
a { color:var(--verde); text-underline-offset:3px; }
img { max-width:100%; height:auto; }
.wrap { max-width:1040px; margin:0 auto; padding:0 16px; }
.texto-larg { max-width:700px; }
header.topo { border-bottom:1px solid var(--linha); background:var(--papel); }
.topo-in { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 24px; padding:18px 16px; }
.marca { text-decoration:none; color:var(--tinta); display:flex; align-items:baseline; gap:10px; }
.marca b { font:600 26px/1.1 var(--serif); letter-spacing:.01em; }
.marca span { font:500 12px var(--sans); color:var(--suave); letter-spacing:.14em; text-transform:uppercase; }
nav.menu { display:flex; flex-wrap:wrap; gap:4px 20px; }
nav.menu a { color:var(--suave); text-decoration:none; font-size:15px; padding:2px 0; border-bottom:2px solid transparent; }
nav.menu a:hover, nav.menu a[aria-current] { color:var(--tinta); border-bottom-color:var(--verde); }
main { padding:48px 0 72px; }
h1, h2, h3 { font-family:var(--serif); font-weight:600; line-height:1.15; color:var(--tinta); }
h1 { font-size:clamp(34px, 6vw, 52px); margin:0 0 14px; }
h2 { font-size:clamp(26px, 4vw, 32px); margin:44px 0 12px; }
h3 { font-size:24px; margin:0 0 6px; }
.olho { font:600 12px var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--verde); margin:0 0 10px; }
.lead { font:400 21px/1.55 var(--serif); color:var(--suave); margin:0 0 8px; }
.hero { display:grid; grid-template-columns:minmax(0, 1fr) 260px; gap:40px; align-items:center; }
.hero img { width:260px; height:260px; object-fit:cover; border-radius:50%; border:6px solid var(--papel); box-shadow:0 0 0 1px var(--linha), 0 18px 40px -20px rgb(0 0 0 / .35); }
.selos { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 0; padding:0; list-style:none; }
.selos li { font-size:14px; padding:5px 12px; border-radius:999px; background:var(--verde-claro); color:#155c3f; }
.lista { display:grid; gap:0; margin-top:8px; }
.item { display:block; padding:24px 0; border-top:1px solid var(--linha); text-decoration:none; color:inherit; }
.item:last-child { border-bottom:1px solid var(--linha); }
.item time, .meta { font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--suave); }
.item h3 { margin:6px 0 6px; transition:color .15s; }
.item:hover h3 { color:var(--verde); }
.item p { margin:0; color:var(--suave); }
.mais { display:inline-block; margin-top:18px; font-weight:600; text-decoration:none; }
article.post { max-width:700px; }
article.post p, article.post li { font:19px/1.75 var(--serif); }
article.post p.olho { font:600 12px var(--sans); }
article.post p.meta { font:13px var(--sans); margin:0 0 26px; }
article.post .meta + p::first-letter { float:left; font:600 64px/0.85 var(--serif); padding:6px 10px 0 0; color:var(--verde); }
article.post blockquote { margin:28px 0; padding:4px 0 4px 22px; border-left:3px solid var(--verde); font:italic 22px/1.5 var(--serif); color:var(--suave); }
.assina { display:flex; align-items:center; gap:14px; margin-top:40px; padding-top:22px; border-top:1px solid var(--linha); }
.assina img { width:56px; height:56px; border-radius:50%; object-fit:cover; }
.assina b { display:block; font:600 19px var(--serif); }
.assina span { font-size:14px; color:var(--suave); }
.cartoes { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:16px; margin-top:16px; }
.cartao { background:var(--papel); border:1px solid var(--linha); border-radius:12px; padding:22px; }
.cartao p { margin:6px 0 0; color:var(--suave); font-size:16px; }
.bolsa { padding:14px 10px 6px; overflow:hidden; }
.indic { padding:4px 8px 0; }
.ind-abas { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:12px; }
.ind-abas button, .ind-per button { border:1px solid var(--linha); background:transparent; color:var(--suave); border-radius:8px; padding:6px 12px; font:600 13px var(--sans); cursor:pointer; }
.ind-abas button[aria-pressed=true], .ind-per button[aria-pressed=true] { color:var(--tinta); background:var(--verde-claro); border-color:var(--verde); }
.ind-topo { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:12px; }
.ind-nome { font:600 15px var(--sans); color:var(--tinta); } .ind-nome small { color:var(--suave); font-weight:400; margin-left:6px; }
.ind-num { font:700 clamp(30px, 5vw, 40px)/1.1 var(--serif); color:var(--tinta); margin-top:4px; }
.ind-var { font:600 14px var(--sans); } .ind-var.sobe { color:#3dffa8; } .ind-var.desce { color:#ff7ab6; } .ind-var small { color:var(--suave); font-weight:400; }
.ind-leg { display:flex; flex-wrap:wrap; gap:6px 16px; font:600 13px var(--sans); margin-top:4px; }
.ind-per { display:flex; gap:4px; }
.ind-carr { color:var(--suave); font-size:14px; }
.ind-graf { position:relative; margin-top:10px; }
.ind-graf svg { display:block; width:100%; height:300px; touch-action:pan-y; }
.ind-graf .g { stroke:var(--linha); } .ind-graf .zero { stroke:var(--suave); stroke-dasharray:4 4; } .ind-graf .mira { stroke:var(--suave); stroke-dasharray:3 3; }
.ind-graf text { fill:var(--suave); font:11px var(--sans); }
.dica { position:absolute; top:8px; background:rgb(4 8 15/.92); border:1px solid var(--linha); border-radius:10px; padding:8px 10px; font-size:13px; pointer-events:none; display:grid; gap:2px; white-space:nowrap; }
.dica[hidden] { display:none; }
.calc-abas { margin-bottom:6px; }
.calc-desc { color:var(--suave); margin:6px 0 12px; }
.calc-form { display:grid; grid-template-columns:repeat(auto-fit, minmax(210px, 1fr)); gap:10px 14px; }
.cx { display:flex; flex-direction:column; gap:4px; font:600 13px var(--sans); color:var(--suave); }
.cx input, .cx select { padding:9px 10px; border-radius:8px; border:1px solid var(--linha); background:rgb(255 255 255/.04); color:var(--tinta); font:600 16px var(--sans); }
.cx select option { background:#0c1726; color:#eef5fb; }
.cx input + select { margin-top:4px; }
.calc-extra { margin-top:4px; }
.ind-graf svg:not([viewBox]) { height:260px; }
.rend-in { display:flex; align-items:center; gap:8px; font:600 14px var(--sans); color:var(--suave); }
.rend-in input { width:130px; padding:8px 10px; border-radius:8px; border:1px solid var(--linha); background:rgb(255 255 255/.04); color:var(--tinta); font:700 18px var(--serif); }
.rend-in span { color:var(--tinta); }
.rend-res { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:10px; margin:14px 0 4px; }
.rend-c { border:1px solid var(--linha); border-left:4px solid var(--c); border-radius:12px; padding:10px 14px; }
.rend-c small { display:block; color:var(--suave); font-size:13px; } .rend-c b { display:block; font:700 24px var(--serif); color:var(--c); } .rend-c span { font-size:13px; color:var(--suave); }
.cred { margin:0 0 14px; } .cred-t { display:flex; justify-content:space-between; gap:10px; font-size:15px; } .cred-t b { font-family:var(--serif); }
.cred-b { height:12px; border-radius:99px; background:rgb(255 255 255/.06); margin:6px 0 4px; overflow:hidden; }
.cred-b i { display:block; height:100%; border-radius:99px; background:linear-gradient(90deg, #3dffa8, #ffb84d 45%, #ff5d8f); }
.cred.ref .cred-b i { background:var(--verde); } .cred small { color:var(--suave); font-size:13px; } .cred small b { color:var(--tinta); }
.ind-fonte { font-size:12px; color:var(--suave); margin:6px 0 8px; }
@media (max-width:720px) { .ind-graf svg { height:220px; } }
.fonte-bolsa { font-size:13px; color:var(--suave); margin-top:10px; }
.botao { display:inline-block; margin-top:14px; padding:10px 18px; border-radius:999px; background:var(--verde); color:#fff; text-decoration:none; font-weight:600; font-size:15px; }
.botao:hover { background:#18734d; }
.linha-tempo { list-style:none; padding:0; margin:12px 0 0; border-left:2px solid var(--linha); }
.linha-tempo li { position:relative; padding:0 0 18px 22px; }
.linha-tempo li::before { content:''; position:absolute; left:-7px; top:9px; width:12px; height:12px; border-radius:50%; background:var(--papel); border:2px solid var(--verde); }
.linha-tempo b { font-family:var(--serif); font-size:20px; font-weight:600; }
footer.rodape { border-top:1px solid var(--linha); background:var(--papel); padding:26px 0; font-size:14px; color:var(--suave); }
.rodape-in { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 24px; }
@media (max-width: 720px) {
  .hero { grid-template-columns:1fr; gap:24px; }
  .hero img { width:150px; height:150px; order:-1; }
  main { padding:32px 0 56px; }
  .marca { flex-direction:column; gap:2px; }
  nav.menu { gap:4px 14px; }
  nav.menu a { font-size:14px; }
}

:root { --bg:#04080f; --papel:rgb(13 24 40/.62); --tinta:#eef5fb; --suave:#9fb1c2; --linha:rgb(120 200 255/.14); --verde:#3ee6ff; --verde-claro:rgb(62 230 255/.10);
  --neon2:#8b7bff; --neon3:#3dffa8; --mono:'JetBrains Mono', ui-monospace, Consolas, monospace; --serif:'Space Grotesk', 'DM Sans', sans-serif; --sans:'DM Sans', system-ui, sans-serif; }
body { background:var(--bg); overflow-x:hidden; }
body::before { content:''; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:radial-gradient(40% 35% at 85% 0%, rgb(62 230 255/.10), transparent 70%), radial-gradient(35% 35% at 0% 40%, rgb(139 123 255/.09), transparent 70%), radial-gradient(40% 40% at 60% 100%, rgb(61 255 168/.06), transparent 70%); }
body::after { content:''; position:fixed; inset:-50% 0 0; z-index:-1; pointer-events:none; opacity:.55;
  background-image:linear-gradient(rgb(120 200 255/.045) 1px, transparent 1px), linear-gradient(90deg, rgb(120 200 255/.045) 1px, transparent 1px);
  background-size:44px 44px; animation:grade 22s linear infinite; mask-image:linear-gradient(180deg, transparent, #000 20%, #000 70%, transparent); }
@keyframes grade { to { transform:translateY(44px); } }
@keyframes cursor { 50% { opacity:0; } }
header.topo { position:sticky; top:0; z-index:20; background:rgb(4 8 15/.72); backdrop-filter:blur(14px) saturate(140%); border:0; }
header.topo::after { content:''; display:block; height:1px; background:linear-gradient(90deg, transparent, var(--verde), var(--neon2), transparent); opacity:.6; }
.marca b { font:700 21px var(--serif); }
.marca b::before { content:'>_ '; font-family:var(--mono); color:var(--verde); text-shadow:0 0 12px var(--verde); }
.marca b::after { content:''; display:inline-block; width:8px; height:16px; margin-left:6px; vertical-align:-2px; background:var(--verde); box-shadow:0 0 10px var(--verde); animation:cursor 1s steps(1) infinite; }
.marca span { font-family:var(--mono); color:var(--suave); }
nav.menu { gap:2px; flex-basis:100%; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; margin:0 -10px; padding-bottom:2px; }
nav.menu::-webkit-scrollbar { display:none; }
nav.menu a { white-space:nowrap; flex:none; }
header.topo .topo-in { padding-bottom:10px; }
nav.menu a { font:500 13px var(--mono); padding:7px 10px; border-radius:8px; border:0; }
nav.menu a:hover { color:var(--tinta); background:rgb(62 230 255/.08); }
nav.menu a[aria-current] { color:var(--verde); background:rgb(62 230 255/.10); box-shadow:inset 0 0 0 1px rgb(62 230 255/.35), 0 0 18px rgb(62 230 255/.15); }
.olho, .meta, .item time { font-family:var(--mono); } .olho { color:var(--neon3); } .olho::before { content:'// '; color:var(--suave); }
h1, h2, h3 { font-weight:700; letter-spacing:-.015em; }
h1 { background:linear-gradient(92deg, #fff 20%, var(--verde) 60%, var(--neon2)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero h1 em { font-style:normal; }
.lead { font-family:var(--sans); }
.hero img { border:0; box-shadow:0 0 0 2px var(--verde), 0 0 0 8px rgb(62 230 255/.08), 0 0 60px rgb(62 230 255/.35), 0 0 120px rgb(139 123 255/.25); }
.selos li { background:rgb(62 230 255/.08); color:var(--verde); border:1px solid rgb(62 230 255/.3); font:500 13px var(--mono); }
.item { padding:22px; margin:0 0 12px; border:1px solid var(--linha) !important; border-radius:16px; background:var(--papel); backdrop-filter:blur(6px); transition:border-color .2s, box-shadow .2s, transform .2s; }
.item:hover { border-color:rgb(62 230 255/.5) !important; box-shadow:0 0 30px -8px rgb(62 230 255/.45); transform:translateY(-2px); }
.item:hover h3 { color:var(--verde); }
.cartao { background:var(--papel); border-color:var(--linha); backdrop-filter:blur(6px); box-shadow:inset 0 0 40px rgb(62 230 255/.05); }
.botao { background:linear-gradient(90deg, var(--verde), var(--neon2)); color:#04080f; box-shadow:0 0 24px rgb(62 230 255/.35); }
.botao:hover { background:linear-gradient(90deg, var(--neon3), var(--verde)); }
.linha-tempo { border-left-color:rgb(62 230 255/.3); } .linha-tempo li::before { background:#04080f; border-color:var(--verde); box-shadow:0 0 10px var(--verde); }
article.post p, article.post li { font-family:var(--sans); font-size:18px; }
article.post .meta + p::first-letter { font-family:var(--serif); color:var(--verde); text-shadow:0 0 18px rgb(62 230 255/.6); }
article.post blockquote { border-left-color:var(--neon2); color:#c9d6f5; font-family:var(--serif); font-style:normal; }
.assina img { box-shadow:0 0 0 2px var(--verde); }
footer.rodape { background:rgb(4 8 15/.8); border-top:1px solid var(--linha); }
@media (prefers-reduced-motion: reduce) { body::after, .marca b::after { animation:none; } }
