/* fontes hospedadas no próprio site (licença SIL OFL) */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:600;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-600-italic.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}
/* Advocacia Felipe Ferreira — folha de estilo única do site estático */
:root{
  --tinta:#0B0E13;
  --tinta-2:#0F131C;
  --papel:#121722;
  --papel-2:#171D2A;
  --linha:rgba(232,206,120,.16);
  --linha-forte:rgba(232,206,120,.34);
  --ouro:#C9A227;
  --ouro-claro:#E8CE78;
  --vinho:#7A1414;
  --texto:#C9D0DB;
  --texto-dim:#98A0AD;
  --texto-fraco:#6F7785;
  --branco:#F4F1EA;
  --alerta:#D8803A;
  --critico:#C24A42;
  --ok:#5E9E7A;
  --wpp:#1F7A4C;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --larg:760px;
  --larg-ampla:1120px;
  --topo:76px;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--tinta);color:var(--texto);
  font-family:var(--sans);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img,svg,video,iframe{max-width:100%;display:block}
a{color:var(--ouro-claro);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:#fff}
:focus-visible{outline:2px solid var(--ouro);outline-offset:3px}
::selection{background:var(--ouro);color:#14100A}
h1,h2,h3{color:var(--branco);font-family:var(--serif);font-weight:600;line-height:1.12;text-wrap:balance;margin:0}
p{margin:0 0 1.05em}
strong{color:var(--branco);font-weight:600}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:absolute;left:12px;top:-60px;z-index:200;background:var(--ouro);color:#14100A;padding:10px 14px;font-weight:600;text-decoration:none}
.pular:focus{top:12px}

/* ---------- contêineres ---------- */
.col{width:100%;max-width:calc(var(--larg) + 40px);margin:0 auto;padding:0 20px}
.col-ampla{width:100%;max-width:calc(var(--larg-ampla) + 40px);margin:0 auto;padding:0 20px}
.secao{padding:96px 0;position:relative}
.secao + .secao{border-top:1px solid var(--linha)}
.kicker{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ouro);margin:0 0 16px;display:block
}
.titulo{font-size:clamp(32px,4.6vw,48px);margin-bottom:22px}
.lead{font-size:19px;color:var(--texto-dim);max-width:62ch}

/* ---------- botões ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;justify-content:center;
  font-family:var(--sans);font-weight:600;font-size:15.5px;line-height:1.2;
  padding:15px 24px;border-radius:2px;text-decoration:none;border:1px solid transparent;
  transition:filter .2s,background-color .2s,color .2s,border-color .2s;cursor:pointer
}
.btn-ouro{background:var(--ouro);color:#14100A}
.btn-ouro:hover{filter:brightness(1.1);color:#14100A}
.btn-wpp{background:var(--wpp);color:#fff}
.btn-wpp:hover{filter:brightness(1.12);color:#fff}
.btn-linha{border-color:var(--linha-forte);color:var(--branco);background:transparent}
.btn-linha:hover{border-color:var(--ouro);color:var(--ouro-claro)}
.btn svg{width:18px;height:18px;flex:0 0 auto}
.acoes{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- cabeçalho ---------- */
.topo{
  position:fixed;inset:0 0 auto;z-index:100;height:var(--topo);
  background:rgba(11,14,19,.82);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);
  border-bottom:1px solid var(--linha)
}
.topo-in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:18px}
.marca{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--branco);flex:0 0 auto}
.marca img{width:40px;height:auto}
.marca-txt{display:flex;flex-direction:column;line-height:1.05}
.marca-nome{font-family:var(--sans);font-weight:500;font-size:17px;letter-spacing:.14em;text-transform:uppercase}
.marca-sub{font-family:var(--sans);font-size:11.5px;letter-spacing:.06em;color:var(--texto-dim);margin-top:4px}
.menu{display:flex;align-items:center;gap:4px}
.menu a{
  color:var(--texto);text-decoration:none;font-size:13.5px;padding:8px 10px;border-radius:2px;white-space:nowrap
}
.menu a:hover,.menu a[aria-current="page"]{color:var(--ouro-claro)}
.menu a[aria-current="page"]{box-shadow:inset 0 -1px 0 var(--ouro)}
.menu .btn{padding:10px 16px;font-size:13.5px;margin-left:8px}
.menu-btn{
  display:none;appearance:none;background:none;border:1px solid var(--linha-forte);color:var(--branco);
  width:44px;height:44px;border-radius:2px;cursor:pointer;align-items:center;justify-content:center
}
.menu-btn svg{width:22px;height:22px}
@media (max-width:1340px){
  .menu-btn{display:inline-flex}
  .menu{
    position:fixed;inset:var(--topo) 0 auto 0;flex-direction:column;align-items:stretch;gap:0;
    background:var(--tinta);border-bottom:1px solid var(--linha);padding:8px 20px 20px;
    max-height:calc(100vh - var(--topo));overflow:auto;
    transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s
  }
  .menu.aberto{transform:none;opacity:1;visibility:visible}
  .menu a{padding:14px 2px;font-size:16px;border-bottom:1px solid var(--linha)}
  .menu a[aria-current="page"]{box-shadow:none}
  .menu .btn{margin:16px 0 0;padding:15px 20px;font-size:15.5px;border-bottom:0}
}
@media (max-width:420px){.marca-sub{display:none}.marca-nome{font-size:15px}}

