/* Atlas PIR · sistema visual v3 — "instrumento editorial", volume baixo
   Documento técnico impresso (papel, fios, grade milimetrada, rótulos mono) encontrando a linguagem das
   referências (azul elétrico, tramas de pontos, dither).
   Regra 80/20: 80% do texto em corpo neutro e cinza-azulado, com medida curta e muito ar; só 20% em voz alta
   (a palavra ATLAS da capa, o nome do capítulo, um número ou um dado por tela, o CTA laranja).
   Cantos retos, nada de sombra, cor só em dado e CTA. */
@font-face{font-family:"Gotham";src:url(../fonts/Gotham-Book.otf) format("opentype");font-weight:400;font-display:swap}
@font-face{font-family:"Gotham";src:url(../fonts/Gotham-Medium.otf) format("opentype");font-weight:500;font-display:swap}
@font-face{font-family:"Gotham";src:url(../fonts/Gotham-Bold.ttf) format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:"Oswald";src:url(../fonts/Oswald-Regular.ttf) format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Oswald";src:url(../fonts/Oswald-Medium.ttf) format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:"Oswald";src:url(../fonts/Oswald-SemiBold.ttf) format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:"Yantramanav";src:url(../fonts/Yantramanav-Light.ttf) format("truetype");font-weight:300;font-display:swap}
@font-face{font-family:"Yantramanav";src:url(../fonts/Yantramanav-Regular.ttf) format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Yantramanav";src:url(../fonts/Yantramanav-Medium.ttf) format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:"Yantramanav";src:url(../fonts/Yantramanav-Bold.ttf) format("truetype");font-weight:700;font-display:swap}

:root{
  --blue:#2555FE; --blue-2:#1B43D6;
  --navy:#0B1A4C; --navy-2:#13266B;
  --paper:#F2F0EA; --paper-2:#E8E5DC; --paper-3:#DDD9CE;
  --ink:#0B1A4C; --ink-2:#394468; --mute:#6E7590;
  --orange:#FE6600; --brick:#C8371C;
  --rule:rgba(11,26,76,.16); --rule-2:rgba(11,26,76,.07);
  --rule-w:rgba(255,255,255,.22); --rule-w2:rgba(255,255,255,.09);
  --f-display:"Oswald","Arial Narrow",sans-serif;
  --f-head:"Gotham","Helvetica Neue",Arial,sans-serif;
  --f-body:"Yantramanav","Helvetica Neue",Arial,sans-serif;
  --f-mono:ui-monospace,"Cascadia Mono","Consolas","Menlo",monospace;
  --max:1240px; --gut:clamp(18px,4.5vw,64px);
  --grid:28px;
  --track:.08em;
}
*{box-sizing:border-box}
[hidden]{display:none !important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.65;font-weight:400;-webkit-font-smoothing:antialiased}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,h4{margin:0;font-family:var(--f-head);font-weight:700;line-height:1.1;letter-spacing:-.015em;text-wrap:balance}
p,li,dd,.lead,.desc,blockquote{text-wrap:pretty}
.quote,.big{text-wrap:balance}
p{margin:0 0 1em}
.wrap{width:min(var(--max),100% - 2*var(--gut));margin-inline:auto}
.mono{font-family:var(--f-mono);font-size:11px;letter-spacing:var(--track);text-transform:uppercase;font-weight:500}
.display{font-family:var(--f-display);font-weight:600;text-transform:uppercase;letter-spacing:-.01em;line-height:.9}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* superfícies */
.paper{background:var(--paper);color:var(--ink)}
.blue{background:var(--blue);color:#fff}
.navy{background:var(--navy);color:#fff}
.grid-bg{background-image:linear-gradient(var(--rule-2) 1px,transparent 1px),linear-gradient(90deg,var(--rule-2) 1px,transparent 1px);background-size:var(--grid) var(--grid)}
.blue .grid-bg,.navy .grid-bg,.grid-bg.light{background-image:linear-gradient(var(--rule-w2) 1px,transparent 1px),linear-gradient(90deg,var(--rule-w2) 1px,transparent 1px)}
.dots-bg{background-image:radial-gradient(rgba(255,255,255,.26) 1px,transparent 1.4px);background-size:9px 9px}

/* fios e rótulos */
.rule{height:1px;background:var(--rule)}
.blue .rule,.navy .rule{background:var(--rule-w)}
.label{display:flex;align-items:center;gap:12px;font-family:var(--f-mono);font-size:11px;letter-spacing:var(--track);text-transform:uppercase;color:var(--mute)}
.label::before{content:"";width:18px;height:1px;background:currentColor}
.blue .label,.navy .label{color:rgba(255,255,255,.7)}
.badge{display:inline-grid;place-items:center;height:1em;padding:0 .32em;border-radius:.16em;background:var(--navy);color:#fff;font-family:var(--f-display);font-weight:600;letter-spacing:0;line-height:1;vertical-align:baseline;text-shadow:none}
.badge.w{background:#fff;color:var(--blue)}
.badge.o{background:var(--orange);color:#fff}

/* botões: retos, tipográficos */
.btn{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;padding:15px 20px;border:1px solid currentColor;text-decoration:none;font-family:var(--f-mono);font-size:11.5px;letter-spacing:var(--track);text-transform:uppercase;font-weight:500;transition:background .15s,color .15s,border-color .15s;cursor:pointer}
.btn .ar{width:16px;height:16px;transition:transform .2s}
.btn:hover .ar{transform:translateX(4px)}
.btn-solid{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn-solid:hover{background:var(--blue);border-color:var(--blue)}
.btn-orange{background:var(--orange);color:#fff;border-color:var(--orange)}
.btn-orange:hover{background:#ff7a1f;border-color:#ff7a1f}
.btn-line{background:transparent}
.btn-line:hover{background:rgba(11,26,76,.06)}
.blue .btn-line:hover,.navy .btn-line:hover{background:rgba(255,255,255,.1)}
.btn-sm{padding:10px 14px;font-size:10.5px}

/* cabeçalho fixo (fino, técnico) */
.bar{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;height:52px;padding:0 var(--gut);font-family:var(--f-mono);font-size:10.5px;letter-spacing:var(--track);text-transform:uppercase;border-bottom:1px solid var(--rule);background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(8px)}
.bar.on-blue{background:color-mix(in srgb,var(--blue) 88%,transparent);color:#fff;border-color:var(--rule-w)}
.bar.on-navy{background:color-mix(in srgb,var(--navy) 90%,transparent);color:#fff;border-color:var(--rule-w)}
.bar a{text-decoration:none}
.bar .l{display:flex;align-items:center;gap:14px}
.bar .c{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.7}
.bar .r{display:flex;justify-content:flex-end;align-items:center;gap:18px}
.bar .brand{display:flex;align-items:center;gap:10px;font-family:var(--f-head);font-weight:700;font-size:14px;letter-spacing:0;text-transform:none}
.bar .brand .badge{font-size:17px;height:25px}
.bar nav{display:flex;gap:18px}
.bar nav a{opacity:.7}.bar nav a:hover{opacity:1}
.bar .progress{position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--orange)}
@media (max-width:1100px){.bar nav{display:none}}
@media (max-width:860px){.bar{grid-template-columns:auto 1fr;gap:10px}.bar .c{display:none}.bar .brand span:not(.badge){display:none}}

/* seções do documento: muito ar entre blocos */
.doc{padding:clamp(80px,11vw,168px) 0}
.doc-head{display:grid;grid-template-columns:180px 1fr;gap:20px 48px;align-items:start;padding-top:18px;border-top:1px solid var(--rule);margin-bottom:clamp(44px,6vw,88px)}
.doc-head .num{font-family:var(--f-display);font-weight:500;font-size:clamp(26px,2.6vw,34px);line-height:1;color:var(--navy)}
.doc-head .num small{display:block;font-family:var(--f-mono);font-size:10.5px;letter-spacing:var(--track);text-transform:uppercase;color:var(--mute);margin-top:8px;font-weight:500}
.doc-head h2{font-size:clamp(26px,3.2vw,40px);max-width:20ch;font-weight:700}
.doc-head .lead{font-family:var(--f-body);font-weight:400;font-size:clamp(16px,1.25vw,19px);line-height:1.6;color:var(--ink-2);max-width:56ch;margin:18px 0 0}
.blue .doc-head,.navy .doc-head{border-color:var(--rule-w)}
.blue .doc-head .num,.navy .doc-head .num{color:#fff}
.blue .doc-head .lead,.navy .doc-head .lead{color:rgba(255,255,255,.82)}
@media (max-width:820px){.doc-head{grid-template-columns:1fr;gap:14px}}

/* colunas editoriais */
.cols{display:grid;gap:32px 56px}
.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.cols-3,.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.cols-2,.cols-3,.cols-4{grid-template-columns:1fr}}
.measure{max-width:66ch}
.big{font-family:var(--f-head);font-weight:500;font-size:clamp(19px,1.9vw,26px);line-height:1.35;letter-spacing:-.01em;color:var(--ink);max-width:36ch}
.big.w{max-width:48ch}
.quote{font-family:var(--f-head);font-weight:500;font-size:clamp(18px,1.7vw,22px);line-height:1.4;letter-spacing:-.01em;padding-left:20px;border-left:2px solid var(--orange);max-width:42ch;margin:0}
.blue .quote,.navy .quote{border-color:#fff}
.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;font-size:15px}
.kv dt{font-family:var(--f-mono);font-size:10.5px;letter-spacing:var(--track);text-transform:uppercase;color:var(--mute);padding-top:4px}
.kv dd{margin:0;color:var(--ink-2)}

/* listas com ponto vazado (marca do Atlas) */
.list{margin:0 0 1.2em;padding:0;list-style:none}
.list li{position:relative;padding-left:22px;margin:0 0 6px;color:var(--ink-2)}
.list li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--orange)}
.blue .list li::before,.navy .list li::before{border-color:#fff}
.blue .list li,.navy .list li{color:inherit}

/* números */
.stat{display:grid;gap:6px;padding-top:14px;border-top:1px solid var(--rule)}
.blue .stat,.navy .stat{border-color:var(--rule-w)}
.stat .n{font-family:var(--f-display);font-weight:500;font-size:clamp(34px,4vw,56px);line-height:1;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.stat .l{font-family:var(--f-mono);font-size:10.5px;letter-spacing:var(--track);text-transform:uppercase;color:var(--mute)}
.blue .stat .l,.navy .stat .l{color:rgba(255,255,255,.72)}

/* tabelas técnicas */
.tbl{width:100%;border-collapse:collapse;font-size:15px}
.tbl th{font-family:var(--f-mono);font-size:10.5px;letter-spacing:var(--track);text-transform:uppercase;text-align:left;padding:10px 12px;border-bottom:1px solid var(--navy);font-weight:500;color:var(--ink)}
.tbl td{padding:11px 12px;border-bottom:1px solid var(--rule-2);vertical-align:top;color:var(--ink-2)}
.tbl td.num{font-family:var(--f-display);font-weight:500;font-size:16px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--ink)}
.tbl td.strong{font-weight:700;color:var(--ink)}
.tbl tr.total td{border-top:1px solid var(--navy);border-bottom:0;font-weight:700;color:var(--ink)}
.tbl-scroll{overflow:auto;-webkit-overflow-scrolling:touch}

/* insight (caixa navy com etiqueta) */
.insight{position:relative;padding:26px 28px 24px;background:var(--navy);color:#fff}
.insight .tag{position:absolute;top:-11px;left:20px;padding:4px 10px;background:var(--brick);font-family:var(--f-mono);font-size:10px;letter-spacing:var(--track);text-transform:uppercase}
.insight p{margin:0;font-family:var(--f-head);font-weight:500;font-size:clamp(16px,1.4vw,20px);line-height:1.4;max-width:44ch}
.blue .insight{background:#fff;color:var(--navy)}

/* ranking em barras (compartilhado: home + capítulo) */
.rk{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rk-row{display:grid;grid-template-columns:28px minmax(130px,1.1fr) minmax(100px,2fr) 60px;align-items:center;gap:12px;font-size:14.5px;transition:opacity .35s}
.rk-n{font-family:var(--f-mono);font-size:10.5px;color:var(--mute)}
.rk-l{font-weight:400;color:var(--ink-2)}
.rk-row.top .rk-l{font-weight:700;color:var(--ink)}
.rk-bar{height:10px;background:var(--paper-2);overflow:hidden}
.rk-bar i{display:block;height:100%;width:0;background:var(--navy);transition:width 1.1s cubic-bezier(.2,.7,.2,1)}
.rk-row.top .rk-bar i{background:var(--blue)}
.go .rk-bar i{width:var(--w)}
.rk-v{font-family:var(--f-display);font-weight:500;font-size:17px;text-align:right;font-variant-numeric:tabular-nums}
.rk-row.dim{opacity:.22}
.rk-row.hot .rk-bar i{background:var(--orange)}
.blue .rk-bar{background:rgba(255,255,255,.18)}.blue .rk-bar i{background:#fff}.blue .rk-row.top .rk-bar i{background:#FFB27A}.blue .rk-n{color:rgba(255,255,255,.6)}.blue .rk-l{color:inherit}
@media (max-width:1100px){.scrolly .rk{gap:4px}.scrolly .rk-row{grid-template-columns:22px 1fr 52px;grid-template-rows:auto auto;gap:2px 8px;font-size:13px;line-height:1.15}.scrolly .rk-n{grid-row:1/3;align-self:start;padding-top:2px}.scrolly .rk-l{grid-column:2}.scrolly .rk-v{grid-column:3;grid-row:1/3;font-size:15px}.scrolly .rk-bar{grid-column:2;grid-row:2;height:4px}}
@media (max-width:560px){.rk-row{grid-template-columns:26px 1fr 56px}.rk-bar{grid-column:1/-1;height:8px}}

/* ficha de cadastro (formulário nativo; o embed do RD fica fora da tela e recebe os dados) */
.rd-host{position:absolute !important;left:-10000px;top:0;width:640px;height:auto;overflow:hidden;opacity:0;pointer-events:none}
.ficha-form{display:grid;gap:26px}
.ff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px}
.ff{display:grid;gap:6px;position:relative;margin:0}
.ff.full{grid-column:1/-1}
.ff > span{font-family:var(--f-mono);font-size:10.5px;letter-spacing:var(--track);text-transform:uppercase;color:var(--mute)}
.ff input{width:100%;height:42px;padding:0 2px;border:0;border-bottom:1px solid var(--rule);background:transparent;font:inherit;font-size:16px;color:var(--ink);border-radius:0;outline:none;transition:border-color .15s,box-shadow .15s}
.ff input:focus{border-bottom-color:var(--navy);box-shadow:inset 0 -1px 0 var(--navy)}
.ff.err input{border-bottom-color:var(--brick);box-shadow:inset 0 -1px 0 var(--brick)}
.ff .ff-err{display:none;font-style:normal;font-size:12.5px;color:var(--brick)}
.ff.err .ff-err{display:block}
.ff-set{border:0;padding:0;margin:0;min-width:0}
.ff-set legend{padding:0;margin-bottom:10px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:var(--track);text-transform:uppercase;color:var(--mute)}
.ff-set legend small{opacity:.75;margin-left:8px;text-transform:none;letter-spacing:0;font-size:11px}
.ff-chips{display:flex;flex-wrap:wrap;gap:6px}
.ff-chips label{position:relative;display:inline-block}
.ff-chips input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.ff-chips span{display:inline-block;padding:7px 11px;border:1px solid var(--rule);font-size:13.5px;line-height:1;color:var(--ink-2);transition:background .15s,color .15s,border-color .15s;user-select:none}
.ff-chips input:checked + span{background:var(--navy);border-color:var(--navy);color:#fff}
.ff-chips input:focus-visible + span{outline:2px solid var(--blue);outline-offset:2px}
.ff-foot{display:grid;gap:14px 20px;align-items:center;grid-template-columns:auto minmax(0,1fr)}
.ff-foot small{font-size:12.5px;color:var(--mute);max-width:30ch;line-height:1.45}
.ff-status{margin:0;padding:12px 14px;font-size:14px;background:var(--paper-2);color:var(--ink)}
.ff-status.bad{background:#FBE9E4;color:var(--brick)}
.ficha-form.busy{opacity:.6;pointer-events:none}
@media (max-width:640px){.ff-grid{grid-template-columns:1fr;gap:16px}.ff-foot{grid-template-columns:1fr}.ff-foot .btn{justify-content:center;white-space:normal;text-align:center}}

/* reveal */
.rv{opacity:0;transform:translateY(14px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* rodapé */
footer{padding:44px 0 32px;border-top:1px solid var(--rule);font-family:var(--f-mono);font-size:10.5px;letter-spacing:var(--track);text-transform:uppercase;color:var(--mute)}
footer .row{display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between}
footer a{text-decoration:none}footer a:hover{text-decoration:underline}

/* canvas de dither (faixa de transição) */
.dither{display:block;width:100%;height:96px}

/* aviso de cookies (consent.js) */
.ck{position:fixed;left:clamp(12px,2vw,24px);bottom:clamp(12px,2vw,24px);z-index:80;width:min(420px,calc(100vw - 24px));padding:18px 20px 16px;border-radius:14px;background:var(--navy);color:#fff;box-shadow:0 12px 40px rgba(11,26,76,.28)}
.ck[hidden]{display:none}
.ck p{margin:0 0 14px;font-size:14px;line-height:1.5;color:rgba(255,255,255,.88)}
.ck-b{display:flex;gap:10px}
.ck-b button{flex:1;padding:12px 14px;border:1px solid #fff;border-radius:8px;font-family:var(--f-mono);font-size:11px;letter-spacing:var(--track);text-transform:uppercase;cursor:pointer;transition:background .15s,color .15s}
.ck-ok{background:#fff;color:var(--navy)}.ck-ok:hover{background:var(--paper)}
.ck-no{background:transparent;color:#fff}.ck-no:hover{background:rgba(255,255,255,.12)}