/* ---------- hero da home ---------- */
.hero{
  min-height:100svh;display:flex;align-items:center;position:relative;overflow:hidden;
  padding:calc(var(--topo) + 56px) 0 72px;
  background:
    radial-gradient(1200px 600px at 78% 18%,rgba(201,162,39,.10),transparent 60%),
    radial-gradient(900px 520px at 8% 92%,rgba(122,20,20,.22),transparent 62%),
    var(--tinta)
}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:repeating-linear-gradient(115deg,transparent 0 46px,rgba(232,206,120,.035) 46px 47px);
  mask-image:linear-gradient(180deg,#000 30%,transparent)
}
.hero-in{position:relative;max-width:900px}
.hero .eyebrow{
  font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ouro);
  margin:0 0 26px;display:flex;gap:12px;align-items:center;flex-wrap:wrap
}
.hero .eyebrow::before{content:"";width:34px;height:1px;background:var(--ouro);flex:0 0 auto}
.hero h1{font-size:clamp(34px,4.4vw,58px);line-height:1.08;margin-bottom:28px;max-width:25ch}
.hero h1 em{font-style:italic;color:var(--ouro-claro)}
.hero .sub{font-size:clamp(17px,1.8vw,20px);color:var(--texto-dim);max-width:60ch;margin-bottom:36px}
.hero .assin{margin-top:40px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--texto-fraco)}

/* entrada do hero — só anima com a aba visível */
.hero [data-rev]{opacity:1;transform:none}
.js .hero [data-rev]{opacity:0;transform:translateY(14px);transition:opacity .9s ease,transform .9s ease}
.js body.ff-boot .hero [data-rev]{opacity:1;transform:none}
.js body.ff-boot .hero [data-rev="2"]{transition-delay:.15s}
.js body.ff-boot .hero [data-rev="3"]{transition-delay:.3s}
.js body.ff-boot .hero [data-rev="4"]{transition-delay:.45s}

/* ---------- letreiro de órgãos ---------- */
.orgbar{border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);background:var(--tinta-2);overflow:hidden;padding:18px 0}
.orgbar-faixa{display:flex;width:max-content;animation:letreiro 60s linear infinite}
.orgbar ul{display:flex;gap:0;margin:0;padding:0;list-style:none}
.orgbar li{
  font-family:var(--mono);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--texto-dim);
  padding:0 26px;white-space:nowrap;display:flex;align-items:center;gap:26px
}
.orgbar li::after{content:"◆";font-size:7px;color:var(--ouro)}
@keyframes letreiro{to{transform:translateX(-50%)}}

/* ---------- palco da CNH ---------- */
.ff-stage{position:relative;height:260vh;--p:0;--open:0}
.ff-stage-in{
  position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:40px;
  max-width:calc(var(--larg-ampla) + 40px);margin:0 auto;padding:calc(var(--topo) + 24px) 20px 32px
}
.ff-cena{position:relative;display:grid;place-items:center;height:100%;min-height:0}
.ff-halo{
  grid-area:1/1;place-self:center;width:min(58vh,520px);aspect-ratio:1;border-radius:50%;
  border:1px solid var(--linha-forte);
  background:radial-gradient(circle,rgba(201,162,39,.12),rgba(201,162,39,0) 66%);
  box-shadow:0 0 0 14px rgba(232,206,120,.025),0 0 0 15px var(--linha)
}
.ff-obj{grid-area:1/1;place-self:center;align-self:center;perspective:1400px;width:min(40vh,360px)}
.ff-cnh-wrap{
  position:relative;width:100%;aspect-ratio:85/120;
  transform:translateY(calc((1 - var(--open)) * 25%)) scale(calc(.96 + .04 * var(--open)));
  transform-style:preserve-3d
}
.ff-metade{position:absolute;left:0;right:0;height:50%;overflow:hidden;box-shadow:0 22px 40px -10px rgba(0,0,0,.6)}
.ff-metade img,.ff-face img{width:100%;height:100%;object-fit:cover;max-width:none}
.ff-cima{top:0;transform:translateZ(1px);z-index:2;border-radius:6px 6px 0 0}
.ff-cnh-fold{
  position:absolute;left:0;right:0;top:50%;height:50%;
  transform-origin:50% 0;transform-style:preserve-3d;
  transform:rotateX(calc((1 - var(--open)) * -180deg))
}
.ff-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;box-shadow:0 -10px 30px -12px rgba(0,0,0,.5)}
.ff-verso{transform:rotateX(180deg)}
.ff-frente{border-radius:0 0 6px 6px}
.ff-stage-txt{align-self:center}
.ff-stage-txt .titulo{margin-bottom:28px}
.jogo{list-style:none;margin:0 0 28px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--linha)}
.jogo li{padding:18px 18px 18px 0;border-bottom:1px solid var(--linha);transition:opacity .5s,transform .5s}
.jogo li:nth-child(odd){border-right:1px solid var(--linha)}
.jogo li:nth-child(even){padding-left:18px}
.jogo .rot{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--texto-fraco);margin-bottom:6px}
.jogo .val{display:block;font-family:var(--serif);font-size:clamp(24px,2.6vw,32px);font-weight:600;color:var(--branco);line-height:1.1}
.jogo .det{display:block;font-size:14px;color:var(--texto-dim);margin-top:4px;line-height:1.45}
.js .ff-stage .jogo li{opacity:.18;transform:translateY(8px)}
.js .ff-stage .jogo li.on{opacity:1;transform:none}
.fecho{font-family:var(--serif);font-size:22px;line-height:1.35;color:var(--ouro-claro);font-style:italic;margin:0;max-width:34ch}

@media (min-width:901px){
  .ff-stage-txt{align-self:start;padding-top:max(0px,calc((100svh - var(--topo) - 620px) / 2))}
}
@media (max-width:900px){
  .ff-stage{height:auto}
  .ff-stage-in{position:relative;height:auto;grid-template-columns:1fr;padding:72px 20px;gap:44px}
  .ff-cena{height:auto;min-height:0}
  .ff-halo{width:min(86vw,420px)}
  .ff-obj{width:min(64vw,300px)}
  .js .ff-stage .jogo li{opacity:1;transform:none}
}

/* ---------- faixa “sobre” ---------- */
.ff-band-sobre{background:linear-gradient(180deg,var(--tinta-2),var(--tinta))}
.sobre-grid{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:start}
.ano{
  font-family:var(--serif);font-size:clamp(64px,9vw,112px);line-height:.9;color:transparent;
  -webkit-text-stroke:1px var(--ouro);font-weight:600;margin:0
}
.ano-rot{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--texto-fraco);margin-top:10px;max-width:16ch}
@media (max-width:700px){.sobre-grid{grid-template-columns:1fr;gap:20px}}

/* ---------- fluxo do processo ---------- */
.fluxo{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0;counter-reset:f}
.fluxo li{position:relative;padding:22px 16px 0 0;border-top:2px solid var(--linha-forte);counter-increment:f}
.fluxo li::before{
  content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;
  background:var(--tinta);border:2px solid var(--ouro)
}
.fluxo li.destaque{border-top-color:var(--ouro)}
.fluxo li.destaque::before{background:var(--ouro)}
.fluxo .et{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--texto-fraco)}
.fluxo .no{display:block;font-family:var(--serif);font-size:24px;font-weight:600;color:var(--branco);margin:4px 0 6px}
.fluxo .ds{display:block;font-size:14.5px;color:var(--texto-dim);line-height:1.5}
@media (max-width:900px){
  .fluxo{grid-template-columns:1fr;gap:0}
  .fluxo li{border-top:0;border-left:2px solid var(--linha-forte);padding:0 0 26px 24px}
  .fluxo li::before{top:4px;left:-7px}
  .fluxo li.destaque{border-left-color:var(--ouro)}
}

/* ---------- comparação ---------- */
.comp{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:40px;border:1px solid var(--linha)}
.comp > div{padding:28px}
.comp > div + div{border-left:1px solid var(--linha);background:linear-gradient(180deg,rgba(201,162,39,.06),transparent)}
.comp h3{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--texto-fraco);margin-bottom:18px}
.comp > div + div h3{color:var(--ouro)}
.comp ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.comp li{display:flex;gap:10px;font-size:15.5px;line-height:1.5}
.comp li::before{content:"—";color:var(--texto-fraco);flex:0 0 auto}
.comp > div + div li::before{content:"✓";color:var(--ouro)}
@media (max-width:700px){.comp{grid-template-columns:1fr}.comp > div + div{border-left:0;border-top:1px solid var(--linha)}}

/* ---------- cartões de áreas ---------- */
.areas{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:44px}
.area{
  background:var(--tinta);border:1px solid var(--linha);padding:28px 26px 26px;text-decoration:none;color:var(--texto);
  display:flex;flex-direction:column;gap:10px;min-height:230px;transition:background-color .25s
}
.area:hover{background:var(--papel);color:var(--texto);border-color:var(--linha-forte)}
.area .ir svg,.btn svg{width:18px;height:18px;flex:0 0 auto}
.area .art{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ouro)}
.area h3{font-size:26px}
.area p{font-size:15px;color:var(--texto-dim);margin:0;flex:1}
.area .ir{font-size:14px;font-weight:600;color:var(--ouro-claro);display:inline-flex;gap:8px;align-items:center}
.area:hover .ir{color:#fff}

/* ---------- sentinela ---------- */
.sentinela{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.radar{
  aspect-ratio:1;max-width:340px;width:100%;margin:0 auto;border-radius:50%;position:relative;
  border:1px solid var(--linha-forte);
  background:
    repeating-radial-gradient(circle,transparent 0 38px,var(--linha) 38px 39px),
    radial-gradient(circle,rgba(201,162,39,.08),transparent 70%)
}
.radar::before{
  content:"";position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 0deg,rgba(232,206,120,.32),transparent 22%);
  animation:varre 6s linear infinite
}
.radar::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px;border-radius:50%;background:var(--ouro)}
@keyframes varre{to{transform:rotate(1turn)}}
@media (max-width:800px){.sentinela{grid-template-columns:1fr}.radar{max-width:240px}}

/* ---------- vídeo ---------- */
.video{
  position:relative;aspect-ratio:16/9;width:100%;background:#000 center/cover no-repeat;border:1px solid var(--linha-forte);
  display:grid;place-items:center;cursor:pointer;overflow:hidden;margin-top:32px
}
.video::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,14,19,.1),rgba(11,14,19,.55))}
.video button{
  position:relative;z-index:1;appearance:none;border:0;cursor:pointer;width:84px;height:84px;border-radius:50%;
  background:var(--ouro);color:#14100A;display:grid;place-items:center;transition:transform .2s
}
.video button:hover{transform:scale(1.06)}
.video button svg{width:30px;height:30px;margin-left:4px}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:2}
.video-vazio{cursor:default}
.video-vazio .aviso-video{position:relative;z-index:1;font-family:var(--mono);font-size:12px;color:var(--texto-fraco);text-align:center;padding:20px}

/* ---------- passos ---------- */
.passos{list-style:none;margin:40px 0 0;padding:0;display:grid;gap:0}
.passos li{display:grid;grid-template-columns:64px 1fr;gap:20px;padding:24px 0;border-top:1px solid var(--linha)}
.passos li::before{
  content:attr(data-n);font-family:var(--serif);font-size:44px;line-height:1;color:var(--ouro);font-weight:600
}
.passos h3{font-size:24px;margin-bottom:6px}
.passos p{margin:0;color:var(--texto-dim);font-size:16px}

/* ---------- contato ---------- */
.ff-contato{background:
  radial-gradient(700px 360px at 50% 0%,rgba(201,162,39,.10),transparent 70%),var(--tinta-2)}
.contato-box{border:1px solid var(--linha-forte);background:var(--papel);padding:36px 32px;position:relative;margin-top:32px}
.contato-box::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,var(--ouro) 20%,var(--ouro) 80%,transparent)}
.dados{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:0}
.dados li{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;padding:12px 0;border-top:1px dotted var(--linha);font-size:15.5px}
.dados .k{color:var(--texto-dim)}
.dados .pont{flex:1 1 auto;border-bottom:1px dotted rgba(232,206,120,.22);transform:translateY(-4px);min-width:20px}
.dados .v{font-family:var(--mono);font-size:14.5px;color:#fff}
.aviso-oab{margin-top:22px;padding:14px 16px;border:1px solid var(--linha);font-size:13px;line-height:1.55;color:var(--texto-fraco)}

/* ---------- rodapé ---------- */
.rodape{border-top:1px solid var(--linha);padding:56px 0 40px;background:var(--tinta)}
.rodape-in{display:grid;gap:28px;justify-items:center;text-align:center}
.rodape-logo{display:flex;align-items:center;gap:16px;text-decoration:none;color:var(--branco)}
.rodape-logo img{width:58px}
.rodape-logo .marca-nome{font-size:22px}
.rodape .esp{font-family:var(--mono);font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ouro);margin:0}
.rodape nav{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px}
.rodape nav a{color:var(--texto-dim);text-decoration:none;font-size:14px}
.rodape nav a:hover{color:var(--ouro-claro)}
.rodape .ident{font-size:14px;color:var(--texto-dim);margin:0}
.rodape .redes{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--texto-fraco);margin:0;display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;align-items:center}
.rodape .redes a{color:var(--texto);text-decoration:none;letter-spacing:.08em}
.rodape .redes a:hover{color:var(--ouro-claro)}
.rodape .direitos{font-size:12.5px;color:var(--texto-fraco);margin:0}

/* ---------- botão flutuante de WhatsApp ---------- */
.wpp-flut{
  position:fixed;right:18px;bottom:18px;z-index:90;width:58px;height:58px;border-radius:50%;
  background:var(--wpp);color:#fff;display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.45);
  transition:transform .2s
}
.wpp-flut:hover{transform:scale(1.06);color:#fff}
.wpp-flut svg{width:30px;height:30px}

/* =========================================================
   Páginas internas
   ========================================================= */
.pg-hero{
  padding:calc(var(--topo) + 72px) 0 64px;border-bottom:1px solid var(--linha);
  background:radial-gradient(900px 420px at 85% 0%,rgba(201,162,39,.09),transparent 65%),var(--tinta)
}
.migalha{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;color:var(--texto-fraco);margin:0 0 26px}
.migalha a{color:var(--texto-dim);text-decoration:none}
.migalha a:hover{color:var(--ouro-claro)}
.pg-hero h1{font-size:clamp(34px,5vw,54px);margin-bottom:22px}
.pg-hero .lead{margin-bottom:30px}

.fatos{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--linha);border:1px solid var(--linha);margin:40px 0 0}
.fato{background:var(--papel);padding:20px 18px}
.fato .val{display:block;font-family:var(--serif);font-size:30px;font-weight:600;color:var(--branco);line-height:1.1}
.fato .rot{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--texto-fraco);margin-top:8px;line-height:1.5}
.fato.alerta .val{color:var(--alerta)}
.fato.critico .val{color:#E0675E}

.texto{padding:64px 0 24px}
.texto h2{font-size:clamp(28px,3.6vw,36px);margin:56px 0 18px}
.texto h2:first-child{margin-top:0}
.texto h3{font-size:24px;margin:34px 0 10px}
.texto ul,.texto ol{padding-left:1.2em;margin:0 0 1.2em}
.texto li{margin-bottom:.5em}
.texto li::marker{color:var(--ouro)}
.cit{font-family:var(--mono);font-size:12px;color:var(--texto-fraco);letter-spacing:.02em}

.quadro{border:1px solid var(--linha-forte);background:var(--papel);padding:24px 24px 8px;margin:28px 0;position:relative}
.quadro::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,var(--ouro) 20%,var(--ouro) 80%,transparent)}
.quadro .kicker{margin-bottom:10px}

.tabela-wrap{overflow-x:auto;margin:24px 0 28px;border:1px solid var(--linha)}
table{width:100%;border-collapse:collapse;font-size:15px;min-width:520px}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--linha);vertical-align:top}
th{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ouro);font-weight:500;background:var(--papel)}
td.num{font-family:var(--mono);font-variant-numeric:tabular-nums;color:#fff;white-space:nowrap}
tr:last-child td{border-bottom:0}

.trilha{list-style:none;margin:20px 0 28px;padding:0;counter-reset:t}
.trilha li{position:relative;padding:0 0 22px 46px;counter-increment:t;margin:0;border-left:1px solid var(--linha-forte);margin-left:15px}
.trilha li:last-child{border-left-color:transparent;padding-bottom:0}
.trilha li::before{
  content:counter(t);position:absolute;left:-16px;top:-2px;width:31px;height:31px;border-radius:50%;
  background:var(--tinta);border:1px solid var(--ouro);color:var(--ouro);font-family:var(--mono);font-size:13px;
  display:grid;place-items:center
}
.trilha strong{display:block;margin-bottom:2px}

.faq{margin:20px 0 0;border-top:1px solid var(--linha)}
.faq details{border-bottom:1px solid var(--linha)}
.faq summary{
  cursor:pointer;list-style:none;padding:18px 36px 18px 0;position:relative;font-weight:600;color:var(--branco);font-size:17px
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:12px;font-size:26px;font-weight:300;color:var(--ouro);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details > div{padding:0 0 18px;color:var(--texto)}

.cta-pg{border:1px solid var(--linha-forte);background:linear-gradient(135deg,rgba(201,162,39,.10),transparent 60%),var(--papel);padding:34px 30px;margin:56px 0 24px}
.cta-pg h2{margin:0 0 12px!important;font-size:clamp(26px,3.2vw,32px)}
.cta-pg p{color:var(--texto-dim)}

.relacionadas{padding:48px 0 88px}
.relacionadas .areas{margin-top:20px}
.relacionadas .area{min-height:0}

/* números */
.barras{display:grid;gap:22px;margin:28px 0}
.barra-item .cab{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap;margin-bottom:8px}
.barra-item .nome{font-size:15.5px;color:var(--branco)}
.barra-item .pct{font-family:var(--mono);font-size:22px;color:var(--ouro-claro);font-variant-numeric:tabular-nums}
.barra-item .trilho{height:12px;background:var(--tinta-2);border:1px solid var(--linha);border-radius:2px;overflow:hidden}
.barra-item .trilho i{display:block;height:100%;background:linear-gradient(90deg,var(--ouro),var(--ouro-claro))}
.barra-item .nota{font-family:var(--mono);font-size:11.5px;color:var(--texto-fraco);margin-top:6px}

/* reveal suave das seções */
.js [data-surge]{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}
.js [data-surge].vis{opacity:1;transform:none}

@media (max-width:700px){
  body{font-size:16.5px}
  .secao{padding:72px 0}
  .contato-box{padding:28px 20px}
  .cta-pg{padding:28px 20px}
  .passos li{grid-template-columns:44px 1fr;gap:14px}
  .passos li::before{font-size:34px}
  .jogo li{padding:16px 12px 16px 0}
  .jogo li:nth-child(even){padding-left:12px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .hero [data-rev],.js [data-surge],.js .ff-stage .jogo li{opacity:1!important;transform:none!important}
}
@media print{
  .topo,.wpp-flut,.orgbar,.video{display:none!important}
  body{background:#fff;color:#000}
}

/* atalho para as calculadoras nas páginas internas */
.calc-link{display:grid;gap:4px;border:1px solid var(--linha-forte);background:linear-gradient(135deg,rgba(201,162,39,.12),transparent 70%),var(--papel);
  padding:20px 22px;margin:0 0 40px;text-decoration:none;color:var(--texto);transition:border-color .2s}
.calc-link:hover{border-color:var(--ouro);color:var(--texto)}
.calc-link .kicker{margin:0}
.calc-link strong{font-family:var(--serif);font-size:24px;font-weight:600;line-height:1.2}
.calc-link .ir{font-size:14px;font-weight:600;color:var(--ouro-claro);display:inline-flex;gap:8px;align-items:center}
.calc-link .ir svg{width:18px;height:18px}
.sent-lista{list-style:none;margin:6px 0 22px;padding:0;display:grid;gap:12px}
.sent-lista li{padding-left:22px;position:relative;line-height:1.55}
.sent-lista li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--ouro)}
.sentinela{align-items:start}
.sentinela .radar{margin-top:60px}
